• Hallo TT-Modellbahner, schön, dass du zu uns gefunden hast.
    Um alle Funktionen nutzen zu können, empfehlen wir dir, dich anzumelden. Denn vieles, was das Board zu bieten hat, ist ausschließlich angemeldeten Nutzern vorbehalten. Du benötigst nur eine gültige E-Mail-Adresse und schon kannst du dich registrieren.
    Deine Mailadresse wird für nichts Anderes verwendet als zur Kommunikation zwischen uns.
    Die Crew des TT-Boardes

Vorstellung: Software für einen DCC-Funktionsdecoder

Desastro

Foriker
Beiträge
307
Reaktionen
5
Ort
Aschaffenburg
Tagchen

Ich habe mich mal rangesetzt und den Sourcecode des OpenDecoder2 modifiziert.
Die Code-Teile für ein Lokdecoder sind dort schon vorbereitet, welche ich nur etwas abgeändert oder ergänzt habe. Den restlichen Code, der nicht gebraucht wurde, habe ich rausgeschmissen.

Diese Software ist für ATMEL-Mikrocontroller geschrieben und läuft aktuell auf einem ATTiny 45/85 (zusätzlich ATTiny 44).

Zur Zeit enthalten sind folgende Merkmale:

  • kurze oder lange Adressen
  • jeder Ausgang separat dimmbar
  • Funktionsmapping F1-F12 aktuell
  • F0 richtungsabhängig






Nun noch ne Frage

Ist es sinnvoll das Funktionsmapping bis F12 zu erweitern oder braucht man das eher nicht ?
Es soll ja nur ein einfacher F-Decoder werden. erledigt!


Grüße
Desastro
 
Ist es sinnvoll das Funktionsmapping bis F12 zu erweitern oder braucht man das eher nicht ?
Es soll ja nur ein einfacher F-Decoder werden.

Wenn es sich relativ einfach realisieren lässt kann man es ja gleich mitmachen .
Wenn es einigesd an Programmierarbeit erfordert kann man es ja vorerst mal nach hinten schieben .

Schlecht wäre es meiner meinung nach nicht bis F12 gehen zu können .
 
F12 ist doch noch nicht viel. Ich wüßte schon wie ich die alle belegen würde:
Beispiel ein VT der DB, der auch Güterwagen mit nahm und im Bahnhof rangierte.
Licht rot je seite = 2 Funktionen
3 weiße Lampen je seite = 6 Funktionen
Führerstand je Seite = F0
2 Kupplungen = 2 Funktionen
Innenbeleuchtung = F11
ist noch F12 über für Sound und Rauchgenerator für die Dieselabgase beim anfahren.
 
Ist es sinnvoll das Funktionsmapping bis F12 zu erweitern oder braucht man das eher nicht ?
Es soll ja nur ein einfacher F-Decoder werden.
Ich persönlich ziehe es vor, die Funktionen fahrzeugübergreifend immer auf die gleiche Taste zu legen.

Beispiel:
Wenn F7 den Rauchgenerator steuert, dann ist das bei allen Fahrzeugen immer F7. Ist kein Rauchgenerator vorhanden, bleibt F7 eben unbelegt. Gerade bei der zukünftigen Vielfalt an Zusatzfunktionen erleichtert das sehr den Überblick.
Das gilt natürlich auch für die Funktionen antriebsloser Fahrzeuge, wie z.B. Rauch (Heizkesselwagen), Sound (Horn, Bremsenquietschen), Licht oder auch mechanische Funktionen (Dachstromabnehmer am Speisewagen, Kupplungen).

Daher würde ich empfehlen, das Funktionsmapping weitreichend zu berücksichtigen.
 
Hi

@ptlbahn

Na du wirfst ja ganz schön mit Funktionen um dich. :juggle:

@all

Dann werd ich mich der Mehrheit beugen und F9-F12 noch mit einbauen.

Noch was vergessen: Das ganze ist und bleibt natürlich OpenSource, damit jeder noch ein paar Anpassungen und Verbesserungen einbringen kann. Wenn ich mit dem "Grundgerüst" fertig bin, wird das alles hier veröffentlicht.


Gruß Desastro
 
Hallo Desastro,
Bin dabei mir einen C Code für Lokdecoder mit mega8 am schreiben. Habe allerdings noch einige Probleme. Möchte mal nachfragen, wie weit du bist.
Gruß Siegfried
 
@Desastro:
Was heißt der Mehrheit beugen? Versuch die Sache doch mal von der anderen Seite her aufzuspulen und das Machbare aus Deinem Decoder zu kitzeln. Es ist Deine Arbeit und Du entscheidest was Du willst oder bleiben lässt. ;)
 
Programmieren
- bei mir ist es CNC - ist für mich immer eine Herausforderung:
Je mehr Gehirnschmalz ich in die einmalige Programmierung stecke, desto einfacher wird hinterher die Benutzung des Programms. Nicht zu vergessen das Erfolgselebnis, wenn es dann tatsächlich auch funktioniert... :top: :top: :top:
 
Hi

Möchte mal ein paar Neuigkeiten kund tun.

Ich habe das Mapping nun, wie es gewünscht wurde, für die Funktionen bis F12 erweitert. Mir gingen da schon fast die Ideen aus, wie ich das programmtechnisch umsetze. :boeller: Aber nach langem probieren und grübeln kam dann doch der Einfall.

Ich habe mich beim F-Mapping aber nich ganz an die Norm gehalten. Machen ja die meisten Decoder-Hersteller ja auch nicht.

Somit kann jetzt auf jeden Ausgang eine Funktion F1-F12 oder FL (Licht) gemappt werden. FL natürlich wie es sich gehört richtungsabhängig.
Zur Zeit ist die Software für bis zu 8 Ausgänge ausgelegt (je nach Controller-Typ). Für mehr habe ich bis jetzt noch keine Verwendung. Wer mehr braucht, darf dann gerne in der Software "fummeln". :traudich:

Dimmfunktion ist eingebaut, aber weitere Spezialeffekte habe ich nicht eingeplant (Blinken usw.)

@Siegfried

Wo klemmt es denn genau ? Schreib am besten ne PN.


Gruß Desastro
 
Hi

Ja, er ist schon OpenSource. Siehe auch mein Anfangspost, habe eben nur Veränderungen vorgenommen.
Werde dann auch demnächst mal die 1.Version hier hereinstellen.


Gruß Desastro
 
Hallo,
Habe auch einen Fortschritt erreicht. Ich erstelle aber meinen Sourcecode in " C " für einen Lokdecoder. DCC Paket 28 Fahrstufen ist fertig. PWM ist zum großem Teil fertig gestellt. Anfahr-, Brems-Verzögerung und Maximal-Geschwindigkeit sowie Fahrlicht(Richtungsabhänig) und 4 Funktionen sowie F4 für Verzögerung abzuschalten, sind eingebaut. F3 für rangieren und fehlt noch. Am "Kick-Start" bin ich dabei und möchte
diesen heute oder morgen testen. Danach kommt noch die Lastreglung, macht allerdings
sehr viel Arbeit, für den Motor. Dimmen und weitere Funktionen werde ich später noch
einfügen. Ich stelle mir noch vor, den Decoder für mehrere Formate nutzen zu können.
Gruß und noch eine schönen Sonntag
Siegfried
 
Hallo,
Der Lok-Decoder in dieser Version ist 17 x 27 mm mit zweiseitiger SMD Bestückung.
Gruß Siegfried
 
Hi

Möchte mal einen neuen Zwischenstand bekanntgeben.

Nach längerer Pause am Projekt (an der Anlage will man auch mal weiterkommen) bin ich fast soweit, mal eine 1.Version zum Probieren "rauszuwerfen".
Muss noch die CV-Liste etwas aufräumen und einen Beispielschaltplan zeichnen.

Hatte erst geplant, die Erzeugung des ACK-Pulses wegzulassen. Aber auf der Seite vom Herrn Kufer fand ich eine neue einfache Lösung mit nur 2 Bauteilen. (FET + Widerstand). :fasziniert:

Der Code ist nun etwas größer als 2K und passt somit nicht mehr in einen ATTiny2313 oder 25.
Habe aber den ATTiny44 gefunden...14 Beinchen, 4K-Speicher, 1 Port (8 Ausgänge) komplett nutzbar.

Soweit erstmal der aktuelle Stand der Dinge.

Gruß Desastro
 
Tach

So...Neues Jahr, neues Glück.

Ich möchte erstmal ein paar Anmerkungen machen.

Dieses Projekt richtet sich an alle die schon Erfahrung im Löten haben, die sich auch zutrauen einen Mikrocontroller zu programmieren und evtl. auch, den dann hier bald erscheinenden Source-Code, mit dem entsprechenden Programm zu übersetzen. Ich schreibe das, weil ich keine komplett fertige Lösung anbiete, da das Programm nicht auf einen bestimmten Typ der Atmel-Mikrocontroller-Reihe ausgerichtet ist. Dazu aber später mehr.


Die von mir eingesetzte Programmierumgebung ist das AVRStudio von Atmel und WinAVR als C-Compiler, jeweils in der aktuellen Version.
Zum "Brennen" des AVRs nutze ich das STK500. (gibt es z.B. bei Reichelt für knapp 77€)

Im Anhang schonmal 3 Bilder. Bild 1 zeigt einen Beispielschaltplan als Grundlage, wie man es nutzen könnte. Bauteile alles SMD.
Bild 2 ist die Liste der aktuell verfügbaren CVs im Decoder.
Bild 3 eine Platine wie ich sie aktuell nutze, aber noch ohne den ACK-Puls, anderem AVR und einer anderen Software. (wird dann getauscht)

Die Software wird gerade noch geändert, so das man für den Anfang 3 Typen von AVRs (ATTiny45(85) / ATTiny44 oder ATMega8) einfach über nen "Compilerswitch" auswählen kann. Danach Code neu übersetzen und in den µC brennen.


So der aktuelle Stand.

Gruß Desastro
 

Anhänge

  • OD2-F-DEC1.png
    OD2-F-DEC1.png
    11,3 KB · Aufrufe: 426
  • OD2-F-DEC_CV-Liste.png
    OD2-F-DEC_CV-Liste.png
    22,3 KB · Aufrufe: 353
  • Platine.jpg
    Platine.jpg
    58,7 KB · Aufrufe: 390
Ja geht.

Entweder man sieht im Layout eine ISP-Schnittstelle vor. Würde aber etwas mehr Platz wegnehmen. Oder man bastelt sich eine "Klemme" (siehe Bild) um an die entsprechenden Pins zu kommen.
3. Möglichkeit wäre, man nutzt einen Bootloader, müsste man evtl. ein Pin opfern.

Gruß Desastro
 

Anhänge

  • ISP-Klemme.jpg
    ISP-Klemme.jpg
    73,8 KB · Aufrufe: 361
@Desastro

Danke für die Info, immer schön was Genaueres zu erfahren :)
Die Kondensatoren scheinen Tantal-C's zu sein, ok. Um den 78L12F kommt man wegen der Größe nicht drumherum. Fragen...

Woher stammt die Platine? Sieht sehr professionell aus, 2-seitig durchkontaktiert.
Statt des (leicht exotischen) S380 einen gängigeren DF -Typ (DF005)einzusetzen wird wohl ebenfalls wegen der Größe nicht gehen?
Hast du für die BZV55 noch eine genauere Bezeichnung?

flic
 
@flic

Antworten...

Die Platine ist von nem EBay-Händler "mmetoolshop". Der bietet hauptsächlich Bohrer und Fräser an, hat aber auch ein Leiterplatten-Service mit Festpreis pro dm². Aber das ist bei diesem nicht sehr zuverlässig. Sehr lange Lieferzeiten.
Aber wenn, würde ich eh nochmal ein neues Layout machen und woanders ordern. Bin da auch gerade auf der Suche, um mir ein paar Platinen für nen Servo-Decoder machen zu lassen. (Das ist aber wieder eine andere Geschichte :D )


Zum S380...den hatte ich mal in einer größeren Stückzahl bei "tme.eu" bestellt. Ist ein Großhändler in Polen, der auch an privat verkauft. Das ging damals sehr unkompliziert.
Als Ersatz, um es klein zu halten, kann man 2 Doppeldioden BAV199 nehmen.
Die BZV55 hab ich nur mal so dahin gepappt, such mal bei Reichelt nach "SMD ZF 5,1".


Gruß Desastro
 
Hallo

Bei mir war der Osterhase etwas früher da und hat u.a. mal ein paar Probe-Exemplare der Funktionsdecoder-Platine gebracht.

Wie ich HIER schonmal kurz angedeutet hatte.

Bild1: Platine von oben
Bild2: ...von unten
Bild3: Größenvergleich mit einem Lenz Silver mini+

Mal schauen ob ich heut oder morgen die Lust finde mal eine zu Bestücken. :D Dabei wird der Doppeltransistor ( 2.Bild Stelle oben rechts auf der Platine) eine besondere Herausforderung.


Bis dann...

Gruß Desastro
 

Anhänge

  • F-Dec_oben.jpg
    F-Dec_oben.jpg
    93,9 KB · Aufrufe: 293
  • F-Dec_unten.jpg
    F-Dec_unten.jpg
    90,4 KB · Aufrufe: 302
  • F-Dec_Lenz.jpg
    F-Dec_Lenz.jpg
    136,1 KB · Aufrufe: 329
Bei mir war der Osterhase etwas früher da und hat u.a. mal ein paar Probe-Exemplare der Funktionsdecoder-Platine gebracht.
...
Dabei wird der Doppeltransistor ( 2.Bild Stelle oben rechts auf der Platine) eine besondere Herausforderung.

Das ist aber nett von ihm . Und es sieht sehr gut aus was er da gebracht aus .

Wenn du dich nicht so recht traust den Transistor da zu bestücken oder es nicht richtig hinkriegst dann kannst das mal zu mir schicken . Ich hab mit solchen dingern kein problem .
 
Hai

Mal wieder ein paar Infos...

Die 1.Platine hab ich dann mal bestückt und getestet. :boeller:
Funktionierte auf Anhieb *freu*. Der Tantalkondensator auf Bild2 ist etwas groß, hatte nur grad kein anderen da.

Nebenbei habe ich auch meine Beleuchtungsplatinen für den Gliederzug bestückt und eingebaut. Im Bild 3 zusammen mit dem F-Decoder in Funktion.

Desweiteren bin ich gerade dabei in der Software noch die "richtungsabhängige Aktivierung" aller Funktionsausgänge mit einzubauen, nicht nur für "F0".

Eine Änderung am Platinenlayout habe ich auch gemacht, nun sind standardmäßig 4 F-Ausgänge auf die Pads geführt und nicht nur 3.
Somit kann jeder selbst entscheiden, jene die es nachbauen wollen, ob er 3 Ausgänge mit ACK-Puls oder 4 Ausgänge ohne ACK haben möchte.

Nebenbei: Warum kann ich meinen 1.Post nicht mehr editieren ? :bruell:

Gruß Desastro
 

Anhänge

  • F-Dec_oben_ok.jpg
    F-Dec_oben_ok.jpg
    64,2 KB · Aufrufe: 279
  • F-Dec_unten_ok.jpg
    F-Dec_unten_ok.jpg
    128,2 KB · Aufrufe: 278
  • Gliederzug-Licht1.jpg
    Gliederzug-Licht1.jpg
    168,5 KB · Aufrufe: 274
Zurück
Oben