Servo-Ansteuerung für Weichenbefehle

little.yoda
Site Admin
Beiträge: 882
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 33 Mal
Danksagung erhalten: 143 Mal

Re: Servo-Ansteuerung für Weichenbefehle

Beitrag von little.yoda » 05.05.2019, 21:03

Nach allem was ich gelesen habe, werden die DCC Befehle nicht korrekt dekodiert.
Die Verschiebung der Weichenadresse kommt erst später ins Spiel und braucht uns gerade noch nicht zu interessieren.

Ich kann die DCC-Dekodierung leider gerade nicht testen und ich habe sie auch schon relativ lange nicht mehr getestet.
Ich setze das Thema mal auf die TODO Liste, kann dir aber noch nichts versprechen.

Welche ESP8266 setzt du ein? Nodemcu, D1 mini, ...

Lorenzo
Beiträge: 34
Registriert: 20.04.2019, 19:24
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Servo-Ansteuerung für Weichenbefehle

Beitrag von Lorenzo » 05.05.2019, 21:15

Danke für deine Unterstützung.

Ich setze den ESP 12E ein.

Beste Grüße
Lorenzo

Lorenzo
Beiträge: 34
Registriert: 20.04.2019, 19:24
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Servo-Ansteuerung für Weichenbefehle

Beitrag von Lorenzo » 06.05.2019, 10:56

Ich habe den DCC Eingang mal mit einem Logic Analyzer überprüft. Das anliegende Signal ist für eine Weiche mit der Adresse 8. Für mich sieht das Signal soweit sauber aus:
Weiche 8.png
Weiche 8.png (42.68 KiB) 7080 mal betrachtet
Vielleicht hilft das ja bei der Ursachenforschung weiter.

Beste Grüße
Lorenzo

little.yoda
Site Admin
Beiträge: 882
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 33 Mal
Danksagung erhalten: 143 Mal

Re: Servo-Ansteuerung für Weichenbefehle

Beitrag von little.yoda » 09.05.2019, 20:22

Ich habe die Schaltung jetzt endlich wieder zusammen, so dass ich hoffentlich am WE testen kann.

little.yoda
Site Admin
Beiträge: 882
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 33 Mal
Danksagung erhalten: 143 Mal

Re: Servo-Ansteuerung für Weichenbefehle

Beitrag von little.yoda » 10.05.2019, 14:36

Ich kann bestätigen, dass es nicht funktioniert.

Bei mir ein ähnlicher Fall: LogicAnalyser sagt alles gut, ESP8266 empfängt nichts.

Aktueller Stand:
- Die DCC Signale lösen Interrupts aus, aber es werden keine Befehle erkannt.

Lorenzo
Beiträge: 34
Registriert: 20.04.2019, 19:24
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Servo-Ansteuerung für Weichenbefehle

Beitrag von Lorenzo » 10.05.2019, 14:45

Danke für den aktuellen Zwischenstand. Falls ich zur Unterstützung auch etwas testen kann, sag mir bitte Bescheid.

Norbert
Beiträge: 300
Registriert: 31.12.2018, 08:07
Hat sich bedankt: 1 Mal
Danksagung erhalten: 71 Mal

Re: Servo-Ansteuerung für Weichenbefehle

Beitrag von Norbert » 10.05.2019, 15:36

Hallo,
hier wurde heute auch mit DCC-Einspeisung gespielt.
In meiner noch existierenden Steckbrettanordnung für SUSI ist noch die .bin von Dez. 2017 drauf,
damit wird DCC erkannt.
Vielleicht hilft diese Erkenntnis ja, sieht so aus, als wäre der Fehler also neueren Datums.

VG Norbert

little.yoda
Site Admin
Beiträge: 882
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 33 Mal
Danksagung erhalten: 143 Mal

Re: Servo-Ansteuerung für Weichenbefehle

Beitrag von little.yoda » 10.05.2019, 17:04

Nach gefühlt unendlichen Stunden, die keinen Spaß gemacht haben, habe ich den Fehler gefunden.

Ursache ist ein Fehler in der NmraDcc Lib, genauer, in der Funktion ExternalInterruptHandler.
Hier werden die Abstände der Flanken berechnet:

Code: Alles auswählen

static word  lastMicros;
unsigned int actMicros, bitMicros;

....

actMicros = micros();
bitMicros = actMicros-lastMicros;

micros() liefert aber ein unsigned long zurück. Damit sind die Felder zu klein und die berechneten Werte machen keinen Sinn.

Norbert hat geschrieben:
10.05.2019, 15:36
In meiner noch existierenden Steckbrettanordnung für SUSI ist noch die .bin von Dez. 2017 drauf,
damit wird DCC erkannt.
Vielleicht hilft diese Erkenntnis ja, sieht so aus, als wäre der Fehler also neueren Datums.
Diese Aussage wundert mich jetzt gar nicht. Ich habe nämlich in die Sourcen geschaut und es gab in diesem Bereich seit der ersten Version keine relevanten Änderungen.

Aber ..... Ich habe keine Idee warum es in der Vergangenheit funktioniert hat und nun nicht mehr.
Wenn ich viel Nerv habe, werde ich mal schauen, ob micros() in der Vergangenheit einen anderen Rückgabe Type hatte.


Ein fertiges Binary bekommt ihr später am Abend. Ich muss erstmal wieder aufräumen.


Gruß,
Sven

Lorenzo
Beiträge: 34
Registriert: 20.04.2019, 19:24
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Servo-Ansteuerung für Weichenbefehle

Beitrag von Lorenzo » 10.05.2019, 17:38

Kann es evtl, sein, dass die Arduino IDE den unsigned int anders übersetzt, als z.B. eclipse oder andere IDE?

Nur mal so als spontane Idee...

little.yoda
Site Admin
Beiträge: 882
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 33 Mal
Danksagung erhalten: 143 Mal

Re: Servo-Ansteuerung für Weichenbefehle

Beitrag von little.yoda » 10.05.2019, 19:47

Alle IDEs greifen auf das gleiche ESP8266-Arduino Framework zurück, so dass es dort keinen Unterschied geben sollte.
Keine Ahnung, warum es überhaupt mal funktioniert hat.


Die Version 1.1.9 sollte jetzt aber funktionieren:
https://github.com/littleyoda/littleyod ... tag/v1.1.9




Erinnerung an mich selber:
Auf der nächsten Testplatine auch die Bauteile für die DCC-Decoderiung vorsehen.
Dateianhänge
TestAufbau.png
TestAufbau.png (1.35 MiB) 7039 mal betrachtet

Antworten