Guten Morgen
Mit diesem Thema war ich bisher hier unterwegs. Da es aber um Servoansteuerung ansich geht und nicht um dir Combo Servo + Motor starte ich hier ein neues Thema.
Calliope Mini 1.0 / MakeCode
Servo mit 5V Spannung extra versorgt.
Minuspole der Servo-Batterie und Calliope-Mini sind verbunden.
Beobachtetes Verhalten:
Das Servo verhält sich nicht wie erwartet. Obwohl ständig der gleiche Winkel geschrieben wird, führt es unkontrollierte Bewegungen durch. Bewegt das Servo die Lenkung eines Modellautos an, kann das Auto nicht gesteuert werden.
Wird der Servowinkel nur bei Veränderung geschrieben verhält sich das Servo wie erwartet.
Aus meiner Sicht ist da aber schon mehr Wissen notwendig, Anfänger kann das sicher zur Verzeweiflung bringen.
Um diese Problem zu analysieren habe ich aus der Arbeit ein Fluke Scopemeter ausgeborgt und dies elektrischen Signale untersucht. Diese Messungen zeigte, dass das PWM-Signal tatsächlich jittert/flackert/springt.
Wird der Servowinkel nur bei Veränderung geschrieben ist das PWM-Signal stabil.
Das Servo führt genau die im PWM Signal gesendeten Bewegungen aus. Meine Vermutung (im anderen Thread beschrieben) dass eine Pegelwandlung (3,3V --> 5V) notwendig ist hat sich damit nicht bestätigt.
Ich kenne die Details beim Calliope nicht, meine Vermutung ist aber folgende: Werden die PWM Register im Nordic uC geschrieben kommts zum Jitter.
Werden die PWM Register ständig beschrieben tritt der Jitter auch ständig auf.
Hier die Programme und die Oszibilder:
Fall 1: in „Dauerhaft“ ständig Servo-Winkel schreiben:
Dieses Programm generiert ein „springendes“ PWM-Signal an P2: Das Servo führt genau diese ungewollten Bewegungen auch aus.
Fall 2: wird der Servo-Winkel nur bei Veränderung des Wertes geschrieben ist das Signal „sauber“:
Hierzu das Oszibild:
Viele Grüße
Christian
mini-AutoServoTest.hex: mit Jitter
mini-AutoServoTestOpti.hex: ohne Jitter
mini-Auto_ServoTestOpti.hex (572,0 KB) mini-Auto_ServoTest.hex (571,7 KB)