Motivationshilfe zum Weiterbasteln

  • Damit ich endlich mal meinen schon viele Wochen herumliegenden "D143 Eigenbaudecoder" weiter bzw. fertig mache, habe ich letzte Woche im Spielzeugladen einen GO-Lighning Mc. Queen mitgenommen. Der Dercoder mit PIc Controller hat momentan den Stand, dass die IR-Diode per Interrupt gepulst wird und die Empfangsroutine die Datenpakete lesen kann. Als nächstes werde ich erstmal fix das Paket 0 des ersten Handreglers auswerten und die Geschwindigkeitsinformation ins PWM Register übertragen. Dann müsste ein nachgeschalteter MOSFET den Motor passend ansteuern. Wenn das funktioniert, fehlt nur noch eine mehr oder weniger komfortable Möglichkeit mit dem Handregler umprogrammieren zu können.

    Bei meinen letzten RC-Projekt setze ich das gleiche Konzept bereits erfolgreich ein. Dort übertrage ich die Stromversorgung und die Positionierdaten für mehrere Modellbau-Servos über zwei Adern zur Zielhardware. Das ist ideal geeignet, um Servos in Geschützen von Kriegsschiffen oder im Fahrwerk von Baggern zu betreiben, da eine Mono-Klinkenbuchse als Drehlager gleichzeitig beliebige Drehwinkel erlaubt und dabei die Drehlagerung, die Stromversorgung und die Datenübertragung übernimmt. Das drehbare Oberteil lässt sich dann auch einfach abnehmen, ohne Kabelsalat.
    Der Bedarf an dieser Technik scheint recht groß. Es gibt auch Leute, die Riesenräder nachbauen und sich fragen, wie sie die vielen Leitungen für die Beleuchtung der Speichen durch die Drehachsen bekommen sollen.

    Die ersten Anfragen habe ich schon, da bereits ein serielles Servo ohne Empfänger zwischen 50 und !00€ kostet und meine Lösung für Standardservos deutlich unter 5€ bleibt.
    Da der Carrera-Decoder auch mit sehr wenig Bauteilen auskommt dürfte der auch unter 2€ Materialwert liegen.

    Gruß Tronic

  • Ich verstehe zwar nur Ansatzweise, was du da machst, aber es klingt toll! :thumbup:

    Kannst du das so erklären, dass auch ein Laie versteht, was mit deinem Produkt hinterher anzustellen ist? Kann ich damit analoge Autos für die D143 flott machen? Und was ist mit Umprogammieren des Reglers gemeint? ?(

    Vänliga hälsningar
    Olli, der Renn-Elch

  • Richtig verstanden.
    Damit will ich GO-Autos digitalisieren.
    Die originalen Leiterplatten in den digitalen 143er Autos haben einen äußerst niedrigen Materialwert.
    Deshalb hatte ich schon lange die Idee, diese mit den PIC µControllern, die ich üblicherweise verwende nachzubilden.
    Wenn das läuft, genügen eine Handvoll Bauteile und eben die Firmware im Controller.
    D.h. eine solche Eigenbau Platine liegt deutlich unter 2€.

    Mit umprogrammieren meinte ich das Einlernen eines Autos an einen Handregler. Das bedeutet einiges an Extra-Programmieraufwand.

    Da von den vielen Sachen, die ich gerade parallel dazu mache etliche jetzt fertig sind, denke ich, dass ich jetzt mit diesem Projekt weitermache.

    Gruß Tronic

  • Hi Tronic.

    Das hört sich nach "WOW" an, vor allem weil man es als Laie drei Mal lesen muss, um er halbwegs zu verstehen.

    Gut, dass Du es noch mal zusammengefasst hast.

    Bin mal gespannt, ob Du das hinbekommst.

    :thumbup:


    Gruß

    Frank

  • Hallo Kammeraden,
    damit ich mit meinem Eigenbaudecoder weiterkomme, habe ich einfach einen größeren Mikrocontroller genommen und daran ein Standard-Display angeschlossen. Über einen kleinen Adapter und ein GO-Auto mit abgetrenntem Motor ist das ganze an der D143 Redbox angeschlossen.
    Der kleine Adapter im Kabel nimmt die knapp 15V der Schiene und wandelt sie auf 5V ohne die "Datenaussetzer" für meine Elektronik. Zusätzlich ist noch ein Widerstandsteiler vorhanden, der die Spannung der Schiene ebenfalls auf 5V herunterteilt, aber mit den Daten.
    Somit wird die Controllerplatine von der Redbox mit Spannung und den Daten versorgt:

    Im Beispiel ist der erste Regler per Klebeband halb gedrückt, der zweite ganz und der dritte garnicht. Nur beim Zweiten ist die Taste gedrückt.

    Der Contoller ist momentan so programmiert, dass er die Lücke zwischen den Datenpaketen findet, dann auf das nächste wartet, dieses einliest usw...
    Nach jedem Datenpaket wird überprüft, ob die Adresse mit einem der drei Regler übereinstimmt. Falls ja, wird dessen angezeigter Datensatz aktualisiert. Es wird "live" der Zusstand der drei Handregler angezeigt

    In der ersten Zeile ist die Position der Datenbits markiert:
    Die 3 Bits, die mit "a" markiert sind übermitteln die Adresse der Handregler (genauer: der Buchsen an der Redbox).(rot markiert)
    das 4te übermittelt den Status der Spurwechseltaste (1 = nicht gedrückt, 0 = gedrückt). (blau markiert)
    Die restlichen 4 Bit sind für die 16 Geschwindigkeitsstufen: 0000 bis 1111 => 0 bis15. (grün markiert)

    Die Abbildung zeigt also folgende Daten:
    Regler 1: Adresse = 000 / Taste = 1 nicht gedrückt / Geschwinigkeit 0111 entspricht 7 = halb gedrückt
    Regler 2: Adresse = 001 / Taste = 0 gedrückt / Geschwinigkeit 1111 entspricht 15 = vollgas
    Regler 3: Adresse = 010 / Taste = 1 nicht gedrückt / Geschwinigkeit 0000 entspricht 0 = nicht gedrückt

    Weiter hinten wird der Status der Spurwechsel-Tasten nochmal mit einem "T" für gedrückt und einem "_" für nicht gedrückt angezeigt (blau markiert)
    Ebenso wird am Ende der Zeilen die Geschwindigkeit zuätzlich dezimal angezeigt (grün markiert).

    D.h. der schwierigste Teil der Decoderfirmware funktioniert. Diesen kann ich dann problemlos in einen kleineren Controller übernehmen, der ansatt des Displays den Motor und die IR-Diode steuert.

    Es geht voran.

    Gruß Tronic

    2 Mal editiert, zuletzt von Tronic (18. Juli 2010 um 00:47)

  • Respekt! :thumbup:

    Ich blick die Elektronikgeschichte keinen Meter ;( , aber das sieht richtig gut aus. Zumindest in den Ansätzen kann ich Dir theoretisch folgen. Aber dann ist für mich leider genug! WOWI!

    Gruß Ralph

  • Auch wenn ich von dem Meisten nur Bahnhof verstehe, Respekt für die Mühe. :)
    Du bist ganz schön hartnäckig am Problem. Hut ab dafür.

    Gruß Klaus

    Es geht vorwärts und bergauf :)

  • Super, das sieht klasse aus. Weiter so. :thumbup:

    Alles drin alles dran, was der Originaldecoder auch kann! Willst Du eigentlich noch eine Bremse implementieren? Da wäre
    dann eigentlich alles was man zum digitalen slotten benötigt. Tanke mach CockpitXP.

    8o Immer schön im Slot bleiben 8o

  • Hei,

    Jetzt wird es aber wirklich interessant, ich habe bis jetzt alles mit D132-Decodern aufgerüstet, deswegen stocken auch meine Umbauten - Wegen der Kosten.

    Wenn also hier ein Konkrrenzding entsteht bin ich auch sehr interessiert. Die D132-Decoder sind ja schon recht gut mit all Ihren Funktionen, da kann man ja einiges vergleichen. Wenn also Ein Tester gesucht wird für digitale Autos bin ich gerne dabei. Wir fahren mit einer D132-Box, damit wir die ganzen Funktionen und Pacecar, Bremslicht und Fahrlicht ein/aus nutzen können. auch die Controllergröße ist interessant, denn für LMS und GT's sind die D132-Controller schon sehr groß. Da kann man gespannt weiter beobachten.

    Gruß
    Frank

  • HIDIHO
    RESPEKT weiter so bin gespannt auf deinen fertigen decoder :thumbup:

    Greetz
    StormB

  • Nach einigen weiteren Stunden Assemblerprogrammierung ist nun die Anzeige des Decoders um drei Bargraph-Anzeigen erweitert, damit man die Gaspedalstellung einfacher ablesen kann:

    weiterhin habe ich eine Infrarotdiode hinzugefügt, die im Takt von Regler 2 arbeitet (deshalb der Pfeil hinter R2).
    Wird diese über das "Auge" einer Spurwechselweiche geführt, so schaltet diese entsprechend der Tastenstellung von Regler 2 um.


    Danach war dann der Motorteil dran.
    Damit das etwas einfacher wird, habe ich den für den späteren Einsatz geplanten kleineren Controller zusammen mit allen benötigten Teilen auf eine 2cm x 1cm große Platine gelötet, und mit Schleifern und Motor des GO-Autos verbunden

    Der Programmieranschluss kann später dann entfallen (das Kabel, das nach unten zeigt)
    Der Decoder ist dem Handregler 1 zugeordnet. D.h. die IR-Diode (rechts im Bild) wird per Interrupt-Routine im Wechsel alle 32µs ein- und ausgeschaltet.
    Die Geschwindigkeitsinformation wird wird per PWM auf den Motor gegeben.

    Ergebnis: Das Auto lässt sich wie die Originalen steuern und schaltet die Weichen entsprechend.
    Was noch fehlt, ist die Möglichkeit, die Zuordnung an einen Handregler per Tastendruck umzuprogrammieren.
    Aber die Hauptfunktion ist erreicht.

    Hier noch ein Beispiel, für die Datenverarbeitung:
    Oben ist das Datenpaket 0 des ersten Handreglers zu sehen.In der Mitte die Taktung der Infrarotdiode und unten das Motorsignal.

    Da mein PIC-Controller nicht so leistungfähig ist, wie der Atmel im Original, muss ich per Interrupt für die Steuerung der IR-Diode sorgen und deshalb recht häufig das Einlesen der Daten kurz unterbrechen, um die IR-LED umzuschalten. damit das ungestört ablaufen kann, ist der Arbeitstakt des Controllers auf Maximum 20MHz per Quarz hochgesetz. Das PWM-Signal für den Motor wird per interner PWM Hardware erzeugt und belastet den Controller praktisch nicht. Der Atmel im Original besitzt zwei dieser PWM-Module und kann dadurch mit dem Zweiten die IR-Diode steuern.
    Er muss also nur die Daten von der Schiene lesen und entsprechend zuordnen.
    Wird doch langsam Zeit, auf dieses Fabrikat zu wecheln, nachdem die schwierigere Variante geklappt hat.

    So, für heute ist genug gelötet, programmiert, getestet, gefreut und getippt.

    Gruß Tronic

  • Absolut, das ist der Hammer, Hut ab und wie klein der Controller ist, der geht ja dann wirklich auch in die flachen LMS.

    Da kann man sich Lallek nur anschließen: Super, Respekt, Respekt

    Gruß
    Frank

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!