Nein!Das verstehe ich nicht. Eigentlich rechnet er mit myPID.Compute();
Deine PID Library rechnet, sofern möglich, mit der eingestellten Taktung. Default sind glaube ich alle 100ms, also 10Hz.
Bei jedem Ausführen der PID.Compute() fragt die Library ab, ob die Berechnung erfolgen soll oder nicht, also ob seit der letzten Berechnung eine Sampletime abgelaufen ist. Daher solltest du PID.Compute unabhängig von der eingestellten Sampletime so oft wie möglich ausführen.
Die Library hat auch einen Befehl um die Einschaltzeit des PWM-Signals auszugeben statt eines Winkels. Nutze ich immer so.Da ich den Motor mittlerweile direkt an den Arduino-Regler angeschlossen habe und für die PWM die Lib "Servo" verwende, muss ich nun leider Wete von 0-180 angeben.
Der Befehl lautet servo.writeMicroseconds(1500).
Lesezeichen