RE: Einrichtung der Zubehördecoder

#1 von Holger28 , 09.02.2018 17:22

Hallo zusammen,

ich habe eine grundsätzliche Frage zur Einrichtung der Zubehördecodern. Ich habe den Zubehördecoder von Geoff Bunza und auch von Franz-Peter erstmal nur vom DCC-Signal bis zum Arduino Pro Mini aufgebaut. Das heißt auf der DCC-Seite des 6N136 den 1 kOhm Widerstand und eine 1N4148 Diode. Auf der µC Seite 8 auf 5V, 7 nicht angeschlossen, 6 zum Pin 2 des Pro Mini und über 5 kOhm/alternativ 10 kOhm auf 5 V und 5 an GND. In Details (Brückengleichrichter vorm Optokoppler, Widerstandsdimensionierung) unterscheiden sich verschiedene Decodervorschläge, aber im Kern ist das die Schaltung.
Jetzt habe ich beide Sketche mal geflasht und versucht von RocRail und der z21-App aus den Decoder anzusteuern. Aber ich denke, ich habe ein grundsätzliches Verständnisproblem wie man Decoder einrichtet und anspricht.

Am Beispiel des unveränderten Sketch von Franz-Peter:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
...
const byte DccAddr = 20; // DCC-Decoderadresse
const byte iniMode = 0x50 | AUTOADDR /*| ROCOADDR*/; // default-Betriebsmodus ( CV47 )
const int PomAddr = 50; // Adresse für die Pom-Programmierung ( CV48/49 )
...
#define COILMOD NOPOSCHK|CAUTOOFF
#define SERVOMOD SAUTOOFF|NOPOSCHK|SDIRECT
#define STATICMOD CAUTOOFF|BLKSOFT|BLKSTRT // Wechselblinker mit beiden Leds an beim Start
const byte iniTyp[] = { FSTATIC, FSERVO, FSIGNAL2, FSIGNAL0, FVORSIG, FCOIL };
const byte out1Pins[] = { A2, 3, /*rt*/ 9, /*rt*/10, /*ge*/A0, 5 }; // output-pins der Funktionen
const byte out2Pins[] = { A3, 12, /*gn*/11, /*ws*/ 8, /*gn*/A1, 6 };
const byte out3Pins[] = { NC, NC, /*ge*/ 7, NC, NC, NC };

const byte iniFmode[] = {STATICMOD, SERVOMOD, 0, 0, 0, COILMOD };
const byte iniPar1[] = { 50, 30, 0b01001, 0b10001, 0b01, 50 };
const byte iniPar2[] = { 50, 150, 0b00010, 0b00110, 0b10, 50 };
const byte iniPar3[] = { 50, 8, 5, 0, 19, 0 };
const byte iniPar4[] = { 0, 0, 0b00101, 0, 0, 0,}; // nur für Lichtsignale!
 
 



Lese ich das richtig?
Die Adresse ist 20.

Ich habe den Artikel zur Weicheneinrichtung und auch den zur Adressierung bei Rocrail durchgelesen, aber mir ist noch nicht klar, was ich letztlich in der App oder Rocrail angeben muss. In der Adressierung wird zwischen MADA, FADA und PADA unterschieden und das man sich in der Herstellerdokumentation informieren soll, was verwendet wird. In Franz-Peters sehr guter Doku kommen die Begriffe nicht vor. Was für mich als totaler Einsteiger in Rocrail eine Hürde darstellt.

Ich habe bisher nur Lokdecoder angesprochen, was funktioniert. Einen anderen Decoder habe ich nicht. Darum kann ich derzeit gar nicht unterscheiden, ob ich den Zubehördecoder falsch aufgebaut habe oder die Konfiguration nur falsch angelegt habe oder sogar beides.

Meine Bitte: Kann mir jemand an Franz-Peters Sketchvorschlag bitte erklären, was genau ich bei der Weicheneinrichtung in Rocrail eintragen muss?

Viele Grüße,
Holger


Holger28  
Holger28
InterRegioExpress (IRE)
Beiträge: 280
Registriert am: 31.01.2018
Ort: Bayern
Gleise Märklin M
Spurweite H0
Steuerung DCC z21PG, z21-App, Rocrail
Stromart Digital


RE: Einrichtung der Zubehördecoder

#2 von Modelltraumland , 09.02.2018 20:55

Hallo Holger,

die z21 funktioniert nur mit flacher Adressierung (FADA) Demzufolge solltest Du in Rocrail Adresse 20 und Port 0 einstellen. Aber Achtung: in der Grundeinstellung der z21 gibt es einen Adressversatz von +4 zwischen den Zubehöradressen der Multimaus/App und Rocrail. Das kannst Du aber über das z21 maintenance anpassen. Wie das geht, ist hier unter "Besonderheit" beschrieben. http://wiki.rocrail.net/doku.php?id=roco...z21-de#z21start Ich kann allerdings nicht sagen, ob das auch für die z21 von P. Gahtow zutrifft.


VLG Bernd

Tillig Elite H0, 2-Leiter, Rocrail mit Tams MC DCC (Loks), IB-com MM (Weichen Signale), GCA101 Loconet (Rückmeldung), DC-Car, Light@Night Lichtsteuerung, Ampelsteuerung Arduino http://www.modelltraumland-wuppertal.de/


Modelltraumland  
Modelltraumland
InterCity (IC)
Beiträge: 839
Registriert am: 27.01.2017
Homepage: Link
Gleise Tillig Elite
Spurweite H0
Stromart Digital


RE: Einrichtung der Zubehördecoder

#3 von MicroBahner , 09.02.2018 22:09

Hallo Holger,

Zitat

Jetzt habe ich beide Sketche mal geflasht und versucht von RocRail und der z21-App aus den Decoder anzusteuern. Aber ich denke, ich habe ein grundsätzliches Verständnisproblem wie man Decoder einrichtet und anspricht.

Der Decoder reagiert - als Zubehördecoder - nur auf Weichenbefehle. Bei meinem Decoder, wenn Du die Konfigdatei unverändert lässt, auf die Adressen 20 - 25. Zum Ausprobieren musst Du auch erstmal am Decoder gar nichts weiter einrichten. Du schreibst allerdings, dass Du nur die DCC-Seite aufgebaut hast. Wie erkennst Du denn dann überhaupt, ob der Decoder reagiert? Zumindest Led's solltest Du an die entsprechenden Ausgänge anschliessen, damit Du siehst ob etwas passiert. Hast Du das gemacht?

Die Begriffe MADA, PADA und FADA sind mir zugegebenermaßen auch neu, sie scheinen Rockrail spezifisch zu sein. In den NMRA Normenblättern sind die mir jedenfalls noch nicht begegnet. Dort heist es für CV29 beim Zubehördecoder nur:
Bit 6 = Addressing Method: ‘0’= Decoder Address method; ‘1’ = Output Address method
Wobei dann wohl '0' = MADA und '1' = PADA bedeuten würde. Mein Decoder verwendet standardmäßig die 'Output Address method'.
Letztendlich ist es aber eigentlich egal, entscheidend ist die Weichenadresse.

Da ich keine Z21 habe, kann ich dazu nichts sagen. Rocrail habe ich mir nur mal für meine Tests mit Loconet Interface installiert, dort aber nichts eingerichtet. Es gibt dort unter Menue -> Steuerung -> Weichensteuerung eine einfache Maske, mit der man Weichen direkt ansprechen kann. Die Maske ist mit Dekodernummer und 4 Weichen je Decoder aufgebaut. Wenn man mit der Maus über eines der grünen oder roten Felder geht, wird auch die Weichenadresse (pada) angezeigt. Bei Decodernr 5 und Ouput 4 kommst Du auf Adresse 20, womit dann der erste Ausgang des Dekoders reagieren sollte. Wie das dann aber im Zusammenspiel mit der Z21 funktioniert, kann ich nicht sagen.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Einrichtung der Zubehördecoder

#4 von Holger28 , 10.02.2018 00:32

Hallo Franz-Peter,

Zitat

Du schreibst allerdings, dass Du nur die DCC-Seite aufgebaut hast. Wie erkennst Du denn dann überhaupt, ob der Decoder reagiert? Zumindest Led's solltest Du an die entsprechenden Ausgänge anschliessen, damit Du siehst ob etwas passiert. Hast Du das gemacht?


Ja, das ist bei deinem Decoder allerdings richtig. Ich hatte als erstes den von Geoff Bunza drauf und der gibt Rückmeldung über die serielle Schnittstelle, wenn was empfangen wurde.
Aber ich werde jetzt deinen Decoder mal bis einschließlich ULN2803 zusammenbauen und dahinter kann ich dann erstmal LED anschließen.
Gehe ich recht in der Annahme, dass ich statt 1N4148 auch 1N4004 nehmen kann? Die sollen ja nur gleichrichten, richtig?
Als Optokoppler muss ich statt CNY17 auf CNY57A zurückgreifen. Die Eckdaten der beiden OK sind ähnlich. Ich hoffe das der CNY17 nicht speziell für diesen Einsatz ausgesucht wurde.

Zitat

Es gibt dort unter Menue -> Steuerung -> Weichensteuerung eine einfache Maske, mit der man Weichen direkt ansprechen kann. Die Maske ist mit Dekodernummer und 4 Weichen je Decoder aufgebaut. Wenn man mit der Maus über eines der grünen oder roten Felder geht, wird auch die Weichenadresse (pada) angezeigt. Bei Decodernr 5 und Ouput 4 kommst Du auf Adresse 20, womit dann der erste Ausgang des Dekoders reagieren sollte.


Diese Weichensteuerung hate ich noch nicht gesehen. Das sieht nach einer schnellen Möglichkeit aus die Einstellungen durchzuprobieren, auch für den Fall, dass bei der Z21-Variante eine Verschiebung auftritt.

Hallo Bernd, danke für den Hinweis zum möglichen Versatz. Dann bin ich darauf zumidnest schon mal vorgewarnt, falls sich mit Adresse 20 nichts tut.

Danke euch beiden.
Gruß,
Holger


Holger28  
Holger28
InterRegioExpress (IRE)
Beiträge: 280
Registriert am: 31.01.2018
Ort: Bayern
Gleise Märklin M
Spurweite H0
Steuerung DCC z21PG, z21-App, Rocrail
Stromart Digital


RE: Einrichtung der Zubehördecoder

#5 von MicroBahner , 10.02.2018 10:17

Hallo Holger,
vielleicht noch ein paar zusätzliche Info's zur Adressierung von Zubehördecodern und MADA/PADA/FADA - 'decoder-addressing' und 'output addressing'.
Grundsätzlich gibt es in DCC nur ein Weichentelegramm. Egal welche Adressierungsart, letztendlich entsteht immer das gleiche Weichentelegramm. Es ist nur eine Frage der Interpretation der empfangenen Daten. Dabei geht es darum, bei welchen Weichenadressen sich der Decoder angesprochen fühlt.
Bei 'decoder addressing' - der ursprünglichen Art - werden die Weichenadressen in 4-er Blöcke zusammengefasst und ein Decoder reagiert immer auf einen gesamten Block. Also Adressen 1-4, 5-8 oder 9-12 usw. Dabei entspricht der Block 1-4 der Decoderadresse 1, Block 5-8 der Decoderadresse 2 ... und so fort. Wobei es vom übertragenen DCC-Telegrammm her völlig egal ist, ob Du die 1. Weiche im Decoder 2 adressierst oder die Weichenadresse 5 - die Zentrale erzeugt in beiden Fällen ein identisches Telegramm. Durch die festen 4-er Blöcke ist dies auf Decoderseite aber recht unflexibel. In Rocrail ist das MADA.

Bei 'output adressing' wertet der Decoder direkt die Weichenadresse aus. Die 4-er Blockung gibt es nicht. Du kannst eine beliebige Startadresse und Blocklänge festlegen, auf die der Decoder reagiert. So macht das mein Decoder: Die Startadresse legst Du im Konfigfile fest und die Blocklänge ergibt sich aus der Zahl der definierten Funktionen. Die Startadresse lässt sich auch später noch per CV-Programmierung ändern. Das dürfte dann PADA in Rocrail sein.

Aber wie gesagt, das übertragene Weichentelegramm ist immer dasselbe - es ist rein eine Frage der Interpretation im Decoder.

FADA dürfte damit zusammenhängen, dass die 'klassischen' Weichendecoder für jede Weichenadresse 2 Ausgänge haben: einen für jede Spule. Die werden dann normalerweise über 'geradeaus' oder 'abzweig' angesprochen und können auch jeweils getrennt ein- und ausgeschaltet werden. Die meisten Weichendecoder verlassen sich aber nicht auf das Ausschalten per DCC-Befehl, sondern schalten die Spule als Schutz gegen Durchbrenne selbstständig wieder aus. Bei Servoantrieben oder z.B. Lichtsignalen macht das in der Form aber keinen Sinn mehr.
Evtl. kann Rockrail die bei FADA als unabhängige Ausgänge individuell ansteuern - da müsste ein Rocrail Spezialist was zu sagen. Das muss dann aber auch der Decoder unterstützen, und darf z.B. nicht von sich aus abschalten.

Den unterschiedlichen Offset der Weichenadressen bei ROCO kannst Du übrigens auch bei meinem Decoder berücksichtigen. Wenn Du in dieser Zeile:

1
2
 
const byte iniMode          = 0x50 | AUTOADDR /*| ROCOADDR*/;  // default-Betriebsmodus ( CV47 )
 
 

die Kommentarzeichen um ROCOADDR entferntst:

1
2
 
const byte iniMode          = 0x50 | AUTOADDR | ROCOADDR;  // default-Betriebsmodus ( CV47 )
 
 

berücksichtig der Decoder die verschobenen Weichenadressen bei Roco.


War jetzt viel Text, aber vielleicht hilft es dir etwas.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Einrichtung der Zubehördecoder

#6 von MicroBahner , 10.02.2018 10:37

Zitat

Gehe ich recht in der Annahme, dass ich statt 1N4148 auch 1N4004 nehmen kann? Die sollen ja nur gleichrichten, richtig?
Als Optokoppler muss ich statt CNY17 auf CNY57A zurückgreifen. Die Eckdaten der beiden OK sind ähnlich. Ich hoffe das der CNY17 nicht speziell für diesen Einsatz ausgesucht wurde.

Die 1N4004 ist zwar reichlich überdimensioniert, sollte aber genauso funktionieren.
Der Optokoppler für das Ack-Signal zum Auslesen der CV-Werte ist recht unkritisch, da sollte eigentlich so ziemlich jeder Feld-Wald und Wiesen Koppler gehen.

Zitat

Ja, das ist bei deinem Decoder allerdings richtig. Ich hatte als erstes den von Geoff Bunza drauf und der gibt Rückmeldung über die serielle Schnittstelle, wenn was empfangen wurde.

Grundsätzlich kannst Du bei meinem Decoder auch das Debugging einschalten ( in srcDebugDefs.h ). Allerdings gibt er dann eine Ganze Menge mehr an Information aus, mit denen Du wahrscheinlich wenig anfangen kannst. Aber ob ein Telegramm empfangen wurde, solltest Du erkennen können.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Einrichtung der Zubehördecoder

#7 von Holger28 , 11.02.2018 14:08

Hallo,

so, nach einer Lötaktion bis 3:00 Uhr morgens und einem Fehlschlag heute morgen, ich habe den 6N136 gegrillt weil ich einen Kontakt zwischen Ausgang D1 und R2 verursacht hatte , habe ich jetzt den Decoder am Laufen! Eigentlich ist der Aufbau ja gar nicht so komplex, aber wenn das ganze halbwegs platzsparend auf eine Lochrasterplatine soll, muss ich schon etwas Zeit in die Anordnung investieren. Ich habe ihn mit Platz für 8 Relais auf 100x100 mm untergebracht. Die Relais habe ich zum Testen erstmal nicht bestückt.

Es ist schon interessant, wie sehr man sich über eine blinkende LED freuen kann

Bernds Hinweis zum Versatz um 4 bei den Adressen trifft auch auf die z21 von Philipp Gahtow zu.

Die Tests habe ich jetzt erstmal mit der z21-App gemacht, Rocrail muss ich noch testen, aber jetzt bin ich schon mal einen riesen Schritt weiter, dank Eurer Hilfe! Vielen herzlichen Dank dafür.

Gruß,
Holger


Holger28  
Holger28
InterRegioExpress (IRE)
Beiträge: 280
Registriert am: 31.01.2018
Ort: Bayern
Gleise Märklin M
Spurweite H0
Steuerung DCC z21PG, z21-App, Rocrail
Stromart Digital


RE: Einrichtung der Zubehördecoder

#8 von Murdock412 , 16.03.2018 10:29

Moin,

nach vielem Lesen habe ich doch jetzt auch mal eine Frage. Ich bekomme leider gar nichts zum Laufen....

Bis jetzt habe ich meine Anlage, also Weichen und Signale, über Arduinos mit dem Atmega 328P betrieben, alles selbst zusammengelötet und verdrahtet. Das Ganze läuft klassisch über Schalter, die über die Arduinos die entsprechenden Weichenservos ansteuern. Das klappt auch soweit ganz gut. Da die z21 ja auch das Schalten per App zulässt, hab ich mich jetzt mit dem Mufudecoder auseinandergesetzt, also die Adapterplatine gelötet und entsprechend an meinen Arduino angeschlossen. Die NMRA-Demo bekomme ich auch zum Laufen, über den seriellen Monitor kann man auch wunderbar sehen, wie die Adresse angesprochen wird und die jeweiligen Funktionen verarbeitet werden.

Jetzt zu meinem Problem: Ich bekomme den Decoder mit der DCC V5.0 überhaupt nicht zum Laufen.... hab ehrlich gesagt keinen Plan, was ich noch Ändern muss, um irgendeine Reaktion zu bekommen, falsche .h-Datei, Adressierung,..... bin mit meinem Latein am Ende. Ich hoffe, hier hat jemand eine Idee.

Vielen Dank schonmal,

Gruß, Vincent


Murdock412  
Murdock412
Beiträge: 8
Registriert am: 20.07.2014


RE: Einrichtung der Zubehördecoder

#9 von MicroBahner , 16.03.2018 14:11

Hallo Vincent,
um dir helfen zu können, bräuchten wir schon etwas mehr Informationen, was Du bisher gemacht hast.

Zitat

Ich bekomme den Decoder mit der DCC V5.0 überhaupt nicht zum Laufen...

Ich nehme mal an, damit meinst Du diesen.
Da wäre erstmal die Frage, wie dein Konfig (.h) File aussieht. Wenn die NMRA-Besipiele funktionieren, sollte die DCC-Eingangsschaltung ok sein. Aber welche Version der Lib hast Du installiert? Du solltest auf jeden Fall die 1.4.2 nehmen - die aktuelle von Github funktioniert noch nicht richtig. Zusammen mit meinem Zubehördecoder geht da gar nichts.

Zitat

Da die z21 ja auch das Schalten per App zulässt, hab ich mich jetzt mit dem Mufudecoder auseinandergesetzt

Dieser Decoder ist kein MuFu-Decoder. Auf solche Befehle reagiert er nicht. Es ist ein Zubehördecoder, der nur auf 'Weichenbefehle' reagiert.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Einrichtung der Zubehördecoder

#10 von Murdock412 , 16.03.2018 20:50

Hi Franz-Peter,

danke für die schnelle Antwort.

Genau den meine ich, hab ich vergessen mit einzutragen.

Ich hab aktuelle Moba-Tools 1.0.1 und die NMRA 1.4.2 (nicht Master) aus dem betreffenden Post mit runtergeladen, war ja explizit drauf hingewiesen, das die Master-Version nicht kompatibel ist.

An der .h-Datei hab ich bisher noch gar nichts weiter verändert. Sobald ich den Sketch lade, tauchen zwei .h-Dateien zusätzlich auf, einmal DCC-Zubehördecoder-STM32.h und die DCC-Zubehördecoder.h . Es gibt ja auch die .h-Datei, die auf den Namen ATMEGA hört. Allerdings weiß ich nicht ob und wenn ja, wie ich diese einbinden muss. Dann muss im Sketh doch sicher auch was angepasst werden, oder? Zumindest vermute ich, dass die die "Richtigere" ist, da ich das Ganze auf einem Arduino Uno mit Atmega 328P laffähig haben möchte ( hab ich zehn Stück von für meine bisherige Steuerung).

In der z21-App hab ich eine Weiche angelegt, bin über die Adressen 17 und 20 gestolpert und hab in dem Bereich auch alle Adressen versucht (wg der Verschiebung um 4 bei Roco, die aber laut z21-maintenance ausgeschaltet ist).

Leider ist die Anleitung und Dokumentation der z21 sehr dürftig, vieles findet man dort nur über mehrere Ecken heraus. Im ärgsten Fall mach ich da was falsch... das bezweifel ich aber momentan, da bisher eigentlich immer alles funktioniert hat.

Bin momentan echt abgenervt und zweifel an meinen Programmierkünsten bzw. am Verständnis dafür So schwer kann es ja nicht sein, aber ich komm nicht drauf, wo ich da was übersehen habe.


Murdock412  
Murdock412
Beiträge: 8
Registriert am: 20.07.2014


RE: Einrichtung der Zubehördecoder

#11 von MicroBahner , 17.03.2018 14:54

Hallo Holger,
die 'DCC-Zubehördecoder.h' ist die Datei, die normalerweise eingebunden wird, und die die Konfiguration des Decoders bestimmt. ( Die 'DCC-Zubehördecoder-STM32.h' wird stattdessen benutzt, wenn Du für einen STM32-Prozessor übersetzt - für dich also irrelevant ).
Die standard - 'DCC-Zubehördecoder.h' ist für einen Arduino Nano ausgelegt, weil der m.M. nach für einen Selbstbau-Decoder besser geeignet ist als der UNO, weil man ihn auf eine eigene Platine aufstecken kann. Die bisherigen Platinenentwürfe von Stummikollegen basieren auch alle darauf.
Im Prinzip ist er mit dem UNO voll kompatibel, hat aber 2 Analogeingänge mehr, die in der Konfig auch benutzt werden. Für den UNO muss die .h-Datei deshalb angepasst werden. Wie, hängt natürlich von deiner Beschaltung des UNO ab. Wie hast Du das denn vorgesehen?
Die 'DCC_Zubehoerdecoder-ATMEGA.h' aus dem examples Verzeichnis kannst Du für erste Versuche nehmen, die verwendet nur Pins, die es am UNO gibt. Um sie einzubinden, kopierst Du sie ins Verzechnis mit der .ino-Datei und benennst sie in 'DCC-Zubehördecoder.h' um ( das Original solltest Du vielleicht vorher sichern oder entsprechend umbenennen, so dass es nicht überschrieben wird ).
Eine Beschaltung des Betriebsmode-Pins (betrModeP) und des Rücksetz-Pins (resModeP) brauchst Du auf jeden Fall, da sie im Hochlauf abgefragt werden, und das weitere Verhalten des Dekoders beeinflussen.

Zum Testen kannst Du auch in der Datei srcDegugDefs.h den Debug-Modus einschalten. Dann werden viele Info's auf dem seriellen Monitor ausgegeben. Dazu must Du in der Zeile

1
2
 
//#define DEBUG
 
 

die Kommentarzeichen am Anfang entfernen.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Einrichtung der Zubehördecoder

#12 von Murdock412 , 21.03.2018 23:20

Guten Abend,

nach ein wenig herumprobieren hats jetzt endlich funktioniert. Ich habe die .h-Datei an die jeweiligen I/Os angepasst und in meiner z21 die Adressverschiebung per Maintenance-Programm entfernt. Und siehe da, ich kann wie geplant meine Servos ansteuern und programmieren. Sehr geile Sache, dann kann mein Um- und Rückbau ja starten.


Murdock412  
Murdock412
Beiträge: 8
Registriert am: 20.07.2014


RE: Einrichtung der Zubehördecoder

#13 von MicroBahner , 23.03.2018 11:10

Super, dass es jetzt funktioniert . Dann mal viel Erfolg weiterhin.
Und wenn Du wieder mal Fragen hast, nur zu...


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Einrichtung der Zubehördecoder

#14 von nitramesor , 02.05.2018 19:29

Guten Abend,

ich bin neu im Forum und beschäftige mich zur Zeit mit dem DCC-Zubehördecoder.
Die hier bereits geleistete Arbeit finde ich hervorragend und Versuche den Decoder umzusetzen.
Mein Problem ist dass, ein Servo mit Polarisation an der ersten Adresse funktioniert und die an folgenden Adressen konfigurierten Servo mit Pol. und FSTATIC LEDs nicht.
Nach Ausgabe der Konfiguration mit der DEBUG-Funktion stehen für das erste Servo korrekte werte für die folgenden Adressen steht für Mode und Par überall der Wert 255 obwohl in der DCC_Zuberhoerdecoder.h andere Werte eingetragen sind. Verwendet werden die aktuelle Version und NmraDCC 1.4.2 Library.

Ich komme mit meinem Latein nicht weiter und wäre für Lösungsvorschläge wäre ich sehr Dankbar.[attachment=0]Files.zip[/attachment]

Viele Grüße
Martin

Dateianlage:
Sie haben nicht die nötigen Rechte, um die angehängten Dateien zu sehen

nitramesor  
nitramesor
Beiträge: 4
Registriert am: 01.05.2018
Spurweite N
Stromart Digital


RE: Einrichtung der Zubehördecoder

#15 von MicroBahner , 02.05.2018 21:18

Hallo Martin,
hast Du auch mal die Werte aus der .h Datei neu in die CV's geladen? Dazu muss in deiner Konfiguration beim Start des Arduino der Pin A6 (resModeP) auf Gnd gelegt werden.
Nachdem erstmalig die Werte aus der DCC_Zubehoerdecoder.h ins EEprom geladen wurden (erkannt am Inhalt von CV47) werden die Werte aus der .h Datei danach nicht mehr automatisch bei jedem Programmstart geladen ( auch nicht, wenn das Programm neu übertragen wird ). Wenn also danach die Konfigurationsdatei geändert wurde, muss das dann über einen entsprechenden Startmodus erzwungen werden:
Standardmäßig ( für einen UNO ) sind das A5/A4 ( betrModeP und resModeP ):

1
2
3
4
5
6
7
8
9
 
 *     A5:   5V (offen) normaler Betriebsmodus, kein PoM
* 3,3V (Spannungsteiler 1:2) PoM immer aktiv, Adresse immer aus defaults
* 1,6V (Spannungsteiler 2:1) IniMode: CV's werden immer auf init-Werte aus .h-Datei gesetzt
* 0V Programmiermodus / PoM ( 1. Empfamgenes Telegramm bestimmt Adresse )
* A4: wird A4 auf 0 gezogen , wird der aktuell vom Drehencoder beeinflusste Servo in die
* Mittellage gebracht. Sobald der Encoder wieder bewegt wird, bewegt sich das Servo wieder
* zur vorhergehenden Position.
* Ist A4 beim Programmstart auf 0, werden alle CV's auf die Defaults zurückgesetzt
 
 

In deiner Konfiguration ist das auf A7/A6 geändert ( Was bei einem Nano Sinn macht ).

Du kannst auch durch einen entsprechenden Spannungsteiler an betrModeP(A7 bei dir) erreichen, dass bei jedem Programmstart die Werte aus der DCC_Zubehoerdecoder.h übernommen werden. Gerade bei Servos ist das aber nicht so gut, da dann ja auch evtl. eingestellte Endpositionen wieder überschrieben würden. Das ist ja auch ein Grund, weshalb das normalerweise nicht gemacht wird.

Wenn Du CV's programmieren kannst, kann auch durch einen Schreibbefehl auf Adresse 8 ein Rücksetzen auf die Werte aus der .h Datei ausgelöst werden.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Einrichtung der Zubehördecoder

#16 von nitramesor , 02.05.2018 22:38

Hallo Franz-Peter,

vielen Dank für die schnelle Antwort, das war natürlich die Lösung. Manchmal sieht man den Wald vor lauter Bäume nicht, ich habe die Anleitung mehrfach durchgelesen und das mit dem Reset schlicht und einfach überlesen.

Ein Frage in eigener Sache hätte ich da noch - da ich lieber mit bistabile Relais (HFD2) arbeite, besteht die Möglichkeit mit zwei Ausgängen zur Herzstückpolarisation den jeweiligen Ausgang (Set / Reset) mit einem Impuls zu belegen? Dies sollte wie beim einfache Relais dann mitten im Stellweg des Servos erfolgen. Es würde mir auch reichen wenn ich im Code die Funktion kenne die die Ausgänge stellt, dann könnte ich mir die gewünscht Funktionalität ggf. selber im Code erarbeiten.

Vielen Dank für dieses interessante Projekt.

viele Grüße
Martin


nitramesor  
nitramesor
Beiträge: 4
Registriert am: 01.05.2018
Spurweite N
Stromart Digital


RE: Einrichtung der Zubehördecoder

#17 von MicroBahner , 03.05.2018 10:15

Hallo Martin,

Zitat

besteht die Möglichkeit mit zwei Ausgängen zur Herzstückpolarisation den jeweiligen Ausgang (Set / Reset) mit einem Impuls zu belegen?

Grundsätzlich kann man ja fast alles machen . Etwas aufwändiger wird es wegen des Impulses. Da die Servo-Funktion bisher keine zeitabhängigen Funktionalitäten kennt, wird da auch kein Timer eingerichtet. Wie lange darf denn der Impuls sein? Am einfachsten wäre es, das von der Servobewegung abhängig zu machen: In der Mitte einschalten, und an der Endposition ausschalten. Um den Puls kürzer zu machen, könnte man auch etwas vor der Endposition abschalten. Wenn man die Pulslänge so über die Servobewegung definiert, dürfte sich der Aufwand sehr in Grenzen halten.
Um es allgemein nutzbar zu machen, bräuchte man dann noch ein Flag im Modus-CV des Servos. Wäre halt die Frage wie groß das Interesse daran ist. Soweit ich das bisher gesehen habe, verwenden die meisten schon unipolare Relais. Sie sind billiger, und die Ansteuerung ist einfacher. Vielleicht melden sich aber auch noch weitere Interessenten.

Zitat

Es würde mir auch reichen wenn ich im Code die Funktion kenne die die Ausgänge stellt, dann könnte ich mir die gewünscht Funktionalität ggf. selber im Code erarbeiten.

Die Servo- und Relaissteuerung passiert in der Methode 'process()' der Servo-Klasse ( Relaisausgänge ab Zeile 291 in FuncClasses.cpp ).

P.S. Als 'Speziallösung' ohne Parametrierbarkeit müsste es reichen, den else-Block ( '// Variante mit 2 Relais' ) durch folgenden Code zu ersetzen ( ungetestet! ):

1
2
3
4
5
6
7
8
9
10
11
12
13
 

if ( _weicheS.moving() < 25 ) { // durch Ändern der 25 ( 1...ca. 40 ) kann die Impulslänge angepasst werden
// beide Pulsausgänge abschalten
_digitalWrite( _outP[REL1P], OFF );
_digitalWrite( _outP[REL2P], OFF );
} else if ( _weicheS.moving() < 50 ){
// ab Mitte den zugehörigen Pulsausgang (Richtungsabhängig) einschalten
if ( _flags.isAbzw )
_digitalWrite( _outP[REL2P], ON );
else
_digitalWrite( _outP[REL1P], ON );
}
 
 


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Einrichtung der Zubehördecoder

#18 von nitramesor , 03.05.2018 20:12

Hallo Franz-Peter,

dein geänderter Code habe ich eingefügt und die Relais mit LEDs visualisiert. Optisch sind die Schaltvorgänge (set / reset) genau das was ich gewünscht habe. Eine Parametrierung ist für mich nicht unbedingt erforderlich, die Impulsdauer ist optisch gesehen OK. Mechanisch mit Relais kann ich momentan keine Aussage machen da nach Erweiterung der Schaltung mit ULN2803A und bistab. Relais der Arduino ProMicro aus irgendwelchem Gründe nicht mehr auf DCC reagiert. Auch nachdem ich die Änderung rückgängig gemacht habe, reagiert die Schaltung nicht mehr.
Ich werde den Fehler heute nicht mehr suchen, und melde mich wieder sobald ich es Beseitigt habe und mit den Relais getestet habe.

Vielen Dank und viele Grüße
Martin


nitramesor  
nitramesor
Beiträge: 4
Registriert am: 01.05.2018
Spurweite N
Stromart Digital


RE: Einrichtung der Zubehördecoder

#19 von nitramesor , 04.05.2018 20:32

Hallo Franz-Peter,

nachdem ich den Optokoppler ausgetauscht habe konnte ich meine Schaltung mit bistabilen Relais testen - das Ergebnis ist super.

Leider tritt folgendes Problem beim Initialisieren des Decoders auf:
Je nach Stellung des Servos (Abzweig) nach dem ausschalten wird beim initialisieren ein Ausgang mit einem kurzen Impuls angesteuert und somit das Relais zum Umschalten gebracht, das Servo behält seine Position.
In der anderen Stellung (Gerade) ändert sich die Position des Servos zum Abzweig und Relais wird ebenfalls umgeschaltet. Kann man dieses Verhalten mit wenig Aufwand unterbinden?

viele Grüße aus Viersen,
Martin


nitramesor  
nitramesor
Beiträge: 4
Registriert am: 01.05.2018
Spurweite N
Stromart Digital


RE: Einrichtung der Zubehördecoder

#20 von MicroBahner , 04.05.2018 21:57

Hallo Martin,
ja stimmt - da war doch noch was ... . Das Einrichten der Servoklasse im Konstruktor wird natürlich noch nach der Standardfunktionalität gemacht - und bei 2 Relais wird da eines immer statisch eingeschaltet. Das muss auch noch an deine Beschaltung angepasst werden. Insgesamt ist die Ansteuerung mit bistabilen Relais etwas problematischer als mit monostabilen. Bei einem monostabilene Relais ergibt sich die Stellung immer eindeutig aus der statischen Ansteuerung des Ausgangspins - bei einem bistabilen nicht. Du hast einen externen Speicher, den der Decoder nicht auslesen kann. Beim Servo ist es allerdings ähnlich.
Auf jeden Fall muss auch der Konstruktor angepasst werden. Ich werde mir das mal anschauen - wahrscheinlich müsste man da auch einen Impuls für das Relais erzeugen, da kann man ihn aber nicht von der Servobewegung ableiten. Da das ganze nur im Setup passiert, könnte man in dem Fall vielleicht auch einfach ein delay nutzen ...


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


   


  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz