PEE51_SPC_documents/markdown/detailontwerp_stabilisatie.md

526 lines
24 KiB
Markdown

---
tags: kladjes, elektro, elektro/hr, elektro/hr/pee51
auther:
- "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)"
auther_short: "E.L.F. van Reenen, C. Tan, T Snijders, M. Kappert en T. Braam"
---
[parent](/tPb3Up1fQEuZ86yrJSkYRQ)
# Detailontwerp Stabilisatie
[toc]
## Inleiding
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].
## Analyse
Er zijn nog veel onbekenden over het voertuig. De belangrijkste parameters die
nodig zijn om de stabilisatie te ontwerpen is het totaal gewicht van het
voertuig en waar het midden van de massa is. Deze parameters kan je alleen maar
weten als het voertuig af is of exact bekent is wat en waar alles in het
voertuig komt. Dit weten we nog niet, om deze inschatting te maken hebben de
automotive studenten een inschatting gemaakt. Deze inschatting is gemaakt op
basis de het huidige frame, hiervoor zijn is het voertuig gewogen en de hoogte
van midden punt van de massa gemeten. En inschattingen van wat er
nog in het voertuig moet komen.
Met deze inschattingen is berekent door Tijn zwaar, de benodigde kracht en
snelheid om de eisen te halen. Hieruit kwam een reactiewiel van $10 Kg$ en
$45 Nm$ op een maximumsnelheid van $1000 rpm$ gehaalt moet kunnen worden.
Dit komt neer op $4.5 kW$ meganishce vermogen.
### 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 het ontwerp voor een hogere spanning ontworpen en
niet op volledig vermogen getest.
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)
De gegeven specificatie zijn:
| | |
|---|---|
| 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 |
![grafiek test data van de motor](https://live.kladjes.nl/uploads/f2dbe830-87ac-4a88-95da-f53177a114a1.png)
| | $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 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. efficiëntie | 44.72 | 38.53 | 1723 | 2605 | 5.41 | 1476 | 85.7 | 55 |
| 编号(No. ) | 电压 (V) | 电流 (A) | 输入功率 (W) | 转速 (rpm) | 转矩 (Nm) | 输出功率 (W) | 效率 (%) | 时间 (s) |
|----|-------|-------|-------|------|------|-------|------|----|
| 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 |
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 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.
![Plot van koppel constanten met 3.662 A voor I_noload](https://live.kladjes.nl/uploads/4aa438b9-f968-4ed9-97f3-dfb934130f6d.png)
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.
![Plot van koppel constanten met 3.52 A voor I_noload](https://live.kladjes.nl/uploads/fcc86ab9-d051-411d-8379-9d4223c5f4a4.png)
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.
### 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
![Grafiek van spanningserror met berekende waarde](https://live.kladjes.nl/uploads/99a21b34-2ff8-475c-8fef-296368d93bae.png)
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 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
$$
| gearbox | snelheid | koppel | spanning | stroom | vermogen | efficiëntie[^efficentie-berekening] |
| ------- | --------:| -------:| --------:| -------:| --------:| ------:|
| 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 % |
[^efficentie-berekening]: op basis van 4.5 kW mechanisch vermogen dat berekend is door automotive studenten
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 $71.3V$.
> 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
### Specificaties
- De drijver moet minimaal $72 V$ aan kunnen, met voorkeur van $120 V$ [^1]
- de drijver moet minimaal $50 A$ continu kunnen leveren [^1]
- 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 mogenlijkheid om later de SPI-client te kunnen vervangen met een
CAN-bus.
CAN-bus is de sandaart communicatie potocol in autos, maar er is gekozen om dit
protocool nog niet te implementeeren, wegens de complexitijd van dit protocool.
[^1]: Er wordt tot $50 V$ getest, deze waardes word het voor ontworpen, maar
niet tot de limiet getest.
## Ontwerp
Motordrivers die dit vermogen aan kunnen en FOC ontersteunen zijn erg schaarst,
op de markt. We hebben geen driver kunnen vinden die niet op maat gemaakt wordt.
Zelf een maken is goedkoper, aangezien er geen certificeertingen gedaan hoeven
worden en geen abrijds kosten hoeven te rekenen voor onszelf.
Daarbij heeft het team ook al ervaring. Finley heeft al een motor driver
ontworpen op haar stage. Dat was ook een grote factor in het maken van deze
keuze.
### Componenten
Een FOC BLDC motor driver bestaat minimaal uit drie half driver en een
controller voor de FOC. Eleke halfbridge driver bestaat uit twee transistoren
en een gate driver.
#### Transistoren
Tyristoren werken niet, omdat de voeding direct van een accu komt dus geen 'zero
crossing' om ze uit te zetten. BJT's zijn niet bepaalt geschikt voor grote
stromen. De stroom is zelf erg hoog voor FET's, maar dat is eigenlijk onze enige
optie.
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^[[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
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.
##### 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.
#### 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 manieren voor gevonden:
- afstand sensoren naar de grond
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-Gyroscoop
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-Versnellingsmeter
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^[[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
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.
#### 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^[[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 een breakout board te kopen van de AS5600, deze is het
makkelijkst de monteren en goed verkrijgbaar van de absolute encoders.
### Schema
Het schema is gemaakt in KiCad
#### 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.
> TODO: ref to hooftstuk pcb needed!
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.
![Schakeling simulatie power filter](https://live.kladjes.nl/uploads/7f783ce7-ee05-4193-844f-240cbec98bce.png)
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.
#### Microcontroller
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 Distributie
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)"
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.
#### Half-bridges
Gelukkig heeft EPC (de fabrikant van de FET's) een aantal aangeraden layouts.
![Aangeraden PCB layout van EPC](https://live.kladjes.nl/uploads/e4a587e6-798b-4fed-8518-9574473bdf79.png)
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.
![3D render van een van de half-brdige layouts](https://live.kladjes.nl/uploads/43a7f9a1-a3d6-4f2b-844e-be65623e1b12.png)
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.
## 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.