spellings controlle op detailontwerp stabilisatie
Some checks failed
generate pdf files / build (push) Has been cancelled
Some checks failed
generate pdf files / build (push) Has been cancelled
This commit is contained in:
parent
691a26574a
commit
621fbc043b
@ -1,28 +1,23 @@
|
||||
---
|
||||
tags: kladjes, elektro, elektro/hr, elektro/hr/pee51
|
||||
---
|
||||
|
||||
[parent](/tPb3Up1fQEuZ86yrJSkYRQ)
|
||||
|
||||
# Detilontwerp Stabilisatie
|
||||
# Detailontwerp 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.
|
||||
De SPC^[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^[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.
|
||||
|
||||
## Analyse
|
||||
|
||||
Tijn Stijders (student Automotive engineer) heeft de benodigde kracht van $45 Nm$ op een max snelheid 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 naukeurig genoeg om te gebruiken.
|
||||
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.
|
||||
|
||||
### 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 voedoet. Hierom wordt er niet op voledig vermogen getest in dit project, om meer keuze vrijheid te krijgen voor een geschikte motor.
|
||||
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:
|
||||
|
||||
[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)
|
||||
[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)
|
||||
|
||||
De gegeven specificatie zijn:
|
||||
|
||||
@ -32,23 +27,23 @@ De gegeven specificatie zijn:
|
||||
| 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 |
|
||||
| onbelaste snelheid | 3500 rpm |
|
||||
| maximaal rendement | 90% |
|
||||
| maximaal koppel | 10 Nm |
|
||||
| piekkoppel | 30 Nm |
|
||||
| nettogewicht | 4,5 kg |
|
||||
| max. stroombegrenzing | 150A |
|
||||
|
||||

|
||||
|
||||
| | $U$ (V) | $I$ (A) | $P_{in}$ (W) | rpm | koppel (N.m) | $P_{out}$ (W) | efficentie (%) | tijd (s) |
|
||||
| | $U$ (V) | $I$ (A) | $P_{in}$ (W) | rpm | koppel (N.m) | $P_{out}$ (W) | efficiëntie (%) | tijd (s) |
|
||||
|----------|-------|-------|-------|------|-----|-------|-----|---|
|
||||
| onbelast | 47.49 | 3.666 | 174.1 | 3264 | 0.03 | 11.1 | 6.4 | 1 |
|
||||
| test eindpunt^[of wat er ook bedoelt wordt met "测试结束点"] | 42.99 | 60.35 | 2594 | 2294 | 8.77 | 2108 | 81.3 | 71 |
|
||||
| beoordeelde punten^[of wat er ook bedoelt wordt met "額定点"] | 44.03 | 47.71 | 2101 | 2471 | 6.82 | 1800 | 84.1 | 62 |
|
||||
| test eindpunt^[of wat er ook bedoeld wordt met "测试结束点"] | 42.99 | 60.35 | 2594 | 2294 | 8.77 | 2108 | 81.3 | 71 |
|
||||
| beoordeelde punten^[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. effientie | 44.72 | 38.53 | 1723 | 2605 | 5.41 | 1476 | 85.7 | 55 |
|
||||
| max. efficiëntie | 44.72 | 38.53 | 1723 | 2605 | 5.41 | 1476 | 85.7 | 55 |
|
||||
|
||||
| 编号(No. ) | 电压 (V) | 电流 (A) | 输入功率 (W) | 转速 (rpm) | 转矩 (Nm) | 输出功率 (W) | 效率 (%) | 时间 (s) |
|
||||
|----|-------|-------|-------|------|------|-------|------|----|
|
||||
@ -77,11 +72,11 @@ De gegeven specificatie zijn:
|
||||
| 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 |
|
||||
|
||||
Er missen wat gegevens om verder te kunnen. De hoeveelhied stroom bij krachten groter dan $8.77 Nm$ en hoelang de piek kracht volgehouden kan worden.
|
||||
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.
|
||||
|
||||
### koppel constante
|
||||
|
||||
Om de stroom bij groterre krachten te berekennen is de koppel constante nodig. Dit is de hoeveelheid koppel die per Ampere levert. In dit geval kan deze berekent worden met de volgende formule.
|
||||
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}}
|
||||
@ -92,32 +87,32 @@ $\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 corect is is een plot gemaakt voor elke regel van de test data.
|
||||
$\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.
|
||||
|
||||

|
||||

|
||||
|
||||
x as: test nummer
|
||||
y as: koppel constante
|
||||
blauwe punten: berekende koppel constante vanuit de test data
|
||||
orange lijn: regressie van de berekende koppel constante
|
||||
oranje lijn: regressie van de berekende koppel constante
|
||||
|
||||
In deze grafiek is een duidelijk curve te zien aan het begin te zien. dit duid er op dat $I_{noload}$ te hoog is. Dit kan verkaart worden als de meting is uitgevord terwel de tegen motor nog aangesloten was maar uitgeschakeld. De $0.03 Nm$ komt, als deze theorie corect is, warschijnlijk van de lagers van de tegen motor. Waarschijnlijk mist ook de weerstand van de lagers in de motor zelf.
|
||||
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 volgd uit.
|
||||
Met $3.52 A$ voor $I_{noload}$ ziet de grafiek er als volgt uit.
|
||||
|
||||

|
||||

|
||||
|
||||
Dit is waarschijnlijk dichterbij de werkelijke $I_{noload}$. Het is hier ook te zien dat de koppel constante ongeveer $0.15 Nm/A$ is.
|
||||
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.
|
||||
|
||||
### snelheids constante en weerstand stator
|
||||
### Snelheidsconstante en Weerstand Stator
|
||||
|
||||
De snelheids constante is het aantal rpm dat de motor draait zonder belasting per volt. Deze kan merekent worden met de volgende formule.
|
||||
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 snelheids constante in rpm/v
|
||||
$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
|
||||
@ -134,10 +129,10 @@ $$
|
||||
|
||||
$U$: de motor spanning
|
||||
$\omega$: de snelheid dat de motor draait in rpm
|
||||
$K_v$: de snelheids constante in rpm/v
|
||||
$K_v$: de snelheidsconstante in rpm/v
|
||||
$\tau$: koppel in Nm
|
||||
$K_T$: koppel constante in Nm/A
|
||||
$R$: de weestand van de stator
|
||||
$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
|
||||
@ -152,17 +147,17 @@ U=\frac{\omega}{K_v} + \frac{\tau}{K_T} R + R 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 spannigns errors met deze waardes
|
||||
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
|
||||
|
||||

|
||||

|
||||
|
||||
x as: test nummer
|
||||
y as: spannigs error tussen test data en $U=\frac{\omega}{K_v} + \frac{\tau}{K_T} R + U_{th}$
|
||||
|
||||
|
||||
### koppel tijdens draaien
|
||||
### 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
|
||||
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
|
||||
@ -172,7 +167,7 @@ $$
|
||||
I = \frac{\tau}{K_T} + I_{noload} = \frac{\tau}{0.15} + 3.52
|
||||
$$
|
||||
|
||||
| gearbox | snelheid | koppel | spanning | stroom | vermogen | efficientie^[op basis van 4.5 kW meganisch vermogen dat berekent is door automotive studenten] |
|
||||
| gearbox | snelheid | koppel | spanning | stroom | vermogen | efficiëntie^[op basis van 4.5 kW mechanisch vermogen dat berekend is door automotive studenten] |
|
||||
| ------- | --------:| -------:| --------:| -------:| --------:| ------:|
|
||||
| 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 % |
|
||||
@ -185,144 +180,142 @@ Met een 1:4 gearbox kan een maximale snelheid van 875 rpm halen (de motor kan ma
|
||||
> 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
|
||||
|
||||
### specs
|
||||
### Specificaties
|
||||
|
||||
- De drijver moet minimaal $72 V$ aan kunnen, met voorkeur van $120 V$ [^1]
|
||||
- de drijver moet minimaal $50 A$ continu kunnen leveren (wat eigenlijk $80 A$ had moeten zijn) [^1]
|
||||
- maakt gebruik van field orented controll, om het voledige vermogen te kunnen halen vanaf stilstand.
|
||||
- De hoek van het voertuig moet gemeken worden.
|
||||
- maakt gebruik van Field Orented Controll, om het volledige vermogen te kunnen halen vanaf stilstand.
|
||||
- De hoek van het voertuig moet gemeten 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.
|
||||
- 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.
|
||||
[^1]: Er wordt tot $50 V$ getest, deze waardes word het voor ontworpen, maar niet tot de limiet getest.
|
||||
|
||||
## ontwerp
|
||||
## Ontwerp
|
||||
|
||||
### componenten
|
||||
### Componenten
|
||||
|
||||
#### FET
|
||||
#### FET's
|
||||
|
||||
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 goede thermisch beheer.
|
||||
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 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 decipeert ongeveer $15W$ bij $50A$. Dit vermogen is goed te deciperen met een koelblok.
|
||||
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^[[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.
|
||||
|
||||
#### gate driver
|
||||
#### Gate Driver
|
||||
|
||||
EPC geeft een lijst aan aangeraade gate drivers IC's^[[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.
|
||||
EPC geeft een lijst aan aangeraden gate drivers IC's^[[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.
|
||||
|
||||
#### stroom meting
|
||||
#### 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
|
||||
#### Hoek Sensor
|
||||
|
||||
Het meten van de hoek hebben we drie manien voor gevonden:
|
||||
Het meten van de hoek hebben we drie manieren 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.
|
||||
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.
|
||||
|
||||
- MEMS gieroscoop
|
||||
- MEMS-Gyroscoop
|
||||
|
||||
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.
|
||||
Meet direct de hoek en is snel. Nadeel is als deze afwijkt veranderd de nul positie en gaat die balanceren op het verkeerde punt.
|
||||
|
||||
- MEMS acceleromiter
|
||||
- MEMS-Versnellingsmeter
|
||||
|
||||
meet de zwaarte kracht direct, dus verliest de nul posistie niet bij een reset, maar wordt verstoord bij een stoot.
|
||||
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 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. Deze cominatie word ook een IMU (Inertial measurement unit) genoemd.
|
||||
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 gekozem, dit is een module in behuizing met een connector. Dit is erg handig, omdat deze goed schokvrij bevesticht moet worden. Er zit ook nog een compas en luchtdruk sensor op, maar er zijn geen plannen om deze te gebruiken.
|
||||
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^[[https://www.bosch-sensortec.com/products/motion-sensors/imus/bmi270/](https://www.bosch-sensortec.com/products/motion-sensors/imus/bmi270/)] van Bosch. De I^2^C bus van deze IC is direct verbonden met de connector naar buiten toe.
|
||||
|
||||
#### microcontroller
|
||||
#### 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.
|
||||
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.
|
||||
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.
|
||||
|
||||
#### encoder
|
||||
|
||||
Voor FOC moet de positie van polen (magneten) in de rotor ten opzichte van de slots (elektro magneeten) in de rotor. Hoe noukeuriger dit is hoe effectiever de FOC is om met maximale vermogen uit de motor te kunnen halen.
|
||||
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 halleffect sensoren die deze relative positie direct meten, allen zijn deze niet heel noukeurig op lage snelheden.
|
||||
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 rotory encoder, zoals een opische die sloten telt in een schrijf die gemonteert is aan de rotor, kan veel kaukeuriger. Het naadeel is dat deze gekalibreerd moet worden elke keer als de stroom er afgaat.
|
||||
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 rotory encoder hoeft maar 1 keer gecalibreerd te worden. De meeste. Er zijn twee sorden absolute encoders die veel gebruikt worden, een die om een as gemonteerd worden (zals de AMT212B-V^[[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 orientatie van een magneet meet (zoals de AS5600^[[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)]).
|
||||
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^[[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^[[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 eem breakout board te kopen van de AS5600, deze is het makkelijkst de monteeren en goed verkrijgbaar van de absolute encoders.
|
||||
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.
|
||||
|
||||
### schema
|
||||
### Schema
|
||||
|
||||
Het schema is gemaakt in KiCad
|
||||
|
||||
#### Half bridge
|
||||
#### Half-bridge
|
||||
|
||||
Voor een BLDC motor driver zijn drie halfgridges nodig. Bij een ontwerp van een half bridge zijn twee belangrijke dingen, naast component keuze. De gate driver en de power filtering.
|
||||
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 schakelijk binnen enkele nano secodes. Eleke hoeveelheid aan inductie vanaf de voeding vertraagt deze snelheid, en is een antene voor de honderden MHz dat door deze schakelsnelheid gegenereerd wordt. Er moeten dus condensatoren zo dicht mogenlijk bij de FET's om de inductie zo minimaal mogenlijk te maken. Deze moeten ook kiramische 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.
|
||||
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 staged te plaatsen.
|
||||
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.
|
||||
|
||||
> TODO: ref to hooftstuk pcb needed!
|
||||
|
||||
Na veel expirimenteeren 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.
|
||||
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 voledige vermogen aan te kunnen.
|
||||
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 limulatie gecrashed en het bestand corupt geraakt. Het is hierna niet meer gelukt om de simulatie stabiel opnieuw op te bouwen (vermogens van honderden KW bij een kleine aanpassing). Onder staant is de schakeling van de opnieuwe opgebouwde schakeling die dus niet werkt.
|
||||
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.
|
||||
|
||||

|
||||

|
||||
|
||||
C2 zijn de ceremic conensatoren vlak bij de FET's (eerste stage), C3 en C1 zijn solid polymer aluminum capacitors voor de tweede stage. L4 is een ingeschate inductie van de traces tussen de condensatoren en L5 is de inductie van de kabels vanaf de accu.
|
||||
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 evaluation board. Hier zitten 7 condensatoren van $22nF$ op ($125nF$ totaal). Ik vermoed dat mijn simulaties wat pesimistischer zijn dat de werkelijkheid.
|
||||
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
|
||||
##### Gate Driver
|
||||
|
||||
Het simulatie model van de gate driver IC is alleen beschikbaar voor Simplus. Het is mij niet gelukt om die software werkent 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 referentie onwerp van EPC overgenomen met een $0\Omega$ weerstand bij de sync en $0.39\Omega$ voor de source.
|
||||
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.
|
||||
|
||||
#### Microcontrolelr
|
||||
#### Microcontroller
|
||||
|
||||
De microcontroller schakeling is een kopie van een hobby project, deze schakeling is al getest. Er is niks verandert aan dit ontwerp voor dit project, behalve dat er andere io pinnen gebruikt worden.
|
||||
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.
|
||||
|
||||
### PCB
|
||||
|
||||
#### stroom distibutie
|
||||
#### Stroom Distributie
|
||||
|
||||
vrijftig ampere is erg veel voor een PCB.
|
||||
Vijftig ampère is erg veel voor een PCB.
|
||||
|
||||
> 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)
|
||||
> "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)"
|
||||
|
||||
Deze tool heeft voor $35A$, $150mm$ spoor lengte en $10^\circ C\Delta$ met $70\mu m$ koper een spoor breete van $20.2mm$. De spoor breedte is al buiten het berijk van deze tool. Als we toch de stroom verandert naar $50A$ wordt dit $33.1mm$.
|
||||
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 calulator van Digikey keeft die dezelfde resultatie. En die van AdvancedPCB, PCBWay en OMNI calculator. Of ze gebruiken allemaal dezelfde beperte formule of het klopt redelijk.
|
||||
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 breete 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 capocitance tussen deze lagen de inductie ietje compenseerd.
|
||||
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.
|
||||
|
||||
#### Half-bridges
|
||||
|
||||
Gelukkig heeft EPC (de fabrikant van de FET's) een aantaal aangeraade layouts.
|
||||
Gelukkig heeft EPC (de fabrikant van de FET's) een aantal aangeraden layouts.
|
||||
|
||||

|
||||

|
||||
|
||||
Bij dit project worden de high-side (HS) en low-side (LS) FET's ongeveer het zelfde belast, dus ze hebben dezelfde koelieng nodig. Dus er is voor de middelste optie gekozen.
|
||||
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.
|
||||
|
||||

|
||||

|
||||
|
||||
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.
|
||||
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 mogenlijk oppervlak te geven met de condensatoren, door er onder door te gaan. Hierom stoppen de vias van de voeding ook zo abtrubt.
|
||||
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.
|
||||
|
||||
## productie
|
||||
## 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.
|
||||
|
||||
|
||||
- PCB besteld bij JLCPCB
|
||||
- zelf soldeeren in SMD lab
|
||||
|
||||
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.
|
||||
|
||||
@ -25,6 +25,24 @@ kan worden naar wat later beter blijkt te zijn.
|
||||
|
||||
## Rust op RP2040
|
||||
|
||||
[RTOS verhaaltje](https://youtu.be/x7LQevYn7d0?si=W1sdbFhaTo1IcQcp&t=2765)
|
||||
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^[embeded-hal: [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.
|
||||
|
||||
- een RTOS of asyn voor microcontrollers is nog niet af, https://www.youtube.com/watch?v=H7NtzyP9q8E
|
||||
## Async
|
||||
|
||||
De standaard async funtionalitijd in rust werkt nog niet voor
|
||||
microcontrollers^[[https://www.youtube.com/watch?v=H7NtzyP9q8E](https://www.youtube.com/watch?v=H7NtzyP9q8E)].
|
||||
Hier zijn wel alternative librarys voor^[[https://arewertosyet.com/](https://arewertosyet.com/)],
|
||||
Embassy^[[https://embassy.dev/](https://embassy.dev/)] en RTIC^[[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.
|
||||
|
||||
## AS5600
|
||||
|
||||
Er wordt gebruik gemaakt de AS5600 library van Rafael Bachmann^[[https://github.com/barafael/as5600-rs](https://github.com/barafael/as5600-rs)].
|
||||
|
||||
##
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user