add sabalisation detail design
All checks were successful
generate pdf files / build (push) Successful in 2m14s

This commit is contained in:
Laila van Reenen 2025-06-11 18:58:32 +02:00
parent 7b43836f14
commit ada885c54f

View File

@ -0,0 +1,246 @@
# Detilontwerp Stabilisatie
[toc]
## Inleiding
De SPC^[Superlight Personal Carrier] is een twee wielig conept een persoons voertuig. Zonder active sabilisatie gaat deze omvallen, hiervoor is een reactie wiel ontworpen. Het aanstuuren van de motor voor dit wiel is lastig, de voledige kracht moet gehaald worden vanaf stilstand. Dit is alleen mogenlijk met FOC^[Field oriented Controll]. Er zijn niet veel motor driver op de markt voor het vermogen (4,5 KW, 45 Nm), hierom is er een opmaat gemaakte motor driver ontworpen.
## Analyse
Tijn Stijders (student Automotive engineer) heeft de benodigde kracht van $45 Nm$ en vermogen van $4,5 KW$ berekent voor dit voertuig. Deze berekening is gebaseerd op inschattingen van het gewicht van het voertuig, maar is naukeurig genoeg om te gebruiken.
### motor keuze
Het is voor ons niet mogenlijk om boven de $50 V$ te testen, wegen gebrek aan deskundigen om dit vijlig boven deze spanning te gaan. Er zijn erg weinig motorgen beschikbaar dit onder deze spanning aan de eisen voedoet. En zijn tot de conclusie gekomen om niet op het voleig vermogen te gaan testen, maar een lager vermogen te testen met een motor dit meer op een hogere spanning meer vermogen heeft.
De volgende motor is gekozen om de motor driver op te baseren:
[referentie BLDC motor](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)
Deze motor is maar voor $3 KW$, maar dit is continu, voor minder dan een secode kan die het vermogen wel halen. Ditzelfde geldt voor de kopple.
Hier vooe is een 1:4 vertraging nodig, maar dit is volgen de automotive engeneers geen probleem.
### specs
- De drijver moet minimaal $60 V$ aan kunnen, met voorkeur $120 V$ ^[1]
- de drijver moet minimaal $50 A$ continu kunnen leveren ($\frac{3 KW}{60 V}$) ^[1]
- maakt gebruik van field orented controll, om het voledige vermogen te kunnen halen vanaf stilstand.
- De hoek van het voertuig moet gemeken worden.
- Er is een regel loop tussen de hoek sensor en de kracht van de motor.
- Er is een SPI client connector waarmee verschillende instellingen ingesteld mee kan worden, waaronder het maximaal vermogen.
[^1]: er word tot $50 V$ getest, deze waardes werdt het voor ontworpen, maar niet tot het limiet getest.
## ontwerp
### componenten
#### FET
MOSFET's was de eerste waar naar gezocht is. Van bijna alle FET's is de maximale stroom in de datasheet is niet realistich haal baar, dit vereist veel koeling dat erg lastig is te realiseeren. Dit maakt het vinden van een geschikte MOSFET lastig, de meeste kunnen het niet aan alleen. Het is mogenlijk om meerde paralel te zetten, maar dit vereist een goede thermisch beheer.
Een andere optie is GaNFET's, hier hebben we een fabrikant gevonden die veel redelijkere max stroom geven (Effitiont Power Converters). De EPC3207 lijkt met meerst geschik voor dit project. Deze kan $62A$ aan volgens de datasheet, en diepeert ongeveer $15W$ bij $50A$. Dit vermogen is goed te deciperen met een koelblok.
#### gate driver
EPC geeft een lijst aan aangeraade gate drivers IC's. Er is gekozen voor de NCP51820 van On-Semi. deze kan hoge spanningen aan, de schakelilng er om heen is makkelijk te maken door een aparte source en sync pinnen, en is goed verkrijgbaar voor een goede prijs.
#### 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.
#### hoek sensor
Het meten van de hoek hebben we drie manien voor gevonden:
- afstand sensoren naar de grond
Als de grond wat scheef is zal het reactie wiel het voertuig scheef (ten opzichte van zwaartekracht), waroor het wiel steeds sneller gaat draaien tot die de max snelheid berijkt, dan valt het voertuig om. Niet heel handig dus.
- MEMS gieroscoop
Meet direcht de hoek en is snel. Naadeel is dat die weg kan lopen van de nul posistie en de nul positie verliest bij een reset.
- MEMS acceleromiter
meet de zwaarte kracht direct, dus verliest de nul posistie niet bij een reset, maar wordt verstoord bij een stoot.
De beste optie is een combinatie van een MEMS gieroscoop en een MEMS acceleromitor. de acceleromitor zorgdt er voor dat de nul positie niet veloren gaat. en de giroscoop voor naukeurige meting van de hoek.
#### 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.
Uiteidelijk 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 aalle benodigde componenten.
#### encoder
### schema
Het ontwerpen van het schema is gedaan in KiCAD.
### PCB
- spoor breede
- 4 lagen
- layout
## productie
- PCB besteld bij JLCPCB
- zelf soldeeren in SMD lab
## testen
### voedingen
#### benodigdheden
- 12V voeding
#### procedure
1. snel de voeding in op 12V met een stroom berensing van 50 mA
2. sluit de 12V voeding aan op de 12V en GND ingnangen op de driver
3. meet de uitgangen van de twee voedingen, vul de tabel hieronder in
| | $5V$ | $12V$ |
| -------- | ------:| -------:|
| minimaal | $4.5V$ | $11.5V$ |
| maximaal | $5.5V$ | $12.5V$ |
| gemeeten | | |
Geslaagd:
opmergingen:
### microcontroller
#### benodigdheden
- 12V voeding als de voedingen werken, anders met een 5V en 3.3v voeding
- computer met Arduino IDE geinstaleerd
- USB B kabel naar de computer
- ledje met bijhoren de weerstand voor 3.3V
#### procedure
1. sluit een ledje aan op een van de GPIO pinnen
2. snel de voeding in op 12V met een stroom berensing van 150 mA
3. sluit de 12V voeding aan op de 12V en GND ingnangen op de driver
4. sluit de USB kabel aan op de computer (dit is veilig omdat de USB alleen verbonden is met ground, de V+ is floating)
5. upload een blinky voorbeeld progamma met de GPIO ingesteld van de led
6. bekijk of het lidje knipperd
Geslaagd:
opmergingen:
### half brug
#### benodigdheden
- als de microcontoller werkt:
- 12V voeding als de voedingen werken, anders met een 5V en 3.3v voeding
- 30V voor V Motor
- computer met Arduino IDE geinstaleerd
- USB B kabel naar de computer
- ocsiloscoop
- zo niet:
- 10V voor V motor
- signaal generator met twee kanalen
- ocsioscoop
#### procedure
1. 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)
2. snel de voeding in op 12V met een stroom berensing van 150 mA
3. sluit de 12V voeding aan op de 12V en GND ingnangen op de driver
4. sluit de USB kabel aan op de computer (dit is veilig omdat de USB alleen verbonden is met ground, de V+ is floating)
5. upload een test progamma die de PWM aansuurt voor de FET's
- 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!
6. bekijk het signaal op de osciloscoop
7. herhaal de test voor alle drie de half bruggen
resultaat:
- brug a:
- brug b:
- brug c:
opmerkingen:
### IMU
#### benodigdheden
- een microcontroller met I2C (kan de motoro driver zelf zijn)
- computer met Arduino IDE geinstaleerd
- USB B kabel naar de computer
#### procedure
1. sluit de IMU aan op de motor driver
2. snel de voeding in op 12V met een stroom berensing van 150 mA
3. sluit de 12V voeding aan op de 12V en GND ingnangen op de driver
4. sluit de USB kabel aan op de computer (dit is veilig omdat de USB alleen verbonden is met ground, de V+ is floating)
5. upload een blinky voorbeeld progamma met de GPIO ingesteld van de led
6. bekijk de serial plotter terwel je de IMU draait.
Geslaagd:
opmergingen:
### stroom meting
#### benodigdheden
- 12V voeding (of 5V bij beperking van beschikbaare voedingen)
- voeding die 50A kan leveren (of zoveel mogenlijk) voor V motor
- bij voorkeur een load die de $50A_{DC}$ kan op nemen, ander kan de uitgang korgesloten worden als de voeding dat toestaat.
- multimeter
- computer met Arduino IDE geinstaleerd
- USB B kabel naar de computer
#### procedure
1. sluit de load aan op deen van de uitgangen van de motor driver
2. snel de voeding in op 12V met een stroom berensing van 150 mA
3. sluit de 12V voeding aan op de 12V en GND ingnangen op de driver
4. sluit de USB kabel aan op de computer (dit is veilig omdat de USB alleen verbonden is met ground, de V+ is floating)
5. upload een programma die alle high side fet's dicht zet en de low side fet's open
6. sluit de voeding voor V motor aan
7. meet uitgang van de stroom meeting
8. zet de v motor voeding uit en verlaats de load naar een andere uitgang
9. zet de voeding weer aan en meet de stoom meting
10. herhaal dit voor de laaste uitgang
TODO: add meet table
Geslaagd:
opmergingen:
### encoder
#### benodigdheden
- een microcontroller met I2C (kan de motoro driver zelf zijn)
- computer met Arduino IDE geinstaleerd
- USB B kabel naar de computer
#### procedure
1. sluit de Encoder aan op de motor driver
2. snel de voeding in op 12V met een stroom berensing van 150 mA
3. sluit de 12V voeding aan op de 12V en GND ingnangen op de driver
4. sluit de USB kabel aan op de computer (dit is veilig omdat de USB alleen verbonden is met ground, de V+ is floating)
5. upload een voorbeeld progamma voor de encoder.
6. bekijk de serial plotter terwel je de magneer van de encoder draait
Geslaagd:
opmergingen: