H-Brücke

  • Hallo Udo


    Tut mir leid für die Verzögerung. Ich habe schon vor einigen Tagen etwas vorbereitet aber dann vergessen, es hier in das Forum zu stellen.

    Die Probleme liegen bei den verschiedenen Versionen des Motor - Moduls.

    Du kannst beide ausprobieren.


    4_Hindernis7 ist die alte Version (mit motor_) und 4_Hindernis7a ist die neue Version (mit motor.)

    Ich hoffe, dass diesmal alles klappt.


    Gruss

    René

  • Hallo Rene

    ich habe in der Datei >4_Hindernis7.ino<

    die Dateien >Motor.cpp< und >Motor.h< durch die neuen ersetzt.

    Leider bekomme ich eine Fehlermeldung (siehe Anhang)

    Hallo Udo

    Ja, das ist klar. Bisher habe ich nur das Modul Motor angepasst. Die anderen Module fehlen noch.

    Ich hoffe, dass ich das heute Abend anschauen kann.

    Es besteht noch ein zweites Problem. Das Motor - Modul wurde inzwischen stark geändert und als eine Klasse Motor implementiert. Daher funktioniert 4_Hindernis7.ino nicht mehr ohne Anpassung.


    Gruss

    René

  • Hallo Rene

    ich habe in der Datei >4_Hindernis7.ino<

    die Dateien >Motor.cpp< und >Motor.h< durch die neuen ersetzt.

    Leider bekomme ich eine Fehlermeldung (siehe Anhang)

  • Hallo Rene

    das Programm macht genau das du im Code festgelegt hast. :love:

    So nun müsste es nur noch mit eingebunden werden.

    Vielleicht kannst du mir noch einen TIP geben wo es mit eingebunden werden muss.


    Vielen Dank für deine Mühe

    Udo


    Ps: super:thumbup::love::love:

  • Hallo Udo

    Zum Glück sind nicht alle Beispiele so schlecht wie Lesson 10 (L298 Motor Driver). Die anderen Beispiele sind viel sorgfältiger programmiert, verwenden aber andere Pin - Nummern. Diese sind ab Lektion 11 bei allen Beispielen gleich, darum betrachte ich diese als korrekt.

    Hier angehängt ist ein Testprojekt, mit dem du ausprobieren kannst, ob meine Version der Motoransteuerung funktioniert. Einfach alle Dateien im ZIP-File in ein Verzeichnis mit dem Namen MotorTest1 entpacken.

    Das Testprogramm sollte automatisch einen Testlauf ausführen, der in setup() definiert wird.


    Dieser Programmteil legt den Ablauf fest:

    Code
    1. autoCommand.addCommand(cmd_vor,2000); // vorwärts 2 Sekunden
    2. autoCommand.addCommand(cmd_zurueck,2000); // rückwärts 2 Sekunden
    3. autoCommand.addCommand(cmd_drehen_rechts,2000); // Drehung rechts 2 Sekunden
    4. autoCommand.addCommand(cmd_drehen_links,2000); // Drehung links 2 Sekunden
    5. autoCommand.addCommand(cmd_vor,1000); // vorwärts 1 Sekunde
    6. autoCommand.addCommand(cmd_kurve,2000,2); // Rechtskurve 2 Sekunden
    7. autoCommand.addCommand(cmd_kurve,2000,-2); // Linkskurve 2 Sekunden

    Es ist möglich, dass die Richtung vertauscht ist. Auf jeden Fall interessiert es mich, was dein Roboter mit diesem Programm macht.


    Gruss

    Rene

  • hier die Daten damit du sie dir mal ansehen kannst.

    Hallo Udo


    Danke für die Dateien. Ich muss leider heute Nachmittag arbeiten, werde sie aber heute Abend anschauen. Ein erster Blick zeigt, dass der Code ein gutes Beispiel für schlechte und unübersichtliche Programmierung darstellt. Aber immerhin kann man daraus die notwendigen Informationen ziehen.


    Ich denke, es sollte kein Problem sein, meine Module so anzupassen, dass sie auf deinem Roboter laufen. Ich werde zuerst dasMotor - Modul anpassen (ohne dass du einen Inverter brauchst). Das werde ich dir dann zusammen mit einem kleinen Testprogramm schicken. Ich bin selber gespannt, ob das so funktioniert.


    Gruss

    René

  • Hallo Rene

    hier die Daten damit du sie dir mal ansehen kannst.

    Aber Deine sind deutlich besser und umfangreicher Hut ab.


    Gruß Udo

    Dateien

    • Code.zip

      (12,69 kB, 2 Mal heruntergeladen, zuletzt: )
    • Libraries.zip

      (78,28 kB, 1 Mal heruntergeladen, zuletzt: )
  • Hallo Rene

    Ich habe mir dein Video über Roboter angesehen und habe gesehen das du einen Inverter eingebaut hast.

    Das wäre für mich sicherlich auch eine Lösung somit würde ich auch nur 2Pins für die Fahrtrichtung benötigen.

    Würde das mit deinem Programm funktionieren?


    Vielen Dank

  • Hallo Udo


    Die beiden Eingänge legen ja die Richtung fest. Sie sind in Fahrt immer verschieden gepolt. Nur wenn angehalten wird, können sie auf das gleiche Potential gesetzt werden. Das ist aber nicht notwendig, da zusätzlich ein enable - Eingang zur Verfügung steht. Diesen steuern wir mit PWM an und können so die Geschwindigkeit regeln. Deshalb können wir die Richtung mit einem Signal festlegen und das andere über einen Inverter bedienen.


    Die Verwendung von zwei Richtungssignalen ist aber auch kein Problem, Es braucht im Code pro Motor nur eine Zeile mehr zur Ansteuerung.


    Gruss

    René

  • Hallo Udo


    Ich habe die Webseite von Lafvin gefunden. Der Bausatz sieht sehr interessant aus, hat aber einen grossen Mangel. Der Hersteller veröffentlicht mit Ausnahme der Komponentenliste absolut keine Informationen zu dem Bausatz. Alles ist auf der mitgelieferten CD.


    Ich vermute, dass je zwei Motoren miteinander gekoppelt sind und die Steuerung genau so funktioniert, wie beim Turtle-Robot. Vermutlich lässt sich die Software vom Turtle-Robot verwenden, wenn man die Pin - Nummern anpasst. Die dazu notwendige Dokumentation müsste sich auf der CD befinden.


    Konntest du den Roboter schon zusammenbauen? Die Anleitung dazu sollte ja auf der CD sein.

    Sind noch weiter Informationen auf der CD? Schaltpläne oder Pin-Maps wären hilfreich. Es sollten auch Beispielprogramme auf der CD sein. Daraus lassen sich ebenfalls viele Informationen ziehen. Auf jeden Fall sollte man darin sehen können, welche Pins die Richtung und die Geschwindigkeit der Motoren festlegen.

    Kannst du diese Beispielprogramme in ein Zip - File zusammenkopieren und mir hier als Anhang schicken? Dann können wir versuchen, die Pogramme des Turtle-Robots auch auf deinem Roboter zum laufen zu bringen.


    Manchmal kann es etwas dauern, bis ich Antwort gebe. Ich erreiche erst im September das Rentenalter, ab dann werde ich nur noch reduziert arbeiten. So bleibt dann mehr Zeit für das Hobby. Allerdings, wenn ich daran denke, was alles geplant ist, weiss ich noch nicht was dabei herauskommt.


    Gruss

    René

  • Hallo Rene

    Ich habe mir dein Video über Roboter angesehen und habe gesehen das du einen Inverter eingebaut hast.

    Das wäre für mich sicherlich auch eine Lösung somit würde ich auch nur 2Pins für die Fahrtrichtung benötigen.

    Würde das mit deinem Programm funktionieren?


    Vielen Dank

  • Hallo Rene

    Vielen Dank für deine promte Antwort.

    Mein Wissenstand ist als Anfänger einzustufen.

    Habe mich nur mit elektrischen Sachen befast also mehr mit elektrischer Verdrahtung.

    Habe mir vor kurzen einen Bausatz (LAFVIN Smart Robot Car Kit for UNO R3 (Version-1)umfasst Ultraschallsensor, Bluetooth-Modul) besorgt

    welcher genau die Teile hat wie der Turtle-Roboter nur die Motorsteuerung ist eine L298N H-Brücke.

    Da deine Ansteuerung viel smarter ist würde ich die gerne übernehmen leider fehlt es an der Programmierkenntnis.

    Aber deine Videos sind echt super.

  • Hallo Udo

    Da benötige ich schon noch etwas mehr Informationen.

    Was für Hardware steht dir zur Verfügung? Ich nehme an, du möchtest deinen Roboter selber bauen, anstelle der Verwendung des Bausatzes.


    Beim Turtle - Robot Bausatz von Keyestudio ist ja alles dabei. Das Kontrollerboard beinhaltet einen Arduino, eine H-Brücke und weitere notwendige Komponenten. Falls du anstelle des Bausatzes die Elektronik selbst baust, kannst du mit einem Arduino und einem L298N 2 Motoren ansteuern. Die H-Brücke sorgt dafür, dass deine Motoren vorwärts und rückwärts fahren können.


    In einer ersten Roboterserie versuchte ich einen Roboter von Grund auf zu bauen. Ich musste die Serie dann einstellen, da sehr wenig Interesse vorhanden war. Die Zuschauer waren vermutlich überfordert. Deshalb habe ich beim zweiten Versuch den Turtle - Roboter gewählt, der eine vollständig aufgebaute Elektronik mitbringt.


    Hier ein Beitrag auf meiner Webseite zum ersten Versuch: https://www.hobbyelektroniker.ch/roboter/roboter1/


    Einen Grundlagenartikel und ein Video zur H-Brücke findest du ebenfalls auf meiner Webseite (allerdings mit einem L293D):

    https://www.hobbyelektroniker.ch/grundlagen/transistoren3/


    Hier ein englischsprachiges Tutorial zur Verwendung des L298N:

    https://howtomechatronics.com/…orial-l298n-pwm-h-bridge/


    Wenn du mir genauere Angaben zu deinem Projekt machst, bin ich gerne bereit zu helfen. Ausserdem sollte ich wissen, wie dein Wissensstand beim Arduino ist. Wenn du da schon halb Profi bist, würden dich zu ausführliche Erklärungen nur langweilen. Auf der anderen Seite, falls du Einsteiger bist nicht weisst, wie analoge Ausgänge und PWM funktionieren, würdest du meine Ausführungen nicht verstehen.


    Gruss

    René

  • Hallo

    Ich bin jetzt Rentner und habe Zeit mich mit den Arduino zu beschäftigen.

    Habe deine Turtle-Robot Reihen verschlungen.

    Meine Frage ich habe eine L298N H-Brücke die für die Logik 4Anschlüsse benötigt.

    Wie bekomme ich die an deinen Turtle-Roboter Programm zum laufen.

    Vielen Dank