Anlage von egos

  • Ein weiteres Problem habe ich auf der Anlage auch noch: Wenn ich mit dem Multimeter den Widerstand zwischen den Punktkontakten und der Aussenschiene (Märklin K-Gleis) prüfe, müsste doch ein unendlich grosser Widerstand angezeigt werden. Nun habe ich aber offensichtlich eine gut leitende Verbindung irgendwo. Mein elektrisches Unverständnis fragt sich, ob das Messgerät über die ausgeschaltete Selectrix-Zentrale resp. den Booster rückwärts eine Verbindung anzeigen kann. Wenn eine Lok auf den Schienen steht, dann gibt es diese Verbindung via Motor, Loks sind darum keine auf den Schienen.

    Ich könnte natürlich den Booster abtrennen und nochmals messen. Aber vielleicht weiss das jemand?

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • USB Com-Port fix vergeben

    Danke Michel, das war die Lösung! Das kannte ich nicht. In Windows10 können so über 30 COMxx auf dem gleichen Stecker gesetzt werden. Physisch allerdings ist nur eine Steckstelle vorhanden. Ich brauche mindestens 3 (Anlage + Arduino + Maus). Mit einem USB-Hub kann ich auf 5 Steckstellen erhöhen.

    Beste Grüsse

    Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • Mit den FTDI USB Serial Adaptern ist das mit dem fixen COM Port standardmässig so. Ich verwende wenn möglich nur noch diese.


    Gruss

    Rufer

  • Danke auch rufer, dieses Problem hat sich gelöst.

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • Ein weiteres Problem habe ich auf der Anlage auch noch: Wenn ich mit dem Multimeter den Widerstand zwischen den Punktkontakten und der Aussenschiene (Märklin K-Gleis) prüfe, müsste doch ein unendlich grosser Widerstand angezeigt werden. Nun habe ich aber offensichtlich eine gut leitende Verbindung irgendwo. Mein elektrisches Unverständnis fragt sich, ob das Messgerät über die ausgeschaltete Selectrix-Zentrale resp. den Booster rückwärts eine Verbindung anzeigen kann.

    Da wir zu viel anderes berichtet hatten, ist dieses Problem untergegangen. Heute habe ich die abgetrennte Programmiergleisanlage mal ausgemessen.

    Resultate:

    - Innenschiene vs. Aussenschiene: keine Verbindung (Märklin K-Gleis)

    - Schiene vs. Mittelleiter: ca. 200 kOhm

    Offensichtlich ist der ESU-Lokprogrammer eine leitende Einheit im Stromkreis. Wenn ich den Lokprogrammer abhänge, ist der Widerstand unendlich gross.

    Also muss ich auf der Anlage den Booster abhängen vor der Kontrollmessung.

    Auch diese Frage ist nun gelöst.

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • Heute haben sich drei Probleme zum Teil gelöst. Einerseits ist der Drucker bereits geordert, so dass ich weiter arbeiten kann. Das war zwar das lästigste aber eigentlich das kleinste Problem. Nun, ich hatte eine mehrstündige Audienz bei Röbi (Sturzi). Er hat mir die Kommunikation zwischen Selectrix und dem neuen Laptop auf Vordermann gebracht. Ein veraltetes Schnittstellenproblem wurde mit einem moderneren Ansatz gelöst. Dann wurde auch die Zusammenarbeit zwischen Arduino und dem Java-Programm der Anlage hergestellt. Es funktioniert zwar noch nicht hundertprozentig, aber ich habe die Neuigkeiten zu Hause auch noch nicht implementiert. Jedenfalls schätze ich die Hilfe von Röbi sehr. Immerhin haben wir nur die gleichen Decoder auf der Anlage, die PCs sind verschieden, die OS der PCs ebenfalls, die Versionen der Programmierumgebung (IDE) sind auch nicht identisch, die Java-Versionen ebenfalls nicht, ganz zu schweigen von den Abweichungen meiner Programmiertechnik und seiner professionellen Lösungen. Da strapaziere ich sein Fachwissen gehörig, bis die Programmteile auch auf seiner Anlage als Test reagieren wie gewünscht. Ich bin guter Hoffnung, dass demnächst meine Anlage wieder steuerfähig sein wird.

    Ich werde berichten. In der Zwischenzeit danke ich Röbi für sie super Unterstützung!

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • Oski, du übertreibst wieder mal so masslos, dass ich richtig rot werde im Gesicht (nein, nein, es ist nicht der Blutdruck). Heute habe ich doch vor Allem durch Verwirrung, sowie Rat- und Hilflosigkeit geglänzt. Dass es am Schluss dann doch einigermassen funktioniert hat, ist eher ein glücklicher Zufall. Trotzdem habe ich das feine Essen in Suhr, zu dem du mich grosszügigerweise eingeladen hast, sehr genossen.

  • Dass es am Schluss dann doch einigermassen funktioniert hat, ist eher ein glücklicher Zufall.

    Röbi, eben nicht!!

    Herzliche Grüsse

    Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • Mittlerweile bin ich etwas weiter gekommen. Das Programm läuft dank Röbi's Input wieder. Die Anlage im Keller konnte ich testen, es ist kein Kurzschluss in den Schienen vorhanden. Das Programm selbst ist noch etwas hartnäckig. Schon beim Testen bei Röbi gab es beim Beenden unerklärliche Abstürze. Anfänglich traten die bei mir zu Hause nicht auf, aber mittlerweile bin ich geübt, jetzt habe ich sie auch. Wahrscheinlich habe ich Röbi "erwischt", denn in meinem abgeänderten Programm sind einige Funktionen nicht mehr mit den seinen identisch. Immerhin läuft das eigentliche Programm. Alle Schaltungen via Selectrix kann ich ausführen, und es schaltet auch. Dass der Port zu Arduino noch nicht geht, liegt auch daran, dass mein USB-Hub noch nicht geliefert wurde. Was ich auch gemerkt habe: Es fehlt bei mir eine saubere logische Trennung zwischen dem Betrieb der Anlage und der Simulation. Zudem muss an der Anlage unterschieden werden können zwischen Normalbetrieb und den Eichmessungen. Gut gibt es noch viel zu tun!

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • Nun habe ich im Programm aufgeräumt. Es gibt nur noch den Offline-Mode (true/false) an einer einzigen Stelle im Programm. Alle andern Programmteile müssen sich die Info dort holen und anschliessend entscheiden. Neuerdings habe ich eine ICY-Box. Das ist ein USB-Hub mit 4 USB 3.0 Ausgängen. Nachher hat dann halt wieder nichts mehr funktioniert. Der Laptop erkennt den Hub und gibt im die nächsten Nummern in den COM-Ports, was leider nirgends beschrieben ist. Der Hub hat die Nummern COM5 bis COM8. Ich muss also im Programm den Hub zuerst abfragen, damit der Link stimmt oder immer gleich einstecken und im Programm die Nummern fest eintragen.

    Der Fehler im Programm, der regelmässig zu einem Absturz führte, ist mittlerweile auch beseitigt. Jetzt muss noch der Arduino seine Daten an die Anlage übergeben können. Das wird der nächste Schritt.

    Gruss Oski


    Edit: Spannend ist noch, dass nur der ATEN-USB-Converter neue Portnummern erhält. Der Arduino bleibt immer auf COM4.

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

    Einmal editiert, zuletzt von egos () aus folgendem Grund: Ergänzung

  • Der Arduino Port ist im Java Programm angekommen:

    Das Eichprogramm muss natürlich noch automatisiert werden. Momentan liegt aber noch ein "Datenwolf" im Weg, der die von Arduino gesendeten Daten "frisst", bevor sie im Eichprogramm ankommen.

    Die "Jagd" dürfte noch etwas dauern, meist sehe ich nur "Schafe" :D .

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • Hoi Röbi

    Das dauert sicher eine Weile. Momentan kommen die Daten im Aduino-Panel noch nicht an. Während dem Nachtessen kam mir eine Idee. Allenfalls habe ich vergessen, den richtigen Portnamen einzugeben. Nur müsste Java dann abstürzen, das macht es aber nicht. Ich suche morgen nochmals neu.

    Dann muss ich noch die automatische Umkehr der Loks einprogrammieren. Etwa so, wie es bei dir im Schattenbahnhof aussieht.

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • sturzi : Hoi Röbi

    Nun bin ich einen Schritt weiter, der "Wolf" ist erlegt. Die Daten von Arduino kommen testweise im Sekundentakt im MessageLog an. Leider noch nicht auf dem Datenfeld. Immerhin erfreulich ist das Zucken auf dem Bildschirm, wenn der nächste Datensatz gelesen wird.

    Übrigens: Der Fehler war sehr sehr doof: Die Funktion Reader.start() habe ich versehentlich als Kommentar gekennzeichnet. Aber jetzt ist der Datenstrom verbunden.

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • Hi Oski

    Übrigens: Der Fehler war sehr sehr doof: Die Funktion Reader.start() habe ich versehentlich als Kommentar

    ... kommt in den besten Familien vor - ich habe am letzten Freitag morgen ein Script, welches Personaldaten verarbeitet (unter anderem das Austrittsdatum eines Accounts im Active Directory) angepasst auf die neue Datenbank, alles was "gefährlich" sein könnte, auskommentiert und dann laufen lassen 8) - zum Glück ist das Script nach ein paar hundert Zeilen abgeschmiert, denn ich hatte übersehen, das die Zeile mit dem Update gegen das AD nicht auskommentiert war ...


    Nun mussten die Accounts wieder "eingetreten" werden.


    Lg
    Giorgio

    Lg

    Giorgio

  • Heute habe ich mit den von Röbi gelieferten supergenauen Böckli die nächsten zwei Lichtschranken implementiert. Das Programm meckerte anfänglich etwas. Aber die Script-Sprache von Arduino ist sehr benutzerfreundlich. Sobald ein Fehler detektiert ist, wird die entsprechende Zeile hellrot markiert.

    Nun habe ich vier Lichtschranken:

    Die beiden ursprünglich programmierten Lichtschranken funktionieren immer noch, die beiden neuen tun noch nichts.

    Ziemlich Zeit vergeht, wenn man die Float-Werte über die serielle Schnittstelle senden will. Also, damit es klar gesagt sei: der Arduino ist natürlich sauschnell, aber man muss zuerst wissen wie es geht. Heute habe ich mich dem Arduino-Forum angenähert. Dort sind fast alle Probleme schon einmal aufgetreten und ausführlich dokumentiert.

    Meine Lichtschranken werden so aufgestellt, dass die erste bei (0 mm), die zweite bei (350 mm), die dritte bei (1100 mm) und die vierte bei (2000 mm) angeschraubt werden. Momentan übe ich im Büro. Da sind die Schrankenabstände natürlich nicht korrekt. Wenn ich einen Längen-Messfehler von einem Millimeter und einen Zeit-Messfehler von 0.05 sec annehme, ergibt sich bei der geplanten Maximal-Geschwindigkeit von 80 km/h im Modell ein maximaler Positionierungs-Fehler von 35 mm. Mit dem kann ich leben. Die Lokführer halten auch nicht immer genau gleich an.

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • Also, damit es klar gesagt sei: der Arduino ist natürlich sauschnell, aber man muss zuerst wissen wie es geht.

    :)


    Meine Lichtschranken werden so aufgestellt, dass die erste bei (0 mm), die zweite bei (350 mm), die dritte bei (1100 mm) und die vierte bei (2000 mm) angeschraubt werden.

    Das ist optimal: Einigermassen logarithmisch, so wie es sein soll. :thumbsup:

  • Danke, Röbi, einigermassen versuche ich deine vielen Instruktionen umzusetzen. Nach wie vor bin ich sehr motiviert.

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!

  • Die Zusammenarbeit PC mit Arduino ist wirklich spannend.

    Seit gestern habe ich allerdings immer wieder einen doofen Fehler, angezeigt im Output Fenster des Arduino:

    avrdude stk500_getsync() attempt 9 of 10 not in sync resp 0x00

    Der Fehler wird 10-fach angezeigt. Dann folgt die Meldung "Ladefehler" und "exit status -1", was zwar geschrieben kommt, aber der Arduino arbeitet locker weiter.

    Läuft das Steuerprogramm auf dem PC und dann betätige ich Upload, gibt es die Meldung

    "avrdude: ser_open(): can't open device "\\.\COM4" : Zugriff verweigert".

    "Fehlgeschlagenes Hochladen: Hochladefehler: exit status 1"

    Offensichtlich kann Upload nur benützt werden, wenn der Arduino nicht arbeitet. Sobald er im setup() den seriellen Port zuordnet und im loop() ihn auch verwendet, ist der Port besetzt. Ein nochmaliger Versuch des Upload schlägt nun fehl.

    Ziehe ich den Stecker (USB) aus dem PC, gibt es logischerweise einen anderen Fehler:

    "Fehlgeschlagenes Hochladen: no upload port provided"


    Also ist die zeitliche Reihenfolge sehr genau einzuhalten:

    1. USB-Hub mit den Ports COM4: und COM6: am PC einstecken

    2. Arduino Programm starten, Upload durchführen

    3. Moba-Steuerprogramm auf PC öffnen

    4. Moba-Steuerprogramm starten


    Zudem entsteht beim Abschalten des Moba-Steuerprogramms manchmal auch noch ein Fehler:

    "The read operation timed out before any data was returned:"

    "com.fazecast.jSerialComm.SerialPort$SerialPortInputStream.read al ..."

    Dieser Fehler ist nicht reproduzierbar, erscheint so jedes dritte Mal beim Abstellen. Die IOException sind zwar abgefangen, die Meldung entsteht aber trotzdem. Das Programm beendet nach der Fehlermeldung alle Dienste sauber.


    Nun muss ich noch vom PC auf den Arduino zugreifen versuchen. Wird wahrscheinlich nochmals spannend, zumal das über den gleichen Port COM4: geschehen muss, der allenfalls in der andern Richtung am Arbeiten ist.

    Gruss Oski

    signatur_egos.jpg

    ...auch Nichtraucher können süchtig sein nach Zündhölzern!