mikrocontroller.net

Forum: Offtopic VST/Vossloh/Krone Fallblattanzeige Nr. drölf


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Christian K. (christian_k)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

aus Dokumentationsgründen mache ich hier einen neuen Thread auf. Ich 
habe mich im Internet jetzt schon dumm und dusselig gesucht und leider 
nichts gefunden zu diesen Modulen, die ich habe.

Ich beziehe mich auf folgendes Topic, letzter Eintrag von mir. 
Beitrag "Hilfe Krone/VST Fallblattanzeige ansteuern"

Christian K. schrieb:
> Kann mir hier irgendjemand auf die Sprünge helfen? Alex ist leider nicht
> angemeldet (als Gast markiert), ich kann ihm also nicht direkt
> schreiben. Ich habe 80 Module mit genau so einem Zilog OTP
> Mikrocontroller und leider keine Beschreibung der Schnittstelle.

Ich habe daraufhin Post von Mirko J. (speed130) erhalten:

Mirko schrieb:
> Hallo Christian,
> poste bitte mal ein Foto der Elektronik der Module, ggf. kann ich Dir
> weiterhelfen. Krone-Module habe ich angesteuert, kein Problem. Ich habe
> es mit Processing und Seriell-RS485-Adapter gelöst.

Zuerst, vielen lieben Dank an Mirko für die schnelle Nachricht. Ich habe 
dir in diesem Post die gewünschten Bilder angehängt.

Gruß
Chris

: Verschoben durch Moderator
Autor: Christian K. (christian_k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine Anforderung ist, die Module ohne Umbau benutzen zu können. Daher 
bin ich auf der Suche nach einer Beschreibung oder einer Dokumentation 
über die Schnittstelle und die Befehlssyntax, die der Zilog µC entgegen 
nimmt.

Falls jemand sachdienliche Hinweise hat, wie ich das Program des Zilog 
µC auslesen kann bitte hier drunter antworten.

Autor: Mirko J. (Firma: PRIVAT) (speed130)
Datum:
Angehängte Dateien:

Bewertung
5 lesenswert
nicht lesenswert
Hallo Christian,
ähnliche Module habe ich erfolgreich angesteuert. Der Zilog-Prozessor 
muss nicht ausgelesen werden.

Es wird für jede Anzeige jeweils ein Adress-Decoder-Board (Dein 3. Bild) 
benötigt. Ich habe diese reverse engineered und selbst gefertigt, siehe 
Bild anbei (Vergleich Original und Nachbau). Aus dem Schaltplan geht die 
Anschlussbelegung der Buchsen hervor. Es werden 42V/50Hz Wechselspannung 
und 9V Gleichspannung zur Versorgung benötigt. Achtung! Anschlüsse nicht 
vertauschen, sonst Steuerungsplatine des Moduls defekt! Ausschließlich 
im spannungslosen Zustand das Decoderboard auf die Anzeige stecken, ich 
habe mir durch nicht Beachtung dieser Regel selbst ein Modul zerstört. 
Die Anschlüsse 17 und 19 auf der 20-poligen Stiftleiste des 
Adress-Decoders sind die Anschlüsse des RS485-Bus. Alle Adress-Decoder 
werden über ein langes Flachbandkabel mit einander als Bus verbunden. Am 
Anfang erfolgt der Anschluss  der vorganannten Versorgungsspannungen und 
des RS485-Bus.

Als erstes wird ein USB-RS485-Wandler benötigt, siehe beigefügtes 
Datenblatt.

Die Ansteuerung vom PC aus kann über Software wie Processing oder ein 
serielles Terminalprogramm erfolgen. Als Terminalprogramm habe ich HTerm 
verwendet. Die Kommunikationsparameter für die serielle Schnittstelle 
lauten 4800 Baud, Even Parity, 8 Datenbits, 2 Stoppbits.

Ansteuerung erfolgt über folgende Befehle bzw. Code-Sequenzen

0x88 <Moduladresse> <Paletten-Code>
schreibt den Code der anzuzeigenden Palette in den Speicher des Modul, 
es erfolgt noch nicht die Anzeige der Palette

0x81
Befehl wirkt auf alle Module am Bus und stellt die Palette dar, deren 
Paletten-Code zuvor in den Speicher des Modul geschrieben wurde

0x82
Befehl wirkt auf alle Module am Bus, löscht die Anzeige


Paletten-Codes siehe begefügtes Excel.

Mir ist es bisher noch nicht gelungen die Paletten-Codes für die Umlaute 
zur ermitteln.

Viel Spaß und Erfolg beim Testen!

Viele Grüße

Mirko

Autor: Matthias S. (Firma: matzetronics) (mschoeldgen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ineressant finde ich auf der Treiberplatine den unbestückten Platz fürs 
EEPROM. Anscheinend war mal vorgesehen, den Addressdekoder einzusparen 
und den Job dem Zilog zuzuschanzen.

Mirko J. schrieb:
> ähnliche Module habe ich erfolgreich angesteuert.

Respekt für deine Arbeit! Gleich mal eine +1 geben :-)

Autor: Christian K. (christian_k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Mirko,

super, vielen Dank für die vielen Hinweise und Infos!
Ich habe zusätzlich noch mit Kollegen aus dem Hackerspace gesprochen und 
wir haben es auf folgendes runtergebrochen bekommen.

- 4800 Baud 8 Datenbit, Even Parity, 2 Stopbit
- RS232 5V TTL
- 42V AC Motorversorgung
-  9V DC Logikspannung

Das Datenformat ist wie von dir beschrieben:

Mirko J. schrieb:
> 0x88 <Moduladresse> <Paletten-Code>
> schreibt den Code der anzuzeigenden Palette in den Speicher des Modul,
> es erfolgt noch nicht die Anzeige der Palette
>
> 0x81
> Befehl wirkt auf alle Module am Bus und stellt die Palette dar, deren
> Paletten-Code zuvor in den Speicher des Modul geschrieben wurde
>
> 0x82
> Befehl wirkt auf alle Module am Bus, löscht die Anzeige

Die Code zu Blatt Zuordnung ist leider zu deinen Modulen 
unterschiedlich.

leer --> Hex 20
0    --> Hex 21
...
Ø    --> Hex 53

Die Umlaute sind
Ä    --> Hex 45
Ö    --> Hex 46
Ü    --> Hex 47

                        Command   Adresse  Value (hier eine Null) 
Rotiere (geht an alle)
Ein Beispiel wäre dann: 88        00       21                       81

Siehe hierzu:
https://github.com/shackspace/Fallblatt/blob/master/code/Webserver/index.php

Kennst du vielleicht die Kalibrierungsroutine?

Grüße
Chris

: Bearbeitet durch User
Autor: Mirko J. (Firma: PRIVAT) (speed130)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christian,
vielen Dank für Dein Feedback. Eine Kalibrierungsroutine (Software) ist 
mir nicht bekannt. Ich hatte einige Module die haben die Paletten nicht 
richtig gewechselt, mal wurde keine Palette gewechsel, mal wurden zwei 
Paletten je Schritt gewechselt.

Ich habe das mechanisch gelöst. Im Internet hatte ich dazu mal etwas 
gelesen, finde aber die Quelle leider nicht mehr. Modul vorsichtig 
demontieren und die Segmentscheibe, siehe beigefügtes Foto, verdrehen. 
Modul montieren und mit einer Testroutine die anzelnen Paletten der 
Reihenfolge nach ansteuern.

Viele Grüße

Mirko

Autor: Alex K. (ampelseite)
Datum:
Angehängte Dateien:

Bewertung
2 lesenswert
nicht lesenswert
Hallo Christian,

bin nun auch endlich mal hier angemeldet.
Tolle Fallblattmodule hast du da, damit kann man bestimmt die ein oder 
anderen Sachen mit machen.

Ich selber hab auch mal mit Modulen eines Zugzielanzeigers etwas 
gebastelt. Ein Arduino erzeugt zufällige Darstellungen. Wie Mirko, hab 
ich mir auch Adressplatinen fertigen lassen. Dabei benutze ich kein 
RS485-Adapter, ich hab die Module zusammen an einem Flachbandkabel am 
Arduino hängen. Ein Video dazu gibts hier: 
Youtube-Video "Deutsch Bahn Krone Fallblattanzeige mit Arduino angesteuert"

Hin und wieder hatte ich Schwierigkeiten da der ZiLog-IC nur noch auf 
0x82 reagiert und scheinbar nicht mehr weiss wieviele Fallblätter er 
hat. Wer Abhilfe kennt kann sich gerne melden.

Die Angaben von Mirko kann ich nur bestätigen. Da mir die 
Originaldokumentation von Krone vorliegt, habe ich auch die anderen 
Codes vorliegen. Dabei hab ich euch mal einen Ausschnitt angehängt. Wenn 
wer noch Fragen hat, kann sich gerne melden.

Anmerk: Wenn jemand von euch noch Module jeglicher Art über hat, ich 
such noch welche ->PN

Gruß

: Bearbeitet durch User
Autor: Christian K. (christian_k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

sorry für die späte Rückmeldung. Ich war leider beruflich sehr 
eingespannt.

Vielen Dank an alle, die hier etwas geschrieben haben. Mit euren Infos 
und Suchen im Internet habe ich die Anzeige endlich grundlegend zum 
Laufen bekommen. Ich werd bald mal ein Video hochladen und ein kleines 
Howto aufschreiben, wie ich es nun gelöst habe.

@ampelseite: Die Tabelle sieht wirklich seehr vielsprechend aus. Kannst 
du mir kurz noch auf die Sprünge helfen?

Die Codes verstehe ich leider nicht.
Ich setze dies hier ab:

Command
0x82    --> Rotiere alle Module am Bus auf die Leerstelle.

Dies auf deine Tabelle übersetzt wäre ja dann Eintrag Nummer 2. Da steht 
nun folgender Code drin:
1acX0010

Leider fällt mir absolut nicht ein, was das "a","c" oder "X" bedeuten 
soll. die restlichen Bits passen aber auf 0x82 und die 
Command-Beschreibung auch.

Kannst du mir die Buchstaben in der Tabelle erklären?

Gruß
Christian

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, Yahoo oder Facebook? Keine Anmeldung erforderlich!
Mit Google-Account einloggen | Mit Facebook-Account einloggen
Noch kein Account? Hier anmelden.