Es hat ein BEC
BEC mit getrennten LDOs für Analog- und Digitalversorgung |
Ein DRV830x sie zu knechten
Der DRV8305 integriert einen Großteil der Schaltung |
Warum der DRV8505 und nicht der 8301 oder 8302
Weil er neuer ist :). Und weil der 1,5A Stepdown des 8301 oder 8302 überflüssig ist durch das 3,5A BEC. Außerdem ist der DRV8305 noch weiter integriert als seine älteren Brüder. Wie an dem Schaltplan zu sehen ist braucht der 8305 keine Gatebeschaltung. Das Schaltverhalten soll sich laut Datenblatt mit 2 Parameter (IDRIVE und TDRIVE) einstellen lassen.
Der etwas niedrigere maximale Gatestrom von ca. 1A ist für die kleinen Toshiba-FETs mehr als ausreichend. Dennoch bin ich gespannt wie sich der Treiber verhält und ob parallel geschaltete FETs Probleme machen können.
Der größte Gewinn ist aber die Überwachung jedes FET-Paares auf Überstrom. Sollte ein FET durchschlagen oder ein Phasenschluss auftreten, so schaltet der DRV alle FETs ab und meldet den Fehler. Somit sollte ein Defekt in der Brücke keinen Totalausfall der BEC-Versorgung zur Folge haben und der Flieger sollte noch kontrollierbar sein.
Zusätzlich hat der DRV8305 einen dritten Verstärker für eine dreiphasige Strommessung. Damit kann der Regler mit 100% Duty fahren. Denn bei einer 3phasigen SVPWM ist immer nur eine der Phasen bei 100% Duty und die beiden haben einen so geringen Dutycycle, dass eine Strommessung in den Phasen möglich ist. Und wenn die Phase außerhalb dieses Bereiches sind kann die 3. Strommessung genutzt werden um jegliche Gleichtaktstörung auf den Strommessungen zu kompensieren, in dem die vollständige 3 phasige Clark-Transformation berechnet wird.
Das Hirn des Ganzen
Der STM32F446RE übernimmt die Steuerung und Regelung des Antriebs. |
Zum entwickeln der Software habe ich gern etwas mehr Rechenleistung. Ein STM32F303RC reicht mit 72MHz eigentlich aus für die FOC, den Beobachter und die Zustandsüberwachung des Motors. Dennoch ist Leistung nur durch mehr Leistung zu ersetzen. Außerdem bietet der STM32F446 mit 180MHz so viel Luft nach oben, dass ich damit die Regelfrequenz von 10kHz auf 20kHz erhöhen kann und noch Luft nach oben habe für Telemetrie (z.B. Graupner HOTT) und ggf. UAVCAN, falls ich den Regler auch für Copter einsetze. Zum debuggen und testen auf dem Schreibtisch habe ich noch 2 Taster-Eingänge und DAC-Ausgänge (Danke an Andreas für die Idee) vorgesehen. Außerdem leiste ich mir in der Software den Luxus eines RTOS (Chibios/RT). Das ist nicht wirklich notwendig, macht aber das Softwaredesign einfacher. Genauso erleichtert die Verwendung von C++ die Programmierung, sofern man sinnig mit den Sprachkonstrukten umgeht.