• 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

Preiswerter Lichtsignal-Decoder bis vier 4-begriffige Signale

flicflac

Foriker
Beiträge
895
Reaktionen
1 1
Ort
Minden / NRW
Hallo

Auf der Suche nach einer Alternative zu den kommerziellen Produkten habe ich mich an den an den UniSemaf648 vom Paco gewagt. Die Originalbeschreibung findet ihr unter Paco UniSemaf648.

Fazit:
Funktioniert hervorragend!

Eckdaten für Doppelausführung (in Klammer für Einzelausführung):
  • vier (zwei) 3 oder 4-begriffige Signale
  • acht (vier) 2-begriffige Signale
  • Maße: 80x100 (bzw. 80x50)
  • Kosten: 11,70 EUR (bzw. 6,80 EUR Einzel)
Das Foto zeigt meine Ausführung (V1.2) mit SMD-Bauteilen für Widerstände und Kondensatoren. Da SMD bei vielen "Selbstlötern" nicht gerade auf Gegenliebe stößt, habe ich eine Platine mit bedrahteten Bauelementen entwickelt. Da bei mir immer 4 Signale örtlich vorhanden sind, wurden zwei Decoder auf einer Platine kombiniert. Wer nur einen Decoder auf der Platine haben möchte, lässt den unteren Teil einfach weg oder sägt ihn an der Trennlinie ab.
Die Betriebsspannung liegt bei 12-16V AC. Wer den Decoder ohne den 12V Regler betreiben möchte, kann diesen einfach brücken und mit einer Betriebsspannung ab 6V AC arbeiten. Ich finde die Helligkeit der Signale bei 12V passend, wer möchte kann aber auch einen 7810 oder niedriger einsetzen.

Zur Programmierung...
Ich habe mich für die Version per Programmiertaster entschieden. Programmiertaster drücken (alle LEDs der Signale blinken), Adresse an der Zentrale einstellen und Schaltbefehl senden, Adresse ist programmiert. (Die vorprogrammierten HEX-files für Ausfahr- und Blocksignale stelle ich hier mit entsprechenden Hinweisen noch ein.)
Nachdem ich mich durch die, doch etwas kryptisch beschriebene, Programmierung gekämpft hatte, erwies sie sich jedoch als "beherrschbar". :)
Ich habe den Decoder mit der Multimaus programmiert, da das Compact ein ACK benötigt. Alle CV-Werte müssen mit den niedrigen CV programmiert werden, also jeweils 512 abziehen (siehe Originalbeschreibung). Für CV547 gilt also CV35, für CV551 CV39 usw. Die Programmierung ist 8-bit codiert (u_int) und jedem Ausgang ist ein definierter Wert zugeordnet:
A1 = 1
B1 = 2
A2 = 4
B2 = 8
A3 = 16
B3 = 32
A4 = 64
B4 = 128

Jedem Schaltbefehl sind 4 CV zugeordnet (Beisp. A1):
CV35 (547) - definiert welche Ausgänge bei der 1. Schaltadresse beeinflusst werden
CV36 (548) - definiert welcher Ausgang beeinflusst wird
CV37 (549) - definiert ob der Ausgang blinken soll
CV38 (550) - Blinkfrequenz

Um ein 4-begriffiges Signal am Ausgang A1(rot)/B1(grün) A2(gelb)/B2(weiß) mittels der Adressen 65-68 zu schalten gilt:
CV35 = 15 (1+2+4+8, alle Ausgänge werden beeinflusst)
CV36 = 1 (Ausgang A1, rot, wird bei Adresse 65 aktiviert)
CV39 = 15 (1+2+4+8, alle Ausgänge werden beeinflusst)
CV40 = 2 (Ausgang B1, grün, wird bei Adresse 66 aktiviert)
CV43 = 15 (1+2+4+8, alle Ausgänge werden beeinflusst)
CV44 = 8 (Ausgang B2, weiß, wird bei Adresse 67 aktiviert)
CV47 = 15 (1+2+4+8, alle Ausgänge werden beeinflusst)
CV48 = 6 (Ausgang B1, grün, und A2, gelb, wird bei Adresse 68 aktiviert)

Für die 2. Gruppe A/B3 und A/B4, Adresse 69-72, gilt dann:
CV51 = 240 (16+32+64+128, alle Ausgänge werden beeinflusst)
CV52 = 16 (Ausgang A3, rot, wird bei Adresse 69 aktiviert)
CV55 = 240 (16+32+64+128, alle Ausgänge werden beeinflusst)
CV56 = 32 (Ausgang B3, grün, wird bei Adresse 70 aktiviert)
CV59 = 240 (16+32+64+128, alle Ausgänge werden beeinflusst)
CV60 = 128 (Ausgang B4, weiß, wird bei Adresse 71 aktiviert)
CV63 = 240 (16+32+64+128, alle Ausgänge werden beeinflusst)
CV64 = 96 (Ausgang B3, grün, und A4, gelb, wird bei Adresse 72 aktiviert)

Ich hoffe dass das jetzt alles so richtig ist :D
Bei der LED-Zuordnung (Ausgänge) habe ich mich am Kühn WD10 orientiert. Die CV fürs Blinken haben jeweils den Wert 0.

Ich bin von dem Decoder absolut überzeugt und er steht dem WD10, vorerst auf Lichtsignale bezogen, in keinster Weise hinterher. Zumal man zum Preis von einem WD10 drei UniSemaf hat, ist eben nur ein bisschen Bastelarbeit.

Der Vollständigkeit halber hier noch der Reichelt Warenkorb.

Gruß flic

PS: Hatte sich doch der Fehlerteufel eingeschlichen... Die Layout und Bestückungsdateien neu eingefügt.
 

Anhänge

  • UniSemaf648_V1.jpg
    UniSemaf648_V1.jpg
    77,5 KB · Aufrufe: 288
  • UniSemaf648_V22_Schaltplan.pdf
    129,6 KB · Aufrufe: 114
  • Signaldecoder_V22_Anschluss.jpg
    Signaldecoder_V22_Anschluss.jpg
    235,7 KB · Aufrufe: 294
  • UNISem_V22_Layout_A6.pdf
    25,6 KB · Aufrufe: 60
  • UniSem_Bestueckung_A6.pdf
    36,9 KB · Aufrufe: 58
Teil 2 für hex-files

Anbei noch eine alternative Bestückung ohne den 12V Spannungsregler und die vorprogrammierten Hex-files für Ausfahr- sowie Blocksignale.
Die hex-files beinhalten keine PIC Konfiguration!
Als Trick kann man sich vorher das Original-hex-file von Paco laden und danach mein file. Die Config wird dann behalten (bei PBrenner).
Ich habe einen Pic programmiert, das hex-file ausgelesen und in alle weiteren Pics gebrannt. Danach brauchte ich nur noch die entsprechende Adresse zu programmieren und der Decoder war betriebsbereit.

flic
 

Anhänge

  • hex-dummy.zip
    207 Bytes · Aufrufe: 38
  • UniSem_alt_Best_A6.pdf
    36,3 KB · Aufrufe: 59
@flic besteht die Möglichkeit die Platinen und den Pic irgendwo zu ordern (ala Holgis WDec) ?
Weil daran scheiterts ja bei den meisten.
Mit sowas zusammenlöten habe ich nicht die Probleme.Eher mit dem beschaffen :D.

Reichelt Warenkorb ist klar.

MFG Jean
 
@Jean

Der Pic ist das geringere Problem. Bei den Platinen lohnt sich immer erst bei entsprechender Menge eine Fertigung. Oder eben auf privater Basis.

Gruß flic
 
Hallo flic,

wie sieht denn dein Layout in der SMD-Variante aus? Wird die Platine dadurch kleiner? Jedenfalls haben die SMD's den Vorteil, dass man für diese Bauteile nicht bohren muss.
 
@Tody77

Nein, viel kleiner ist die Platine nicht, 80x90. Die Größe ist den Klemmen geschuldet, wie du auf dem Foto sehen kannst. Alles dehen und schieben brachte keinen Gewinn, eher Verschnitt aus einen Europlatine (160x100).
Eine reine SMD-variante gibt es nicht, nur mein ursprüngliches Layout. Das Layout kann ich dir gern geben, ist aber für 2 Decoder. Es sind jedoch nur 30 Bohrungen welche du dabei sparst.

Gruß flic
 
@flic

Das wäre nicht schlecht.

Welche Signale steuerst du damit an? Die Viessmann Ausfahrsignale?
 
@Tody77

Ja, die Ausfahrsignale und Blocksignale (getestet und geplant).


Hier noch ein kleines Video.
Ich hatte ein bisschen mit der Farbwiedergabe zu kämpfen, man sehe mir die Qualität nach...

flic
 
Wie schaut es mit der Überblendfunktion aus? Muss der Puc selbst Programiert werden ja oder?
 
Das Video, welches du gemacht hast, sieht doch gut aus. Ich finde die Überblendung toll. :icon_bigg
 
@Linguistix

Die Überblendwerte habe ich in der Grundeinstellung von Paco gelassen. Ich finde das so absolut ok (siehe Video in Post#8).

Info
Die in Post#1 gelisteten CV gelten für die DB Ausfahrsignale von Vissmann.


flic
 
Hatte ich mir angeschaut. Jeder wie ers mag geschmecker sind gott sei dank unterschiedlich für mich könnts ein wenig mehr sein beim überblenden. Aber da ich debk mal nicht an die Platinen und die fertigen Pics ran komme eher blöd:braue:
 
@Linguistix

Nun nicht gleich aufgeben... Der Thread ist gerade mal ein paar Stunden alt. Wie schon geschrieben, sind die Pics das geringere Übel. Aber vielleicht finden sich genug Interessenten damit sich eine Platinenfertigung lohnt.
Das Fading kann man in CV33 (545) einstellen.

flic
 
Na mal sehn interesse wär ja da :)
 
Frage zu den Hexfiles

Hallo Flic !
Vielen Dank für den Bericht. Habe mir heute nachmittag bereits einen Film zur Platinenbelichtung nach Deiner Vorlage gedruckt. Da ich bereits etliche Decoder von der Paco-Seite nachgebaut habe, war es eigentlich leicht, alles zu verstehen. Ich bin lediglich bei Deiner Beschreibung, wie Du die Hexfiles in die PICs brennst, ins Schleudern gekommen. Da ich nicht mit PBrenner arbeite, denke ich, daß ich zuerst das Hexfile von Paco für den 16F648A mit der Pushbuttonversion brennen muß. Dann in den Decoder einbauen und einmal nach Deinem Muster mit der DCC-Zentrale programmieren . Als letztes den PIC wieder ausbauen und jetzt das geänderte Hexfile auslesen und für die künftigen PICs abspeichern. Für die folgenden Decoder dann nur noch mein gespeichertes Hexfile brennen
und anschließend nur noch die Adressen programmieren. Habe ich das
so richtig verstanden?
Viele Grüße aus Bochum von
Heinz
der diesmal Deinen Thread nicht geentert hat !!! :allesgut:
 
@ucdfo

gg..

Ja, so wie du beschrieben hast, habe ich es gemacht. Geht aber auch eleganter, deshalb habe ich noch keine HEX-files eingestellt. Dauert aber noch ein paar Tage.
Mit welchem Progrämmchen brennst du? Ich brauche wohl mal einen neuen Brenner...

Gruß flic
 
PIC-Brenner

Hallo Flic!
Habe natürlich zuerst Deine PN beantwortet, deshalb habe ich die Frage nach der Brennmethode für den PIC dort am Ende nochmal gestellt. War natürlich überflüssig. Meinen PIC-Brenner habe ich auf einem Rocrail-Treffen in Solingen empfohlen bekommen. Gekauft habe ich ihn bei der Fa. Zeitech - die Brennsoftware war dabei.
Bezahlt habe ich damals den Mondpreis von 49.-€ . Ich war halt
Anfänger, aber ich muß sagen, daß es sich insofern gelohnt hat, weil
ich bisher noch keinen PIC versemmelt habe. Habe heute bei Ebay zufällig einen Programmer für 11.-€ gesehen - den würde ich heute
kaufen.
Gruß
Heinz
 
Wenn alles so einfach wäre wie bei Arduino - mit USB an PC anstöpseln, Quellcode laden, compilieren, hochladen - dann wäre ich dabei. Ich versteh immer noch nicht, warum eigentlich niemand mal ein Arduino-Board für so etwas entwickelt. Ist meine Idee so abwegig, auf Standardhard-/-software zurückzugreifen?
 
Man kann auch PICs (und andere µC) mit einem USB Bootloader ausstatten... Compilieren, anstöpseln, übertragen, geht.
Nur der Bootloader muss einmal rein, Henne-Ei-Problem.

Holger
 
Erste Betriebserfahrungen mit Lenz_system

Hallo Leute!
Habe soeben den Unisemaf 648A – Decoder in Betrieb genommen,
nachdem die Kristalle und die PICs von Reichelt in der Post waren.
Nach dem Anschließen habe ich zuerst die CVs genau nach Flic’s Tabelle mit meiner
Lenz-Zentrale und dem LH 100 per Programmierausgang im CV-Direktmode die CVs
programmiert. Hier sollte beachtet werden. dass bei diesem Programmierschritt beide
PICs gleichzeitig beschrieben werden. Anschließend wird der Decoder wieder an den
Gleisausgang der Zentrale angeschlossen und der Pushbutton des oberen Decoderteils
gedrückt und gehalten. Dann wird ein Weichenstellbefehl an Adresse 65 gesendet.
Danach wird der Pushbutton der unteren Decoderhälfte gedrückt, gehalten und
ein Weichenstellbefehl an Adresse 69 gesendet.

In Ermangelung eines Lichtsignals mit 4 verschiedenen LEDs habe
ich dann nach dem Anschlussplan einfach 4 einzelne LEDs in den
jeweiligen Farben direkt an die Klemmen geschraubt. Das geht, weil ich bei meiner
Decoderversion die Vorwiderstände als SMD-Bauteile auf der Platine platziert sind.
Jetzt ergibt sich folgende Situation :
Wenn ich mit dem Lenz-Handregler Weichen oder Signale schalte,
habe ich immer die Adresse und eine „Plus“- und eine „Minus“-Taste
zum Schalten, für Grün/Rot bei Signalen oder Geradeaus/Abzweigend bei Weichen.

Vielleicht hilft es ja den Lenz-System-Benutzern noch folgende Ergänzung
zu Flic’s Beitrag zum Programmieren :
Mit den vorgeschlagenen CV-Werten wird mit dem Digital-Plus-System
folgendes geschaltet:
Adresse 65 > Plus-Taste schaltet GRÜN = B1 ein (alles Andere erlischt)
Adresse 65 > Minus-Taste schaltet ROT = A1 ein (alles Andere erlischt)
Adresse 66 > Plus-Taste schaltet GRÜN/GELB = B1 & A2 ein (alles Andere erlischt)
Adresse 66 > Minus-Taste schaltet WEISS = B2 ein (alles Andere erlischt)

Adresse 67 > Plus-Taste schaltet GRÜN = B3 ein (alles Andere erlischt)
Adresse 67 > Minus-Taste schaltet ROT = A3 ein (alles Andere erlischt)
Adresse 68 > Plus-Taste schaltet GRÜN/GELB = B3 & A4 ein (alles Andere erlischt)
Adresse 68 > Minus-Taste schaltet WEISS = B4 ein (alles Andere erlischt)

Dasselbe gilt dann auch für die Adressen 69 bis 72 .


Ansonsten bin ich sehr zufrieden mit dem Decoder und dem Aufbau. Ist auch für Anfänger zu empfehlen.

Viele Grüße
Heinz
 
Die hex-files

@Heinz
Danke für dein Feedback :)

Hier noch die in Post#2 angekündigten,vorkonfigurierten hex-files.
(Sorry, hat ein bisschen gedauert.)

Gruß flic
 

Anhänge

  • HEX-files.zip
    7,7 KB · Aufrufe: 21
Man kann auch PICs (und andere µC) mit einem USB Bootloader ausstatten... Compilieren, anstöpseln, übertragen, geht.
Nur der Bootloader muss einmal rein, Henne-Ei-Problem.
Genau deshalb finde ich ja, dass die Arduinohardware eine sehr gute Lösung darstellt. Die kleinsten Dinger mit genügenden Anschlüssen und Bootloader (z.B. Arduino mini) gibt es teils für unter 10 EUR. Es fehlt also eigentlich nur an einem Shield passend für den dekoderspezifischen Hardwareteil. Also Arduino und leeres DCC-Dekodershield kaufen, mit etwas Standardhardware bestücken, an jeden Rechner anschließen und Software hochladen. Kann jeder ohne besondere Voraussetzungen von Zusatzhardware. Für mich läge gerade der Reiz auch darin, problemlos neue Softwareversion einspielen oder modifizieren zu können. Mit dem ganz unteren Hardwarezeug wie Leiterplattenherstellung oder flashen von nackten Prozessoren möchte ich mich nicht mehr abgeben müssen. So viel Zeit und Muse hab ich einfach nicht mehr. Bei Softwaremodifikation würde ich mich dagegen sehr gern beteiligen.
 
@Hammy
Alles richtig gedacht, aber trotzdem Einspruch euer Ehren...
Nehmen wir den Arduino mini. Irgendwie muss da eine USB-Buchse dran, ebenso müssen die Anschlüsse von "Löchlein" bzw. Pin auf anwenderfreundliche Klemmen gelegt werden. Dazu kommt noch die elektronische Aufarbeitung der Signale für den entsprechenden Anwendungsfall (hier DCC in, Ausgangsleistung/spannung). Also geht es ohne die "niederwertige Arbeit" der Hardwareentwicklung und Leiterplattenherstellung sowie Lötarbeiten einfach nicht.
Um nachträgliche Softwareupdates ein zu spielen gibt es die ICSP (ISP) Schnittstelle. Das kann man bei der Schaltungsentwicklung berücksichtigen. Wobei ich diese bei der hiesigen Platine weggelassen habe, da es sich nur um eine reine Hardwareplattform handelt welche fertige Fremdsoftware verwendet. (Was mich allerdings im Nachhinein schon etwas geärgert hat, da es die preiswerten ICSP-Brenner außen vor lässt. Jedoch kann man auch dafür schnell einen ICSP-Adapter auf Lochraster zusammenlöten.)
Die Bereitstellung der vorkonfigurierten hex-files soll Nachbauern die etwas umständliche Konfiguration zu ersparen.

Zudem wollen die wenigsten selbst programmieren, sondern preiswerte Nachbauten nutzen.
Aber das kann man an anderer Stelle weiter diskutieren.
Überlassen wir diesen Thread dem Signaldecoder.

Gruß flic
 
Ich sehe den Reiz von Selbstbauprojekten nicht nur im monetären Vorteil. Der wird ja im allgemeinen ungemein schnell durch einen höheren Zeitaufwand kompensiert (die wenigstens Geldverdiener haben so viel Freizeit). Vielmehr interessant ist doch gerade, dass man einfach die Software einfach aktualisieren könnte. Kommerzielle Anbieter von Bausätzen rücken die Software oft gar nicht erst raus und/oder muss den Originalprozessor zum Update einschicken, was dann bei mehrfacher Aktualisierung leicht in die preisliche Größenordnung eines Fertigbausteins kommt.
 
Zurück
Oben