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
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
Aua-ha, ein dickes Stück Arbeit. Und ich darf mich jetzt schuldig fühlen... ...
Nööö, aber ich lasse mich per Mail über neue Beiträge in einigen Thread informieren. Dieser Thread gehört dazu... ;-) ...
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
Hallo, hier mal den aktuellen Link zu meinen Decodern: http://www.toralfwilhelm.de/mde/mde.htm Gruß Willi
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.