und es geht doch, DCC Dekoder in BASCOM

#3427787
Lesenswert?

Hallo zusammen,
nachdem meine kleine Modelleisenbahn (http://moba.dh2faa.de) mit dem 
digitalen System DCC läuft, habe ich mir überlegt, ob man einen eigenen 
DCC Dekoder bauen kann. Als Plattform soll meine eigenes Board mit dem 
TINY45 dienen.
Programmiert wird mit BASCOM. Und, es hat geklappt, ich habe mit BASCOM 
ein Gerüst für einen DCC Dekoder entwickelt. Mit nur ganz wenig 
Änderungen lässt sich daraus einen Funktionsdekoder machen. Für einen 
Lokdekoder müssen noch
Motoransteuerung und Regelung implementiert werden. Auch das Setzen der 
Adresse per DCC fehlt noch. Die Adresse ist auf 99 fest eingestellt.
Der Sourcecode ist hier: http://moba.dh2faa.de/dcc/dccdekoder.bas
Ich bin auf euer Feedback gespannt,
viel Spaß, Heiko, DH2FAA
#3895565
Lesenswert?

Hallo Heiko,
bist Du noch an dem Projekt dran. Würde mich gern einbringen.
Ist der DA-Wandler das Problem ?
Ich möchte als erstes einen Decoder realisieren, der mit der 
Fahrspannung z.B. einen Motor einschaltet um z.B. an dem LGB Stahlwagen 
die Trommel zu drehen.
Das geht zwar mit jedem Wald u Wiesen Decoder, aber ich möchte 
Endschalter abfragen.
Ohne ein Servo zu schlachten.
Warum hast Du keinen Atmega328 genommen, der kann 20 MHz und das könnte 
bei der Weiterverarbeitung der Signale von Vorteil sein.
Aber wahrscheinlich hat jeder so seine Lieblinge.
Schönen Sonntag
Wolf
#3895586
Lesenswert?

Hallo Wolf,
im Moment beschäftige ich mich mit anderen Dingen.
Bei dem Decoder ging es mir in erster Linie darum zu zeigen,
das man sehr wohl einen DCC-Decoder in BASCOM programmieren kann.
Die Hauptaufgabe ist das implementieren des Timings und der
Kommunikation. Das habe ich gelöst, und somit eine Basis geschaffen,
mit der man Arbeiten kann. Aus Softwaresicht ist der Controller dabei
mehr oder weniger egal, die Anpassung auf andere Atmels ist simpel.
Gruß
Heiko
#3895621
Lesenswert?

Marc Vesely schrieb:

>> Das ist relativ. Manche kommen mit Hardware besser zurecht,
>> manche mit Software.
>
>  Soviel ich sehe, hat er mit sehr viel durcheinandergewürfeltem
>  Spaghetti Code und noch mehr unnützen Deklarationen genau nichts
>  vollbracht.

Nun, ich gehöre zu denen, die sich besser mit Hardware auskennen.
Deshalb habe ich mir den Code nicht angesehen. :-)
#3895637
Lesenswert?

Morgen,

das Problem ist nicht ein DCC Signal überhaupt einzulesen. Sondern auch 
noch etwas vernünftiges einzulesen wenn das Fahrzeug auf dem Gleis 
fährt. So in Bezug auf Kontaktgabe.

Dann gleichzeitig dazu eine Brauchbare Motorregelung hinzubekommen und 
eventuell noch ein paar schöne Effekte oder auch nur Dimmung an den 
Funktionsausgängen.

Gehen tut das alles, selbst mit modernen Funktionen wie z.B. RailCom 
Rückmeldungen, was man auch prima an Beispiel von Lenz Decodern (die 
waren mal einer der führenden DCC Entwickler), welche auf einem 
ATmega168 basieren sehen. Ich glaube allerdings nicht das die in Bascom 
programmiert sind. ;-)

LG Willi
Gast #3895672
Lesenswert?

Heiko B. schrieb:
> Bei dem Decoder ging es mir in erster Linie darum zu zeigen,
> das man sehr wohl einen DCC-Decoder in BASCOM programmieren kann.

Schöner proof of concept, denn nachdem ich einmal gesehen habe, was für 
Maschinencode der BASCOM-Compiler raushaut, hab ich alle Hoffnung 
verloren. Das ist so ineffizient, es könnte fast ein Interpreter sein. 
Dazu kommen dann die ganzen Einschränkungen der Sprache.

Wenn's schon BASIC sein muss... es gibt da einige BASIC-artige Sprachen, 
die deutlich besser sind. Oder man kann für zeitkritische Dinge 
Assembler nehmen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren