manchmal werde ich beim längeren Lesen von Beiträgen irgendwie konfus und weiß dann "garnichts mehr"
es geht um die Steurung meines minitrix-Krokodils auf reiner Gleichstromanlage (außer minitrix-Weichen, KEIN Protokoll erwuenscht) mittels PWM sowohl manuell (bisher Arnold-Ass-Steuergerät) als auch mittels Arduino xx .
Weil mein Kroki kräftig über die Gleise rast, möchte ich es etwas dämpfen.
Daß eine einfache Steurung über eine H-Brücke links-0-rechts und entsprechend beim Arduino digital-On-Off an einem beliebigen Output-Port klappt, habe ich erfreut festgestellt.
Aber wie ist das, wenn der Arduino PWM liefert, was wohl bei analogem Output der Fall ist (oder net ?) : dann muß doch trotzdem bei den beiden Eingängen der H-Brücke die Polarität vertauscht werden.
Oder liefert PWM (vom Arduino oder generell) irgendeine Info über die Drehrichtung ? (muß wohl, denn das wird bei der Servoansteurung ja über dessen microelectrinik gemanagt ?) Die H-Brücke selbst (hier L293D) wertet ja kein PWM aus, oder ?
Hallo Wolf, eine H-Brücke besteht aus 2 Halbbrücken. Jede Halbbrücke hat einen Transistor/Fet der mit UB und einen Transistor/Fet der mit Gnd verbunden ist. Der zweite Leistungsanschluss dieser beiden Transistoren/Fets ist verbunden und bildet den Ausgang der Halbbrücke. Jetzt hast du noch 2 Steuereingänge zu den Transistoren/Fets. Diese dürfen nie gleichzeitig angesteuert werden sonst leiten beide Transistoren/Fets und du hast einen Kurzschluss zwischen Ub und Gnd. Die zweite Halbbrücke ist identisch aufgebaut. An den beiden Ausgängen der Halbbrücken hängt der Motor über das Gleis (verlängerte Zuleitung). Üblicherweise wird nun in Halbbrücke 1 der mit Ub verbundene Transistor/Fet dauerhaft angesteuert und in der Halbbrücke 2 der Transistor/Fet an GND durch eine Impulsfolge (PWM) angesteuert. Der Motor dreht in Richtung A. Wird nun in der Halbbrücke 2 der mit Ub verbundene Transistor/Fet dauerhaft angesteuert und in der Halbbrücke 1 der Transistor/Fet an GND durch eine Impulsfolge (PWM) angesteuert, dreht der Motor in Richtung B. Bevor die Richtung gewechselt wird müssen alle Transitoren/Fets abgeschaltet werden. Die PWM enthält kein Richtungssignal, nur die Information für das Schalten des Transistors. Richtung wird über eine getrennte Ader als High/Low-Information übertragen und mit entsprechender Logik an die Transistoren /Fets verteilt. Der L293D ist ein IC der 4 Halbbrücken enthält. Je 2 werden über einen ENable-Eingang eingeschaltet. Wegen der inneren Struktur wird hier der Richtungswechsel durch High/Low einer Halbbrücken-Ansteuerung und PWM der anderen Halbbrücke realisiert. PWM ist kein Analogspannungsausgang des Arduino sondern immer ein ganz normales digitales Signal (High/Low) das nur sehr schnell umgeschaltet wird. Volker
"echtes" PWM ist keine Frage des Ausgangs - ob es ein Analog oder Digitalausgang ist. Meine ersten PWM-Steuerungen - die immer noch im Einsatz sind - waren auf Basis des NE555 aufgebaut. Nun bringt der für Kleinmotoren auch die entsprechende Power mit (200 mA) und hat eine echte Push-Pull Stufe. Bei größeren Leistungen habe ich noch eine Verstärkerschaltung dahintergesetzt. Die Umpolung erfolgte "klassisch" mit Schalter/ Relais. Eine Brücke ist natürlich die elegantere Lösung.
Via Google sind diverse Projekte zur "analogen" Fahrtreglern mit Arduinos zu finden, von ganz primitiv bis High-End mit Massesimulation, Beschleunigungs-/Bremskurven etc. Grundsätzlich reichen ein Arduino Nano, ein H-Brückenmodul (L298 ist ja als Modul sehr einfach zu bekommen) , Spannungsregler 5V (Schaltreglermodul) für den Arduino und ein Poti. Da der L298 zwei Vollbrücken enthält lässt sich damit sehr einfach ein Doppelfahrpult für zwei Stromkreise aufbauen, dann halt zwei Potis. Die bei Amazon & co. erhältlichen Module lassen ohne weiteres keine Kurzschlusserkennung zu (die Sense-Anschlüsse sind fest verdrahtet), wenn man den L298 solo kauft und das ganze auf einer Lochrasterplatine aufbaut lässt sich einfach ein Kurzschlussschutz integrieren. (SenseA und SenseB über je einen Wiederstand 0,33 Ohm/5W nach Masse sowie SenseA und SenseB an A2 bzw. A3 des Arduino. Für 1 A (0,33 V Spannungsabfall an den Wiederständen) als Schwelle zum Abschalten auf den Wert analogRead(A2)= 66 im Programm setzen (bzw. auch für (A3). Ansonsten klassische Schmelzsicherungen oder selbstrückstellende Polyfuses zu je 1A verwenden. Sollte für Spur N oder auch H0 reichen. Kann gerne einen Sketch dafür tippen wenn gewünscht.