• Hallo TT-Modellbahner, schön, dass du zu uns gefunden hast.
    Um alle Funktionen nutzen zu können, empfehlen wir dir, dich anzumelden. Denn vieles, was das Board zu bieten hat, ist ausschließlich angemeldeten Nutzern vorbehalten. Du benötigst nur eine gültige E-Mail-Adresse und schon kannst du dich registrieren.
    Deine Mailadresse wird für nichts Anderes verwendet als zur Kommunikation zwischen uns.
    Die Crew des TT-Boardes

Bauanleitungen für XPress-Geräte

Ich habe Interesse an einer USB-Interface-Leiterplatte mit Gehäuse s. Post 373


  • Umfrageteilnehmer
    28
  • Umfrage geschlossen .
Mit der Z21 App geht es auch . Das hab ich damals ja probiert . Was ich nicht testen konnte war die WLan Maus . Und wenn die jetzt funktioniert kann ich mir die beruhigt zulegen wenn sie mir mal über den weg läuft .
 
Hallo Tobi,

so, wie ich es im Internet gelesen habe, ist auf dem Uno der ATMega328 oder ATMega328P verbaut. Demnach müßte es bei dir klappen, die Firmware von melior auf dein Board zu brennen.

Er hat aber eine .hex-Datei, welche du mit seinem ASLoader (findest du in seinem Wiki) auf den Arduino via USB überträgst. Man muss beachten, dass für seinen ASLoader Java in der 32bit Version vorhanden sein muss. Solltest du ein 64bit Betriebssystem haben, muss auch das Java in der 32bit Version installiert sein.

Du hast das Ethernet-Shield verwendet und dann musst du die Firmware-Version Uno mit Ethernet-Shield nutzen.
 
Den ASLoader brauch ich nicht . Wenn ich meine Testsockeladapter finde nehme ich den USBasp ansonsten stopf ich den Prozessor einfach in den GALep .
Aber erstmal muss ich die Tüte mit den 328P suchen . Wenn das ganze nämlich nicht klappt kann ich den alten Prozi wieder reinstecken und bin dann twar wieder auf dem alten stand aber es läuft .
 
ESP als Accesspoint

Warum Arduino + WLAN-Shield?
Warum nicht gleich ESP? An der Menge der I/O kann es nicht liegen.
Auf dem Trip war ich auch erst, aber die Hardware des ESP schwächelt etwas in Bezug auf die serielle Schnittstelle: die kann keinen 9-Bit-Modus, funktioniert also nicht in Richtung XpressNet.
Viel interessanter wäre aber die direkte Nutzung des ESP als Accesspoint für die WLAN-Nager (und bei Bedarf auch für die App). Da könnte man den Router einsparen und eine kompakte Baugruppe durch Einstecken in ein beliebiges Xpressnet in Betrieb nehmen.
Eine kleine Leiterplatte habe ich mal entworfen, darauf wohnt ein ESP8266-12E, eine RS-485-Schnittstelle, eine Loconet-Schnittstelle und ein Anschluss für einen Roco-Booster. Basis ist ein Arduino Mega2560.
Mit der Software Z21_ESPArduinoUDP_v27.ino läuft der ESP bereits als Accesspoint und man kann sich mit der WLAN-Maus anmelden. Es fehlt jetzt noch die Verbindung zum Xpressnet, da müssen aber die Profis ran, da ich mich weder mit Arduino noch mit dem Netzwerkzeug ausreichend beschäftigt habe.

Thomas
 

Anhänge

  • DSC02375_klein.jpg
    DSC02375_klein.jpg
    117,1 KB · Aufrufe: 105
aber die Hardware des ESP schwächelt etwas in Bezug auf die serielle Schnittstelle: die kann keinen 9-Bit-Modus
Dafür gibt es doch die SoftSeriell-Bibliothek. Die kann man bestimmt auf 9Bit trimmen. Bei dem Leistungsüberschuss des ESP...
 
Ihr habt doch geschrieben, dass ihr lieber den MAX483 statt dem MAX485 nehmen wollt. Kann mir jemand sagen, ob ich auch einen MAX481 nehmen kann. Ich will etwas diesbezüglich testen und habe keinen MAX485 oder MAX483 vorrätig.
 
MAX483 hat eine begrenzte Anstiegszeit des Signals, so ist der 483 nur für 0,25 Mbps gedacht, während der 481/485 das nicht hat und somit für 2,5Mbps tauglich ist. Sein Nachteil ist aber, dass er eher EMI erzeugt und bei nicht richtig terminierten Abschlüssen spinnen kann. Da er sich dabei genau wie der 485 verhält, der ja nicht für die Anwendung geeignet zu sein scheint, solltest Du wohl vom Einsatz absehen.
 
Danke Heizer für deine Erklärung. Mir sagen die Datenblätter der Bauteile nicht viel, da ich ohnehin ihre Funktion noch nicht so richtig verstehe. Für mich selbst, habe ich kein Problem damit solche Sachen nach zu bauen. Solange sie Funktionieren ist alles in Ordnung und wenn nicht, stehe ich da wie die Kuh, wenn es blitzt. Ich finde auch nicht die Zeit, mich mit der Materie Bauteile zu beschäftigen.
 
Und wenn die jetzt funktioniert kann ich mir die beruhigt zulegen wenn sie mir mal über den weg läuft .

Wie sagen manche : "Boah Ey , wat für ne Aktion" :rolleyes:

Hab mir zwischenzeitlich eine WLan-Maus zugelegt . Ging aber nicht , es ließ sich nicht Einstellen bzw. keine Verbindung und wirres blinken im Display . Also erstmal nen Update auf den neuen Firmwarestand machen . Jetzt wollte die Z21 App auf einmal auch nicht mehr . Das war noch nen Schusslichkeitsfehler meinerseits , hatte einen Port ein klein wenig anders gelegt und das vergessen zu korrigieren . Danach ging es dann . Aber nur bei der Z21 App , die Wlan-Maus ging nur Fahren und Stop , eine Info ob die entsprechende Adresse schon von jemand benutzt wurde wurde nicht angezeigt , ebenso waren die Funktionstasten ausser Betrieb . Und ab und zu schien es als ob sich der Uno einfach aufhängt , dann gab es keine Reaktionen mehr und es half nur noch ein Reset . Also dann mal den Mega rausgeholt und da fingen die Probleme an , denn er hat in jedweder Konfiguration keine Expressnet-Verbindung herstellen können . Letztendlich läuft es jetzt . Aber erst nach Korrektur der Firmware .
Hatte für den Mega die Expressnet2.1 Library + die 2.3er Ino genommen und die Änderungen der Diff Dateien eingespielt . Leider ist dann im Code ein Fehler :

#if defined(HAVE_HWSERIAL1)

funktioniert nicht und er nimmt immer den Seriell Port 0 , egal ob er auf nem Uno oder auf nem Mega läuft . bei nem Uno ist das ja richtig , aber beim Mega will er da schon Debug Informationen ausgeben und auf dem Shield hängt da auch der Programmier-Atmel mit dran .
Am einfachsten ist es diese Zeile in

#if defined(DEBUG)

zu ändern . Denn die Debug Deklaration gibts ja nur beim Mega .
Keine Angst , die "HAVE_HWSERIAL1" erscheint erst nach durchlauf der Diff Datei an der Stelle , vorher steht da noch

#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) //Arduino MEGA

was auch funktioniert hat . Aber ohne die Diffs gibts keine Reaktion auf die Funktionstasten an der Maus .
Schlussendlich läuft es jetzt bei mir . Jetzt muss ich nur noch ne neue Platine zeichnen .
 
Zuletzt bearbeitet:
Hallo Tobi,

vielen Dank für die Rückmeldung!

Wie sagen manche : "Boah Ey , wat für ne Aktion" :rolleyes:
Hatte für den Mega die Expressnet2.1 Library + die 2.3er Ino genommen und die Änderungen der Diff Dateien eingespielt . Leider ist dann im Code ein Fehler :

#if defined(HAVE_HWSERIAL1)

funktioniert nicht und er nimmt immer den Seriell Port 0 , egal ob er auf nem Uno oder auf nem Mega läuft . bei nem Uno ist das ja richtig , aber beim Mega will er da schon Debug Informationen ausgeben und auf dem Shield hängt da auch der Programmier-Atmel mit dran .
Am einfachsten ist es diese Zeile in

#if defined(DEBUG)

zu ändern . Denn die Debug Deklaration gibts ja nur beim Mega .
Ich habe das eben mal ausprobiert und einfach einen Schreibfehler nach dem
#if defined(HAVE_HWSERIAL1) eingefügt. Dann läßt sich der Sketch nicht compilieren. Das zeigt doch, daß der Switch funktioniert, oder?

Mir kam auch schon der Gedanke, stattdessen "DEBUG" als Schalter zu nehmen. Ich habe das dann aber nicht gemacht, weil der eigentliche Grund, DEBUG und damit SoftwareSerial zu (de-)aktivieren der Mangel an SRAM im Uno ist. Der Leonardo hat 512 Bytes mehr und da ist Debugging kein Problem. Der Leonardo hat aber nur eine serielle Schnittstelle.

Deine Probleme mit dem Uno könnte ich mir so erklären, daß Du genau in diese Speicherprobleme hineingelaufen bist. Ich habe nach http://michaelnoland.com/reducing-code-size-on-arduino-ethernet-boards/ die Ethernet-Library "gestrippt". Deswegen verbrauchen die von mir vorcompilierten Firmwares vermutlich ein bißchen weniger Speicher.

Tschüß André
 
Beim Uno hatte ich ja das fertige Hex File genommen und mit dem Galep gebrutzelt . Aber es hat nicht alles so funktioniert wie es sollte . Deswegen hab ich den Mega rausgeholt und die Ino geladen da ich die Hex Datei nicht in den Mega rein bekommen habe . Mit der 2.3er Sketch lief es , aber die Maus hatte wieder keine Funktionstasten also hab ich die Änderungen eingespielt und dann lief es nicht mehr . ( die Einstellungja des Ports zur RX/TX Umschaltung hab ich jeweils an meine Bedürfnisse angepasst gehabt )

als ich später soweit war und gefunden habe woran es lag hatte ich einfach ein

#ERROR bla!

anstelle des normalen Befehls nach dem HAVE_HWSERIAL1 eingefügt und er hat es ohne Probleme compiliert . Ich hatte dann noch in allen möglichen Dateien nach dem HWSERIAL1 gesucht und nirgends gefunden , da war mir dann klar das es zumindest bei mir nicht funktionieren kann .

Ich hab dann das HWSERIAL1 testweise gegen DEBUG ( ist ja nur aktiv wenn für MEGA Compiliert wird ) und danach __AVR_ATmega2560__ ausgetauscht . Da lief das ganze dann . Und das #ERROR an anderer Stelle eingefügt überredete den Compiler zum Abbruch , also funktionierte der Befehl auch .
Da das ganze nicht nur auf einem 2560 sondern auch auf nem 1280 landen könnte und es evtl. auch mal für andere größere Prozessoren passt bin ich beim DEBUG geblieben . Ausserdem steht im Sketch selber :

#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
//#define DEBUG //For Serial Port Debugging (Arduino Mega only)
#endif

Somit ist das DEBUG nur aktiv wenn ein Mega zur Anwendung kommt und sollte man später das ganze erweitern braucht man nur den Eintrag anpassen und man muss nicht wieder irgendwo tiefer im Code suchen .

Für die Zuordnung der seriellen Anschlüsse steht In der Expressnet.h im Originalzustand an entsprechender Stelle :


#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) //Arduino MEGA
#define SERIAL_PORT_1
#undef SERIAL_PORT_0

#elif defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) //Sanguino (other pins!)
#define SERIAL_PORT_1
#undef SERIAL_PORT_0

#else //others Arduino UNO
#define SERIAL_PORT_0
#undef SERIAL_PORT_1
#endif


durch die Diff Datei wird daraus :


#if defined(HAVE_HWSERIAL1)#define SERIAL_PORT_1
#define SERIAL_PORT_1
#undef SERIAL_PORT_0

#else
#define SERIAL_PORT_0
#undef SERIAL_PORT_1
#endif

nur hab ich wie gesagt das HAVE_HWSERIAL1 nirgends gefunden . Also springt er immer in die alternative , nur das funktioniert beim Mega nicht . Hatte testweise auchmal die Pins für den RXD0 + TXD0 verbunden nur dann kommt da garnichts und der Mega scheint im Reset zu bleiben .

Such mal bei Dir an welcher Stelle das HWSERIAL1 vorkommt .
 
So . Hab nochmal gesucht . Diese Datei existiert bei mir nicht . :braue:
Dann halt über Google . In besagter Datei steht auch nur ein

#if defined(HAVE_HWSERIAL1)

aber nirgend der Punkt wo es definiert wird . Also nochmal weiter gucken . Letztendlich steht in der Hardwareserial.h die ich über google finde ein

#define HAVE_HWSERIAL1

drin . Bei der auf meinem Rechner steht das aber wiederum nicht drin . :freak:


Wenn ich dann gucke welche Versionsstände das jeweils sind : ich hab ne ältere Version ...
Von daher ist soweit alles gut . Bei anderen kann es also auch funktionieren , es kann aber auch sein das sie in die selbe Falle wie ich stolpern .
 
Hallo Tobi,
So . Hab nochmal gesucht . Diese Datei existiert bei mir nicht . :braue:
Wenn ich dann gucke welche Versionsstände das jeweils sind : ich hab ne ältere Version ...
Von daher ist soweit alles gut . Bei anderen kann es also auch funktionieren , es kann aber auch sein das sie in die selbe Falle wie ich stolpern .
... sofern sie den Sketch selbst übersetzen wollen. Das scheint mir bisher eher die Ausnahme zu sein.

Grundsätzlich würde ich Dir aber schon empfehlen, Deine IDE zu aktualisieren. Ich benutze zur Zeit 1.8.5 und habe keine Probleme damit.

Tschüß André
 
Ich muss mal die Experten hier um einen Rat fragen.

Es geht um dieses WLAN-Shield für den Arduino und der Z21-Zentrale. Nun habe ich mich mal versucht schlau zu machen. Es gibt nun diese WLAN-Shields mit ESP8266 (z.B. ESP 01, ESP 07) und ESP8285 (ESP 1). Es gibt da auch noch mehr Varianten. Nun können bei dem ESP8266 maximal 5 gleichzeitige Verbindungen mit Clients verarbeitet werden. Sind bei dem ESP8285 mehr mehr gleichzeitige Verbindungen möglich?

Über den neueren ESP32 finde ich irgendwie keine Angaben über die maximalen Verbindungen mit Clients.

Darauf aufbauend stellt sich für mich die nächste Frage: Die ESP WLAN Module sind vom Hersteller mit der AT-Firmware bestückt, welche aber nicht bei dem Projekt von Philipp Gahtow Verwendung findet und gegen seinem eigenen Sketch bestückt. Kann ich den Sketch für ESP von Phillip Gahtow auf jeden dieser ESP WLAN Module laden und dies funktioniert dann? So wie ich es verstanden habe, sollen sich die ESP8266 und ESP8285 Chips von ihrer Funktion identisch sind. Lediglich der Speicher unterscheidet sich bei beiden. Zu dem ESP32 finde ich diesbezüglich keine Angabe.

Dass alle unterschiedliche Anschlüsse haben, ist mir klar und dies müsste dann angepasst werden.

Die Frage unter anderem nach dem ESP 07 ist diese, dass dort die Möglichkeit besteht, eine externe WLAN-Antenne die Signalstärke erhöhen kann.

Wenn es nun so sein sollte, dass alle ESP WLAN Module nur fünf maximale Verbindungen mit Clients zulassen, gibt es dann noch alternativen, welche man verwenden könnte? Mir würde da nur noch ein externer Router über das W5100-Shield einfallen.

Vielen Dank für eure Antworten.
 
Zu dem ESP32 finde ich diesbezüglich keine Angabe.
Der ESP 32 ist der größere Nachfolger des 8266. Mehr Speicher, höhere Takztfrequenz und mehr Prozessoren :D. Ja, der 32er hat einen zweiten Prozessor, der sehr wenig Strom verbraucht und viele Kleinigkeiten erledigen kann (Netzwerk z.B.), ohne den großen "anwerfen" zu müssen.
 
Hallo Per,

aber funktioniert der ESP 32, wie er soll, wenn ich den Sketch dort drauf spiele?

Kann er mehr als fünf Clients gleichzeitig verwalten?
 
Hallo Foriker,

ich hoffe, ihr habt alle Weinachten gut überstanden.

Ich beschäftige mich immernoch mit der Z21 von Philipp Gahtow. Auf seiner Website bin ich auf eine Bauanleitung von Andreas Schreiber gestoßen. Diese wird mit dem Arduino Mega bewerkstelligt. Da werfen sich mir wieder einige andere Fragen auf.

Philipp schreibt auf seiner Website, dass der das Railcom integriert hat. Ich habe das versucht bei dem Schaltplan von Andreas Schreiber nachzuvollziehen und komme zu der Erkenntnis, dass dort der Railcom-Detektor fehlt. Die Signale RAILCOM und DCC_IN vom Arduino laufen ins Leere. Nun habe ich einen Schaltplan von Philipp gefunden, welcher dieses Signal bedient. Diesen Schaltplan habe ich versucht zu integrieren. Allerdings heißt im Schaltplan vom Railcom das Signal RAILCOM_RX. Meine Vermutung ist, dass das RAILCOM_RX dem RAILCOM vom Arduino-Schaltplan entspricht.

Den Teil der Signale von IN1/IN2 und RAIL1/RAIL2 habe ich in dem Schaltplan vom Arduino Mega zwischen dem TLE5205-2 und PROG_OUT/TRACK_OUT eingefügt. Ich hoffe, dass das jetzt so richtig ist.

Was es allerdings mit dem Signal DCC_IN auf sich hat, weiß ich leider nicht.

Kann jemand mal auf den geänderten Schaltplan schauen, ob ich das so richtig eingetragen habe. Ich konnte ihn leider nicht vernünftig als JPG exportieren, nur als PDF.

Hier die Links zu den Schaltplänen von Philipp Gahtow:

http://pgahtow.de/wiki/images/Arduino_MEGA_Zentrale.png
http://pgahtow.de/wiki/images/Z21_globalRailComDetector.png
 

Anhänge

  • Z21 mit Railcom_SCH.PDF
    38,6 KB · Aufrufe: 36
  • Z21 ohne Railcom_SCH.PDF
    33,2 KB · Aufrufe: 13
Es hat sich erledigt. Ich habe etwas falsch interpretiert und in eine Sackgasse gelaufen. Nach öfteren Lesen der Thematik habe ich festgestellt, dass bei dem Schaltplan von Andreas Schreiber das Railcom integriert ist. Die Schaltung für den integrierten Booster ist eine andere als der Railcomdetektor, welcher auch auf der Seite von P.G. beschrieben wird.
 
Hallo Foriker,

ich möchte eine regelbare Gleisspannung in dem Layout der Zentrale einbringen. Kann mir jemand sagen, ob man dafür auch DC-DC-Wandler verwenden kann oder gibt es dann dabei ein Problem mit dem Digitalsignal? Auf den Platinen der DC-DC-Wandler sind auch Kondensatoren für die Glättung drauf, wobei ich nicht weiß, ob sie für die Glättung ausreichen. Das wären die favorisierten Modelle:

https://www.amazon.de/tinxi®-Step-C...pID=413DhUk5SpL&preST=_SY300_QL70_&dpSrc=srch

https://www.amazon.de/WINGONEER-XL4...F8&qid=1526193904&sr=8-29&keywords=dc+dc+step

Wenn das nicht funktionieren sollte, wäre dann ein LM350 oder LM338 die bessere Wahl?

Viele Grüße
 
Zurück
Oben