so richtig verstehe ich Dein Problem nicht. Das ist doch schon alles möglich mit der MLL!
Du kannst Dir ein mechanisches Stellwerk mit Tastern und LED's basteln (Push Button Platine) oder via DCC steuern. Genau deshalb habe ich meinen "TimeWaster" auf MLL umgestellt, weil ich via Z21App das Stellwerk dort nutzen möchte. https://stummiforum.de/viewtopic.php?f=1...111774#p2111774
Hier noch auf dem iPhone um die DKW zu testen:
Hier über Nox-Emulator:
Im November habe ich mir dann doch ein neues iPad gegönnt.
[Edit] Ok, ich habe das Grundproblem von Udo nicht verstanden. Harold und Hardi aber schon
Gruss Frank --------------------------------------------------------------------------------------------------------------------- MobaLedLib Wiki Projekt "Bahnpark Augsburg" Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen
Wenn DCC-Arduino und LED-Arduino über SPI kommunizieren, wäre die serielle Schnittstelle des DCC-Arduinos frei um Befehle anzunehmen. Ich würde nun gerne auf einem PC/Tablet das Gleisbildstellpult "bauen" und damit Schaltbefehle über die serielle Schnittstelle an den DCC-Arduino übermitteln, welcher dieser dann wie DCC-Schaltbefehle an den LED-Arduino weiterleitet.
Dazu müsste man aber vermutlich das Programm des DCC-Arduinos etwas anpassen, damit die über Serial-In empfangenen Daten über SPI an den LED-Arduino weitergeleitet werden.
diese Schnittstelle existiert bereits. Wenn man auf die Buttons neben der DCC Adresse im Prog_Generator klickt wird genau das gemacht. Dabei wird genau der gleiche Befehl gesendet wie das der DCC Arduino macht.
Das Funktioniert weil DCC Arduino und die USB Schnittstelle über Widerstände mit dem RX-Eingang des LED Arduinos verbunden ist. Dadurch können beide etwas zum LED Arduino schicken.
Zum Senden eines DCC Befehls schickst Du folgende Zeile:
1 2 3
"@ 319 00 01n"
Die erste Zahl ist die Adresse, dann kommt Richtung (00 oder 01) und anschließend 01 (OutputPower). Die Baudrate ist 115200.
Der String muss genau 11 Zeichen lang sein. Das findest Du in „LEDs_AutoProg.ino“.
Der LED Arduino sperrt immer dann, wenn er die LEDs aktualisiert die Interrupts. Dadurch können Zeichen verloren gehen. Der DCC Arduino bekommt vom LED Arduino über die Leitung an A1 gesagt, wenn er senden darf. Beim PC geht das nicht (so einfach). Darum dürfen die einzelnen Zeichen des Befehls nicht so schnell geschickt werden. Im Excel Programm warte ich zwischen zwei Zeichen 10 ms. Das findest Du im Modul „M32_DCC“ in Funktion „SendDCCAccessoryCommand()“. Dort ist auch ein Hinweis wie man ein Hardware Handshake über die A1 Leitung machen kann. Jürgen hat das bei seinem Arduino so gelöst).
Ich bin sehr gespannt auf Dein Weichenstellpult.
Alternativ könntest Du das Weichenstellpult auch in Hardware ausführen so wie ich das gemacht habe (https://stummiforum.de/viewtopic.php?t=183176&start=32&sd=a). Die Schalter können über die PushButton Platine eingelesen werden. Dann braucht man zum Fahren gar keinen PC.
Ich möchte halt die MLL GLEICHZEITIG über DCC und einen weiteren "Kanal" steuern.
Ein Stellwerk mit Tastern und LEDs ist "nett", aber auch unflexibel und schlecht zu erweitern. Ich habe auch keine "große" DCC-Zentrale (und will eigentlich auch keine kaufen) die z.B. mit der Z21 App kommunizieren könnte.
Die Ansteuerung von Weichen und Signalen über DCC mag ich nicht für die komplette Anlage - aus den erwähnten Gründen.
Das mit dem "Sperren" des Serial habe ich auch schon gesehen, daher meine Idee die Kommunikation zwischen LED-Arduino und DCC-Arduino auf SPI umzustellen. Verdrahtet scheint die Verbindung ja zu sein und dann müsste man auf die Sperrung des USB-Serials doch eigentlich verzichten können, oder? CAN geht dann halt nicht, aber das verwende ich eh nicht.
Änderung am Programm für den DCC-Arduino: Das Teil müsste sich z.B. gegenüber JMRI so verhalten wie eine der Zentralen die JMRI bekannt sind. Es dürfte einfacher sein den DCC-Arduino entsprechend umzubauen als z.b. JMRI so anzupassen das man das Format der MLL-Kommunikation erzeugt. Und für den Z21-Emulator müsste der DCC-Arduino halt alles was auf Serial reinkommt auf SPI wieder rausschicken. Das ist so wohl noch nicht eingebaut, oder?
Eilt aber nicht. Meine elektronischen Bauteile für die MLL kommen eh erst nächste Woche und nach einem Arbeitstag im Home-Office mag ich nicht mehr löten (das machen meine Augen nach einem Tag am Bildschirm nicht mehr mit). Ich werde also frühestens übernächstes Wochenende damit beginnen können die Hardware für die MLL zu bauen und dann kann ich ein wenig damit herumspielen (wenn ich beim Löten nix falsch mache). In der Zwischenzeit stöbere ich halt ein wenig im Quellcode der MLL und im Wiki und versuche die Zusammenhänge zu verstehen - was nicht immer ganz einfach ist. Insbesondere herauszufinden woher der Prog-Gen seine Quellen nimmt ist für mich nicht ganz so einfach. Das Ding ist schon ziemlich genial gemacht, für Außenstehende aber auch ziemlich undurchschaubar Und die MLL selbst: Alle Achtung! Sehr effizient gemacht mit allen Tricks und Kniffen um Speicher und Rechenzeit zu sparen - macht aber die Sichtung des Codes auch nicht einfacher *g*
Zitat Ich möchte halt die MLL GLEICHZEITIG über DCC und einen weiteren "Kanal" steuern.
Änderung am Programm für den DCC-Arduino: Das Teil müsste sich z.B. gegenüber JMRI so verhalten wie eine der Zentralen die JMRI bekannt sind. Es dürfte einfacher sein den DCC-Arduino entsprechend umzubauen als z.b. JMRI so anzupassen das man das Format der MLL-Kommunikation erzeugt. Und für den Z21-Emulator müsste der DCC-Arduino halt alles was auf Serial reinkommt auf SPI wieder rausschicken. Das ist so wohl noch nicht eingebaut, oder?
soweit ich das verstehe wird der Z21 Emulator aber an den LED-Arduino senden. Ich verstehe auch den Satz "Du brauchst da kein DCC dazwischen." nicht so ganz. Ich WILL ja den DCC-Arduino haben um auch über meinen Handregler einzelne Funktionen steuern zu können. Also Beides GLEICHZEITIG: Sowohl der Z21-Simulator als auch die DCC-Zentrale sollen "Befehle" an den LED-Arduino senden können.
Die direkte Verbindung Z21 Emulator mit LED-Arduino teste ich gerade. Funktioniert aber auch nicht "im Prinzip"....
Was ich bisher gemacht habe:
Ich habe einen Arduino Nano mit der MLL bespielt. Über den Prog-Generator mit ein paar Dummy-Einträgen (ich habe ja den Rest der Hardware noch nicht, sollte aber egal sein für diesen Test).
Nun starte ich den Z21 Simulator. Klappt und er zeigt mir brav die IP meines PCs an.
Parallel habe ich auf dem Rechner Rocrail installiert. Dort einen Gleisplan mit zwei Weichen angelegt und zur Steuerung Z21 eingetragen. Ich starte nun RocView und kann die Weichen umschalten. Im Protokollfenster des Z21-Simulator sehe ich das die Umschaltvorgänge auch ankommen. Super.
Jetzt starte ich parallel auf meinem Handy die Z21 mobile App. Dort habe ich zum Test ebenfalls die beiden Weichen konfiguriert. Die App verbindet sich mit dem Z21-Simulator und ich kann die Weichen auch vom Handy aus umstellen. Klappt auch super.
Aber: Ich will ja zusätzlich über meinen DCC-Handregler steuern. Das kann ich natürlich noch nicht testen weil ich die Hauptplatine noch nicht bestücken kann mangels Bauteilen.
BTW: Der Z21-Simulator hängt sich gerne mal auf wenn man zu schnell zu viele Schaltvorgänge durchführt. Was bei Touchbedienung durch "Doppeltouch" gerne mal passieren kann. Dann geht im Farbtest/Z21-Simulator gar nix mehr und man sieht in der Titelzeile "Keine Rückmeldung". Ich vermute das hängt mit der "langsamen Datenübertragung" zusammen.
schön deas der Simulator bei Dir schon mal funktioniert. Du hast recht, der Z21 Simulaor schickt die Daten direkt an den LED ARDUINO. Das hat einen Vorteil und zwei Nachteile.
Vorteil: Man braucht einen DCC ARDUINO und kann mit einer ganz einfachen Konfiguration, auch ohne Basisplatine, nur mit euinem ARDUINO starten.
Nachteil: 1. Da die beiden seriellen Schnittstellen, von dem DCC ARDUINO und der USB-Scnittstelle zusammengeschaltet sind, wird es Probleme geben, wenn man DCC und Z21 Simulator gleichzeitig nutzen möchte. 2. Die serielle Kommunikation mit dem LED ARDUNO ist seeeeehhhhhhhrrrrrr langsam. Man kann immer nur ein Byte rüber morsen und muss dann 20 ms warten, damit der LED ARDUINO in der Zwischenzeit die LEDs ansteuern kann. Eigentlich sollte sich der sImulator dann aber nicht aufhängen. Ich muss das noch mal testen, wenn ich in der App schnell hintereinander Schaltbefehle gebe.
Es könnte ein Vorteil sein, wenn der DCC ARDUINO nicht nur DCC-Kommando akzeptieren würde, sondern auch die Kommandos von der USB-Schnittstelle an den LED ARDUINO weiterreichen könnte.Ich weiss aber nicht, ob das geht, da die beiden Schnittstellen wahrscheinlich physikalisch verbunden sind. Das kann aber nur Hardi oder Jürgen beantworten.
Wie gesagt: Auf der Platine gibt es eine SPI-Verbindung zwischen LED- und DCC-Arduino. Und im Prog-Generator kann man diese Verbindung offenbar bei den Optionen aktivieren.
Wobei ich da noch im Schaltbild etwas am rätseln bin:
Eigentlich sind doch die Pins TX0/RX1 die serielle Schnittstelle des Nano, oder? Und laut Schaltbild liegt da jeweils ein Lötjumper der diese Verbindung normalerweise unterbricht (SJ1, SJ2). Offen dürften also die beiden Nanos gar keine Verbindung über die serielle Schnittstelle haben... Bei der Beschreibung der Lötjumper steht für SJ1: für weitere Entwicklung und bei SJ2: "Überbrückt IC3" (was wohl nur für Selectrix relevant wäre). Beide Lötjumper sollen im Normalfall offen bleiben.
Die SPI-Schnittstelle hingegen ist mit den Pins D11, D12 und D13 im Schaltplan verbunden....
Irgendwie passt das nicht zusammen....
Ciao, Udo
P.S.: Und "sehr langsam" heißt doch nur, dass man die Verbindung eigentlich mal optimieren sollte. Klartext ASCII ist da vielleicht weniger geschickt auch wenn es das Debugging natürlich deutlich erleichtert
Eine Frage an alle, die Servos mit der MobaLedLib ansteuern: habt Ihr Empfehlungen für mich, welche Servos am besten dafür geeignet sind? Ich möchte damit z. B. Tore am Lokschuppen öffnen/schließen, kleinere Bewegungsabläufe realisieren usw.
[quote="Moba Jo" post_id=2256838 time=1614350464 user_id=45388] Betr.: Empfehlung für Servos
Eine Frage an alle, die Servos mit der MobaLedLib ansteuern: habt Ihr Empfehlungen für mich, welche Servos am besten dafür geeignet sind? Ich möchte damit z. B. Tore am Lokschuppen öffnen/schließen, kleinere Bewegungsabläufe realisieren usw.
[/quote]
Die billigen SG90-Servos. Werden massenhaft produziert und funktionieren bei mir hervorragend:
Gruss Frank --------------------------------------------------------------------------------------------------------------------- MobaLedLib Wiki Projekt "Bahnpark Augsburg" Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen
Achim hat einen Weichenantrieb mit Zahnstange konstruiert. Ich habe den Antrieb für mich etwas verändert und habe dann mit der Zahnstange und dem Servo einen 600g-Sack angehoben und wieder gesenkt. Nach gut 21.000 mal hin und 21.000 mal her habe ich aufgegeben... Eigentlich wollte ich nur testen ob der 3D-Druck irgendwelchen Verschleiß zeigt, aber das Servo wurde natürlich mitgetestet. Frank hat es - allerdings mit weniger Last - auf 31.000 komplette Zyklen gebracht (also 31.000 mal hin und 31.000 mal her) - auch hier ohne Ausfall. Ist zwar jetzt kein wirklich statistisch belastbares Ergebnis, aber für mich reicht die Qualität dieser Servos. Und die Dinger sind halt spottbillig.
Zitat P.S.: Und "sehr langsam" heißt doch nur, dass man die Verbindung eigentlich mal optimieren sollte. Klartext ASCII ist da vielleicht weniger geschickt auch wenn es das Debugging natürlich deutlich erleichtert
Da rennst Du bei mir offene Türen ein. Ich glaube Hardi würde sich freuen, wenn sich mal jemand dieser Thematik annimmt.
Ich schaue mir das mal genauer an, wenn ich Zeit dafür finde.
Aktuell bin ich aber über zwei andere Dinge gestolpert:
1. Prog-Generator "Dialog" Wenn man in Spalte C steht (also bei "Filter") und dann auf "Dialog" klickt, kommt die Fehlermeldung "Für die Ausgewählte Spalte existiert noch kein Dialog". Das ist etwas ärgerlich, weil man nach dem setzen das "Hakens" in Spalte B halt automatisch in Spalte C landet und dann eigentlich direkt mit dem Dialog weiter machen möchte.
2. Prog-Generator "Startwert" Laut Wiki kann man hier ein Sternchen "*" eintragen. Das kann man aber offenbar nicht über den Dialog machen. Hier wird das Sternchen nicht akzeptiert.
Ciao, Udo
P.S.: Und ich fände es toll, wenn (ggf. abschaltbar) vor dem "Z. Adruino schicken" eine Sicherheitsabfrage eingebaut würde. Ich bin Maus-Hasser und habe jetzt schon 3 mal hintereinander auf diese Schaltfläche statt auf "Dialog" geklickt *g* Alternativ die "Z. Arduino schicken" Schaltfläche vielleicht vor Optionen einsortieren? Das dauert halt immer wenn man versehentlich darauf geklickt hat und die meiste Zeit wird man ja eher mit anderen Funktionalitäten zu tun haben. Ansonsten habe ich jetzt mit dem Prog-Generator etwas herumgespielt. Läuft Langsam verstehe ich das Teil....
Zitat Ich WILL ja den DCC-Arduino haben um auch über meinen Handregler einzelne Funktionen steuern zu können. Also Beides GLEICHZEITIG: Sowohl der Z21-Simulator als auch die DCC-Zentrale sollen "Befehle" an den LED-Arduino senden können.
Die Übertragung per SPI habe ich vor 100 Jahren mal eingebaut. Sie sollte aber noch funktionieren. Dazu musst Du sie nur in dem Config Sheet aktivieren und beide Arduinos neu füttern.
Dann könntest Du das DCC Programm so erweitern, dass es über den USB Port Befehle vom PC empfängt und Parallel dazu die Befehle von DCC. Das Programm muss intern regeln, dass die Daten nicht durcheinanderkommen.
Das wäre sicherlich eine schöne Erweiterung.
Zitat Aktuell bin ich aber über zwei andere Dinge gestolpert:
1. Prog-Generator "Dialog" Wenn man in Spalte C steht (also bei "Filter") und dann auf "Dialog" klickt, kommt die Fehlermeldung "Für die Ausgewählte Spalte existiert noch kein Dialog". Das ist etwas ärgerlich, weil man nach dem setzen das "Hakens" in Spalte B halt automatisch in Spalte C landet und dann eigentlich direkt mit dem Dialog weiter machen möchte.
2. Prog-Generator "Startwert" Laut Wiki kann man hier ein Sternchen "*" eintragen. Das kann man aber offenbar nicht über den Dialog machen. Hier wird das Sternchen nicht akzeptiert.
Ciao, Udo
P.S.: Und ich fände es toll, wenn (ggf. abschaltbar) vor dem "Z. Adruino schicken" eine Sicherheitsabfrage eingebaut würde. Ich bin Maus-Hasser und habe jetzt schon 3 mal hintereinander auf diese Schaltfläche statt auf "Dialog" geklickt *g* Alternativ die "Z. Arduino schicken" Schaltfläche vielleicht vor Optionen einsortieren? Das dauert halt immer wenn man versehentlich darauf geklickt hat und die meiste Zeit wird man ja eher mit anderen Funktionalitäten zu tun haben. Ansonsten habe ich jetzt mit dem Prog-Generator etwas herumgespielt. Läuft Langsam verstehe ich das Teil....
Die Punkte 1 und zwei habe ich mal auf die über 1000 Zeilen lange ToDo Liste geschrieben…
Wenn Du Maus-Hasser bist, warum willst Du dann noch einen weiteren Button den Du anklicken willst?!? Ich verwende immer Alt+Z wenn ich das Prog. Zum Arduino schicken will. Den Dialog Button habe ich fast noch gar nicht verwendet. Das geht alles auch direkt per Tastatur in der Tabelle.
Wenn Du unbedingt eine zusätzliche Abfrage willst, dann klicke einmal mit gehaltener „Strg“ Taste auf den „Z.Arduino schicken“ Button…
Ich kann die Nachteile an Hand des Schaltpläne im Wiki nicht nachvollziehen. Da hängt an den SPI-Pins gar nix dran und SJ1 offen verhindert die Kommunikation vom LED zum DCC... Kannst du das Mal prüfen und ggf. einen aktuellen, kompletten Schaltplan für das Wiki zur Verfügung stellen?
Ciao, Udo
P.S.: Die Abfrage soll verhindern daß der Compiler startet wenn man zufällig auf den Button klickt. Da nutzt Strg wenig... Das man die Buttons auch über Tastatur aktivieren kann wusste ich noch nicht.
Ich habe den Stempel für den Entkuppler auf Verdacht mal mit einer 1mm starken Platte und Aussparungen für das Märklin K-Gleis konstruiert. Die Druckdatei hat Dominik auf Github abgelegt. Ich habe keine Ahnung, ob die Löcher groß genug sind und ob der Mittelleiter weit genug rausguckt. Vielleicht haben wir ja hier einen interessierten K-Gleis-Bahner mit 3D-Drucker, der diese Datei mal eben drucken kann und sie in ein loses Gleisstücken stecken mag. Dann könnte ich ggf. noch kleine Änderungen vornehmen.
Zitat Vielleicht haben wir ja hier einen interessierten K-Gleis-Bahner mit 3D-Drucker, der diese Datei mal eben drucken kann und sie in ein loses Gleisstücken stecken mag. Dann könnte ich ggf. noch kleine Änderungen vornehmen.
Drucken kann ich das durchaus. Ich wüsste zwar noch nicht wofür ich einen Entkuppler derzeitr brauch, aber meinen Drucker kann ich dafür anwerfen Geb mir n paar Stunden
Entschuldigt die Unsaubere Drucksache, aber das Filament war heute auf Kriegsfuß mit mir - ich denke es hat hydroniert. Aber Versuch 4 hat sich dann als brauchbar erwiesen.
Im Hintergrund liegt schon eine Standart-Gerade 2200 bereit.
Ich bekomme den Entkuppler nur mit Gewalt bis zu diesem Punkt.
Die Puko Abstände stimmen auch nicht und da ich ihn ja ander herum nicht runter bekomme, kann ich auch nicht nachschaut ob ein schleifer da Saft bekommen würde.
vielen Dank für deinen Einsatz. Ich sag nur: Auwei, das passt ja vorn und hinten nicht.
Kannst du bitte mal 10 Schwellen von rechter bis rechte Kante messen, sodass ich den Schwellenabstand anpassen kann? Dann baue ich für das K-Gleis eine separate Variante. Bei mir ist der Abstand 7,1mm. Größe der Pukos wäre auch interessant (L x B x H).
Gestern war es ENDLICH soweit. Wir haben die ersten LEDs an die MLL angeschlossen. Bisher waren nur Relais und Servos an der Reihe. Doch gestern haben wir uns um den Grill- und Spielplatz gekümmert. Auf diesem steht ein Grill (mit Rauchgenerator), eine Feuerstelle und sechs Laternen. Das Ganze haben wir als Beleuchtungsstrang in der Werkstatt vorgefertigt, sodass es an der Anlage möglichst ohne Lötarbeiten eingebaut werden kann.
Da kam wieder die Frage auf: Wie verkabelt man am sinnvollsten die (Straßen-)Laternen mit dem WS2811 (Schokoladentafel)?
Auch wenn eine Verwechslungsgefahr besteht, so habe ich mich jetzt für den 6-poligen Wannenstecker entschieden. Dieser bietet den Anschluss für drei 2-polige Buchsen (die man in ausreichender Stückzahl aus den 40-poligen herausschneiden kann). Diese wiederum lassen sich auch beim Zusammenbau der Laternen in der Werkstatt vorkonfigurieren (wenn die Bohrung in der Anlage groß genug ist).
Alternativ kann man ein 6-poliges Kabel in eine Pfostenbuchse crimpen und dann drei Stränge à zwei Leitungen abtrennen.
Der Vorteil: Der WS2811 Chip kann direkt an den Wannenstecker gelötet werden (zumindest zwei Ausgänge). Der dritte Ausgang wird mit einem Kabel an den freien Pin angelötet und das gemeinsame Plus mit einem Stückchen Draht an die obere Reihe.
Für den Wannenstecker sind im Inneren zwei Rastnasen vorhanden, sodass dieser mit etwas Druck einrastet.
Das Ganze wird mit zwei Spax® 2,5 x 20 mm in der Nähe der mittleren von drei Laternen unter die Anlage geschraubt. Die Druckdatei habe ich unten angehängt.
Irgendwie kann ich mir das nicht vorstellen wie man den Chip direkt an den Wannenstecker lötet. Hast du da vielleicht noch etwas aussagekräftigere Bilder?
Moin! Der Blitz an meiner Kamera meinte zwar heute mit mir auch sein spielchen zu treiben, aber ich hoffe man bekommt noch mit was da auf dem Messschieber steht...
Zitat
Kannst du bitte mal 10 Schwellen von rechter bis rechte Kante messen, sodass ich den Schwellenabstand anpassen kann?
10 Schwellen: 67,05
1 Schwelle: 3,25
Schwellenabstand: ~4,35 (ich schlag da den 0,01 drauf, weil das mehr Sinn ergibt)
Zitat Größe der Pukos wäre auch interessant (L x B x H).