Hallo zusammen, habe mal wieder etwas Zeit gefunden und wollt meine Modellbahn weiter aufbauen. Habe dazu mir gedacht, wäre ja genau das richtige die Modellbahn mit einem Smartphone zu steuern. Also ruckzuck ein paar L298D geordert, paar Arduino Nano dazu und ab gehts (war der Plan). Funktionsweise: Also habe ich mir Software für die Arduino(s) geschrieben, welche dann über die serielle Schnittstelle miteinander kommunizieren und die PWM Ausgänge für die Steuerung einzelner Gleisabschnitte nutzen. Steuerbar alles dann vom Smartphone aus, geht alles soweit. Problem: Beim Übergang einer Lok von einem Gleisabschnitt in den anderen, welcher am selben Arduino hängt läuft alles gut. Beim Übergang zwischen zwei unterschiedlichen Arduinos fährt die Lok ganz langsam. Vermutung ist das die Frequenzen vom PWM (zwar gleich) aber in unterschiedlicher Zeit ablaufen und es eine Art Kurzschluss oder so etwas gibt. Könnte das stimmen? Gruss und Dank. mspw
"Könnte das stimmen?" Ja, das ist die wahrscheinlichste Erklärung, Phasendifferenz zwischen den PWMs. Keine Ahnung ob man die PWMs mehrerer ATMegas synchronisieren kann, vermutlich eher nicht. Nur so eine dumme Idee: Die L298 bestehen doch aus High- und Lowside-Treibern. Eigentlich wird der Lowside aber doch garnicht benötigt, oder? Du willst ja kein Digitalsignal über die Schiene übertragen, sondern nur Power, d.h. statt zwischen 1 und 0 könnte der Treiber auch zwischen 1 und hochohmig schalten. Damit würde das Phasenproblem verschwinden. Aber keine Ahnung ob das geht mit dem L298D.
Marc S. schrieb: > Könnte das stimmen? Hundertprozentig. Du musst die Timer synchronisieren und alle müssen den selben Takt haben. D.h. du musst über eine gemeinsame Leitung alle Timer gleichzeitig starten. Da sie aber nicht den selben, sondern nur den gleichen Takt haben, wirst du trotzdem noch eine, wenn auch geringe, Verzerrung drin haben. Zu Anfang. Im Laufe der Zeit wird die dann immer größer, sodaß du die Synchronisierung wiederholen musst. Eine andere Möglichkeit wäre es, wenn die Lok in den nächsten Stromkreis einfährt, den vorherigen abzuschalten. Dafür kann man auch den Kurzschluß auswerten. Das Umschalten erfolgt so schnell, daß die Lok davon gar nichts mitbekommt. Macht man bei Kehrschleifen auf DCC-Anlagen ähnlich. Dafür brauchst du natürlich irgendeine Rückmeldesensorik, die das auch erkennt.
:
Bearbeitet durch User
Danke. Ich hatte da wohl schon die richtige Idee. Schön. Also ist wohl die Lösung nur einen Taktgeber (PWM Signal) zu erzeugen und dies auf die einzelnen L298D zu verteilen. Vielleicht mittels AND-Gatter? Was meint ihr? Gruss mspw
Vancouver schrieb: > Nur so eine dumme Idee: Die L298 bestehen doch aus High- und > Lowside-Treibern. Eigentlich wird der Lowside aber doch garnicht Thomas E. schrieb: > Hundertprozentig. Aber nur, weil der Low-Side-Treiber die Spannung umbringt, bis er selber abfliegt. Bei reinen High-Side würden sich die Pulse addieren und die Lok zufallsbedingt Vollgas geben!
Ma S. schrieb: > Also ist wohl die Lösung nur einen Taktgeber (PWM Signal) zu erzeugen > und dies auf die einzelnen L298D zu verteilen. Vielleicht mittels > AND-Gatter? Das nennt sich Z-Steuerung. Z wie Zuordnung. Ist ein alter Hut aus der Vor-DCC-Zeit. Das macht es natürlich nicht per se schlecht. Allerdings ist es ein Riesenaufwand, sodaß du mit einer Erstausstattung für DCC aus der Gebrauchtabteilung eines bekannten Auktionshauses sehr schnell günstiger fährst. Um wieviele Stromkreise und Züge geht es denn?
Hallo, da es sich um mehrere zusammenhängende Module für eine größere Modul Anlage handelt, wo analog gefahren wird, ist digital erst einmal keine Option. Ich denke zSchaltung geht dann in meine Richtung. Danke Mspw
Hi Und wenn Du 'digitalisierst'? Die Arduinos kommen in die Loks, die Versorgung und die Kommunikation kommt vom Gleis - denke Da an eine Art RS485, differenzielle Pegel, die Spannung zwischen beiden Polen ist konstant. Wenn nur der Master sendet - Der wird vom Smartphone befehligt, müssen die Einzel-Loks 'nur noch' am Rad/Gleis mitlesen, gleichzeitig die Spannung für den Antrieb und den Arduino gleich richten und per PWM den Antrieb mit der gewünschten Geschwindigkeit in die gewünschte Richtung ansteuern. MfG
Hallo, aber mit Multiplexern kann man doch nur einen Ausgang schalten, nicht mehrere parallel. Ich müsste mehrere parallel auf die L298d verteilen. Gruss mspw
Hallo nochmal, wäre dieser vielleicht besser TB6612FNG? Der scheint doch einen extra pwm Anschluss zu haben? Und dann noch mit einem Multiplexer? Gruss mspw
:
Bearbeitet durch User
mspw schrieb: > aber mit Multiplexern kann man doch nur einen Ausgang schalten, nicht > mehrere parallel. Ich müsste mehrere parallel auf die L298d verteilen. Mit Gattern müsstest du das gleiche machen. Nur diskreter aufgebaut und noch aufwendiger. Ma S. schrieb: > Der scheint doch einen extra pwm Anschluss zu haben? Den hat der 298 auch, heisst nur nicht so. Das PWM-Signal musst du bei beiden extern erzeugen. Es gibt aber auch noch eine elegantere Lösung mit Schieberegistern und nur einem Steuercontroller. Dann brauchst du für jeweils 8 Fahrabschnitte nur einen 74HC595. Den Rest erledigt die Software.
Hallo, habe gestern mal versucht das PWM Signal unter verschiedenen Controllern zu synchronisieren, leider ohne Erfolg. Hat immer noch nicht funktioniert wie es sollte. Kurze Erklärung: Ich habe einen Controller benutzt um das PWM Signal zu erzeugen, bei anderen Controllern (2 Stück) an einen Pin einen Interrupt gesetzt und an einen digitalen Ausgang ausgegeben zur Weiterverarbeitung. Wenn Zeit sein sollte werde ich das ganze mal it &-Gattern testen. Vielleicht ist es ja ein ganz anderes Problem. Ich habe im übrigen gestern mal den L298n getestet, indem ich an einen Enable-Anschluss das PWM Signal angelegt habe. Es wurde nicht beachtet, als ob direkt 5 Volt anliegen, auch sehr merkwürdig. Gruss mspw
Ma S. schrieb: > Ich habe im übrigen gestern mal den L298n getestet, indem ich an einen > Enable-Anschluss das PWM Signal angelegt habe Die PWM gibt man ja auch auf einen Input und nicht auf den Enable. ?
Ma S. schrieb: > habe gestern mal versucht das PWM Signal unter verschiedenen Controllern > zu synchronisieren, leider ohne Erfolg. Hat immer noch nicht > funktioniert wie es sollte. Das auf ein paar µs zu synchronisieren ist irre auwändig und bräuchte u.a. eine zentrale Takleitung. Einfacher wäre eine Art Wendeschleifen Schaltung: Per Relais den Übergang zwischen 2 Controllern umschalten. Der zu schaltende Block muss allerdings länger als der längste Zug sein. Alternativ baut man die Anlage auf DCC um, da hängen dann alle Booster am selben Datensignal. Nachteil: In die Loks müssen Dekoder Platinchen rein.
Ist die Modellbahn immer noch in Planung? Ich selber baue an einer N-Spur anlage, die auch analog bleiben soll und trotzdem vom Pc aus gesteuert werden soll. Ich nutze für die Spannungsversorgung der einzelnen Blöcke eine schaltung die aus einem LM 324 ein paar Widerständen einem Kleisttransistor und aus Schaltdarlingtons TIC 122 + 127 besteht. Um die Signale der einzelnen Fahrregler zuzuordnen bräuchte man Schieberegister und für die Logische Zuordnung Und Gatter. Meine Platinen für 4 Blöcke und je 5 Fahrregler haben 10 IC´s Und mit 2 Eingängen 4 x LM 324 je 4x TIC 122 + 127 eine große Anzahl an widerständen und Dioden. Die Grundschaltung ist in der Mitte des Beitrags: Beitrag "OPV mit DAC ansteuern" funktioniert sehr gut.
Hallo, baue auf digital um. Habe jetzt eine dr5000 zentrale und schon Loks umgerüstet. Gruss Msp
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.