digitale Bastelei

  • Hallo erstmal,
    ich poste das mal hier, weil es mehrere Themen betrifft und vor allem ziemlich diffus ist.



    in den letzten Tagen waren öfter mal Themen aktuell, die sich um intelligente Ghostcars und deren Steuerung gedreht haben.
    Nicht zuletzt in Verbindung mit dem Carrera-Digital-System.


    Das Thema hat mich nicht mehr losgelassen und so habe ich mir am Freitag eine D143 Startpackung mit 3 DTM Fahrzeugen zu "Forschungszwecken" bestellt.
    Ich wollte dafür keine "großen" Fahrzeuge schlachten und außerdem hat mich der D143 Decoder interessiert, weil der so "schwach" ist.
    Außerdem bietet der kleine Masstab immense Platzvorteile bei ev. Fahrtests. :D


    Samstag nachmittag wurde geliefert und abends gings zur Sache.
    Den ersten Decoder zerlegt und die Schaltung analysiert. Absoluter Minimalismus, aber durchaus ausbaufähig!
    Ein Attiny25 decodiert die Signale und ein MOSFET im SOT23 Gehäuse taktet den Motor.


    Den zweiten Decoder samt Motor ausgebaut und an einen Arduino gehängt, der das Carrera Protokoll decodiert und wieder codiert.
    Das Carrduino-Projekt und die Ausführungen von Slotbaer haben mir dabei viel Zeit gespart. :D


    Stand ist ein auf Regler 0 codierter D143 Decoder, der vom vorgeschalteten Arduino gefühlt verzögerungsfrei gesteuert wird.
    Auf Tastendruck am Arduino hält der Decoder für 5 sec eine festeingestellte Drehzahl, auch Motor aus ist möglich.
    Bremse wäre ohne großen Aufwand nachrüstbar.


    Prinzipiell kann der Arduino auch auf konstante Geschwindigkeiten programmiert werden und z.B. über einen oder mehrere Reed-Kontakte getriggert werden.
    Grundsätzlich ist er auch auf die Regler 3-5 programmierbar oder auf Ghostcar, erweitert um die Schaltfunktion des Reed-Kontakts.
    Also wäre D143 mit bis zu 3 Autos und 3 Ghosts möglich, solange es die D143 CU mitmacht.


    Was auch geht, ist das flashen des Attinys auf dem C-Decoder, dann ist er allerdings nicht mehr als normales Fahrzeug brauchbar.
    Die Anschlüsse fur den ISP-Programmer sind als Durchkontaktierungen auf der Platine vorhanden.


    Ich denke, daß auch die aufwändiger ausgefallenen Decoder der großen Brüder so zu betreiben wären.


    Zu Fahrtests ist es dann aus Zeitmangel nicht gekommen.
    Außerdem sind die verwendeten arduinos zu groß :D


    Ein paar Ideen habe ich noch, aber wann ich das mal umsetzen kann, weiß ich noch nicht.

    Grüße Jochen

  • ebay Werbung
  • Das hört sich gut an wie hast du den arduino angeschlossen kannst Ev mal paar Bilder machen


    Ich habe auch schon an sowas gedacht im Prinzip müsste man einen Beschleunigungs Sensor einbauen und dann den Track vorrausrechnen über Geschwindigkeit um dann zu wissen wo man bremsen muss.
    Das wäre richtig cool ein autonomes gostcar das am Limit fährt.

  • Bahnseitig wie bei carrduino beschrieben, über einen Spannungsteiler, sodass am Eingang des arduino 5V anliegen.
    Carrera macht sich da keinen Kopf, die geben das Signal über einen 680 Ohm Widerstand (R1) auf den Attiny, siehe Bild


    D143_Decoder_Bestückungsseite


    Ausgangsseitig gehe ich direkt auf den Eingang des Attiny.
    Dafür muss man die Leiterbahn zum PIN3 unterbrechen.


    Prinzipiell kann man auch per Mosfet das Ganze direkt auf den Eingang des Decoders schalten, so wie bei Carrduino realisiert.


    Um einen Ghost mit KI zu entwickeln, kannst du dir den Schritt über den Decoder sparen, der behindert dich nur :D
    Es ging eher darum, die Ghost-Funktion der C-Kisten aufzupeppen.

    Grüße Jochen

  • Einen ganzen Schaltplan findest du im Go!!!-Forum
    Schaltplan D143-Decoder / Ich habe fertig
    Hinter dem Widerstand wird nur das Protokoll für den µC abgegriffen.
    Wenn man so will liegt die eigentliche Erzeugung der Versorgungsspannung (inkl. dem Widerstand) erst dahinter (D4,D3,C1)


    Bremse geht beim D143 nicht, da ihm die technische Voraussetzung fehlt (ansonsten ist Bremse = Speed0)

  • @'MiniSlot


    den D143 Schaltplan hab ich mittlerweile im Kopf :D
    deswegen melde ich mich also nicht auch noch im Go Forum an. :D


    Ich kann kein spannungsbegrenzendes Bauteil finden.
    Wenn da ein "Verbraucher" ausfällt könnte die erhöhte Spannung den Rest gleich auch noch erledigen.
    Zumindest ist die D4 laut meinen Unterlagen eine ganz normale Diode, in dem Fall als Verpolungsschutz.
    Habe es aber nicht gemessen.


    Bremse bei D143 ... nein
    Aber durchaus nachrüstbar :D


    Das Projekt kenne ich ,ja.
    Aber daran will ich mich gar nicht messen :D
    Keep it simple ist da eher meine Devise.

    Grüße Jochen

  • ebay Werbung
  • D4 ist keine normale Diode und das spannungsbegrenzende Bauteil was du wohl suchst ist eben diese Zener-Diode ;)
    Der Verpolungsschutz ist D3 und sichert den µC mit der Stabilisierung (C1) ab.
    Im Verpolungsfalle schützt die Z-Diode dann wieder der Widerstand als Strombegrenzung (wenn man so will).
    Wenn du nach dem Widerstand deine Versorgung für den Arduino abgreifst wird er bei jeder Weichenüberfahrt/Bahnunterbrechung resetten wenn keine weitere Stabilisierung auf dem Arduino selbst verbaut ist.


    Eine Bremse am D143 kannst du nur nachrüsten wenn du weitere Bauteile verbaust die den Motor "kurzschließen" und so das Fahrzeug bremsen.
    So gesehen wäre es leichter wenn du einen F1 Decoder verwenden würdest. Der besitzt die erforderliche Hardware "ab Werk" ;) , auch wenn er wieder etwas größer ist.

  • Und welchen Wert hat diese Zenerdiode? Hast du ein Datenblatt?
    Die Spannung nach R1 steigt auf ungesunde Werte und ist verbraucherabhängig.


    Der Arduino hängt dann direkt an der Bahnspannung und wenn es mit "Direktverbindung" zum PIN3 wie beim Testaufbau funktioniert, der Decoder auch.
    Sonst müsste man noch eine Endstufe ergänzen und den Decoder über die geänderte, modulierte Spannung versorgen.


    Funktioniert der F1 Decoder mit D143, also mit Bremse?
    Ich war eher dabei, die Bremse aus dem arduino zu generieren, oder auf den C-Decoder Kpl.zu verzichten.

    Grüße Jochen

  • Hi Alex,


    je länger man sich damit befasst, umso mehr versteht man :D


    Ich kenne die CXP Lösung nicht und deswegen kann ich nicht vergleichen.
    Prinzipiell wäre aber der Ghost mit dem Arduino autark.
    Auch zum Speichern der Runde wäre er zu gebrauchen.
    Außerdem ist man so zunächst auch mal auf keine proprietären Systeme angewiesen.


    Kurze Signalwege sind im Auto garantiert und Übertragungsstörungen gibt es auch keine.
    Der bräuchte nur Strom.


    Wenn du dir die Lösung von Isetta (Lantmarring) anschaust, dann verstehst du die Vorzüge des arduino.
    Einfache Sensorik, aber clever umgesetzt.


    Ich habe bereits früher versucht (lange vor arduino), Steuersignale per Funk (4 Funktionen) ans Auto zu senden, aber für mehr, als Licht zu schalten wäre das damals nicht zu gebrauchen gewesen. (und zu groß war es auch)
    Im Moment tüftle ich an einer IR-Codierung, mit der ich einfach und sicher ein paar Bits übertragen kann, um die Sensorik im Fahrzeug in Grenzen zu halten.
    Funk für arduino ist mir (noch) zu aufwändig.
    So einen Gyro-Sensor habe ich mir auch bestellt, mal sehen, was der kann.

    Grüße Jochen

  • Normale Z-Diode 5,1V
    R1 allein ist auch nicht die Versorgungsspannung.
    Nach R1 liegt zum µC nur der Abgriff für das Bahnprotokoll. Das der über um einiges höher liegt ist mir bekannt.
    Die "echte" Versorgungsspannung VCC liegt erst nach D3 bzw am Kondensator C1 (+) an.



    Alle Decoder laufen vom Grundsatz auf allen Systemen, wobei ich jetzt dem D143 nicht den 18V des D124 zumuten würde (s.o.)
    Was der Decoder dann kann und mehr bietet als nur Fahren bestimmt die Hardware um den µC herum und dessen enthaltene Software.


    Die Hardware muss also die Bremse bieten, sonst bringt die auch kein generieren im Arduino etwas.
    Im Protokoll bzw. in der Software der Decoder wird Reglerstellung 0 = Bremsen definiert.


    Vergleiche D132 Decoder mit dem D143 Decoder und du solltest den Unterschied der einzelnen Baugruppen bemerken.

  • Entweder war dein Decoder anders bestückt ...


    D4 ist bei mir eine M4, was einer normalen Diode entspricht.
    Dafür spricht auch, daß die Spannung an der Kathode von D4 bis auf über 6V steigt,
    Von dort geht es über D3 zum PIN8 (Vcc) vom Attiny-



    Das Datenwort für die Reglerstellung ist auch bei D143 enthalten.
    Bremse vom großen Decoder müsste also funktionieren.


    Auch die Notwendigkeit des zugehörigen Leistungsteils bei der Bremse war mir klar :D
    Es wäre aber vermutlich wesentlich mehr Aufwand, das Datenwort für die Bremse zu generieren, als einfach über einen Ausgang des arduino einen Brems-Fet anzusteuern.
    Auch die Programmierung des arduino als Decoder wäre einfacher, zumindest für meinen momentanen Stand.
    Ist nichts anderes als ein PWM-Controller, der seine Infos über das Bahnprotokoll bekommt anstatt über Daumen oder Zeigefinger :D

    Grüße Jochen

  • ebay Werbung
  • SMD markings sind leider keine eindeutigen Bezeichnungen, die sich von Hersteller zu Hersteller unterscheiden können. Leider gibt das Marking den Hersteller preis.
    Neben dem Marking M4 habe ich auch das E2 bereits gehabt, was der MMSZ5232B entspricht. Mit der Spannung muss ich mich Korrigieren, es sind 5,6V.
    Der Aufbau der Schaltung spricht ebenfalls der Verwendung einer Zener-Diode als Spannungsteiler.


    Schonmal darüber Nachgedacht die ID-Simulations-Platinen (aus dem Forum) zu missbrauchen und in der Schiene zu montieren?
    Mittels IR-Empfänder am Arduino könntest du so mehrere Geschwindigkeiten abrufen und individuell auf Kurven reagieren.

  • Mich irritiert eben daß die Spannung fast beliebig ansteigt.
    Klar ist so eine entsprechende Schaltung aufgebaut, aber ohne Zenerdiode?
    Was weiß ich, was die Chinesen da drauf löten. :D
    Der Transistor ist auch so ein unbekanntes Wesen.
    Aber Gott sei Dank ist das alles unkritisch.


    Über die Lösung hab ich schon nachgedacht, ja. So etwas in der Art soll es werden.
    Im Moment schaue ich aber noch, wo die Grenzen bei IR sind, also ob ich größere "Bandbreiten" nutzen kann.
    Die Übertragungsdauer bei Vollgas ist schon etwas kurz.

    Grüße Jochen

  • Der Transistor müsste nach meinen Unterlagen einem SI2308DS entsprechen.
    Ich hab mal meinen Schaltplan angehängt.
    Diese Strom/Lastabhängigkeit hatte mich auch verwirrt. Darum hatte ich als Sicherheit nur eine 5,1V Diode eingetragen (muss man nur daran denken ;) )



    Die Dauer ist lang genug um eine sichere Erkennung zu bekommen. Du hättest so schon mal 7 Stufen die du einsetzen könntest.
    Da Carrera recht großzügig bei der ID-Frequenz-Verteilung ist müssten auch mehrere Zwischenstufen möglich sein.
    Für ein "richtiges" Datenpaket dagegen dürfte es zu eng sein.

  • Danke für den Schaltplan! Wenigstens der deckt sich mit meinen Erkenntnissen. :D


    Im Moment übertrage ich bitweise..
    Von PWM zu ADC müsste auch gehen und dann schauen wir mal, wo die Grenzen liegen.
    Elegant wäre schließlich, das zentral beeinflussen zu können. :D

    Grüße Jochen

  • Es ist nicht gesagt, daß ein "lernfähiger" Ghost schneller ist, als ein speziell auf die Bahn angepasster.
    Eher sogar nicht, weil man immer diverse Kompromisse eingehen muss.
    Bei rein autonomem Fahrzeug, also ohne speziell vom Menschen dafür abgestimmte Signale, wirds richtig knifflig,

    Grüße Jochen

  • ebay Werbung
  • So, weiter geht's.


    Nach mehreren erfolglosen Versuchen den carrduino Encoder auf Carrera Protokoll zu trimmen, habe ich komplett neu angefangen und siehe da, es funktioniert.
    Die Encoder Routine ist sogar so schnell, daß der Carrduino "Inspketor" noch Werte bei über 45us liefert, obwohl die Geschwindigkeiten aller 6 Fahrzeuge permanent neu berrechnet werden müssen. Klar, da kommen in der Praxis noch diverse Portabfragen hinzu, aber da sollte genug Luft vorhanden sein.


    Somit ist die Anforderung erfüllt und man könnte die Steuerung auch genauso in den Ausgang der CU verlegen, ohne die Autos anfassen zu müssen.


    Was geht sonst noch?


    Rein auf Encoder und Inspektor beschränkt habe ich mal alle Datenworte um 3 Bit erweitert, bis auf Programmier- und Ghost/Pacecar-Datenwort, die bekommen nur 2 mehr.
    Für 8 Fahrzeuge natürlich :D


    Mit dem Inspektor kann man es auslesen!


    Was bringt das?


    Interessant sind die 3 Bit bei den Datenworten, die die Fahrzeugdecoder empfangen.
    Eines wird für die Erweiterung der Fahrzeuge benötigt.
    Theoretisch könnte man so bis zu 14 Fahrzeuge anstatt 6 codieren.
    Ein weiteres könnte man für die Erweiterung der Geschwindigkeitsstufen von 16 auf 32 nutzen und dann wäre noch eins übrig, welches ungefähr 2x pro Sek. ans Fahrzeug übertragen wird.


    Theoretisch wäre auch noch eine Halbierung des Takts möglich, dann würde es 3-4 x pro Sek. übertragen.


    Leider benötigt man dafür einen eigenen Decoder und in wie weit sich das in der Praxis bewährt, lässt sich auch nur damit fesstellen. ;(

    Grüße Jochen

  • 1) Fertig, nein. Löten, jein. Wenn man die Software auf einem Attiny zum Laufen bekommt, könnte man rein theoretisch einen D143 Decoder neu flashen.
    Genausogut natürlich auch jeden anderen C-Decoder.
    Sonst eben einen beliebigen Decoder-Baustein mit entsprechender Peripherie.


    2) siehe oben. Natürlich funktioniert der geflashte Decoder nicht mehr mit dem Orginal C-Protokoll.
    Aber wenn man das erweiterte Protokoll hat, ist das Orginal auch kein Thema und man müsste lediglich zurückflashen.


    3) Nach wie vor mit entsprechenden Sensoren, die das Auto überwachen.
    Nur kannst du möglicherweise entscheiden, ob du die Rechenarbeit im Auto erledigen lässt, oder von außen entsprechende Anweisungen an den
    Decoder schickst. So könntest du aber jedes Auto ohne Umbau verwenden.
    4) In dem Intervall bekommen auch die C-Autos ihre Daten.
    Technisch wäre noch Luft nach oben, allerdings nicht bei Verwendung der orginalen C-Komponenten.

    Grüße Jochen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!