Gast
#5232921
Guten Abend, Ich bastel gerade an einem Arduino Brushless Controller für normale Brushless RC Motoren. Das Funktionsprinzip ist klar, auch habe ich einen Aufbau nach dem Wiki Eintrag umgesetzt. Nun habe ich einen Code gefunden dessen Funktionsweise mir nicht ganz klar ist. Es geht um diesen : https://github.com/lxrobotics/BrushlessMotorshield/tree/master/software/arduino/LXR_Brushless_Motorshield Normalerweise werden die High side fets ja jeweils über PWM angesteuert und die Low side fest geschaltet je nach Commutierungsstatus. Nun, der oben gepostet Code verwendet aber nur OCR2A als einzigen PWM Ausgang, welcher an Arduino pin D11 anliegt. Ehrlich gesagt verstehe ich das nicht. Eigentlich werden doch 3 PWM Ausgänge benötigt (also mindestens 2 Timer). Wie ist es bei diesem Code umgesetzt ? Wird der Ausgang irgendwie gemultiplext ? Das dazugehöre Shield ist sehr simple, und D11 nichtmal angeschlossen. Also meine Frage: Wird OCR2A auf einen anderen Pin ausgegeben bzw. mehrere Pins je nach Commutierunsstatus ? Und ist das ein legitimer Lösungsansatz oder eher untypisch ? Immerhin scheint man ja einen Timer zu sparen.