Hi,
was willst du den regeln? Willst du einen HeadingHold oder AutoLevel-Regler? HeadingHold lässt sich auf jeden Fall auch mit "nur" einem P-Regler sehr stabil realisieren, nur wird der Winkel mit der Zeit abdriften, weil kein I-Term vorhanden ist.
Hast du den denn Kalman schon programmiert? IMHO brauchts den definitiv nicht, ein gut eingesteller Komplementärfilter ist mindestens genausogut bei sehr viel weniger Rechenzeit. Da du nicht angegeben hast, welchen Arduino (bzw. welchen Prozesser) du verwenden willst, kann man das aber schlecht einschätzen, ob genug Zeit für den Kalman ist. In der Regel sollte der PID-Regler (sprich: EVA) mit mind. 500Hz laufen, um einen stabilen Kopter zu gewährleisten.
Welche Sensoren willst du den verwenden? Analog, digital?
Du brauchst für jede Achse (sprich: Nick , Roll , Yaw) einen Regler, der die entsprechenden Werte berechnet. Diese müssen dann korrekt auf die jeweiligen Motoren übergeben werden.
Welche Motorsteller willst du verwenden? Standart mit Pwm , I2C, USART, CAN ?
Der Vorteil bei PWM ist, wenn du genügend Timer / Hardware Pwm Ausgänge hast, kann die Ausgabe der Daten relativ schnell erfolgen, wohingegen du z.b. bei I2C schon einige µs nur für die Ausgabe verbrauchst. Ich weiß, das hört sich nicht viel an, aber hier ein paar µs und da ein paar, und schon läuft deine Software nur noch mit 300Hz, was dann schon etwas wackelig sein kann.
Gruß
Chris
Lesezeichen