kurz vor Verzweiflung. Ich bekomme die Ansteuerung eines Motors und eines Servos nicht gleichzeitig hin. Ich habe jetzt alles zurückgestrickt und stehe vor folgendem einfachen Problem. Ich habe ein Servo angeschlossen (TowerPro SG90). Externe Stromquelle 5V. Plus direkt mit Servo verbunden. Minus direkt mit Servo UND Minus-PIN des Calliope. Steuerleitung mit Calliope verbunden. (alle PINs die MakeCode ansteuern kann probiert: P1;P2;C4;C5;C6;C16;C17). Servo funktioniert bestens.
DAS PROBLEM: Wenn ich jetzt einen simplen Motorbefehl ausführe (z.B. TasteB->Motor A auf 80%), dann spinnt der Servomotor. Ein sonstiger Motor braucht physisch nicht angeschlossen sein. Es reicht das Ausführen des Motorbefehls und den Servomotor zum durchdrehen zu bringen.
Ich vermute das Problem in der Erdung des Servo, also der Verbindung der externen Stromquelle für den Servo mit dem Minus-PIN des Calliope. Diese brauch ich aber, um den Servo überhaupt zum funktionieren zu bringen.
es scheint ein PWM Problem zu geben. Es könnte sich dabei allerdings “nur” um ein Softwareproblem handeln, ich muss das noch mal genau prüfen und melde mich dann dazu.
Hallo Jörn, ich bin einen kleinen Schritt weiter stehe aber direkt vor dem nächsten Problem. Vll. hilft dass das Problem einzugrenzen:
Das mit dem Servo hat sich für mich soweit gelöst. Ich hab ein digitalen Servo verwendet (REELY DS-8220 TG). Der hat kein Problem mit einer parallelen Motoransteuerung.
Allerdings(!) hat die Motoransteuerung ein Problem mit paralleler Ansteuerung eines Servos. Und da geht es m.M.n. nur um die Bereitstellung einer Spannung und nicht um PWM Signale.
Ich habe mal ein screenshot angehängt. Wenn man bei der Ausführung (nichts sonst angeschlossen) die Spannung an den PINs für Motor A misst, stellt man fest, dass bei Tastendruck, wie gewünscht, 3V anleiten, aber diese sofort bei Ansteuerung des Servos wieder auf 0 zurück gehen. Spannender Weise, funktioniert das bei wiederholter Ausführung schon nicht mehr. Erst nach Reset wieder.
HILFE. Ich würde mich sehr freuen, wenn ihr eine Idee habt, um das Problem zu lösen.
Viele Grüße
Axel
(PS: an einem 2. Calliope verifiziert. Problem bleibt.)
gemeinsam mit meinem Sohn bauen wir ein ferngesteuertes Auto mit Motor und einem Servo an einem Calliope Mini. Ein zweiter dient als Fernsteuerung.
Und wir beobachten das gleiche: wird die H-Brücke eingeschaltet funktioniert das Servo nicht mehr korrekt / es lässt sich nicht mehr kontrollieren. Macht unmotivierte Bewegung in eine Endlage. Der Motor lässt sich kontrolliert ein und ausschalten.
Erst nach einem Power-Cycle funktioniert das Servo wieder – bis eben die H-Brücke wieder aktiviert wird. Und dabei ist es egal ob ein Motor angeschlossen ist oder nicht (somit können Motor-verursachte EMV-Störungen ausgeschlossen werden).
Wurden im PWM Code Fehler gefunden/behoben?
Servo an P1, Motor an H-Brücke, Eigene-Power-Versorgung für 4,8V für Servo und Motor, Calliope mit +3V versorgt. Die beiden (-) sind verbunden.
Nachtrag: beim c’t „Lärmometer“ *) werden ebenso ein Motor und ein Servo angesteuert. Die verwenden den Port C17 (auf der 2-reihigen Pinleiste) für das Servo. Daher habe ich auch C17 für das Servo probiert. Keine Verbesserung. Sobald der Motor angesteuert wird funktioniert das Servo nicht mehr.
vielen Dank für die Antwort. Wir haben das Programm nochmals von Null weg neu gemacht.
Als erstes eine einfache Servo-Ansteuerung: Servo initial auf 90° stellen, mit A und B um +/-10° verstellen. Wird dieses Programm gestartet zuckt das Servo ständig (mini-Auto_ServoTest.hex).
Die Tasten A und B zeigen keine eindeutige Wirkung.
Hierzu kein Bild, darf nur eines hochladen. Aber Aufbau ähnlich wie unten, die „Dauerhaft“ enthält nur den „setze Winkel…“.
Wird der Befehl „setze Winkel von Servo…“ nur bei geänderter Variable „Servo_analoger_Wert“ ausgeführt, dann steht das Servo still (mini-Auto_ServoTestOptimiert.hex). Mit den Taste A und B kann man es wir gewollt positionieren.
PS: Darf leider keine HEX-File hochladen.
PPS: Motor bleibt heute noch außen vor, hier müssen wir erst die Elektrik wieder umbauen.
PPPS: Werde mal das ScopeMeter ausborgen und das PWM Signal vermessen…
Hallo Zusammen, ich freue mich sehr, dass mein Thema noch „weiterlebt“. Ich habe seit längerem nicht mehr weitergebastelt, werde aber zur Adventszeit wieder einsteigen.
Nachricht leider ohne Mehrwert, aber mit der Botschaft „ich bin noch dabei“.
Hallo KLMI
vielen Dank für die Antwort. Wir versorgen das Servo mit stabilisierten 5V und den Calliope über USB xor 3V-Batterie. Die beiden Minus/Massen sind verbunden.
Wir verwenden Analogservos. Haben drei unterschiedliche Servos, bei allen dreien tritt dieses Phänomen auf.
Woran ich nun denke ist dass das Servo vielleicht mit dem 3V PWM Signal nichts anfangen kann, vielleicht brauchen wir da einen Treiber der den 3V-Pegel auf 5V anhebt.
@Axel: Du hast geschrieben, dass sich bei der der Umstieg auf Digitalservos positiv ausgewirkt hat. Vielleicht haben die schon „Pegelwandler“ bzw. Schmitt-Trigger Eingänge verbaut?!?
Ähm, jetzt wo ich mir das Programm genauer anschaue. Der Wert Servo Old wurde vergessen zu initialisieren. So wird der Servo eventuell nie angesprochen!
Hi, danke für den Hinweis. Werde ich ändern da nicht sauber. Der gepostete Code funktioniert aber gut. Nur wenn wir wie geschrieben dauernd die Servoposition ändern dann zuckt das Servo…
Bei mir ist anders rum - Servosteuerung stört Motoransteuerung, auch mit kein servo da, nur ein servo kommando und das motor macht nichts mehr bis reset.