mikrocontroller.net

Forum: Projekte & Code DCC Decoder Lastgeregelt asm


Autor: Toralf Wilhelm (willi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
anbei ASM Code für einen Lastgeregelten DCC Lockdecoder. Der Code ist 
hier für einen mega8 geschrieben (den habe ich auf meinem Testboard). 
Von der verwendeten Hardware, ist er aber auch auf den Tiny24,25,26 
Serien, nach anpassen der Register + Timer (Mega8 Timer0 kein ctc dafür 
aber timer2, bei den tinys gibt es den 2er nicht aber der Timer0 kann 
ctc) Verwendbar. Die Anschlussbelegung steht in der asm Datei. Momentan 
verwende ich eine IC Motorendstufe (TLE4205,L6202 o.ä.) mit Richtung/PWM 
Ansteuerung, Fahrtrichtungsbeleuchtung und Funktionsgruppe1 werden 
angesteuert. Wer mehr braucht, beim mega8 sind noch Ports frei. Ich habe 
das mal auf meinen Bedarf geschrieben und nicht alles was nach DCC 
möglich ist mit eingebaut. Einen fertig angepassten Code für die tinys 
gibt es demnächst. Geplant ist auch noch Ansteuerung einer diskreten MOS 
H-Brücke und dann auch noch dazu  passend Analogbetrieb. Einbau eines 
Bootloader ist zum späteren Softwareupdate denkbar, da könnte man aber 
gleich den von Peter in angepasster Form benutzen und nicht das Rad noch 
einmal erfinden. Für den „Massenaufbau“(Platinen fertigen lassen) ist 
aber der tiny24(oder44) geplant. Eventuell noch eine Miniversion mit dem 
tiny25.
Bis jetzt sind folgende Funktionen eingebaut:
-14,28,128 Fahrstufen (14 und 28 FS wahlweise über CV2/5 oder über 
Kennlinie)
-Motor PWM Frequenz 30Hz, 120Hz, 500Hz, 16kHz oder 31kHz Wählbar
-Lastreglung: Schrittweite, max. Regelbereich, mindest Abweichung vor 
Regelbeginn Wählbar
-Fahrtrichtungsabhängige Beleuchtung in 10 Stufen mit 80Hz PWM Frequenz 
Dimmbar
-Funktionsgruppe1
-Lange Adressierung möglich
-Programmierung über Service Mode oder POM (bis jetzt nur Byte 
schreiben)

Der Code ist besonderst ausführlich Dokumentiert, Modelleisenbahner sind 
meistens kein perfekten Informatiker (geht mir jedenfalls so) und nicht 
immer auf max. Effektivität optimiert, ist so aber nachvollziehbarer. Da 
ist noch Optimierung möglich, z.B. die DCC Decodierung (von Maddax) 
könnte man jetzt mit RAM auch in einer Schleife machen, teilweise werden 
auch Register umsonst gesetzt (beim Initialisieren z.B.). Ich weis das, 
macht aber hier erst einmal nichts.

Gruß Willi

Autor: Toralf Wilhelm (willi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
nach dem Hannes mich netter Weise auf meine "Tab" verseuchten und somit 
Editorunleserlichen Datein aufmerksamm gemacht hat, hier noch einmal 
überarbeitete Versionen für Mega8 und Tiny24.

Willi

Autor: Hannes Lux (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aua-ha, ein dickes Stück Arbeit. Und ich darf mich jetzt schuldig 
fühlen...

...

Autor: Toralf Wilhelm (willi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sag einmal Hannes,bis Du rund um die Uhr hier?

Autor: Hannes Lux (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nööö, aber ich lasse mich per Mail über neue Beiträge in einigen Thread 
informieren. Dieser Thread gehört dazu... ;-)

...

Autor: Toralf Wilhelm (willi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So hier einmal aktueller Code mit Bootloader von Hagen, Platine und 
Schaltbild gibt es hier: [[http://www.toralfwilhelm.de/mde_lokdec.htm]]

Wer den Bootloader verwenden will, sollte besser einen Tiny44 nehmen.
 Gruß Willi

Autor: Toralf Wilhelm (willi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hier mal den aktuellen Link zu meinen Decodern: 
http://www.toralfwilhelm.de/mde/mde.htm

Gruß Willi

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.