\documentclass[11pt]{article} \usepackage[a4paper, portrait, includehead, includefoot, margin=1.5cm]{geometry} \usepackage[dutch]{babel} \usepackage{pdfpages} \usepackage{xcolor} \usepackage{makecell} \usepackage{tabularx} \usepackage{adjustbox} \usepackage{framed} \usepackage{longtable} \providecommand{\tightlist}{\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} \usepackage{booktabs} \usepackage{fontspec} \usepackage{xunicode} \usepackage{xltxtra} \newfontfamily\fontRoboto[]{Roboto} \newfontfamily\fontUbuntu[]{Ubuntu} \setmainfont{Roboto} % \usepackage[style=ieee]{biblatex} % \usepackage{csquotes} % \addbibresource{bibliography.bib} % header and footer \usepackage{fancyhdr} \renewcommand{\headrule}{} \usepackage[nodayofweek]{datetime} \definecolor{darkishyellow}{rgb}{177, 179, 173} % for images \usepackage{graphbox} % add bookmarks with \hypertarget \usepackage{bookmark} \usepackage{hyperref} % heading numberging \setcounter{secnumdepth}{3} \renewcommand\thesection{{\fontUbuntu\arabic{section}}} \renewcommand\thesubsection{{\fontUbuntu\arabic{section}.\arabic{subsection}}} \renewcommand\thesubsubsection{{\fontUbuntu\arabic{section}.\arabic{subsection}.\arabic{subsubsection}}} \usepackage{sectsty} \allsectionsfont{\fontUbuntu} \setlength{\headheight}{14pt} % no indent at paragraphs \usepackage{parskip} \usepackage{setspace} \setstretch{1.1} \let\tmpitem\itemize \let\tmpenditem\enditemize \renewenvironment{itemize}{\tmpitem\setlength\itemsep{-.4em}}{\tmpenditem} \begin{document} \raggedright \pagecolor{darkishyellow} \begin{titlepage} \null\vfill \begin{center} {\Huge\fontUbuntu Superlight Personal Carier (SPC) \par} \vskip 3em % \includegraphics{assets/eriks.50.png} \vskip 3em {\huge\fontUbuntu Superlight Personal Carrier \par} \end{center} \vskip 25em { \large \lineskip .75em \begin{tabular}{r l} gemaakt door: & Finley van Reenen (0964590@hr.nl) \\ & Chris Tan (0992143@hr.nl) \\ & Tijn Snijders (1001829@hr.nl) \\ & Max Kappert (1030682@hr.nl) \\ & Thomas Braam (0989527@hr.nl) \\\\ vak code: & ELEPEE51 \\\\ ge\"exporteerd op: & \today \end{tabular} } \vfill\null \end{titlepage} \pagestyle{fancy} \fancyhead{} % clear all header fields \fancyhead[LO]{\color{gray}\fontUbuntu Superlight Personal Carier (SPC)} \fancyhead[RO]{\color{gray}\fontUbuntu Superlight Personal Carrier} \fancyfoot{} % clear all footer fields \fancyfoot[LO]{\color{gray}\fontUbuntu E.L.F. van Reenen, C. Tan, T Snijders, M. Kappert en T. Braam} \fancyfoot[CO]{\color{gray}\fontUbuntu } \fancyfoot[RO]{\color{gray}\fontUbuntu \thepage} \newpage \section{inhoudsopgaven}\label{inhoudsopgaven} \tableofcontents \newpage \section{Inleiding}\label{inleiding} Het SPC-project is een project vanuit de opleiding Automotive. Het doel is om een lichtgewicht, zelf stabiliserend persoonsvoertuig te ontwikkelen dat als een testplatform kan dienden. Bij dit test platform is het doel om een kleinere milieu vriendelijkere manier van persoonlijk transport dan een `gewone' auto. \newpage \section{Analyse}\label{analyse} Niels Groningen - de opdracht gever - wil graag een test platform hebben. Het is lastig harde eisen te stellen aan dit testplatform, aangezien nog niet exact bekend is wat er getest op gaat worden. Het is de bedoeling dat er verschillen soorten testen op gedaan kunnen worden. Voor dit project zijn er wel duidelijke eisen nodig zodat het duidelijk is dat we allebei hetzelfde idee hebben hoe die moet werken. Hierom is er dus doorgevraagd en zijn een aantal richtlijnen uitgekomen. \begin{itemize} \tightlist \item Het voertuig moet een redelijke actieradius hebben, zoals bijvoorbeeld comfortabel vanaf Amsterdam naar Rotterdam kunnen rijden. \item Het moet over de snelweg kunnen in theorie, maar hoeft niet aan alle regelgevingen te voldoen. \item Er moet actieve stabilisatie op komen. \item Beide wielen moeten gestuurd en aangedreven worden. \item Het voertuig moet zo licht mogelijk zijn, zonder te veel weg te nemen van gebruikers vriendelijkheid voor de bestuurder. \item Het voertuig moet uiteindelijk semi-automatisch kunnen rijden. \end{itemize} Op basis van deze richtlijnen is er een Pakket van Eisen opgesteld, hierna is er nog wat meer heen en weer gegaan om de eisen wat te fine tunen. Het resulterende Pakket van Eisen is te vinden in de bijlagen. \newpage \section{Architectuur}\label{architectuur} Het systeem heeft verschillende onderdelen die te zien zijn in het DFD1, elk onderdeel zorgt ervoor dat het voertuig kan rijden en een stapje verder kan zetten in het einddoel, het vervoeren van een persoon. \begin{figure} \centering \includegraphics{../../latex/images/b87f75dc-87b1-47a9-adfe-bc389c5377fb.png} \caption{DFD1} \end{figure} \subsection{VCU}\label{vcu} De Vehicle Control Unit zorgt voor veel onderdelen in het systeem waaronder het sturen van het voertuig en aangeven hoe snel de gebruiker wil, die geeft een signaal naar de stabilisatie en de motor. REQ-C-1{[}MH{]}: het voertuig wordt bestuurd doormiddel van een elektronisch input, zoals een joystick, die bedienbaar is door de bestuurder. REQ-C-2{[}MH{]}: er is een noodstop aanwezig. \subsection{Stabilisatie}\label{stabilisatie} De stabilisatie is nodig zodat we het voertuig niet hoeven te verlaten als we stil moeten staan, dit is omdat de bestuurder ingecapsuleerd is in het voertuig. De VCU geeft een data signaal aan de Stabilisatie hoeveel vermogen die mag gebruiken. REQ-S-1{[}MH{]}: Het voertuig wordt actief gestabaliseerd REQ-S-2{[}SH{]}: Het voertuig kan uit zichzelf weer recht komen te zitten vanaf een roll hoek van 5 graden \subsection{aandrijving}\label{aandrijving} De aandrijving zorgt ervoor dat het voertuig zichzelf kan voortbewegen op genoeg snelheid zodat er veilig op de weg gereden kan worden. de VCU stuurt een signaal voor accelereren of remmen. REQ-A-4{[}MH{]}: Het voertuig is ontworpen zodat de maximale snelheid 60 kilometer per uur of sneller is. 60 km/h is de minimale snelheid voor op de snelweg. REQ-A-5{[}SH{]}: Het voertuig is ontworpen zodat die 150 kilometer per uur of sneller kan rijden in ideale omstandigheden. REQ-A-6{[}SH{]}: Het voertuig is ontworpen zodat die 100 kilometer actieradius of meer kan bereiken in ideale omstandigheden. De opdracht gever wil graag tussen Amsterdam van Rotterdam kunnen rijden. REQ-A-7{[}CH{]}: Het voertuig is ontworpen zodat die 250 kilometer actieradius of meer kan bereiken in ideale omstandigheden. \newpage \section{Vehicle Control unit (VCU)}\label{vehicle-control-unit-vcu} De VCU is een belangrijk onderdeel van het systeem, hiermee kunnen we het voertuig in een richting sturen en vooruit bewegen. De belangrijkste keuzes hierin zijn in welke taal we willen gaan programmeren en wat voor soort microcontroller we willen. De reden hiervoor is zodat de volgende team makkelijker kan omgaan met de code en het systeem makkelijker kunnen uitbreiden. Het makkelijkst is dan om met de Arduino IDE en framework verder te gaan, omdat het een bekent en veel gedocumenteerd systeem is waar je veel over kan vinden op internet tegenover veel andere IDE's, programmeertalen en microcontrollers. Verder moet het ook draadloos verbinding kunnen maken met een console controller zodat de volgende teams eventueel een andere keuze kunnen maken hoe ze willen sturen. Daarom hebben we voor de ESP32 gekozen omdat het alles aantikt met een gezond aantal GPIO pinnen. \subsection{Actuator}\label{actuator} De actuator hebben we nodig om de wielen in een richting te kunnen sturen. Volgens Max Kappert(student automotive engineer) hebben we de volgende parameters gekregen die we nodig hebben om het voertuig te kunnen sturen. \begin{longtable}[]{@{} >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.4051}} >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.1646}} >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.1519}} >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2785}}@{}} \toprule\noalign{} \begin{minipage}[b]{\linewidth}\raggedright Parameter \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright Waarde \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright Eenheid \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright Opmerking \end{minipage} \\ \midrule\noalign{} \endhead \bottomrule\noalign{} \endlastfoot Voertuigspanning & 12 - 14 & \(V_{DC}\) & typisch voor auto-VCU's \\ Stuurspanningdemperkle & 0 - 5 & \(V_{DC}\) & naloge regeling \\ PWM-signaal frequentie & 25000 - 30000 & \(Hz\) & Typische range voor aansturing \\ PWM duty cycle & 10 - 90 & \(\%\) & \(10% \): minimale demping, \(90% \): maximale demping\footnote{demping voor de ophanging via de interne actuator demper} \\ Stroomverbruik klep & 0.5 - 2 & \(A\) & Afhankelijk van de interne weerstand \\ Wielsnelheid & 0 - 250 & \(km/h\) & Meet snelheid per wiel \\ Karrosserieversnelling & -3 tot +3 & \(g\) & Laterale en verticale versnellingen \\ Axiale potentiometer (veerweg) & 0 - 50 & \(mm\) & Meet veeruitslag \\ Temperatuur werkbereik & -40 tot +85 & \(^\circ C\) & Automobielstandaard \\ \end{longtable} Voor de Actuator is er een keuze gemaakt voor CDC (Continuous Damping Control) demper van SACHS, Maar vanwege de besteltijden van dit soort componenten kunnen we dit niet gebruiken. Daarom gebruiken we een actuator die er al staat, de A0-01/M van S-LINE. om de actuator te besturen gebruiken we een motordriver, de MDD20A. Dit is omdat we het al hebben en werkt met de huidige actuatoren en voldoende de parameters van de actuatoren behaald, daarom hebben we besloten om niet een nieuwe te kopen of te ontwerpen. Om ervoor te zorgen dat de actuatoren niet te ver gaan gebruiken we de AS5600 magnetic encoder. Dit is omdat de encoder een absoluut positie meegeeft en daarom voor minder problemen zorgt als het voertuig opnieuw opstart. \newpage \section{Stabilisatie}\label{stabilisatie-1} Voor de Stabilisatie is er een motor driver ontworpen. De specificaties van deze zijn groten deels gebaseerd op specifieke motor. Samen met Automotive is deze uitgekozen. \subsection{De Motor}\label{de-motor} Het is er een die gevonden is op Aliexpress, niet een heel erg betrouwbare verkoper, maar we kunnen geeb andere geschikte vinden voor een redelijke prijs. Deze motor kan de kracht net niet continu aan, maar wel voor korte duur. De snelheid is wel iets ingeperkt ten opzichte van de berekende \(1000 rpm\) dat nodig is, deze kan maar tot \(875 rpm\). Dit is de reden geweest dat we geen motor gaan inkopen, maar een testen met een motor uit de voorraad. Deze zal waarschijnlijk niet voldoende vermogen kunnen halen, maar we kunnen wel testen of het concept werkt voordat er grote bedragen uitgegeven gaan worden aan een geschikte motor. De specificaties van de motor: \begin{itemize} \tightlist \item \(K_T = 0.15 Nm/A\) - motor koppel constante \item \(I_{noload} = 3.52 A\) - Stroom verbruik bij geen koppel \item \(K_v = 69 rpm/V\) - motor snelheidsconstante \item \(V_{th} = 598 mV\) - threshold voltage \item \(I_{max} = 78.5 A\) - maximaal stroom verbruik voor onze applicatie (\(11.2Nm\) met 1:4 gearbox) \item \(U_{max} = 64 V\) - maximaal spanning benodigd voor onze applicatie \end{itemize} berekeningen voor deze waardes staan in het Detailontwerp Stabilisatie in hoofdstuk \hyperref[motor-keuze]{Motor Keuze} (zie bijlagen) \begin{quote} Er is helaas iets fout gegaan bij de berekeningen die eerder gedaan zuhb om de specificaties vast te stellen. Er is per ongeluk met \(25 Nm\) gerekent i.p.v. \(45 Nm\). Dit betekent dat de motor driver is ontworpen voor \(50 A\) i.p.v. \(80A\). Dit kan opgelost worden door een motor gearbox combie die te vinden is met \(50A\) maar met een hogere spanning het vermogen haalt. Er is veel ruimte aan spanning, dus dit zal geen groot probleem moeten zijn. \end{quote} \subsection{Motor Driver}\label{motor-driver} \subsubsection{specificaties}\label{specificaties} \begin{itemize} \tightlist \item De drijver moet minimaal \(64 V\) aan kunnen, met voorkeur van meer dan \(120 V\) \footnote{Er wordt tot \(50 V\) getest, voor deze waardes wordt het ontworpen, maar niet tot het limiet getest.} \end{itemize} De \(120V\) komt van de vorige groep die aan dit project hebben gewerkt. Dit is de spanning van de accu die zij hadden gebruikt om dingen mee te berekenen. Er is nog geen besluit wat deze spanning werkelijk gaat worden. \begin{itemize} \tightlist \item De drijver moet minimaal \(50 A\) continu kunnen leveren (wat eigenlijk \(80 A\) had moeten zijn) \footnote{Er wordt tot \(50 V\) getest, voor deze waardes wordt het ontworpen, maar niet tot het limiet getest.} \item Maakt gebruik van Field Oriented Control, om het volledige vermogen te kunnen halen vanaf stilstand. \item De hoek van het voertuig moet gemeten worden. \item Er is een regel loop tussen de hoek sensor en de kracht van de motor. \item Er is een SPI-client connector waarmee verschillende instellingen ingesteld mee kan worden, waaronder het maximaal vermogen. \end{itemize} Met deze specificaties is het erg lastig om een motor driver voor te vinden. Zo lastig dat - zonder een bedrijf één te laten ontwerpen - we er geen gevonden hebben. Hierom is gekozen om zelf een motor driver te ontwerpen. De SPI-client is afgesproken met de andere elektrotechnische ingenieurs als algemeen communicatie protocol nadat was besloten om een eigen motor driver te ontwerpen. \subsubsection{Ontwerp}\label{ontwerp} Het ontwerp is gemaakt door Finley, zij heeft op haar stage al een motor driver ontworpen. Hier heeft ze heel veel geleerd over het ontwerpen van een motor driver. Hier komt ook veel van de kennis vandaan. Deze motordriver is niet gebaseerd op die motor driver, deze kan maar \(3A\) aan, dus compleet opnieuw beginnen is makkelijker. \paragraph{Half-bridges}\label{half-bridges} De motor is een BLDC motor de volledige naam is een permanent magneet borstelloze 3 fase synchrone motor. Dit betekent dat er permanente magneten in zitten, geen borstels, aangestuurd met 3 fase en synchrone draait met deze 3 fases. De motor driver wordt gevoed van een accu, dus DC. Om deze synchrone 3 fases te genereren zijn drie half-brdiges nodig. Een voor elke fase. Voor de FET's voor deze Half-bridges is gekozen voor de EPC2307, Dit zijn GaNFET's in tegenstelling to de vaker gebruikte MOSFET's. MOSFET fabrikanten hebben een gewoonte om de maximale stroom te berekenen met perfecte koeling. Dit is dus niet realistisch haalbaar. Om achter te komen wat wel haalbaar is is een thermal analyses nodig, dit is grof weg gedaan voor een redelijk wat MOSFET's, maar geen enkel was geschik om de \(50A\) te schakelen. EPC (Efiction Power Converter; de fabrikant van de EPC2307) is een van de weinige fabrikanten wel een realistisch beeld van de maximale stroom. Om te bevestigen is een berekening vermaakt hoeveel de FET's aan vermogen verliezen in deze applicatie. Dit is gedaan met de volgende formule. \[ P_{loss} = I^2R_{DS(on)} + \frac{UIt}{2} \cdot 2f_s \] \(I\): stroom\\ \(U\): voedingsspanning\\ \(t\): schakeltijd\\ \(f_s\): de schakel frequentie \(U = 120V\), \(I = 50A\) (uit specificaties motor driver)\\ \(t = 4 ns\) (berekent in simulatie)\\ \(f_s = 50 kHz\) (frequentie is gekozen omdat die buiten menselijk gehoor licht) \(P_{loss} = 26.2 W\). Deze formule is erg pessimistisch, deze gaat uit van \(100\%\) PWM terwel de uitgang een sinus is dus gemiddeld is het altijd \(50\%\) en de schakelverliezen worden ook overschat. Voor meer informatie over deze berekening zie bijlagen Detailontwerp Stabilisatie hoofdstuk \hyperref[verliezen-in-de-fet]{Verliezen in de FET} \begin{quote} Voor meer informatie over hoe de vermogens filtering is gedaan zie bijlagen Detailontwerp Stabilisatie hoofdstuk \hyperref[power-filtering]{Power Filtering} \end{quote} \paragraph{Sensoren}\label{sensoren} Er zijn drie sensoren nodig, stroom meting, positie van de motor en de hoek van het voertuig. \subparagraph{stroom meting}\label{stroom-meting} De stroom meting wordt gedaan met de ACS724xLCTR-50AB. Dit is een stroom meting IC die van \(-50A\) tot \(+50A\) kan meten. Deze komt tussen de motor en de uitgang van de half-bridges. Het is ook mogelijk om aan de lage FET in de half-bridge te meten met een shunt, maar omdat het nog niet heel duidelijk is hoe het FOC algoritme werkt, lijkt dit een makkelijkere manier om het algoritme te implementeren. Er is niet gekozen voor een shunt met een versterker, omdat er \(200V\) op deze uitgang komt te staan. De versterkers die dit aankunnen zijn erg duur en de ACS724xLCTR-50AB wordt dan een goedkopere optie. \subparagraph{Hoek van de motor}\label{hoek-van-de-motor} de motor hoek is nodig voor FOC. Hoe nauwkeuriger deze sensor is hoe efficiënter FOC wordt. De AS5600 is zowel makkelijk te monteren als nauwkeurig zonder dat die elke keer bij het opstarten hoeft gekalibreerd hoeft te worden. \begin{quote} Meer informatie waarom deze keuze is gemaakt, zie de bijlagen Detailontwerp Stabilisatie hooftstuk Encoder \end{quote} \subparagraph{Hoek van het voertuig}\label{hoek-van-het-voertuig} Een MEMS Gyroscoop kan verandering in de hoek meten, deze is erg snel hierin maar bij afwijking verliest die de nul positie. Hiervoor is een combinatie gekozen met een MEMS-acceleratiemeter. Deze kan met de zwaartekracht meten zolang het voertuig niet te veel beweerd. Om het makkelijk te maken is er gekozen voor de M5Stack IMU Pro Mini. Deze is makkelijk te monteren, omdat die al in een behuizing zit met montage gaten. Deze sensor komt met de BMI270 van Bosch die zowel een MEMS-acceleratiemeter als gyroscoop heeft. \begin{quote} Meer informatie warom deze keuze is gemaakt, zie bijlagen Detailontwerp Stabilisatie hoofdstuk \hyperref[hoek-sensor]{Hoek Sensor} \end{quote} \subsubsection{Productie en Testen Motor Driver}\label{productie-en-testen-motor-driver} De PCB en stencil zijn geproduceerd door JLCPCB en de componenten zijn geplaatst en in de reflow oven gegaan in het SMD-lab op Accademiplein. Na dat die uit de over kwam zijn er een aantal soleer balletjes weggehaald, twee soldeer bruggen weg gehaald bij een van de gate driver IC's en de microcontroller opnieuw met de hand erop geplast. De microcontroller had te veel tin op de grondpad aan de onderkant, waardoor deze omhoog kwam en de pinnen aan de zijkant boven de PCB zweefde onder contact. Tot hoever er getest is werkt alles, de FET's schakelen en de PWM wordt correct gegenereerd. Helaas heb ik geen foto's van de scope kunnen maken, ik had beide handen vol met de probes en het lukte me niet om met mijn neus de scope te triggeren. Ik ga maandag 23 juni iemand om hulp vragen terwel ik verder ga testen. \newpage \section{Project Verloop}\label{project-verloop} Aan het begin was het vooral lastig om duidelijk te maken wat de vereisten van beide opleidingen en tot een format te komen van het Plan van Aanpak en Pakket van eisen die voor beide opleidingen voldoet. Het is ons niet gelukt om tot een enkel Pakket van Eisen te komen, bij Automotive moet het in een Exel bestand. Dit is alleen lastig om te exporteren naar bestand dat geschik is om te kunnen ondertekenen. Daarbij is het ook lastig om er onderbouwing van de eisen bij te zetten, dit is niet nodig voor Automotive. We hebben uiteindelijk ons eigen Pakket van Eisen gemaakt op onze manier en deze vertaalt naar een Exel bestand voor Automotive. Na deze twee documenten zijn er weinig `conflicten' geweest tussen de eisen van Elektrotechniek en Automotive. Een van de projectleden, Mohamed, is erg weinig komen opdagen. En heeft de drie waarschuwingen gekregen dat volgens de samenwerkingsovereenkomst dat wij hebben opgesteld en getekend (inc. Mohamed), waar na die uit de groep gezet kan worden. i.p.v. dit direct te doen hebben wij als groep samen met Joris Straver een gesprek gehad, wat er toe heeft geleden dat die de groep heeft verlaten. Rond deze tijd had Gryvon ook aangegeven dat die de groep verliet wegen te veel stress met andere vakken. Vanaf school week 4.1 waren we totaal nog maar met 5 personen i.p.v. 7. Dit heeft er tot geleid dat de aandrijving van de wielen hebben laten vallen en de motor driver voor de stabilisatie wat is uitgelopen. \newpage \section{bijlagen}\label{bijlagen} \subsection{Plan van Aanpak}\label{plan-van-aanpak} \subsubsection{Voorwoord}\label{voorwoord} Voor u ligt het \textbf{Plan van aanpak} (PVA) voor het project \textbf{Superlight Personal Carrier (SPC) 2025}. Dit document vormt de leidraad voor de uitvoering van het project en beschrijft de probleemstelling, doelstellingen, methodologische aanpak en de verwachte resultaten. Het SPC-project is een innovatief en interdisciplinair initiatief waarin studenten van verschillende opleidingen samenwerken om een lichtgewicht, zelf stabiliserend eenpersoonsvoertuig te ontwikkelen. Dit project bouwt voort op eerdere inspanningen en richt zich op het verder verfijnen en implementeren van cruciale systemen zoals de aandrijving, het stuurmechanisme en de Digital Twin-technologie. Dit document is met zorg samengesteld en biedt een helder overzicht van de huidige status van het project, de uitdagingen die voor ons liggen en de strategieën die we hanteren om deze te overwinnen. We willen hierbij onze begeleiders, docenten en projectpartners bedanken voor hun ondersteuning en waardevolle inzichten. \newpage \subsubsection{Inleiding}\label{inleiding} Voor dit semester wordt er verder gewerkt aan het project \textbf{Superlight Personal Carrier (SPC)}. Het SPC-project is een samenwerking tussen studenten uit verschillende opleidingen bevordert, met als doel een lichtgewicht, zelf stabiliserend éénpersoonsvoertuig te ontwikkelen. Dit semester is gericht op het verfijnen en verbeteren van essentiële subsystemen, zoals het aandrijf- en stuursysteem en stabilisatie, waarbij er parameters uit een Digital Twin gehaald worden. Dit project begint met een opgesteld \textbf{Plan van Aanpak (PvA)}. Dit document biedt een solide basis voor het project door de belangrijkste stappen, doelstellingen en methodologieën te beschrijven. Het PvA fungeert als leidraad en naslagwerk voor alle betrokkenen, en brengt duidelijkheid over wat er moet worden gedaan, hoe het moet worden uitgevoerd, en wat de verwachte resultaten zijn. Naast een overzicht van de werkzaamheden biedt het PvA inzicht in essentiële aspecten zoals: \begin{itemize} \tightlist \item \textbf{Planning:} Een gedetailleerd tijdschema dat de voortgang bewaakt en mijlpalen vastlegt. \item \textbf{Kosten:} Een overzicht van de budgettaire eisen en financieringsmogelijkheden om het project binnen de gestelde grenzen te houden. \item \textbf{Risico's:} Identificatie en beheersing van mogelijke obstakels om de betrouwbaarheid en kwaliteit van het eindresultaat te garanderen. \end{itemize} Door deze gestructureerde aanpak wordt een basis gelegd voor een uitvoering van het project. Het PvA maakt het mogelijk om op een doelgerichte manier toe te werken naar een functioneel en valideer baar eindresultaat: een rijdend voertuig dat klaar is voor verdere ontwikkeling. \newpage \subsubsection{Probleemdefinitie}\label{probleemdefinitie} \paragraph{Probleemstelling}\label{probleemstelling} Het probleem is dat er onzekerheden zijn over het voertuig en dat de SPC niet correct ontwikkeld is om te valideren. Hierdoor is het moeilijk om aan te tonen of de functionaliteit voldoet aan de gestelde eisen en of de subsystemen daadwerkelijk bruikbaar zijn in de praktijk. \paragraph{Doelstelling}\label{doelstelling} Het doel van het project is om de functionaliteit van de SPC te verbeteren door een functionele aandrijving en een stuurmechanisme te ontwerpen die praktisch toepasbaar zijn in het fysieke voertuig. Deze systemen zullen worden ontworpen en geoptimaliseerd met behulp van data uit een Digital Twin, die als leidraad dient voor het gehele ontwikkelingsproces. Daarnaast zal het stabilisatiesysteem verder ontwikkeld worden, met als uiteindelijk doel een full- scale implementatie in het voertuig. \paragraph{Vraagstelling}\label{vraagstelling} \subparagraph{Hoofdvraag}\label{hoofdvraag} ``Hoe ziet een functioneel en valideer baar aandrijf- en stuursysteem voor de SPC eruit, waarbij stabilisatie is geïntegreerd in het ontwerp en gebruik wordt gemaakt van een digital twin voor ontwikkeling, optimalisatie en validatie?'' \subparagraph{Deelvragen}\label{deelvragen} \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \tightlist \item \textbf{Huidige situatie \& knelpunten} \end{enumerate} \begin{itemize} \tightlist \item Wat is de huidige status van de SPC en welke onzekerheden bestaan er in het huidige ontwerp? \item Welke technische beperkingen belemmeren de validatie van de SPC? \end{itemize} \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \setcounter{enumi}{1} \tightlist \item \textbf{Ontwerp en validatie van het aandrijf- en stuursysteem} \end{enumerate} \begin{itemize} \tightlist \item Welke ontwerpcriteria moeten worden gehanteerd voor een functionele en bruikbare aandrijving? \item Hoe kan een stuurmechanisme worden ontworpen dat werkt zonder een traditioneel stuur? \item Welke methoden kunnen worden gebruikt om de werking van deze systemen te valideren? \end{itemize} \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \setcounter{enumi}{2} \tightlist \item \textbf{Gebruik van een Digital} \textbf{Twin} \end{enumerate} \begin{itemize} \tightlist \item Hoe kan een digital twin bijdragen aan de ontwikkeling en validatie van de aandrijving en het stuurmechanisme? \item Welke parameters en data zijn nodig om een betrouwbare digital twin op te stellen? \end{itemize} \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \setcounter{enumi}{3} \tightlist \item \textbf{Stabilisatie en implementatie} \end{enumerate} \begin{itemize} \tightlist \item Hoe kan het stabilisatiesysteem verder worden ontwikkeld en geoptimaliseerd? \item Op welke manier kan een full-scale implementatie van de SPC worden gerealiseerd? \end{itemize} \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \setcounter{enumi}{4} \tightlist \item \textbf{Kwaliteitsborging en testen} \end{enumerate} \begin{itemize} \tightlist \item Hoe kan de functionaliteit van het systeem worden gekwantificeerd en geëvalueerd? \item Welke testmethoden kunnen worden gebruikt om de prestaties van de SPC te meten en te valideren? \end{itemize} \paragraph{Current State}\label{current-state} In de vorige projectfasen is een prototype ontwikkeld van de \textbf{Superlight Personal Carrier (SPC)}, waarin verschillende technologieën en subsystemen zijn getest. Op dit moment bestaat de SPC uit: \begin{itemize} \tightlist \item Een testframe waarop componenten kunnen worden gemonteerd en geëvalueerd. \item Een op schaal geteste opstelling met een reactiewiel om de stabilisatie te behouden. \item Een ruwe simulatie met geschatte parameters voor de aandrijving en het stuursysteem. \end{itemize} \subparagraph{Huidige status van het aandrijfsysteem}\label{huidige-status-van-het-aandrijfsysteem} Motor en aandrijving Het huidige ontwerp maakt gebruik van een elektromotor met een geplande accupakketcapaciteit van 20,4 kWh, wat resulteert in een geschat gewicht van 94 kg (gewicht per cel * benodigde cellen). Er is nog geen definitieve keuze gemaakt tussen directe aandrijving (zoals een naafmotor) en een indirecte aandrijving (zoals een centrale motor met riem- of kettingoverbrenging). De huidige aandrijving is nog niet geïntegreerd met het stuursysteem, waardoor het effect op rijgedrag en stabiliteit onbekend is. Simulatie en validatie De stabilisatie is op kleine schaal getest, maar is nog niet gevalideerd in combinatie met de aandrijving op het testframe. De huidige simulaties zijn gebaseerd op geschatte parameters en vereisen een nauwkeurigere data-invoer om realistische testresultaten te kunnen leveren. Uitdagingen en knelpunten Het accupakket is relatief zwaar, wat invloed heeft op de prestaties en balans van de SPC. Er is nog onduidelijkheid over de samenwerking tussen aandrijving en besturing, waardoor het risico op bumpsteer en vermogensverlies bestaat. Er is nog geen uitgebreid testprotocol ontwikkeld om de prestaties van de aandrijving systematisch te valideren. De huidige status van het project vormt de basis voor verdere ontwikkelingen. De volgende stappen zijn gericht op het verder ontwikkelen van het aandrijf- en stuursysteem en de stabilisatie, zodat er een rijdend 2x2x2 voertuig gerealiseerd wordt. \begin{figure} \centering \includegraphics{../../latex/images/0623b75b-1585-421a-9329-4feba9e00ae2.png} \caption{SPC-prototype} \end{figure} \newpage \subsubsection{Scope \& Afbakening}\label{scope-afbakening} \paragraph{Scope}\label{scope} De scope van een project bepaald wat er wel en niet behandeld gaat worden. Een scope wordt op meerdere aspecten gesteld. De aspecten waar onze scope over gaat zijn hieronder neergezet.\\ Dit project richt zich op het ontwikkelen van functionele kernsystemen voor het voertuig, waarbij de nadruk ligt op de \textbf{aandrijving, de Digital Twin, het stuurmechanisme en de stabilisatie}. \subparagraph{Aandrijving en Stuursysteem}\label{aandrijving-en-stuursysteem} Een nieuw stuursysteem en doorgerekende aandrijving zijn nodig voor basis functionaliteit van het voertuig. Deze systemen moeten aan de hand van de Digital Twin ontworpen worden. Het doel licht hierop bij goed ontwerp en onderbouwing. Het is daarom essentieel dat er goed nagedacht wordt over de nodige veiligheidsfactoren en limieten van componenten. \subparagraph{Digital Twin}\label{digital-twin} Wij willen aan de hand van een Digital Twin andere subsystemen op het voertuig kunnen ontwerpen, valideren en optimaliseren. Deze gegevens moeten dus de rode draad vormen voor het gehele project. \includegraphics{../../latex/images/c7dcc010-3e60-4f73-a520-a128e600615a.png} \subparagraph{Stabilisatie}\label{stabilisatie} Het doel van het project is om het voertuig te kunnen laten stabiliseren. Dit stabiliseren zal op het full scale voertuig gaan plaats vinden. Dit systeem moet werken door middel van het correctiewiel wat op de schaal testopstelling gedemonstreerd is te werken. Het is nu de taak om dit op full scale werkend te krijgen. \subparagraph{Afbakening}\label{afbakening} \begin{itemize} \tightlist \item Het project richt zich primair op \textbf{functionele en fysiek implementeerbare systemen}, niet op aerodynamische optimalisatie of esthetische aspecten van het voertuig. \item Autonome functies vallen buiten de scope van dit project. \end{itemize} \newpage \subsubsection{Tussenresultaten}\label{tussenresultaten} \paragraph{Analyse fase}\label{analyse-fase} In de analyse fase worden de volgende documenten opgesteld: \begin{itemize} \tightlist \item \textbf{Plan van Aanpak}: Dit document. \item \textbf{Risico analyse}: Hier worden alle risico's beschreven en wat we doen om de risico's te verminderen. \item \textbf{Pakket van eisen}: Hier worden alle eisen waar het product aan moet gaan voldoen \item \textbf{Globale planning}: Zie hoofdstuk \hyperref[planning]{Planning}. \item \textbf{Functioneel prototype?}: Een prototype om te controleren of het concept mogelijk en realistisch is. \end{itemize} \paragraph{Concept fase}\label{concept-fase} \begin{itemize} \tightlist \item Persoonlijk PVA \item Het ontwerp van het product \item Bom (Bill of Materials) \end{itemize} \paragraph{Ontwerpfase}\label{ontwerpfase} \begin{itemize} \tightlist \item Testprocedures \item Het ontwerp van het product \item Bom (Bill of Materials) \end{itemize} \subparagraph{Test Fase}\label{test-fase} \begin{itemize} \tightlist \item Test rapporten \end{itemize} \newpage \subsubsection{Methodologische aanpak}\label{methodologische-aanpak} \paragraph{DMADV-model}\label{dmadv-model} In dit hoofdstuk wordt besproken over de aanpak van de opdracht en welke methode gevolgd zal worden tijdens het semester. Dit zal gedaan worden door middel van het DMADV-model. Dat staat voor Define, Measure, Analyze, Design en Verify. \begin{figure} \centering \includegraphics{../../latex/images/506da834-573f-4c24-8b22-15e82df64301.png} \caption{DMADV-cyclus: een ontwerp om nieuwe processen te creëren} \end{figure} \subparagraph{Define}\label{define} De eerste fase in het dmadv model is definiëren. Het is essentieel om vooraf een lijst te hebben van de taken die gedaan moeten worden en de onderdelen die gemaakt moeten worden. Als je in het begin goed hebt gedefinieerd wat en hoe het gedaan moet worden zal het makkelijker worden om naar het gewenste resultaat toe te werken. De onderdelen die zullen worden ontwikkeld en geïmplementeerd zijn de aandrijving en de sturing. Een eis is dat het voertuig in-wheel motoren moet hebben, hiervoor zal er extra aandacht aan gegeven moeten worden vanwege de complexiteit van dit onderwerp. \subparagraph{Measure}\label{measure} In de fase van measure verzamel en neem je de gegevens op die relevant zijn voor de CTQ-maatregelen die tijdens de eerste fase werden gedefinieerd. Deze gegevens meet je om resultaten te verkrijgen waarmee later in het proces In die tabel wordt de VOC (voice of customer) genoteerd en bij punten daarvan wordt onder het kopje van drijfveer de technische of functionele kenmerken beschreven die nodig zijn om de wensen van de klant te behalen. Bij de CTQ rij wordt weergegeven wat de fysieke onderdelen zijn om die drijfveren te behalen. De CTQ's die uit de View of Client en View of Business zijn gehaald die voor dit onderzoek belangrijk zijn, zijn hieronder in tabelvorm genoteerd. \includegraphics{../../latex/images/c776081d-b52e-40b8-84f4-065145305f76.png} De eisen opgesteld vanuit de opdrachtgever (klant) zijn als volgt: \begin{itemize} \tightlist \item Het voertuig is elektrisch aangedreven \item Het voertuig is zelf stabiliserend \item Het voertuig is voor het vervoeren van 1 persoon \end{itemize} Het voertuig heeft een 2x2x2 aandrijving (2 wielen, 2 wiel gestuurd, 2 wiel aangedreven) De laatste twee punten zijn eisen die van toepassing zijn op het uiteindelijke eindproduct. Dat is iets wat in de tijdsduur van dit project niet behaald zal worden. Daarom zijn die punten niet een prioriteit voor dit projectteam. \subparagraph{Analyze}\label{analyze} In de fase van analyse worden alle verzamelde data uit de meetfase gebruikt om te analyseren en testen uit te voeren van de verschillende concepten die zijn opgesteld voor onderdelen en systemen. Die onderdelen wordt verder op gerekend en geoptimaliseerd voor hun functie en de gestelde eisen. Die eisen komen vanuit het pakket van eisen wat wordt gebruikt als referentie om ervoor te zorgen dat de onderdelen zich voldoen aan de gestelde randvoorwaarden. Uit deze fase kan dan ook een ruw concept komen wat voldoet aan functionele eisen en aan de eerder gestelde CTQ's. \subparagraph{Design}\label{design} In de fase van design worden alle gegevens uit eerdere fasen gebruikt zodat er een product ontwikkeld kan worden wat dichter bij het definitieve eindproduct komt. Daaruit kunnen mogelijke aanpassingen en wijzigingen worden gemaakt uit fouten die worden geïdentificeerd en kan het aan de klant worden laten zien, wat zal voldoen aan hun eisen en weer mogelijk kan worden aangepast waar nodig is. \subparagraph{Verify}\label{verify} De verificatiefase van het DMADV-model is weliswaar de laatste fase, maar niet het einde van het proces. Om de kwaliteit te waarborgen is het belangrijk om, continue te verifiëren en het product aanpassen waar dat dan nodig is. In deze fase zal het ontwerp dan ook definitief klaar zijn en kan er feedback worden gekregen van de klant waarmee mogelijke aanpassingen kunnen worden gemaakt die weer kunnen worden verifieerd. \newpage \subsubsection{Organisatiestructuur (OBS, PBS, WBS)}\label{organisatiestructuur-obs-pbs-wbs} \paragraph{Organisatie leden}\label{organisatie-leden} \begin{longtable}[]{@{} >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2500}} >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2500}} >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2500}} >{\raggedright\arraybackslash}p{(\columnwidth - 6\tabcolsep) * \real{0.2500}}@{}} \toprule\noalign{} \begin{minipage}[b]{\linewidth}\raggedright Functie \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright Naam \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright Opleiding \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright Email \end{minipage} \\ \midrule\noalign{} \endhead \bottomrule\noalign{} \endlastfoot Opdrachtgever & Niels van Groningen & Automotive & \href{mailto:N.van.groningen@hr.nl}{\nolinkurl{N.van.groningen@hr.nl}} \\ Docentbegeleider & Joris Straver & ELE & \href{mailto:J.g.Straver@hr.nl}{\nolinkurl{J.g.Straver@hr.nl}} \\ Project lid & Max Kappert & Automotive & \href{mailto:1030682@hr.nl}{\nolinkurl{1030682@hr.nl}} \\ Project lid & Tijn Snijders & Automotive & \href{mailto:1001829@hr.nl}{\nolinkurl{1001829@hr.nl}} \\ Project lid & Thomas Braam & Automotive & \href{mailto:0989527@hr.nl}{\nolinkurl{0989527@hr.nl}} \\ Project lid & Chris Tan & ELE & \href{mailto:0992143@hr.nl}{\nolinkurl{0992143@hr.nl}} \\ Project lid & Gryvon Belfor & ELE & \href{mailto:0985890@hr.nl}{\nolinkurl{0985890@hr.nl}} \\ Project lid & Mohamed El Morabiti & ELE & \href{mailto:1014780@hr.nl}{\nolinkurl{1014780@hr.nl}} \\ Project lid & Finley van Reenen & ELE & \href{mailto:0964590@hr.nl}{\nolinkurl{0964590@hr.nl}} \\ \end{longtable} \paragraph{OBS (Organization Breakdown Structure)}\label{obs-organization-breakdown-structure} \begin{figure} \centering \includegraphics{../../latex/images/d62ce8e7-705b-46da-884c-e3da26c39be9.png} \caption{Organization Breakdown Structure} \end{figure} \paragraph{PBS (Product Breakdown Structure)}\label{pbs-product-breakdown-structure} \begin{figure} \centering \includegraphics{../../latex/images/93b15853-82d2-48a2-9cbb-bdf3f4b0fb4b.png} \caption{Product Breakdown Structure} \end{figure} \paragraph{WBS (Work Breakdown Structure)}\label{wbs-work-breakdown-structure} \begin{figure} \centering \includegraphics{../../latex/images/958b5da9-80bc-4069-9a13-acc8a0fe6b5b.png} \caption{Work Breakdown Structure} \end{figure} \newpage \subsubsection{Risico- en stakeholder analyse}\label{risico--en-stakeholder-analyse} \paragraph{Risico's}\label{risicos} Het Superlight Personal Carrier (SPC) project brengt studenten uit verschillende opleidingen samen, waaronder Automotive en Elektrotechniek. Dit interdisciplinaire karakter biedt kansen, maar brengt ook risico's met zich mee, vooral op het gebied van planning, communicatie en technische realisatie. In deze risicoanalyse worden de belangrijkste bedreigingen geïdentificeerd en mogelijke beheersmaatregelen besproken. \subparagraph{Communicatieproblemen}\label{communicatieproblemen} Doordat studenten uit verschillende opleidingen samenwerken, kunnen er communicatieproblemen ontstaan. Elk teamlid heeft een andere achtergrond, werkwijze en planning. Hierdoor kunnen misverstanden ontstaan over verwachtingen, deadlines en verantwoordelijkheden. Dit kan leiden tot vertragingen, inefficiënte samenwerking en fouten in het ontwerp of de uitvoering van het project. Maatregelen \begin{itemize} \tightlist \item Regelmatige vergaderingen inplannen om voortgang en knelpunten te bespreken. \item Duidelijke communicatiekanalen en documentatie opzetten, zoals een gedeeld projectplan of online platform. \item Taken en verantwoordelijkheden expliciet vastleggen, zodat iedereen weet wat er van hen verwacht wordt. \end{itemize} \subparagraph{Verschillende planningen en beschikbaarheid}\label{verschillende-planningen-en-beschikbaarheid} Studenten van verschillende opleidingen hebben verschillende lesroosters, deadlines en toets momenten. Dit kan ertoe leiden dat sommige teamleden minder beschikbaar zijn of moeilijker in te plannen zijn voor gezamenlijke werkzaamheden. Bovendien kunnen studenten vakken moeten herkansen, wat hun inzetbaarheid verder vermindert. Maatregelen \begin{itemize} \tightlist \item Een flexibele maar realistische projectplanning maken die rekening houdt met toets weken en herkansingen. \item Taken verdelen op basis van beschikbaarheid, zodat het project niet stilvalt bij de afwezigheid van een teamlid. \item Alternatieve communicatiemiddelen gebruiken, zoals online vergaderingen en asynchrone updates. \end{itemize} \subparagraph{Te veel hooi op de vork nemen}\label{te-veel-hooi-op-de-vork-nemen} Binnen het project kan de neiging ontstaan om te veel taken op je te nemen. Dit verhoogt de werkdruk en kan ertoe leiden dat taken niet goed worden uitgevoerd of deadlines niet worden gehaald. Hierdoor kunnen cruciale onderdelen van het project mislukken of niet naar behoren functioneren. Maatregelen \begin{itemize} \tightlist \item Duidelijke taakverdeling maken en monitoren of de werklast eerlijk is verdeeld. \item Wekelijkse statusupdates organiseren om eventuele overbelasting te signaleren. \item Teamleden stimuleren om tijdig hulp te vragen als ze vastlopen. \end{itemize} \subparagraph{Studenten stoppen of komen niet opdagen}\label{studenten-stoppen-of-komen-niet-opdagen} Een ander risico is dat studenten uitvallen, stoppen met het project of hun taken niet afmaken. Dit kan grote impact hebben op de voortgang en de verdeling van verantwoordelijkheden binnen het team. Maatregelen \begin{itemize} \tightlist \item Vanaf de start duidelijke afspraken maken over commitment en inzet. \item Een back-up plan opstellen voor cruciale taken, zodat het project door kan gaan bij onverwachte uitval. \item Vroegtijdig signaleren wanneer een teamlid minder betrokken raakt en hier proactief op inspelen. \end{itemize} \subparagraph{Realisatie kan fout gaan}\label{realisatie-kan-fout-gaan} Tijdens de realisatie van het project kunnen technische problemen ontstaan, zoals fouten in de hardware of software, compatibiliteitsproblemen en onvoorziene storingen. Dit kan ertoe leiden dat onderdelen niet correct werken of dat het eindproduct niet aan de gestelde eisen voldoet. Maatregelen \begin{itemize} \tightlist \item Duidelijke technische specificaties opstellen en testen in verschillende fasen. \item Gebruik maken van bestaande en bewezen technologieën waar mogelijk. \item Regelmatig overleg tussen teamleden om technische obstakels snel te identificeren en op te lossen. \end{itemize} \subparagraph{Unittesten en integratietesten}\label{unittesten-en-integratietesten} Een belangrijk onderdeel van het project is het testen van afzonderlijke componenten (unittesten) en het integreren van deze componenten in een werkend geheel (integratietesten). Zonder gedegen teststrategie kunnen fouten pas laat in het proces worden ontdekt, wat tot vertraging en herwerk leidt. Maatregelen \begin{itemize} \tightlist \item Een gestructureerd testplan opstellen en uitvoeren in verschillende ontwikkelingsfasen. \item Automatische en handmatige testen toepassen om betrouwbaarheid te garanderen. \item Problemen documenteren en direct oplossen om verdere complicaties te voorkomen. \end{itemize} \subparagraph{Conclusie}\label{conclusie} Om het SPC-project succesvol af te ronden, is een goede planning, communicatie en technische aanpak essentieel. Door risico's tijdig te identificeren en maatregelen te nemen, kan het team effectiever samenwerken en problemen minimaliseren. Duidelijke afspraken, regelmatige evaluaties, een evenwichtige taakverdeling en een gestructureerd testplan zijn cruciaal om de uitdagingen binnen dit interdisciplinaire project te overwinnen en een succesvol eindresultaat te garanderen. \paragraph{Risico matrix}\label{risico-matrix} \begin{figure} \centering \includegraphics{../../latex/images/224f3e03-21c4-4034-8905-9848007b253e.png} \caption{Risico matrix} \end{figure} \paragraph{Stakeholder analyse}\label{stakeholder-analyse} Hierin wordt een analyse gemaakt over de rollen, invloed en belangen van de verschillende belanghebbenden in dit project. Dit helpt om communicatie en samenwerking te verbeteren en eventuele conflicten te voorkomen. Hieronder zijn de volgende partijen die invloed hebben op dit project bekend: \begin{itemize} \tightlist \item Projectteemleden: \begin{itemize} \tightlist \item Gryvon Belfor \item Tijn Snijders \item Thomas Braam \item Max Kappert \item Finley van Reenen \item Mohamed El Morabiti \item Chris Tan \end{itemize} \item Begeleiders (school): \begin{itemize} \tightlist \item Niels van Groningen \item Joris Straver \end{itemize} \item Eindgebruiker/klant: \begin{itemize} \tightlist \item Niels van Groningen \end{itemize} \end{itemize} Het belang en invloed wordt in dit tabel weergeven: \begin{longtable}[]{@{} >{\raggedright\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.3333}} >{\raggedright\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.3333}} >{\raggedright\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.3333}}@{}} \toprule\noalign{} \begin{minipage}[b]{\linewidth}\raggedright Stakeholder \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright Belang \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright Invloed \end{minipage} \\ \midrule\noalign{} \endhead \bottomrule\noalign{} \endlastfoot Projectteamleden & Verder ontwikkelen van de SPC naar validatie & Hoog \\ Begeleiders (school) & Begeleiden van kwaliteit en validiteit van het eindproduct & Gemiddeld \\ Eindgebruiker/klant & Een gebruiksklaar product voor eventuele vervolgproject & Hoog \\ \end{longtable} \paragraph{RACI-model}\label{raci-model} De letters van het RACI-model staan voor rollen van de leden in een proces, namelijk: R -- Responsible (Verantwoordelijk): degene die de taak uitvoert is verantwoordelijk voor de uitvoering hiervan. A -- Accountable (Eindverantwoordelijk): deze persoon draagt de uiteindelijke eindverantwoording voor de juiste voltooiing van een of meerdere projecttaken. C -- Consulted (Geraadpleegd): dit is de persoon aan wie vooraf advies gevraagd wordt. I -- Informed (Geïnformeerd): deze persoon wordt tussentijds geïnformeerd over de beslissingen, over de voortgang, bereikte resultaten enz. \begin{longtable}[]{@{} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1111}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1111}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1111}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1111}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1111}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1111}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1111}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1111}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1111}}@{}} \toprule\noalign{} \begin{minipage}[b]{\linewidth}\raggedright \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright Tijn \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright Max \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright Thomas \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright Gryvon \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright Chris \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright Finley \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright Mohammed \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright Van Groningen \end{minipage} \\ \midrule\noalign{} \endhead \bottomrule\noalign{} \endlastfoot Projectplanning & R & I & I & I & I & I & I & \\ PVE & I & I & I & I & R & A/R & I & C \\ Sponsering & A & R & I & I & I & I & I & I \\ Stuursysteem & I & A/R & I & I & R & I & I & C/I \\ Aandrijving & I & I & I & A/R & I & I & R & C/I \\ Stabilisatie & A/R & I & I & I & I & R & I & C/I \\ Sim model & C/I & C/I & A/R & I & I & I & I & C \\ Concept ontwikkelen & R & R & R & R & R & R & R & C/I \\ Begroting \& kosten & A & C & C & C & R & C & C & C/I \\ \end{longtable} \newpage \subsubsection{Planning}\label{planning} \paragraph{Tussenresultaten}\label{tussenresultaten-1} Het project wordt op gedeeld in verschillende sprints \subparagraph{Analyse fase}\label{analyse-fase-1} In de analyse fase worden de volgende documenten opgesteld: \begin{itemize} \tightlist \item \textbf{Plan van Aanpak}\\ Dit document. \item \textbf{Risico analyse}\\ Hier worden alle risico's beschreven en wat we doen om de risico's te verminderen. \item \textbf{Pakket van eisen}\\ Hier worden alle eisen waar het product aan moet gaan voldoen \item \textbf{Globale planning}\\ Zie hoofdstuk \hyperref[planning]{Planning}. \item \textbf{Functioneel prototype?}\\ Een prototype om te controleren of het concept mogelijk en realistisch is. \end{itemize} \subparagraph{Ontwerpfase}\label{ontwerpfase-1} \begin{itemize} \tightlist \item Testprocedures \item Het ontwerp van het product \item Bom (Bill of Materials) \end{itemize} \subparagraph{Test fase}\label{test-fase-1} \begin{itemize} \tightlist \item Test rapporten \end{itemize} \paragraph{Value planning}\label{value-planning} \begin{figure} \centering \includegraphics{../../latex/images/6f8ac25b-16f5-41ae-b7cf-980ddfbfbfd7.png} \caption{Value Planning} \end{figure} \paragraph{Dynamische planning}\label{dynamische-planning} Deze planning geeft een overzicht van de verschillende fasen en bijbehorende taken binnen dit project. Door middel van een Gantt-diagram worden de doorlooptijden, afhankelijkheden en mijlpalen visueel weergegeven. De planning is opgedeeld in meerdere sprints, waaronder \textbf{Sprint Analyseren}, \textbf{Sprint Realiseren}, \textbf{Sprint Optimaliseren}, en \textbf{Sprint Valideren}, waarmee het project stapsgewijs wordt ontwikkeld en geoptimaliseerd. De blauwe balken geven de duur van elke taak aan, terwijl de diamantvormige symbolen belangrijke mijlpalen markeren. De rode verticale lijn geeft de huidige voortgang weer. Dit overzicht helpt bij het bewaken van deadlines, het coördineren van werkzaamheden en het tijdig bijsturen van het project waar nodig \begin{figure} \centering \includegraphics{../../latex/images/c75e80d7-dcc2-454e-adb2-dc4a1925b2bf.png} \caption{Stroken planning} \end{figure} \newpage \subsubsection{Begroting}\label{begroting} Het project moet uiteindelijk een rijdend en zelf stabiliserend voertuig produceren, het moet op 2 wielen rijden en bestuurd worden d.m.v. vehicle control unit (een joystick of een controller). We baseren de prijzen op de keuzes die gemaakt zijn door het vorige projectteam en een vooronderzoek dat is gedaan. Voor de wielmotoren hebben een 8kW nodig om de originele eisen van 150km/u te behalen, daarbij komt ook een batterijpakket bij kijken die minimaal 120V en 280Ah moet zijn. Voor het stabilisatie systeem hebben we ook hoogstwaarschijnlijk een motor met veel koppel nodig. Om de drive by wire besturing te kunnen implementeren hebben we 2 actuatoren nodig, één voor en één achter. Daarnaast hebben we een vehicle control unit nodig om het voertuig te besturen. Kosten: voor dit project is het budget nog onbekend. Baten: omdat het budget nog onbekend is, is het moeilijk te bepalen wat de baten voor het budget zijn. De volgende tabel geeft een schatting van het benodigde budget: \begin{longtable}[]{@{}ll@{}} \toprule\noalign{} Item & Begroting \\ \midrule\noalign{} \endhead \bottomrule\noalign{} \endlastfoot 2x Wielmotor & 1000-1500 \\ Stabilisatie motor & 500-600 \\ Banden & 100-150 \\ Actuatoren & 400-500 \\ Wielen & 200-300 \\ 2x Encoders & 100-150 \\ Vehicle control unit & 50-80 \\ Motor controller & 100-150 \\ Batterijpakket & 900 \\ Frame & ??? \\ Remmen & 200-300 \\ \end{longtable} \newpage \subsubsection{Pakket van Eisen (PvE)}\label{pakket-van-eisen-pve} Het volgende PVE is opgesteld in een apart document. \newpage \subsubsection{Voertuig Validatie}\label{voertuig-validatie} Na de realisatie en optimalisatie van het voertuig, zal er een grondige validatie plaats vinden. De validatie zal bestaan uit verschillende hoofd criteria. Die uit geleid zijn van uit het pakket van eisen. Deze hoofd criteria zijn statische dynamische en integratie validatie testen. \paragraph{Statische validatie}\label{statische-validatie} Tijdens de statische validatie zal het voertuig gevalideerd worden op de statische parameters van uit het pakket van eisen. Dit zal gebeuren door een \begin{itemize} \tightlist \item Voertuig gewicht validatie (\textless250 kg ex persoon) (REQ-A-1{[}MH{]} in PvE) \item Afmetingen (REQ-A-2{[}MH{]}, REQ-A-3{[}MH{]}, REQ-A-10{[}SH{]}, REQ-A-11{[}MH{]} en REQ-A-12{[}SH{]} in PvE) \end{itemize} \paragraph{Dynamische validatie}\label{dynamische-validatie} \begin{itemize} \tightlist \item Aandrijving (REQ-W-4{[}MH{]} in PvE) \item Draaicirkel (REQ-W-8{[}MH{]} in PvE) \item Stabilisatie tot hellingshoek 5 graden (REQ-S-2{[}SH{]} in PvE) \end{itemize} \paragraph{Integratie validatie}\label{integratie-validatie} Een volledig rollend sturen d stabiliserend voertuig test. (REQ-S-1{[}MH{]}, REQ-W-2{[}MH{]} en REQ-W-3{[}SH{]} in PvE) \newpage \subsection{Pakket van Eisen}\label{pakket-van-eisen} \subsubsection{Inleiding}\label{inleiding} Bij dit project is de SPC\footnote{Superlight Personal Carrier} opgesplitst in een aantal onderdelen. de eisen zijn verdeeld over deze onderdelen. Deze onderdelen zijn gesplitst op basis van welke onderdelen die in dit project verbeterd worden. \newpage \subsubsection{Eis identificatie code}\label{eis-identificatie-code} \begin{verbatim} REQ-X-X[XX] | | | | | +- MH: zonder is het product niet bruikbaar | | SH: het product is zonder ook bruikbaar, maar is zeer gewenst | | CH: als het binnen de tijd lukt is het gewenst | | WH: niet gewenst | | | +--- uniek identificatie nummer | +----- A: algemeen W: wiel assembly S: stabilisatie C: VCU \end{verbatim} \newpage \subsubsection{Definities}\label{definities} \textbf{Het voertuig}: De Superlight Personal Carrier die tijdens dit project gemaakt/verbeterd wordt.\\ \textbf{Bestuurder}: De persoon die in het voertuig zit, en het voertuig bestuurd. \newpage \subsubsection{Algemene eisen}\label{algemene-eisen} \textbf{REQ-A-1{[}MH{]}: Het voertuig exclusief bestuurder weegt 250 kilogram of minder.} \textbf{REQ-A-2{[}MH{]}: Het voertuig heeft een totale lengte van 4 meter of minder.} \textbf{REQ-A-3{[}MH{]}: Het voertuig heeft een totale breedte van 60 centimeter of minder.} \textbf{REQ-A-4{[}MH{]}: Het voertuig is ontworpen\footnote{Binnen de tijdspan van dit project is het niet mogelijk om op deze eisen te testen buiten een simulatie of rekenmodel.} zodat de maximale snelheid 60 kilometer per uur of sneller is.} 60 km/h is de minimale snelheid voor op de snelweg\footnote{\href{https:/www.rijksoverheid.nl/onderwerpen/wegen/vraag-en-antwoord/wat-is-de-minimumsnelheid-voor-het-wegverkeer}{https://www.rijksoverheid.nl/onderwerpen/wegen/vraag-en-antwoord/wat-is-de-minimumsnelheid-voor-het-wegverkeer}}. \textbf{REQ-A-5{[}SH{]}: Het voertuig is ontworpen\footnote{Binnen de tijdspan van dit project is het niet mogelijk om op deze eisen te testen buiten een simulatie of rekenmodel.} zodat die 150 kilometer per uur of sneller kan rijden in ideale omstandigheden\footnote{De ideale omstandigheden is op een vlakke rechte geasfalteerde weg zonder wind, regen, hagel, sneeuw of andere weersomstandigheden die een negatief gevolg op de test kunnen hebben.}.} \textbf{REQ-A-6{[}SH{]}: Het voertuig is ontworpen\footnote{Binnen de tijdspan van dit project is het niet mogelijk om op deze eisen te testen buiten een simulatie of rekenmodel.} zodat die 100 kilometer actieradius of meer kan bereiken in ideale omstandigheden\footnote{De ideale omstandigheden is op een vlakke rechte geasfalteerde weg zonder wind, regen, hagel, sneeuw of andere weersomstandigheden die een negatief gevolg op de test kunnen hebben.}.} De opdracht gever wil graag tussen Amsterdam van Rotterdam kunnen rijden. \textbf{REQ-A-7{[}CH{]}: Het voertuig is ontworpen\footnote{Binnen de tijdspan van dit project is het niet mogelijk om op deze eisen te testen buiten een simulatie of rekenmodel.} zodat die 250 kilometer actieradius of meer kan bereiken in ideale omstandigheden\footnote{De ideale omstandigheden is op een vlakke rechte geasfalteerde weg zonder wind, regen, hagel, sneeuw of andere weersomstandigheden die een negatief gevolg op de test kunnen hebben.}.} \textbf{REQ-A-8{[}CH{]}: Het voertuig is bestand tegen corrosie} \textbf{REQ-A-9{[}SH{]}: Het voertuig kan bedient worden door een bestuureder van 130 kilogram of minder.} \textbf{REQ-A-10{[}SH{]}: Het voertuig kan bediend worden door een bestuurder met een lengte van 150 centimeter tot en met 200 centimeter.} \begin{quote} bron https://www.cbs.nl/nl-nl/maatwerk/2021/37/lichaamslengte 8\% van 19 jarige vrouwen zijn korter dan 160 10.2\% van 19 jarige mannen zijn korter dan 175 \end{quote} \textbf{REQ-A-11{[}MH{]}: De bestuurder van het voertuig zit volledig binnen de afmetingen van het voertuig, met uitzondering van de hoogte.} \textbf{REQ-A-12{[}SH{]}: Het zwaarte punt van het voertuig ligt 45 centimeter of minder boven de grond bij een vlakke grond.} \newpage \subsubsection{Wiel Assembly}\label{wiel-assembly} \textbf{REQ-W-1{[}MH{]}: het voertuig heeft twee wielen.} \textbf{REQ-W-2{[}MH{]}: het voertuig wordt aangedreven door beide wielen.} \textbf{REQ-W-3{[}SH{]}: het voertuig stuurt met beide wielen.} \textbf{REQ-W-4{[}MH{]}: het voertuig wordt aangedreven door elektromotoren.} \textbf{REQ-W-5{[}SH{]}: het voertuig kan remmen doormiddel van regenerative braking.} \textbf{REQ-W-6{[}SH{]}: de aandrijving bevindt zich in het wiel.} \textbf{REQ-W-7{[}MH{]}: het voertuig heeft een remvertraging van 6 meter per seconde per seconde of meer.} \textbf{REQ-W-8{[}MH{]}: het voertuig heeft een draaicirkel van 6 meter in diameter of minder.} \newpage \subsubsection{Stabilisatie}\label{stabilisatie} \textbf{REQ-S-1{[}MH{]}: Het voertuig wordt actief gestabaliseerd} \textbf{REQ-S-2{[}SH{]}: Het voertuig kan uit zichzelf weer recht komen te zitten vanaf een roll hoek van 5 graden} \newpage \subsubsection{VCU}\label{vcu} \textbf{REQ-C-1{[}MH{]}: het voertuig wordt bestuurd doormiddel van een elektronisch input, zoals een joystick, die bedienbaar is door de bestuurder.} \textbf{REQ-C-2{[}MH{]}: er is een noodstop aanwezig.} \newpage \subsection{Detailontwerp Stabilisatie}\label{detailontwerp-stabilisatie} \subsubsection{Inleiding}\label{inleiding} De SPC\footnote{Superlight Personal Carrier} is een twee wielig concept eenpersoons voertuig. Zonder actieve stabilisatie gaat deze omvallen, hiervoor is een reactie wiel ontworpen. Het aansturen van de motor voor dit wiel is lastig, de volledige kracht moet gehaald worden vanaf stilstand. Dit is alleen mogelijk met FOC\footnote{Field oriented Controll}. Er zijn niet veel motor driver op de markt voor het vermogen (4,5 KW, 45 Nm), hierom is er een op maat gemaakte motor driver ontworpen. \newpage \subsubsection{Analyse}\label{analyse} Tijn Stijders (student Automotive engineer) heeft de benodigde kracht van \(45 Nm\) op een maximumsnelheid van \(1000 rpm\), dit is \(4.5 kW\) berekent voor dit voertuig. Deze berekening is gebaseerd op inschattingen van het gewicht van het voertuig, maar is nauwkeurig genoeg om te gebruiken. \paragraph{Motor Keuze}\label{motor-keuze} Het is voor ons niet toegestaan om boven de \(50 V\) te testen op de RDM wegens veiligheid. Er zijn erg weinig motoren beschikbaar die onder deze spanning aan de eisen voldoet. Hierom wordt er niet op volledig vermogen getest in dit project, om meer keuze vrijheid te krijgen voor een geschikte motor. De volgende motor is gekozen: \href{https:/nl.aliexpress.com/item/1005006301690150.html?spm=a2g0o.productlist.main.2.6673ifiZifiZQm&algo_pvid=d6292651-bb7c-46b1-a220-6690a13ff967&algo_exp_id=d6292651-bb7c-46b1-a220-6690a13ff967-1&pdp_ext_f=\%7B\%22order\%22\%3A\%2214\%22\%2C\%22eval\%22\%3A\%221\%22\%7D&pdp_npi=4\%40dis\%21EUR\%21168.69\%21168.69\%21\%21\%211350.60\%211350.60\%21\%402103847817496360886601361e6a7e\%2112000036679171853\%21sea\%21NL\%210\%21ABX&curPageLogUid=wQDO26xezkrq&utparam-url=scene\%3Asearch\%7Cquery_from\%3A}{referentie BLDC-motor} De gegeven specificatie zijn: \begin{longtable}[]{@{}ll@{}} \toprule\noalign{} \endhead \bottomrule\noalign{} \endlastfoot maximale spanning & 60V \\ nominaal vermogen & 3000 W \\ maximaal vermogen & 6000w \\ piek vermogen & 7000w-8000W \\ onbelaste snelheid & 3500 rpm \\ maximaal rendement & 90\% \\ maximaal koppel & 10 Nm \\ piekkoppel & 30 Nm \\ nettogewicht & 4,5 kg \\ max. stroombegrenzing & 150A \\ \end{longtable} \begin{figure} \centering \includegraphics{../../latex/images/f2dbe830-87ac-4a88-95da-f53177a114a1.png} \caption{grafiek test data van de motor} \end{figure} \begin{longtable}[]{@{} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1754}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1228}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1228}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1228}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1053}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.0877}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1228}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.0877}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.0526}}@{}} \toprule\noalign{} \begin{minipage}[b]{\linewidth}\raggedright \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright \(U\) (V) \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright \(I\) (A) \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright \(P_{in}\) (W) \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright rpm \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright koppel (N.m) \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright \(P_{out}\) (W) \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright efficiëntie (\%) \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright tijd (s) \end{minipage} \\ \midrule\noalign{} \endhead \bottomrule\noalign{} \endlastfoot onbelast & 47.49 & 3.666 & 174.1 & 3264 & 0.03 & 11.1 & 6.4 & 1 \\ test eindpunt\footnote{of wat er ook bedoeld wordt met ``测试结束点''} & 42.99 & 60.35 & 2594 & 2294 & 8.77 & 2108 & 81.3 & 71 \\ beoordeelde punten\footnote{of wat er ook bedoeld wordt met ``額定点''} & 44.03 & 47.71 & 2101 & 2471 & 6.82 & 1800 & 84.1 & 62 \\ max. koppel & 42.99 & 60.35 & 2594 & 2294 & 8.77 & 2108 & 81.3 & 71 \\ max. \(P_{out}\) & 42.99 & 60.35 & 2594 & 2294 & 8.77 & 2108 & 81.3 & 71 \\ max. efficiëntie & 44.72 & 38.53 & 1723 & 2605 & 5.41 & 1476 & 85.7 & 55 \\ \end{longtable} \begin{longtable}[]{@{} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.0741}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1296}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1296}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1296}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1111}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1111}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1296}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1111}} >{\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.0741}}@{}} \toprule\noalign{} \begin{minipage}[b]{\linewidth}\raggedright 编号(No.~) \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright 电压 (V) \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright 电流 (A) \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright 输入功率 (W) \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright 转速 (rpm) \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright 转矩 (Nm) \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright 输出功率 (W) \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright 效率 (\%) \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright 时间 (s) \end{minipage} \\ \midrule\noalign{} \endhead \bottomrule\noalign{} \endlastfoot 1 & 47.49 & 3.666 & 174.1 & 3264 & 0.03 & 11.1 & 6.4 & 1 \\ 2 & 47.5 & 3.635 & 172.6 & 3262 & 0.03 & 11.14 & 6.5 & 4 \\ 3 & 47.5 & 3.684 & 175 & 3259 & 0.03 & 11.44 & 6.5 & 7 \\ 4 & 47.48 & 3.846 & 182.6 & 3256 & 0.05 & 18.52 & 10.1 & 10 \\ 5 & 47.44 & 4.244 & 201.3 & 3246 & 0.12 & 42.5 & 21.1 & 13 \\ 6 & 47.39 & 5.001 & 237 & 3233 & 0.23 & 79.21 & 33.4 & 16 \\ 7 & 47.31 & 5.93 & 280.5 & 3214 & 0.37 & 126.7 & 45.2 & 19 \\ 8 & 47.21 & 7.09 & 334.7 & 3186 & 0.55 & 184.5 & 55.1 & 22 \\ 9 & 47.1 & 8.719 & 410.7 & 3154 & 0.77 & 254.5 & 62.0 & 25 \\ 10 & 46.95 & 10.76 & 505.3 & 3114 & 1.04 & 341.9 & 67.7 & 28 \\ 11 & 46.78 & 13.04 & 610.3 & 3076 & 1.35 & 437.9 & 71.8 & 31 \\ 12 & 46.6 & 15.34 & 715 & 3040 & 1.71 & 547.4 & 76.6 & 34 \\ 13 & 46.38 & 17.9 & 830.3 & 2980 & 2.12 & 662.2 & 79.8 & 37 \\ 14 & 46.14 & 20.68 & 954.7 & 2917 & 2.57 & 786.9 & 82.4 & 40 \\ 15 & 45.88 & 23.75 & 1090 & 2859 & 3.08 & 922.6 & 84.6 & 43 \\ 16 & 45.61 & 27.55 & 1256 & 2801 & 3.6 & 1057 & 84.2 & 46 \\ 17 & 45.32 & 31.6 & 1432 & 2750 & 4.16 & 1198 & 83.7 & 49 \\ 18 & 45.04 & 34.65 & 1561 & 2676 & 4.75 & 1331 & 85.3 & 52 \\ 19 & 44.72 & 38.53 & 1723 & 2605 & 5.41 & 1476 & 85.7 & 55 \\ 20 & 44.38 & 43.17 & 1916 & 2539 & 6.08 & 1617 & 84.4 & 58 \\ 21 & 44.03 & 47.71 & 2101 & 2471 & 6.82 & 1800 & 84.1 & 62 \\ 22 & 43.67 & 52.13 & 2277 & 2415 & 7.48 & 1892 & 83.1 & 65 \\ 23 & 43.33 & 56.41 & 2444 & 2357 & 8.13 & 2006 & 82.1 & 68 \\ 24 & 42.99 & 60.35 & 2594 & 2294 & 8.77 & 2108 & 81.3 & 71 \\ \end{longtable} Er missen wat gegevens om verder te kunnen. De hoeveelheid stroom bij krachten groter dan \(8.77 Nm\) en hoelang de piek kracht volgehouden kan worden. \paragraph{koppel constante}\label{koppel-constante} Om de stroom bij grotere krachten te berekenen is de koppel constante nodig. Dit is de hoeveelheid koppel die per Ampère levert. In dit geval kan deze berekend worden met de volgende formule. \[ K_T = \frac{\tau}{I-I_{noload}} \] \(K_T\): koppel constante in Nm/A\\ \(\tau\): koppel in Nm\\ \(I\): de stroom nodig om de koppel te halen\\ \(I_{noload}\): de stroom die verbruikt wordt als de motor vrij draait \(\tau\) en \(I\) is gegeven in de test data. De beste inschatting voor \(I_{noload}\) is het gemiddelde van test 1, 2 en 3. Deze hebben allemaal \(0.03Nm\) koppel, er is geen informatie hoe deze koppel gemeten is. Om te controleren of dit correct is is een plot gemaakt voor elke regel van de test data. \begin{figure} \centering \includegraphics{../../latex/images/4aa438b9-f968-4ed9-97f3-dfb934130f6d.png} \caption{Plot van koppel constanten met 3.662 A voor I\_noload} \end{figure} x as: test nummer\\ y as: koppel constante\\ blauwe punten: berekende koppel constante vanuit de test data\\ oranje lijn: regressie van de berekende koppel constante In deze grafiek is een duidelijke curve te zien aan het begin te zien. Dit duidt er op dat \(I_{noload}\) te hoog is. Dit kan verklaard worden als de meting is uitgevoerd wanneer de tegenmotor nog aangesloten was maar uitgeschakeld. De \(0.03 Nm\) komt, als deze theorie correct is, waarschijnlijk van de lagers van de tegenmotor. Waarschijnlijk mist ook de weerstand van de lagers in de motor zelf. Met \(3.52 A\) voor \(I_{noload}\) ziet de grafiek er als volgt uit. \begin{figure} \centering \includegraphics{../../latex/images/fcc86ab9-d051-411d-8379-9d4223c5f4a4.png} \caption{Plot van koppel constanten met 3.52 A voor I\_noload} \end{figure} Dit is waarschijnlijk dichter bij de werkelijke \(I_{noload}\). Het is hier ook te zien dat de koppel constante ongeveer \(0.15 Nm/A\) is. \paragraph{Snelheidsconstante en Weerstand Stator}\label{snelheidsconstante-en-weerstand-stator} De snelheidsconstante is het aantal rpm dat de motor draait zonder belasting per volt. Deze kan berekend worden met de volgende formule. \[ K_v = \frac{\omega}{U-U_{th}} \] \(K_v\): de snelheidsconstante in rpm/v\\ \(\omega\): de snelheid dat de motor draait in rpm\\ \(U\): de spanning\\ \(U_{th}\): de spanning waarop de motor start met draaien Onbelast draait met \(47.49V\) (\(U\)) draait de motor 3264 rpm (\(\omega\)). \(U_{th}\) is niet gegeven, met de gegeven die er wel zijn is de beste methode met de volgende formules. \[ U=\frac{\omega}{K_v} + \frac{\tau}{K_T} R + U_{th} \] \[ I=\frac{\omega}{K_vR} + \frac{\tau}{K_T} + I_{noload} \] \(U\): de motor spanning\\ \(\omega\): de snelheid dat de motor draait in rpm\\ \(K_v\): de snelheidsconstante in rpm/v\\ \(\tau\): koppel in Nm\\ \(K_T\): koppel constante in Nm/A\\ \(R\): de weerstand van de stator\\ \(U_{th}\): de spanning waarop de motor start met draaien\\ \(I\): de stroom nodig om de koppel te halen\\ \(I_{noload}\): de stroom die verbruikt wordt als de motor vrij draait Als \(\omega = 0\) gelt \(U = \frac{\tau}{K_T} R + U_{th}\) en \(I = \frac{\tau}{K_T} + I_{noload} \Rightarrow IR = U = \frac{\tau}{K_T} R + I_{noload} R\) dus \(U_{th} = R I_{noload}\) Hiermee kan de volgende formule opgesteld worden \[ U = \frac{\omega}{K_v} + \frac{\tau}{K_T} R + R I_{noload} \] \[ \Rightarrow RU=R\frac{\omega}{K_v} + R^2(\frac{\tau}{K_T} + I_{noload}) \] \[ \Rightarrow \sqrt{\frac{U}{\frac{\omega}{K_v} (\frac{\tau}{K_T} + I_{noload})}} = R \] Met de methode gebruikt voor het berekenen van \(I_{noload}\) komen we op de waardes \(K_v = 69rpm/V\), \(R = 170m\Omega\) en \(U_{th} = 598mV\). Hieronder is de grafiek van alle spannignserrors met deze waardes \begin{figure} \centering \includegraphics{../../latex/images/99a21b34-2ff8-475c-8fef-296368d93bae.png} \caption{Grafiek van spanningserror met berekende waarde} \end{figure} x as: test nummer\\ y as: spannigs error tussen test data en \(U=\frac{\omega}{K_v} + \frac{\tau}{K_T} R + U_{th}\) \paragraph{Koppel Tijdens het Draaien}\label{koppel-tijdens-het-draaien} Om de koppel van \(45 Nm\) te kunnen halen op \(1000 rpm\) is een gearbox nodig. We hebben alles al berekend om de direct de benodigde spanning en stroom te krijgen van koppel en snelheid met de volgende formule. \[ U = \frac{\omega}{K_v} + \frac{\tau}{K_T} R + U_{th} = \frac{\omega}{69} + \frac{\tau}{0.15} \cdot 0.17 + 0.598 \] \[ I = \frac{\tau}{K_T} + I_{noload} = \frac{\tau}{0.15} + 3.52 \] \begin{longtable}[]{@{} >{\raggedright\arraybackslash}p{(\columnwidth - 12\tabcolsep) * \real{0.1228}} >{\raggedleft\arraybackslash}p{(\columnwidth - 12\tabcolsep) * \real{0.1579}} >{\raggedleft\arraybackslash}p{(\columnwidth - 12\tabcolsep) * \real{0.1404}} >{\raggedleft\arraybackslash}p{(\columnwidth - 12\tabcolsep) * \real{0.1579}} >{\raggedleft\arraybackslash}p{(\columnwidth - 12\tabcolsep) * \real{0.1404}} >{\raggedleft\arraybackslash}p{(\columnwidth - 12\tabcolsep) * \real{0.1579}} >{\raggedleft\arraybackslash}p{(\columnwidth - 12\tabcolsep) * \real{0.1228}}@{}} \toprule\noalign{} \begin{minipage}[b]{\linewidth}\raggedright gearbox \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft snelheid \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft koppel \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft spanning \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft stroom \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft vermogen \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedleft efficiëntie\footnote{op basis van 4.5 kW mechanisch vermogen dat berekend is door automotive studenten} \end{minipage} \\ \midrule\noalign{} \endhead \bottomrule\noalign{} \endlastfoot 1:1 & 1000 rpm & 45.0 Nm & 66.1 V & 303.5 A & 20060 W & 22.4 \% \\ 1:2 & 2000 rpm & 22.5 Nm & 55.1 V & 153.5 A & 8456 W & 53.2 \% \\ 1:3 & 3000 rpm & 15.0 Nm & 61.1 V & 103.5 A & 6323 W & 71.2 \% \\ 1:4 & 4000 rpm & 11.3 Nm & 71.3 V & 78.5 A & 5600 W & 80.4 \% \\ 1:5 & 5000 rpm & 9.0 Nm & 83.3 V & 63.5 A & 5289 W & 85.1 \% \\ \end{longtable} Met een 1:4 gearbox kan een maximale snelheid van 875 rpm halen (de motor kan maximaal 3500 rpm draaien). Dit is iets onder de eisen, maar een betere motor hebben wij niet gevonden voor een redelijke prijs. voor \(3500rpm\) met \(11.3 Nm\) is een spanning nodig van \(64V\). \begin{quote} Er is zat een grote fout in eerdere berekeningen. Terug regekent was dat voor 25 Nm i.p.v. 45 Nm. Dan is er maar ongeveer 45 A met de 1:4 gearbox nodig. De motor driver is dus ontworpen voor 50 A (inclusief een marge) i.p.v. de 80 A die het eigenlijk had moeten zijn. Volgende keer de berekeningen beter controleren. Verder in dit document zal de \(50 A\) gebruik worden \end{quote} \paragraph{Specificaties}\label{specificaties} \begin{itemize} \tightlist \item De drijver moet minimaal \(72 V\) aan kunnen, met voorkeur van \(120 V\) \footnote{Er wordt tot \(50 V\) getest, deze waardes word het voor ontworpen, maar niet tot de limiet getest.} \item de drijver moet minimaal \(50 A\) continu kunnen leveren (wat eigenlijk \(80 A\) had moeten zijn) \footnote{Er wordt tot \(50 V\) getest, deze waardes word het voor ontworpen, maar niet tot de limiet getest.} \item maakt gebruik van Field Orented Controll, om het volledige vermogen te kunnen halen vanaf stilstand. \item De hoek van het voertuig moet gemeten worden. \item Er is een regel loop tussen de hoek sensor en de kracht van de motor. \item Er is een SPI-client connector waarmee verschillende instellingen ingesteld mee kan worden, waaronder het maximaal vermogen. \end{itemize} \newpage \subsubsection{Ontwerp}\label{ontwerp} \paragraph{Componenten}\label{componenten} \subparagraph{FET's}\label{fets} MOSFET's was de eerste waar naar gezocht is. Van bijna alle FET's is de maximale stroom in de datasheet is niet realistisch haalbaar, dit vereist veel koeling dat erg lastig is te realiseren. Dit maakt het vinden van een geschikte MOSFET lastig, de meeste kunnen het niet aan alleen. Het is mogelijk om meerde parallel te zetten, maar dit vereist goede thermisch beheer. Een andere optie is GaNFET's, hier hebben we een fabrikant (Efficiënt Power Converters; EPC) gevonden die veel redelijkere maximale stroom geven. De EPC3207\footnote{\href{https:/epc-co.com/epc/products/gan-fets-and-ics/epc2307}{https://epc-co.com/epc/products/gan-fets-and-ics/epc2307}} lijkt met meest geschikt voor dit project. Deze kan \(62A\) aan volgens de datasheet, en verliest ongeveer \(15W\) bij \(50A\). Dit vermogen is goed te koelen met een koelblok. \subparagraph{Gate Driver}\label{gate-driver} EPC geeft een lijst aan aangeraden gate drivers IC's\footnote{\href{https:/epc-co.com/epc/design-support/gan-first-time-right/drivers-and-controllers}{https://epc-co.com/epc/design-support/gan-first-time-right/drivers-and-controllers}}. Er is gekozen voor de NCP51820 van On-Semi uit deze lijst. Deze kan hoge spanningen aan, de schakeling er om heen is makkelijk te maken door een aparte source en sync pinnen, en is goed verkrijgbaar voor een goede prijs. Verliezen in de FET De EPC2307 kan tot \(62A\) continu schakelen volgens EPC. \[ P_{loss} = I^2R_{DS(on)} + P_{loss,sw} \] \(P_{loss,sw}\): schakel verliezen \(R_{DS(on)} = 10m\Omega\) dus bij \(50A\): \[ P_{loss} = 50^2 \cdot 0.01 + P_{loss,sw} = 25W + P_{loss,sw} \] \(P_{loss,sw}\) is voor GaNFET's erg laag, in de simulatie - die gebaseerd is op de voorbeeld simulatie van EPC - schakelt die binnen \(4ns\). Als we vanuit gaan van linieer schakelgedrag met liniare oplopende stroom (wat tot veel hogeve verliezen lijd dan de werkelijkheid) \[ P_{loss,sw} = \frac{UIt}{2} \cdot 2f_s \] \(U\): voedings spanning \(I\): stroom \(t\): schakeltijd \(f_s\): de schakel frequentie Als je dit invult: \(U = 120V\), \(I = 50A\), \(t = 4 ns\), \(f_s = 50 kHz\) dan is \(P_{loss,sw} = 1.2 W\). Dit geeft een totaal van \(P_{loss} = 16.2W\). Dit is berekent met een ruime schakelverlies met bijna \(100\%\) PWM. De werkelijkheid zal het minder zijn. \subparagraph{Stroom Meting}\label{stroom-meting} Heel eerlijk, deze was ik een beetje vergeten, dus heb snel de ACS724 toegevoegd. Nu hopen dat die de piek stromen aan kan. \subparagraph{Hoek Sensor}\label{hoek-sensor} Het meten van de hoek hebben we drie manieren voor gevonden: \begin{itemize} \tightlist \item afstand sensoren naar de grond \end{itemize} Als de grond wat scheef is zal het reactiewiel het voertuig scheef (ten opzichte van zwaartekracht), waardoor het wiel steeds sneller gaat draaien tot die de maximale snelheid bereikt, dan valt het voertuig om. Niet heel handig dus. \begin{itemize} \tightlist \item MEMS-Gyroscoop \end{itemize} Meet direct de hoek en is snel. Nadeel is als deze afwijkt veranderd de nul positie en gaat die balanceren op het verkeerde punt. \begin{itemize} \tightlist \item MEMS-Versnellingsmeter \end{itemize} Meet de zwaartekracht direct, dus verliest de nul positie niet, maar wordt verstoord bij een stoot. De beste optie is een combinatie van een MEMS-gyroscoop en een MEMS-versnellingsmeter. De versnellingsmeter zorgt er voor dat de nul positie niet verloren gaat. En de gyroscoop voor nauwkeurige meting van de hoek. Deze combinatie wordt ook een IMU (Inertial measurement unit) genoemd. Uiteindelijk is de M5Stack IMU Pro Mini gekozen, dit is een module in behuizing met een connector. Dit is erg handig, omdat deze goed schokvrij bevestigt moet worden. Er zit ook nog een kompas en luchtdruk sensor op, maar er zijn geen plannen om deze te gebruiken. In deze module zit de BMI270\footnote{\href{https:/www.bosch-sensortec.com/products/motion-sensors/imus/bmi270/}{https://www.bosch-sensortec.com/products/motion-sensors/imus/bmi270/}} van Bosch. De I\textsuperscript{2}C bus van deze IC is direct verbonden met de connector naar buiten toe. \subparagraph{Microcontroller}\label{microcontroller} Er zijn niet veel vereisten voor de microcontroller, bijna alle microcontrollers hebben SPI, I2C interfaces en een ADC voor de stroom meting. Het belangrijkste is dat die genoeg rekenkracht heeft voor de FOC berekeningen. Uiteindelijk is gekozen voor een RP2040 van Raspberry Pi, deze heeft twee ARM Cortex M0+ cores die tot 150 MHz aan kunnen. Het grote voordeel van deze microcontroller is dat ik al een ontwerp klaar heb liggen met alle benodigde componenten. \subparagraph{Encoder}\label{encoder} Voor FOC moet de positie van polen (magneten) in de rotor ten opzichte van de slots (elektro magneten) in de rotor. Hoe nauwkeuriger dit is hoe effectiever de FOC is om met maximale vermogen uit de motor te kunnen halen. Veel motoren worden geleverd met drie hall-effect sensoren die deze relatieve positie direct meten, allen zijn deze niet heel nauwkeurig op lage snelheden. Een Relatieve rotary encoder, zoals een optische die sloten telt in een schrijf die gemonteerd is aan de rotor, kan veel nauwkeuriger. Het nadeel is dat deze gekalibreerd moet worden elke keer als de stroom er afgaat. Een absolute rotary encoder hoeft maar 1 keer gekalibreerd te worden. De meeste. Er zijn twee soorten absolute encoders die veel gebruikt worden, een die om een as gemonteerd worden (zoals de AMT212B-V\footnote{\href{https:/www.sameskydevices.com/product/motion-and-control/rotary-encoders/absolute/modular/amt212b-v}{https://www.sameskydevices.com/product/motion-and-control/rotary-encoders/absolute/modular/amt212b-v}}) of een die de oriëntatie van een magneet meet (zoals de AS5600\footnote{\href{https:/ams-osram.com/products/sensor-solutions/position-sensors/ams-as5600-position-sensor}{https://ams-osram.com/products/sensor-solutions/position-sensors/ams-as5600-position-sensor}}). Er is gekozen voor een breakout board te kopen van de AS5600, deze is het makkelijkst de monteren en goed verkrijgbaar van de absolute encoders. \paragraph{Schema}\label{schema} Het schema is gemaakt in KiCad \subparagraph{Half-bridge}\label{half-bridge} Voor een BLDC-motor driver zijn drie half-bridges nodig. Bij een ontwerp van een half bridge zijn twee belangrijke dingen, naast component keuze. De gate driver en de power filtering. Power Filtering In dit ontwerp worden GaNFET's gebruikt, deze schadelijk binnen enkele nanosecondes. Eleke hoeveelheid aan inductie vanaf de voeding vertraagt deze snelheid, en is een antenne voor de honderden MHz dat door deze schakelsnelheid gegenereerd wordt. Er moeten dus condensatoren zo dicht mogelijk bij de FET's om de inductie zo minimaal mogelijk te maken. Deze moeten ook keramische zijn door de lage ESR. Een nadeel is dat deze voor veel motor drijvers eigenlijk te groot zijn waardoor de afstand tussen de condensator en FET's te groot wordt als de filtering in 1 stage gaat. Om te berekenen hoeveel stages nodig zijn, moet eerste de layout gemaakt worden (hier meer over in het hooftstuk PCB). Bij de layout is het geluk om \(7.2 \mu F\) (5 x \(1\mu F\) en 1 x \(2.2\mu F\)) in de eerste stage te plaatsen. \begin{quote} TODO: ref to hooftstuk pcb needed! \end{quote} Na veel experimenteren in een simulatie in LTspice lijkt \(7.2\mu F\) wel weinig, het zal een stuk beter zijn als er \(20\mu F\) zal passen. De tweede stage is wat klein gehouden, om in inschakelstroom beperkt te houden. Dit betekent wel dat er erg dikke kabels nodig zijn om het volledige vermogen aan te kunnen. Helaas is de simulatie gecrasht en het bestand corrupt geraakt. Het is hierna niet meer gelukt om de simulatie stabiel opnieuw op te bouwen (vermogens van honderden KW bij een kleine aanpassing). Onder staat is de schakeling van de opnieuw opgebouwde schakeling die dus niet werkt. \begin{figure} \centering \includegraphics{../../latex/images/7f783ce7-ee05-4193-844f-240cbec98bce.png} \caption{Schakeling simulatie power filter} \end{figure} C2 zijn de keramische condensatoren vlak bij de FET's (eerste stage), C3 en C1 zijn solid polymer aluminum capacitors voor de tweede stage. L4 is een ingeschatte inductie van de verbinding tussen de condensatoren en L5 is de inductie van de kabels vanaf de accu. De condensator waardes zijn een stuk groter dan op het evaluatiebord. Hier zitten 7 condensatoren van \(22nF\) op (\(125nF\) totaal). Ik vermoed dat mijn simulaties wat pessimistischer zijn dat de werkelijkheid. Gate Driver Het simulatiemodel van de gate driver IC is alleen beschikbaar voor Simplus. Het is mij niet gelukt om de gratis versie van deze software werkend te krijgen of het model te converteren naar een ander format. Dus het berekenen of simuleren voor gate driver gaat niet lukken. Dus ik heb een referentieontwerp van EPC overgenomen met een \(0\Omega\) weerstand bij de sync (hier is wel een \(0\Omega\) jumper gebruikt zodat die later vervangen kan worden met een weerstand) en \(0.39\Omega\) voor de source. \subparagraph{Microcontroller}\label{microcontroller-1} De microcontroller schakeling is een kopie van een hobby project, deze schakeling is al getest. Er is niks veranderd aan dit ontwerp voor dit project, behalve dat er andere io pinnen gebruikt worden. \paragraph{PCB}\label{pcb} \subparagraph{Stroom Distributie}\label{stroom-distributie} Vijftig ampère is erg veel voor een PCB. \begin{quote} KiCad Calculator Tools:\\ ``The calculations are valid for currents up to \(35 A\) (external) or \(17.5 A\) (internal), temperature rises up to \(100^\circ C\), and widths of up to 400 mils (10mm)'' \end{quote} Deze tool heeft voor \(35A\), \(150mm\) spoor lengte en \(10^\circ C\Delta\) met \(70\mu m\) koper een spoor breedte van \(20.2mm\). De spoorbreedte is al buiten het berijk van deze tool. Als we toch de stroom verandert naar \(50A\) wordt dit \(33.1mm\). Met dezelfde instellingen voor \(50A\) in de calculator van DigiKey keeft die dezelfde resultatie. En die van AdvancedPCB, PCBWay en OMNI calculator. Of ze gebruiken allemaal dezelfde beperkte formule of het klopt redelijk. Er is gekozen om een spoor breedte van \(40mm\) te gebruiken om iets marge te hebben als deze rekenmachines afwijken. Dit is erg breed, dus dit verdeeld gedaan over een buiten laag en een binnen laag plus nog een extra marge omdat binnenlagen minder goed koelen. De lagen zijn om en om gedaan, zodat het beetje capaciteit tussen deze lagen de inductie ietsje compenseert. \subparagraph{Half-bridges}\label{half-bridges} Gelukkig heeft EPC (de fabrikant van de FET's) een aantal aangeraden layouts. \begin{figure} \centering \includegraphics{../../latex/images/e4a587e6-798b-4fed-8518-9574473bdf79.png} \caption{Aangeraden PCB layout van EPC} \end{figure} Bij dit project worden de high-side (HS) en low-side (LS) FET's ongeveer hetzelfde belast, dus ze hebben dezelfde koeling nodig. Dus er is voor de middelste optie gekozen. \begin{figure} \centering \includegraphics{../../latex/images/43a7f9a1-a3d6-4f2b-844e-be65623e1b12.png} \caption{3D render van een van de half-brdige layouts} \end{figure} Hierboven is de layout te zien. De rij condensatoren in het midden tussen de twee FET's (met veel vias er omheen). Rechts daar van de SOIC-8 is de stroom meting IC en rechts onderin de gate driver. De uitgang van de FET's voor de stroom meet IC is er ook in de binnen laag direct onder de top laat (de render is van de top laag). Deze zit er om de stroom loop zo'n klein mogelijk oppervlak te geven met de condensatoren, door er onder door te gaan. Hierom stoppen de vias van de voeding ook zo abrupt. \newpage \subsubsection{Productie}\label{productie} De PCB en stencel zijn gepoduceert door JLCPCB en de componenten zijn gelaats en in de reflow oven gegaan in het SMD-lab op Accademiplein. Na dat die uit de over kwam zijn er een aantal soleer balletjes weggehaald, twee soldeer bruggen weg gehaald bij een van de gate driver IC's en de microcontroller opnieuwe met de hand erop gelaast. De microcontroller had teveel tin op de groundpad aan de onderkant, waardoor deze omhoog kwam en de pinnen aan de zijkant boven de PCB zweefde onder contact. \newpage \subsection{Softwareontwerp Sabilisatie}\label{softwareontwerp-sabilisatie} \subsubsection{FoC library}\label{foc-library} In C zijn er niet veel librarys voor FOC, de enige goede library die we hebben gevonden is \href{https:/www.simplefoc.com/}{SimpleFOCproject}. Dit komt er in debuurd van een framework. In de video van de homepagina worden een aantal gemeenschaps projecten laten zien, waarvan meerdere een reactiewiel voor sabilisatie laat zien. Dit belooft veel goeds, toch is er gekozen om een andere library te kiezen. Het goed implementeren van een regel kring met de IMU vraagd veel kennis van hoe dit `framework' werkt. Onze implementatie is niet exact het zelfde als die van deze gemeenschaps projecten. Wij hebben dus de kennis nogdig om deze code aan te passen. Er is gekozen om te werken met de \href{https:/lib.rs/crates/foc}{Rust library FOC}. Deze library is alleen een implementatie voor het FOC algaritme, wadoor er meer flexibilitijd is hoe het systeem verder werkt. Dit kan dus ook verder geoptimaliseerd worden en meer ge configureerd. dat tweede is de grootste reden warom voor deze library is gekozen. Er is behoefte aan een systeem dat aangepast kan worden naar wat later beter blijkt te zijn. \newpage \subsubsection{Rust op RP2040}\label{rust-op-rp2040} Rust voor microcontrollers is nog in een sooft alpha versie. Het werkt voor het grootste deel, maar hier en daar zijn nog wat beperkingen. Vrijwel al deze beperkingen hebben een workaround. Het groote voordeel is dat er een `officele' standaard is voor het HAL interface\footnote{embeded-hal: \href{https:/docs.rs/embedded-hal}{https://docs.rs/embedded-hal}}. Dit maakt zorgd er voor dat er veel librarys voor IC's beschikbaar zijn die gewoon werken. \newpage \subsubsection{Async}\label{async} De standaard async funtionalitijd in rust werkt nog niet voor microcontrollers\footnote{\href{https:/www.youtube.com/watch?v=H7NtzyP9q8E}{https://www.youtube.com/watch?v=H7NtzyP9q8E}}. Hier zijn wel alternative librarys voor\footnote{\href{https:/arewertosyet.com/}{https://arewertosyet.com/}}, Embassy\footnote{\href{https:/embassy.dev/}{https://embassy.dev/}} en RTIC\footnote{\href{https:/rtic.rs}{https://rtic.rs}} zijn de twee die het meest genoemd worden. Embassy ziet er wat eenvoudiger uit als RTIC, daarvoor is ook gekozen om te gebruiken. \newpage \subsubsection{AS5600}\label{as5600} Er wordt gebruik gemaakt de AS5600 library van Rafael Bachmann\footnote{\href{https:/github.com/barafael/as5600-rs}{https://github.com/barafael/as5600-rs}}. \newpage \subsubsection{}\label{section} \newpage \subsubsection{Unit Testen Stabilisatie}\label{unit-testen-stabilisatie} \paragraph{Voedingen}\label{voedingen} \subparagraph{Benodigdheden}\label{benodigdheden} \begin{itemize} \tightlist \item 12V voeding \end{itemize} \subparagraph{Procedure}\label{procedure} \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \tightlist \item snel de voeding in op 12V met een stroom berensing van 50 mA \item sluit de 12V voeding aan op de 12V en GND ingnangen op de driver \item meet de uitgangen van de twee voedingen, vul de tabel hieronder in \end{enumerate} \begin{longtable}[]{@{}lrr@{}} \toprule\noalign{} & \(5V\) & \(12V\) \\ \midrule\noalign{} \endhead \bottomrule\noalign{} \endlastfoot minimaal & \(4.5V\) & \(11.5V\) \\ maximaal & \(5.5V\) & \(12.5V\) \\ gemeeten & & \\ \end{longtable} Geslaagd: opmergingen: \paragraph{Microcontroller}\label{microcontroller} \subparagraph{Benodigdheden}\label{benodigdheden-1} \begin{itemize} \tightlist \item 12V voeding als de voedingen werken, anders met een 5V en 3.3v voeding \item computer met Arduino IDE geinstaleerd \item USB B kabel naar de computer \item ledje met bijhoren de weerstand voor 3.3V \end{itemize} \subparagraph{Procedure}\label{procedure-1} \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \tightlist \item sluit een ledje aan op een van de GPIO pinnen \item snel de voeding in op 12V met een stroom berensing van 150 mA \item sluit de 12V voeding aan op de 12V en GND ingnangen op de driver \item sluit de USB kabel aan op de computer (dit is veilig omdat de USB alleen verbonden is met ground, de V+ is floating) \item upload een blinky voorbeeld progamma met de GPIO ingesteld van de led \item bekijk of het lidje knipperd \end{enumerate} Geslaagd: opmergingen: \paragraph{Half-brug}\label{half-brug} \subparagraph{Benodigdheden}\label{benodigdheden-2} \begin{itemize} \tightlist \item als de microcontoller werkt: \begin{itemize} \tightlist \item 12V voeding als de voedingen werken, anders met een 5V en 3.3v voeding \item 30V voor V Motor \item computer met Arduino IDE geinstaleerd \item USB B kabel naar de computer \item ocsiloscoop \end{itemize} \item zo niet: \begin{itemize} \tightlist \item 10V voor V motor \item signaal generator met twee kanalen \item ocsioscoop \end{itemize} \end{itemize} \subparagraph{procedure}\label{procedure-2} \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \tightlist \item sluit de ociloscoop aan op een van de uitgangen van de drijver (er komt 30V op te staan, beruik de juiste probe; geen juiste probe bij de hand, zelt de voeding voor V motor wa lager) \item snel de voeding in op 12V met een stroom berensing van 150 mA \item sluit de 12V voeding aan op de 12V en GND ingnangen op de driver \item sluit de USB kabel aan op de computer (dit is veilig omdat de USB alleen verbonden is met ground, de V+ is floating) \item upload een test progamma die de PWM aansuurt voor de FET's \begin{itemize} \tightlist \item de PWM per half bridge zijn aangesloten op de a en b uitganen van 1 timer per half brug. zorg dat een van de uitput geinverteerd is en de twee vergeleijk waardes zo zijn zodat er een korte dead time is. ze mogen nooit tegerlijk hoog zijn! \end{itemize} \item bekijk het signaal op de osciloscoop \item herhaal de test voor alle drie de half bruggen \end{enumerate} resultaat: \begin{itemize} \tightlist \item brug a: \item brug b: \item brug c: \end{itemize} opmerkingen: \paragraph{IMU}\label{imu} \subparagraph{benodigdheden}\label{benodigdheden-3} \begin{itemize} \tightlist \item een microcontroller met I2C (kan de motoro driver zelf zijn) \item computer met Arduino IDE geinstaleerd \item USB B kabel naar de computer \end{itemize} \subparagraph{procedure}\label{procedure-3} \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \tightlist \item sluit de IMU aan op de motor driver \item snel de voeding in op 12V met een stroom berensing van 150 mA \item sluit de 12V voeding aan op de 12V en GND ingnangen op de driver \item sluit de USB kabel aan op de computer (dit is veilig omdat de USB alleen verbonden is met ground, de V+ is floating) \item upload een blinky voorbeeld progamma met de GPIO ingesteld van de led \item bekijk de serial plotter terwel je de IMU draait. \end{enumerate} Geslaagd: opmergingen: \paragraph{stroom meting}\label{stroom-meting} \subparagraph{benodigdheden}\label{benodigdheden-4} \begin{itemize} \tightlist \item 12V voeding (of 5V bij beperking van beschikbaare voedingen) \item voeding die 50A kan leveren (of zoveel mogenlijk) voor V motor \item bij voorkeur een load die de \(50A_{DC}\) kan op nemen, ander kan de uitgang korgesloten worden als de voeding dat toestaat. \item multimeter \item computer met Arduino IDE geinstaleerd \item USB B kabel naar de computer \end{itemize} \subparagraph{procedure}\label{procedure-4} \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \tightlist \item sluit de load aan op deen van de uitgangen van de motor driver \item snel de voeding in op 12V met een stroom berensing van 150 mA \item sluit de 12V voeding aan op de 12V en GND ingnangen op de driver \item sluit de USB kabel aan op de computer (dit is veilig omdat de USB alleen verbonden is met ground, de V+ is floating) \item upload een programma die alle high side fet's dicht zet en de low side fet's open \item sluit de voeding voor V motor aan \item meet uitgang van de stroom meeting \item zet de v motor voeding uit en verlaats de load naar een andere uitgang \item zet de voeding weer aan en meet de stroom meting \item herhaal dit voor de laaste uitgang \end{enumerate} TODO: add meet table Geslaagd: opmergingen: \paragraph{encoder}\label{encoder} \subparagraph{benodigdheden}\label{benodigdheden-5} \begin{itemize} \tightlist \item een microcontroller met I2C (kan de motoro driver zelf zijn) \item computer met Arduino IDE geinstaleerd \item USB B kabel naar de computer \end{itemize} \subparagraph{procedure}\label{procedure-5} \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \tightlist \item sluit de Encoder aan op de motor driver \item snel de voeding in op 12V met een stroom berensing van 150 mA \item sluit de 12V voeding aan op de 12V en GND ingnangen op de driver \item sluit de USB kabel aan op de computer (dit is veilig omdat de USB alleen verbonden is met ground, de V+ is floating) \item upload een voorbeeld progamma voor de encoder. \item bekijk de serial plotter terwel je de magneer van de encoder draait \end{enumerate} Geslaagd: opmergingen: \end{document}