TalentRaspel Geschrieben 10. November 2020 Teilen Geschrieben 10. November 2020 Hallo zusammen. Ich entwickele mir für den Hausgebrauch ein wenig Software zur Anbindung von externer Elektronik an 3D-Modellbahn Studio. Basis ist das C# Plugin-Framework https://community.3d-modellbahn.de/forums/topic/662-c-client-beta von Mikel_60. Dazu kommt dann Arduino mit Firmata, in C# eingebunden durch https://github.com/SolidSoils/Arduino. Damit kann man dann Teile von Anlagen (z. B. Ampeln, Schalter, usw.) durch externe Steuerungen (z. B. SPS, Mikrocontroller, usw.) auslesen und ansteuern und damit experimentieren. Im Moment mache ich das komplett nur für mich und die Programme werden daher zunächst gezielt für einzelne Modellexperimente (z. B. eine spezielle Ampelkreuzungssituation, einen Lagerkran, usw.) ausgelegt. Bei Interesse schreibe ich dazu gerne mehr, mach auch ein paar Bilder und stelle meine Ergebnisse ins Forum. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Neo Geschrieben 10. November 2020 Teilen Geschrieben 10. November 2020 Hallo, Willkommen im Forum! Ich würde mich über Bilder und Berichte freuen, gerade weil ich als Entwickler immer daran interessiert bin, in welchen Situationen das Studio zum Einsatz kommt. Viele Grüße, Neo Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
HaNNoveraNer Geschrieben 10. November 2020 Teilen Geschrieben 10. November 2020 Hallo Raspel Finde ich auch sehr interessant, besonders, wozu man noch externe Steuergeräte braucht, wenn man alles über Rocrail oder die interne Ereignisverwaltung steuern kann? Willst Du das später an einer realen Modellbahn einsetzen? Gruß Thomas Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
TalentRaspel Geschrieben 11. November 2020 Autor Teilen Geschrieben 11. November 2020 @Neo Vielen Dank. Ich poste dann gerne meine einzelnen Experimente. @veraNer: Um z. B. ein sonst langweiliges Ampelmodell, das 3D-Modellbahn Studio dann mit schön simuliertem komplexen Verkehr umgibt, durch eine SPS wie echte Hardware anzusteuern. Also z. B. so etwas http://www.viktorianer.de/info/ampel.html oder so etwas https://www.christiani.de/ausbildung/metall/ausbildungsinhalte/steuerungstechnik/sps-technik/erweiterungsmodul-ampelsteuerung.html in 3D-Modellbahn Studio, extern gesteuert über die auf einen Arduino herausgelegten Leitungen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Goetz Geschrieben 11. November 2020 Teilen Geschrieben 11. November 2020 Ich möchte dir nicht den Spaß verderben, TalentRaspel, aber ein vor einer Stunde schrieb TalentRaspel: sonst langweiliges Ampelmodell, kannst du auch mit der im Studio enthaltenen Ereignisverwaltung zum Leben erwecken. Hier findest du ein Beispiel: 1E7C5CDD-7DF4-46CD-974D-A5F8B153F69E Dort findest du ein weiteres: Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
TalentRaspel Geschrieben 11. November 2020 Autor Teilen Geschrieben 11. November 2020 (bearbeitet) @Goetz: Keine Sorge, das verdirbt mir nicht den Spaß. Die Experimente hatte ich sogar schon mal gesichtet. "1E7C5CDD-7DF4-46CD-974D-A5F8B153F69E" hatte ich aber noch nicht gefunden, sondern nur als Video gesehen. Und ja, ich weiss, dass man das mit EV, Lua oder auch mit Plugins in allen möglichen Softwarevarianten prima steuern kann. Es geht bei der Idee "Arduino Firmata Interface in C#" dann aber eben darum, 3D-Modellbahn Studio auch mal als Hardwaresimulator einzusetzen und dabei die weiteren Möglichkeiten auszuloten. Die Experimente aus "Mini-Experimente mit V6" und vor allem "1E7C5CDD-7DF4-46CD-974D-A5F8B153F69E" sind schön gemacht und tatsächlich auch prima für externe Steuerungsexperimente geeignet. Bearbeitet 11. November 2020 von TalentRaspel Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Goetz Geschrieben 11. November 2020 Teilen Geschrieben 11. November 2020 vor 26 Minuten schrieb TalentRaspel: Es geht bei der Idee "Arduino Firmata Interface in C#" ... darum, 3D-Modellbahn Studio auch mal als Hardwaresimulator einzusetzen ... Ah, okay - das ist eine interessante Idee Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
TalentRaspel Geschrieben 11. November 2020 Autor Teilen Geschrieben 11. November 2020 Ok, hier mal ein Bericht über ein erstes einfaches Experiment. MBS-Seite: 3 x Kippschalter + 3 x Lampe (nicht anklickbar dank unsichtbarer Abdeckung) Externe Seite: Arduino (Sketch: StandardFirmata) mit 3 x LED und 3 x Taster Dawischen ein C# Plugin (verwendet https://github.com/SolidSoils/Arduino zur Firmata-Anbindung), das die MBS-Kippschalter auf die Arduino-LEDs und die Arduino-Taster auf die MBS-Lampen schaltet. Macht zwar nicht sinnvolles, läuft aber prima und reicht mir als Proof-of-Concept. Jetzt kann ich an ein aufwändigeres Modell rangehen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
HaNNoveraNer Geschrieben 11. November 2020 Teilen Geschrieben 11. November 2020 Interessant wäre auch ein Fahrpult ;-) Soange es keine Anbindung eines Gamepads gibt. Ich spiele gerade Assassins Creed Valhalla. Da haben die das super gelöst und man kann ein PS4 Gamepad OHNE Treibersoftware direkt anschließen und nutzen. Gruß Thomas Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
TalentRaspel Geschrieben 13. November 2020 Autor Teilen Geschrieben 13. November 2020 Das nächste Experiment sollte dann echte Taster und Ampeln mit einzeln ansteuerbaren Lampen ermöglichen. Dank Andy und Bahnland konnte ich die Modellseite für Taster und Ampel recht schnell in den Griff bekommen. Taster: Funktionieren aktuell in MBS nur als animierte Triggertaster, die intern dann doch ein Schalter sind. Das wird vom Plugin dann in Richtung Hardware aber auf eine Impulsausgabe abgebildet. Ampel: Mit angepassten Ampelmodellen lassen sich die Lampen einzeln als Animationen ansteuern. Das Plugin bildet die Eingänge passend darauf ab. D. h. die Anforderungen aus dem Experiment sind soweit machbar und ich kann die Lösungen jetzt weiter verwenden. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
TalentRaspel Geschrieben 14. November 2020 Autor Teilen Geschrieben 14. November 2020 Mit den Lösungen aus den vorangegangegen Experimenten habe ich jetzt mal ein erstes Funktionsmodell umgesetzt. Dabei habe ich auch gleich das Plugin intern restrukturiert, so dass die Konfiguration der Ein- und Ausgänge nun generisch erfolgt. Das Funktionsmodell orientiert sich an einem echten Modell (https://www.christiani.de/ausbildung/metall/ausbildungsinhalte/steuerungstechnik/sps-technik/erweiterungsmodul-ampelsteuerung.html) und stellt über das Plugin und den Firmata-Arduino alle Ein- und Ausgänge wie beim echten Modell zur Verfügung. Die externe Ansteuerung erfolgt durch einen zweiten Arduino, in dem das eigentliche Steuerungsprogram läuft. Also: MBS-Modell <-> TCP/IP <-> Plugin <-> USB <-> Firmata-Arduino <-> Drähte <-> Steuerungs-Arduino Das Ziel meiner Experimente ist es, mit MBS Modelle zur externen Ansteuerung durch beliebige echte Steuerungshardware zu erstellen. D. h. eben nicht die Steuerung intern mit EV, Lua oder im Plugin, sondern von aussen aus der "echten Welt" über echte Ein- und Ausgänge. Also MBS mal als Hardware-Simulator. Als nächstes klemme ich an das Modell jetzt mal ein paar echte Steuerungen dran ... Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
TalentRaspel Geschrieben 15. November 2020 Autor Teilen Geschrieben 15. November 2020 Hier das Funktionsmodell mal mit einer vernüftigen Steuerung: Ich habe auf die Schnelle mal eine einfache Arduino-Ampelsteuerung mit Anforderungstastern (https://starthardware.org/ampelanlage-mit-arduino/) ausgewählt und noch ein wenig überarbeitet. Die Autos haben jetzt grün, bis ein Fußgänger anfordert. Dann wird ein wenig rumgeschaltet und er darf rüber. Läuft prima. Natürlich kann man die Steuerung noch weiter verfeinern und auch die Phasen und deren Timing optimieren. Für jetzt ist es aber erst mal ok. Als nächstes will ich dann an das Modell "Abbieger 05" (1E7C5CDD-7DF4-46CD-974D-A5F8B153F69E) von Goetz rangehen und dort eine passend programmierte externe Steuerung anschliessen. Bei dem Modell fiel mir aber auf, dass die Verkehrssimulation noch ein paar Bugs hat. Also werde ich das als erstes mal überarbeiten und erst danach mit der externen Steuerung weiter machen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen.
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden