Startampel-Elektronik via Arduino als DIY-Projekt

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Startampel-Elektronik via Arduino als DIY-Projekt

      Angeregt durch das Thema "Startampel aus dem Drucker" und der dabei erlangten Erkenntnis, in wie weit man mittlerweile so etwas mittels Microcontroller und Datenklau aus der Stromschiene basteln kann, hab ich natürlich schon wieder eine Schnapsidee.
      Der Link zum CARRDUINO hat mich nicht in Ruhe gelassen, also weiter in das Thema eingelesen.
      Die dort vorgestellte Hardware-Lösung ist zwar nett und mag funktionieren, ist mir aber zu unprofessionell.
      Ein solcher Aufbau auf 'ner Lochrasterplatine mag als kurzfristiger Testaufbau ganz nett sein - obwohl es dazu mittlerweile ja besagte Breadboards gibt - aber das ist (wie mein Ausbilder während meines Praktikums meinte) nicht gelötet, sondern gebraten :-/
      Mit den heutigen Möglichkeiten läßt sich sowas jedoch durchaus professionell basteln.
      zB Prototype-Platinen aus China für kleines Geld, die Elektronik gleich dort mitbestellt, liegt der finanzielle Aufwand max. in der Größenordnung einer gängigen Zigarettenpackung.
      Allerdings müssten sich schon ein paar Interessenten zusammen finden (8-10 wären gut).
      Das Platinenlayout dafür hält sich in Grenzen (soll heißen, ist recht schnell erstellt), die Elektronik ist preiswerte Standardware.
      Nur gefällt mir die Idee, das Ganze unter eine Schiene zu basteln, nicht wirklich.
      Und da man üblicherweise in den meisten Startampeln / Brücken doch genug Luft haben sollte, kämen die benötigten Mini-Platinen halt dort rein.
      Denn dem digitalen Signal dürfte es kaum schaden, das sauber weitere ca. 20 cm von der Schiene zur Startbrücke zu verlängern.
      Schließlich hat es ja bis dort schon unbeschadet den Weg durch die Leiterbahnen der Plastikschienen geschafft.

      ich bitte um regen Gedankenaustausch ;)
      :1f3ce: Knut :1f3c1:
    • Grundsätzlich währe ich sehr interessiert.
      Doch alles was ich bis jetzt gesehen habe, hat mit einer Startampel eigentlich nichts zu tun.

      Ich hätte gerne 10 Ausgänge um die blaue an der Boxen- Ausfahrt und die Grün- Rote an der Boxen- Einfahrt damit auch zu unterstützen.
      Zudem gehört einfach die gelben / blinkenden Lichtzeichen auch dazu.

      Eine Platine für die LEDs ist IMHO uninteressant. Denn wenn baue ich das in kleine Ampel- Gehäuse.
      Landschaftsmodellbauer mit 2 für Autorennen begeistern Söhnen.
    • Johannes_AT wrote:

      Ich hätte gerne 10 Ausgänge um die blaue an der Boxen- Ausfahrt und die Grün- Rote an der Boxen- Einfahrt damit auch zu unterstützen.

      Zudem gehört einfach die gelben / blinkenden Lichtzeichen auch dazu.
      So lange man die dafür notwendigen Kommandos in der digitalen Kommunikation der CU findet, sollte das nicht das Problem sein.
      Allerdings bin ich mit den rudimentären Angaben zu genau diesen Kommandos noch nicht wirklich glücklich.
      Für blau an der Boxenausfahrt könnte man ja das Signal "Ziellinie" auswerten.
      Gelb? Beim drücken der Chaostaste?
      Grün bzw rot an der Boxeneinfahrt? Da muss ich grad angestrengt überlegen, wann die zum Einsatz kommen ...
      :1f3ce: Knut :1f3c1:
    • Inwieweit das Projekt fortgeführt wird hängt natürlich einerseits davon ab, wieviel Interesse besteht und dann auch, was die Signale der CU an Startampel-Infos hergeben.
      - Runterzählen mittels der roten LEDs
      - Startfreigabe via grüner LEDs ?
      - Startabbruch bzw Frühstart bzw Chaostaste per gelber Blink-LEDs ?

      Die von Johannes angeregten Signale dürften da schon schwieriger werden bzw bedürften einer erweiterten CU-Software.

      Ich bin da ganz offen für Ideen.
      :1f3ce: Knut :1f3c1:
    • Hallo,

      na das funktioniert doch schon und datentechnisch wird ja alles ausgewertet wie es aussieht.

      Bleibt letztlich nur die Frage ob man einen kompletten Arduino verbaut oder nur einen Chip, der natürlich viel weniger kosten und weniger Platz beansprucht.

      Die Bauausführung wird auch sicher bei jedem unterschiedlich sein. Darum müsste die Platine universell sein, also vielleicht mit Schraub/Steckkontakten für die LED´s.
      Ich würde so eine Platine unter der Bahn anbringen und nur mit Kabeln zu den LED´S gehen.


      Gruß
      Enrico
    • Hallo,

      es gibt ja noch den Arduino Mini, der ist ja um einiges kleiner. Kosten so um die 4,-€ (China Ware). Die Platine würde ich versuchen oben in die Brücke zu packen, um möglichst kurze Litzen zu bekommen. Somit bräuchte man nur die zwei Anschlüsse von der Schiene zur Platine nach oben zu führen.

      Datentechnisch habe ich noch ein paar Probleme, die Chaosphase darzustellen. Momentan verhält sie sich wie ein normaler Start. Eigentlich sollten nicht nur alle roten LEDs leuchte, sondern zusätzlich noch die gelben Blinken. Das funktioniert aber noch nicht.

      Gruß
      Harald

      The post was edited 1 time, last by FotN ().

    • Die Arduinos sind Prototypen oder Testboards, es macht eigentlich keinen Sinn so ein Board auf eine Platine zu löten.
      Man braucht ja trotzdem externe Bauelement. Spannungsregler, Spannungsteiler für die Schienen, Transistoren für die LED´s...
      Besser man sieht einen ISP Steckplatz vor und verarbeitet einen blanken Chip. Damit erspart man sich auch den Bootloader.


      Nutzt du die Arduino Bibliotheken?
      Die behindern sich unter Umständen gegenseitig, speziell wenn es um Timing geht.

      Wie hast du das Blinken gelöst?

      Gruß
      Enrico
    • Der Nachteil ist das du mit Switch-Case nur das ganze Datenwort am Stück auswerten kannst und nicht die einzelnen Teile.
      Darum braucht man auch so viele Case Abfragen.
      Wenn du das Datenwort zuerst in seine 3 Bestandteile zerlegst, kannst du z.B. direkt mit dem Wert arbeiten oder hast die Reglernnummer.

      Dann kann auch der einzelne Pin geschaltet oder getoggelt werden, wenn es blinken soll.
    • NAbend,

      Das ist nicht schwierig, das macht man z.B. mit Verschieben der Bits
      Um z.B. die Regler ID zu separieren definierst Du eine Variable, z.b. uint8_t ReglerID = 0; //8bit integer Variable

      Das Datenwort wird mit einer Maske logisch UND verglichen. Nur die Bits, wo in der Maske 1 steht werden verglichen, weil UND nur 1 ist wenn beide Teile 1 sind.
      Die rechten drei Bits sind die Regler, 0-5. Nach dem Vergleich werden die 3 Bits drei Stellen nach Rechts, sozusagen aus dem Byte herausgeschoben.

      ReglerID = ((Word & 0b0000000000111) >> 3); // 13 stelliges Datenword, die rechten 3 Stellen werden verglichen

      Die neue Variable ist also 3 Bit breit und enthält den Wert des Reglers.

      if ( ReglerID == 0b100) {
      // wenn Regler Nr. 2 gedrückt ist tue dies.... Programmierwort ist LSB!
      }

      Die anderen Werte bekommt man genau so, sie müssen natürlich entsprechend mehr Stellen verschoben werden.

      Gruß
      Enrico
    • So, ich habe die Elektronik mal in unsere Startampel (Das Carrera Startlight lag hier noch herum) eingebaut. Leider passte der Arduino und die LED-Platine nicht zusammen oben rein. Jetzt sitzt die Schaltung unten im Fuß der Ampel und die acht Litzen für die LEDs werden nach oben geführt. Nicht optimal, aber nicht anders zu lösen. Funktionieren sollte das ganze von 12V-18V, eventuell auch mehr. Das wird jetzt mal an unserer Bahn getestet.

      Startampel.jpg

      Und hier noch ein Video dazu.

      Gruß
      Harald