Motoren am Calliope

Ich glaube, mein vorheriger Beitrag ist im digitalen Nirvana gelandet, daher hier noch einmal neu.
Und ich weiß, es gibt schon einige Beiträge zu dem Thema, aber letztlich gibt es dabei keinen Konsens, denn offenbar gibt es mehrere Einflussfaktoren.

Vorab: Mein Calliope ist V1.3 und ich nutze NEPO.

Meine erste Frage: Ist für eine 2-Motoren-Steuerung immer noch der „Dioden-Hack“ erforderlich? Ich dachte, das wäre mit V1.3 und 6-poligem Motor-Anschluss erledigt?

Wäre es vielleicht gut, in einer Art Tutorial mal alle Hinweise und Tipps zu bündeln? Wenn ich das schon nicht hinkriege - wie dann meine Schüler :slight_smile:

Im Moment nutze ich die geniale Fischertechnik Breakout-Platine von „klmi“. D.h. ich steuere FT-Motoren mit 9V an.
An einem Motor-Anschluss habe ich einen (alten) FT-Motor, an dem anderen einen 6/9V-Lampe.

Mein Problem ist, dass die Ansteuerung vollkommen intransparent (nicht deterministisch :-)) ist. Ich beschreibe mal einige der Effekte - wobei nicht immer gewährleistet ist, dass sich einige Dinge beeinflusst haben:

  • Die Lampe (an MotB) (oder auch der Motor an MotA, das ist gleich) leuchtet am hellsten bei 10%, am dunkelsten bei 100%. Hier gab es mal Hinweise, dass NEPO das falsch übersetzt bzw. dass die Firmware in der PWM-Generierung einen Fehler hat?
  • Steuere ich Mot A und B gleichzeitig (über separate Schritte), dann scheint zumindest bei der Lampe bei 100% das Maximum zu sein, aber dafür scheint MotA kaum regelbar - und insgesamt sehr langsam
  • Auch ich habe den Effekt, dass Motoren so gar nicht andrehen, stattdessen nur Piepsen - trotz maximaler Werte.

Komischerweise hatte ich im letzten Jahr als Abschluss-Projekt ein kleines Auto mit 2 3-V-China-Motoren bauen lassen, und bis auch die Tatsache, dass es sehr langsam war, war hier die Ansteuerung „logisch“.
Man könnte den Eindruck bekommen, dass es auch Abhängigkeiten zu der Motor-Last gibt - das hatte u.a. auch Jörg A festgestellt…

Ich habe jetzt noch keine umfangreiche Versuchsreihe gemacht, vielleicht erkennt ja schon jemand mein Problem. Ich habe auch noch nicht auf MakeCode gewechselt, da wir in der Schule mit NEPO arbeiten und das erst einmal nichts bringen würde.

Vielen Dank in die Runde
Marcel

Hallo Marcel,

hatte jetzt erst Zeit zum Testen. Diesmal mit Makecode.
gemessen ohne Last bei 50% Motorleistung
Motor A Motor B

gemessen ohne Last bei 100% Motorleistung
Motor A Motor B

Also ziemliche Mistwerte!

Bei knapp unter 9 Volt Einspeisung.

@joern.alraun somit müsste der Fehler im DAL liegen?

Also kannst Du erstmal an der microbitleiste des Fischertechnikboards ein Kitronikroboticsboard anschließen.

Leider habe ich (noch) kein so ein microbit-Board.
Spannend, dass es auch mit MakeCode nicht besser als mit NEPO ist. Ich vermute, wenn du Motoren dran hängst wird sich das nochmals verändern - auch in Abhängigkeit der Dicke (Last).

Aber Dioden brauch ich wohl doch noch, oder?

Das mit den Dioden kann ich nicht beurteilen. Motoren sollte man sowieso gleiche anhängen.

@klmi auf die Messwerte würde ich an dieser Stelle nicht zu viel geben. Das Rechteck-Signal ist schwer mit nem Multimeter zu messen…

Stimmt auch. Da fällt mir mein Logicanalyzer ein :innocent:

1 „Gefällt mir“

Gibts hier was neues?
Ich bin mit meiner Testreihe noch nicht durch - aber viele andere haben ja auch immer noch Probleme und unreproduzierbares Verhalten.
Auch in Kombination mit der Servo-Ansteuerung. Da ich gerade ähnliche Probleme mit Nepo am Arduino habe (PWM für Motor-Treiber und Servo, dann geht nur eine Hälfte des Motor-Treibers) habe ich den Verdacht, dass es unbekannte Timer-Abhängigkeiten in den Libs für PWM Motor und Servo gibt? Das sollte man dann dokumentieren.
Und ganz ehrlich - ich habe immer mehr das Gefühl, dass beim Thema Motor-Ansteuerung im Calliope noch irgendwo der Wurm drin ist - zumindest ist das Verhalten für Schüler unverständlich. Da sich das Verhalten bei Nepo und MakeCode von Version zu Version auch noch zu ändern scheint, macht es nicht besser…

Ich werde weiter berichten.