MobaLedLib: 768 LEDs, Servos, Sound, …………… Mitarbeiter für das Wiki gesucht (W/M/D)

Bereich für alle Themen rund um Modellbahn-Software, sowie der nötigen Hardware (PCs, Bildschirme, etc.).
Benutzeravatar

Threadersteller
Hardi
InterCity (IC)
Beiträge: 936
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Kontaktdaten:
Deutschland

MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Verteilerplatine

#290

Beitrag von Hardi »

Hallo nochmal,

und damit Ihr richtig Lust zum Löten bekommt hier die neue Verteilerplatine.
Bild

Bild

Die Platine kann mit 4-poligen oder mit 6-poligen Wannensteckern oder mit RJ10 Steckern bestückt werden. Bei den 4-poligen Steckern muss darauf geachtet werden, das Pin 1 und 2 benutzt werden und Pin 5 und 6 frei bleiben. Achtet auch auf die Einbaurichtung. Die Öffnung zeigt zum Platineninneren.

Wenn Ihr nicht alle Stecker bestücken wollt, dann müssen die nicht bestückten Stecker überbrückt werden. Dazu überbrückt man den Jumper mit der gleichen Nummer wie der erste nicht bestückte Stecker. Die Brücke muss auch gesetzt werden, wenn Stecker nicht benutzt werden. Grundsätzlich müssen die Stecker immer in aufsteigender Reihenfolge benutzt werden. Dabei darf keine Lücke entstehen. Bei den Wannensteckern kann man unbenutzte Stecker auch in den Wannenstecker setzen. Dazu muss Pin 2 und 3 Verbunden werden. In diesem Fall müssen aber alle unbenutzten Stecker gejumpert werden. Bei den Jumper J2 bis J10 muss nur der erste Jumper verbunden werden.
Bei der ausschließlichen Verwendung von 4-poligen Steckern (Wanne oder RJ10) wird der Lötjumper J4 auf der Unterseite der Platine links unten verbunden. Dann können beide Lüsterklemmen benutzt werden. Eine als Eingang, und die andere als Ausgang zum nächsten Verteiler.
Bei der Verwendung von 6-poligen Steckern kann man das auch machen, wenn die 6.Leitung für 5V verwendet wird. Wenn man damit 12V Module versorgen will, dann darf der Jumper nicht geschlossen werden.

Ich finde die Platinen richtig Klasse!

Hardi
Haltet Euch unbedingt von diesen Seiten fern:
͏͏͏ viewtopic.php?f=7&t=165060
͏͏͏ https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr unter meinem Profil bei „Webseite“

aftpriv
InterCity (IC)
Beiträge: 992
Registriert: Di 3. Apr 2012, 10:01
Nenngröße: H0
Stromart: digital
Steuerung: Gleisbox+RocRail-RN-Node
Gleise: K-Gleis|:|(3-Leiter)
Wohnort: 636xx Hessen/Main-Kinzig-Kreis
Alter: 69

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Platinen sind

#291

Beitrag von aftpriv »

Hallo Forianer
jetzt sind die ersten Mengen Platinen angekommen, bitte bestellt jetzt, damit wir abschätzen können welche Mengen wir nachbestellen müssen.
Es stehen derzeit nur eine begrenzte Anzahl an Platinen zur Verfügung. Nach der Reihenfolge des Bestelleinganges wird auch ausgeliefert. Ich werde STUMMI-Mitglieder ditohan, hlinke und hawibi noch per PM verständigen damit Sie nochmals Ihre Bestellungen bestätigen.

berichtigte Preise siehe Beitrag #293

Derzeit kann ich keine kompletten Teilesätze bereitstellen, sondern nur die nackten Platinen und die IDC Stecker und Buchsen (für Flachkabel).

Zum bestellen solltet Ihr eine PM an mich, aftpriv, schicken, dabei braucht Ihr nur die Best-Nr, z.B. 200b und die Anzahl von Platinen (in diesem Beispiel bestellt Ihr die Platine zusammen mit den IDC-Buchsen angeben, nur Platinen sind die Nummer 200a).
Errechnen könnt Ihr den Gesamtpreis selbst, dazu kommt noch die Versandkosten. Bei Stückzahlen über 5 bitte kurze Anfrage.

Bitte gebt auf jeden Fall auch Name und Liefer-Adresse, wenn möglich auch Telefonnummer bekannt.

Bezahlung ist am einfachsten per Paypal (als Freund, dann kostenlos), überweist bitte auf https://paypal.me/aftpriv01?locale.x=de_DE

Nochmal ganz deutlich, die ist kein kommerzielles Projekt, etwaige Überschüsse stehen Hardi (und möglicherweise neu hinzukommende andere Entwickler) für zukünftige Projekteinkäufe zur Verfügung.

Gruß
Alf

PS: hier noch ein riesiges Danke Schön an Hardi, der dies selbstlos den Modellbahnbastlern zur Verfügung stellt! :clap: :gfm:
Zuletzt geändert von aftpriv am Do 30. Mai 2019, 10:42, insgesamt 2-mal geändert.
Pickel-Bahner seit 1958 / K-Gleis + ZIMO-Decoder (MX633P22/MX645P22)
RocRail & RocNetNode
Email bezüglich MobaLedLib-Belange: LedLib@yahoo.com
Benutzeravatar

Threadersteller
Hardi
InterCity (IC)
Beiträge: 936
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Kontaktdaten:
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Platinen sind

#292

Beitrag von Hardi »

Hallo Alf,

ganz vielen Dank!!


Aber ich muss zugeben, dass ich das nicht ganz so selbstlos mache wie Du es hinstellst.
  1. Es macht mir riesig Spaß
  2. Ich lerne nette Leute kennen
  3. Es freut mich, wenn ich das Zeug nicht alleine benutzen muss
Was bedeutet der Posten 000a und 000b?

Sind denn alle „roten“ Verteilerplatinen weg?

@Alle: Nachdem wir jetzt erkannt haben, dass man die Teile auch innerhalb von einer Woche bekommen kann ist eine Nachbestellung recht schnell möglich. => Sagt Bescheid…

Evtl. ist für jemanden von Euch auch die andere Sound Platinen interessant: #13: https://www.stummiforum.de/viewtopic.ph ... 0#p1912437
Sie kann 14 verschiedene Sounds abspielen uns außerdem hat sie verschiedene Ausgänge mit mehr als 18mA. Wenn es genug Interesse gibt können wir (oder besser Alf) auch diese nachbestellen.

Das gilt natürlich auch für die zweite Platine in dem Post, die „PushButtonAction_4017“ Platine. Mit Ihr kann man 80 und mehr Schalter einlesen. Das mache ich in unseren Weichenstellpult so. Ich weiß, das Weichenstellpult gefällt euch nicht, aber die Elektronik kann man auch in einem Klassischen Schaltpult einsetzen.

Mit der Software für die Servo Platine bin ich immer noch fertig ;-( Aber das wird noch…


Hardi
Haltet Euch unbedingt von diesen Seiten fern:
͏͏͏ viewtopic.php?f=7&t=165060
͏͏͏ https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr unter meinem Profil bei „Webseite“

aftpriv
InterCity (IC)
Beiträge: 992
Registriert: Di 3. Apr 2012, 10:01
Nenngröße: H0
Stromart: digital
Steuerung: Gleisbox+RocRail-RN-Node
Gleise: K-Gleis|:|(3-Leiter)
Wohnort: 636xx Hessen/Main-Kinzig-Kreis
Alter: 69

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Platinen sind

#293

Beitrag von aftpriv »

#
#
diese Seite ist umgezogen: siehe Beitrag #500! ===> https://www.stummiforum.de/viewtopic.ph ... &start=499
#
#
wenn Ihr mich kontaktieren wollt: LedLib@yahoo.com
#
#
Weitere Hinweise:
Die Platinen sind immer unbestückt, auch wenn Stecker mitgeliefert werden!
Es fällt nur einmal Porto an, außer es sind höhere Stückzahlen gewünscht
Zuletzt geändert von aftpriv am Fr 25. Okt 2019, 13:56, insgesamt 1-mal geändert.
Pickel-Bahner seit 1958 / K-Gleis + ZIMO-Decoder (MX633P22/MX645P22)
RocRail & RocNetNode
Email bezüglich MobaLedLib-Belange: LedLib@yahoo.com

aftpriv
InterCity (IC)
Beiträge: 992
Registriert: Di 3. Apr 2012, 10:01
Nenngröße: H0
Stromart: digital
Steuerung: Gleisbox+RocRail-RN-Node
Gleise: K-Gleis|:|(3-Leiter)
Wohnort: 636xx Hessen/Main-Kinzig-Kreis
Alter: 69

MobaLedLib: Platinenbestand

#294

Beitrag von aftpriv »

Hallo Stummies

die Platinen Nr. 100 und 200 sind erst wieder in ca. 3 Wochen lieferbar (10 und 30 Stück), von den 500er-Platinen sind derzeit noch 20 verfügbar.

Ich werde derzeit keine weiteren Platinen in Auftrag geben bis wieder einige Bestellungen eintrudeln!

Gruß
Alf
Pickel-Bahner seit 1958 / K-Gleis + ZIMO-Decoder (MX633P22/MX645P22)
RocRail & RocNetNode
Email bezüglich MobaLedLib-Belange: LedLib@yahoo.com
Benutzeravatar

Threadersteller
Hardi
InterCity (IC)
Beiträge: 936
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Kontaktdaten:
Deutschland

MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Platinen sind weg

#295

Beitrag von Hardi »

Das ging schnell!

Ganz besonders wundert mich, dass die 20 Verteilerplatinen schon ausverkauft sind (Frisch sind sie am besten...).
aftpriv hat geschrieben: Do 30. Mai 2019, 19:37 Ich werde derzeit keine weiteren Platinen in Auftrag geben bis wieder einige Bestellungen eintrudeln!
Das klingt ein bisschen negativ, aber die zweite, oder eigentlich die erste Bestellung ist schon unterwegs. Die Platinen wurden bereits letzte Woche produziert. Darum schreibt Alf, dass nicht noch eine dritte Bestellung abgeschickt wird.

Es ist nicht so einfach abzuschätzen wie viele Platinen Ihr braucht.

Danke Alf

Hardi
Haltet Euch unbedingt von diesen Seiten fern:
͏͏͏ viewtopic.php?f=7&t=165060
͏͏͏ https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr unter meinem Profil bei „Webseite“
Benutzeravatar

Threadersteller
Hardi
InterCity (IC)
Beiträge: 936
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Kontaktdaten:
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Platinen sind

#296

Beitrag von Hardi »

Hallo Fehlerfinder,

leider funktioniert die Ansteuerung der Servos immer noch nicht. Ich habe jetzt ewig an einem völlig blödsinnigen Fehler gesucht. Vielleicht findet Ihr ihn schneller als ich.

Wo ist der Fehler in der folgenden Routine?

Code: Alles auswählen

//--------------------
ISR(TIM1_COMPA_vect)
//--------------------
{
  Channel_Data_t *cp = &Channel_Data[0];
  for (uint8_t Channel = 0; Channel < sizeof(Inp_Prtx) ; Channel++, cp++)                
     {
      uint16_t RemTime = MAX_SERVO;
      if (cp->Dst_pwmTime != 0 && !cp->DisableServo)
         {
         if (cp->Move_Inc == 0)
              cp->Act_pwmTime = cp->Dst_pwmTime; // Full speed
         else { // Slow movement
              if (cp->Dst_pwmTime > cp->Act_pwmTime)
                   {
                   cp->Act_pwmTime += cp->Move_Inc;
                   if (cp->Act_pwmTime > cp->Dst_pwmTime) cp->Act_pwmTime = cp->Dst_pwmTime;
                   }
              else {
                   if (cp->Dst_pwmTime < cp->Act_pwmTime)
                      {
                      cp->Act_pwmTime -= cp->Move_Inc;
                      if (cp->Act_pwmTime < cp->Dst_pwmTime) cp->Act_pwmTime = cp->Dst_pwmTime;
                      }
                   }
              }
         Impuls_1_8_microseconds(cp->Act_pwmTime, Outp_PBx[Channel]);
         RemTime =- cp->Act_pwmTime;                                                               
         }
      delayHalfMicroseconds(RemTime/4);
      }
  IntProcessed = 1;
}
Es ist die Interruptroutine welche die Signale der Servos erzeugt. Ich verwende hier bewusst „Buzzy Wait“ Funktionen zum erzeugen der Servo Impulse weil sich dadurch kein Jidder durch Interrupt Latenzzeiten entsteht. Die Funktion „Impuls_1_8_microseconds()“ erzeugt den Impuls der zwischen 1 und 2.5ms lang ist. Danach wird mit „delayHalfMicroseconds()“ gewartet bis die maximale Zeit eines Servos (2.5ms) um sind bevor der nächste Servo angesteuert wird. Eigentlich sollten die 3 Impulse mit einer Verzögerung von 2.5 ms nacheinander kommen. Aber das hat einfach nicht funktioniert. Die Verzögerung war Unerklärlicherweise 8 ms. Das hat das ganze Timing durcheinander gebracht…

Und ich mache es Euch schon extra einfach. Der gesamte Kode umfasst inzwischen fast 2000 Zeilen…



Doch jetzt zum nächsten Problem:
Das Programm läuft jetzt eigentlich. Drei Servos können über die "Helligkeiten" einer LED von der Bibliothek gesteuert werden.
Zum Test habe ich ein kleines Steuerprogramm geschrieben welches den 3 Servos verschiedene Positionen vorgibt.
Das funktioniert auch, aber manchmal bleiben ein oder zwei Servos stehen und machen ein Päuschen. Nicht immer die gleichen Servos und auch meistens nur einer oder zwei. Und nach einer Weile machen sie weiter als wäre nichts gewesen. Das Ansteuersignal der Servos ist im Fehlerfall entweder ganz weg oder konstant. Ich habe noch nicht herausgefunden was die Teile in ihrer Pause machen. Ne runde Quatschen? Ein Bierchen zischen? Oder nur mal die Füße hochlegen…


Das ist ein Mitmach Projekt… Ihr wisst schon…

Hardi
Haltet Euch unbedingt von diesen Seiten fern:
͏͏͏ viewtopic.php?f=7&t=165060
͏͏͏ https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr unter meinem Profil bei „Webseite“

aftpriv
InterCity (IC)
Beiträge: 992
Registriert: Di 3. Apr 2012, 10:01
Nenngröße: H0
Stromart: digital
Steuerung: Gleisbox+RocRail-RN-Node
Gleise: K-Gleis|:|(3-Leiter)
Wohnort: 636xx Hessen/Main-Kinzig-Kreis
Alter: 69

Re: MobaLedLib: die ersten Platinen und Stecker verschickt

#297

Beitrag von aftpriv »

Hallo Stummi-Forianer HDGSandkrug + 4fangnix + hawibi + ditohan
Eure Platinen gehen morgen, Samstag 1.6., zur Post, erwartet Euer Päckchen anfangs der nächsten Woche.

Es freut uns das Ihr von diesem Projekt soweit angetan seit, das Ihr die nackten Platinen und Stecker gekauft habt und alles daheim zusammen braten werdet.

Bitte macht beim Bestücken und Löten viele Bilder und schickt sie mir (Ihr bekommt per PN meine Email-Adresse), hiermit erteilt Ihr uns auch gleich das Copyright, diese Bilder weiter zu verwenden.

Viel Spaß beim Basteln und gutes Gelingen
wünschen Hardi + Alf

PS: sollte sich jemand wirklich nicht selber an dieses Projekt trauen, schreibt uns, wir versuchen jemanden zum Löten zu animieren.
Pickel-Bahner seit 1958 / K-Gleis + ZIMO-Decoder (MX633P22/MX645P22)
RocRail & RocNetNode
Email bezüglich MobaLedLib-Belange: LedLib@yahoo.com
Benutzeravatar

Threadersteller
Hardi
InterCity (IC)
Beiträge: 936
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Kontaktdaten:
Deutschland

MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Lizenz zum ...

#298

Beitrag von Hardi »

Hallo Leute mit der Lizenz zum Löten,

das Löten der Platinen ist nicht so schwer. Entscheidend ist das richtige Werkzeug. Ich solltet Euch unbedingt eine Lötstation mit einer stufenlosen Temperaturregelung kaufen. Sie sollte mindestens 70-80 W haben. Ich verwende bei den Platinen immer Masseflächen. Diese leiten die Wärme sehr gut ab. Ein einfacher Lötkolben schafft das oft nicht. Meine Lötstation habe ich vor 20 Jahren gekauft. Durch die Temperaturregelung und evtl. besseres Material ist die Lötspitze heute noch wie Neu. Es lohnt sich also in jedem Fall. Bei billigen Lötkolben ist die Spitze schon nach kurzer Zeit eine Kraterlandschaft.

Mein Sohn hat mit 9 seine eigene Lötstation bekommen damit wir zusammen basteln können. Seine Lötstellen sehen zum teil besser aus als meine. Ich bin sicher das liegt auch am Werkzeug.

Außerdem braucht ihr gutes Licht. Am besten eine große beleuchtete Lupe.

Ihr werdet sehen, damit gelingt auch das Löten von den kleinsten Teilen. Unsere Platinen sind damit ein Kinderspiel.

Viel Spaß beim Löten…

Hardi
Haltet Euch unbedingt von diesen Seiten fern:
͏͏͏ viewtopic.php?f=7&t=165060
͏͏͏ https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr unter meinem Profil bei „Webseite“

4fangnix
InterRegio (IR)
Beiträge: 119
Registriert: So 18. Okt 2015, 12:26
Nenngröße: H0
Stromart: digital
Steuerung: Rocrail / DCC BiDiB
Gleise: C-Gleis
Wohnort: Weiterstadt
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Platinen sind

#299

Beitrag von 4fangnix »

Hallo Alf und Hardi,

ich habe mir schon Bauteile von Reichelt (und vom freundlichen Chinesen) bestellt. Die dürften dann zusammen mit den Platinen eintreffen.
Natürlich werde ich Bilder anfertigen und auch zur Verfügung stellen. Keine Frage.
Mit den Arduinos habe ich mich zuletzt vor 3 Jahren beschäftigt, bin aber zuversichtlich schnell wieder reinzukommen.

Momentan baue ich eine Anlage auf und bin erst beim 1. Schattenbahnhof (vorher nur Testanlage).
BiDiB-Komponenten und eine Intellibox bilden meine Zentralen in Rocrail. Jetzt werden die Arduinos (wieder) hinzukommen.

Parallel bestücke ich gerade noch meine Waggons mit Funktionsdecoder und LED-Streifen.
Eine Idee spukt in mir, die Waggonbeleuchtung mit Nanos und WS2811/12 zu realisieren.
Also, sobald alle Bauteile eintreffen - Arbeitsplatz räumen - und dann loslegen.

Euch nochmals vielen Dank.
Mit großem Interesse habe ich hier mitgelesen, wollte aber erst viel später loslegen (nicht noch ein Zwischenprojekt neben dem Anlagenbau).
Doch, auch wegen eures Einsatzes habe ich mich entschlossen früher damit zu beginnen. Sind es halt Hobbies im Hobby.

Noch einen schönen Restsonntag.
Armin
Rocrail, 1x OpenDCC GBMboost, 1x BiDiB RF-Basis (OpenCar), 5x GBM16T, 2x LightControl, 2x OneControl, 5x Mobalist, DMX-RGB-Dimmer, MobaLedLib mit 768 LED über WS2811 oder 256 WS2812 RGB-LED, Intellibox - Märklin C- und K-Gleis, Bahn im Aufbau.
Benutzeravatar

Threadersteller
Hardi
InterCity (IC)
Beiträge: 936
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Kontaktdaten:
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Platinen sind

#300

Beitrag von Hardi »

Hallo Armin,

freut mich, das Dich die MobaLedLib von Deinem Hauptprojekt ablenkt.
Ich sehe, dass Du in meiner Nähe wohnst. Wenn Du Probleme damit hast kann ich mal schnell auf dem Weg in den Odenwald mit dem Moped vorbei kommen... Das gilt natürlich auch andersherum.


Nano, Waggon Beleuchtung, ws281x?
Erst mal habe ich gedacht wozu das den, aber je länger ich darüber nachdenke...
Man könnte einen ATTiny85. Nehmen, das ist der kleinste „Arduino“ mit nur 8 Pins im DIL8 Gehäuse. Damit könnte man einen DCC Dekoder machen und damit die LEDs ansteuern. Ich weiß nicht ob man im Waggon verschiedene Farben oder Lichteffekte braucht. Aber mindestens die Innenbeleuchtung und das Schlußlicht.
Man könnte das auch noch weiter spinnen: viewtopic.php?t=168633

Hardi
Haltet Euch unbedingt von diesen Seiten fern:
͏͏͏ viewtopic.php?f=7&t=165060
͏͏͏ https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr unter meinem Profil bei „Webseite“

4fangnix
InterRegio (IR)
Beiträge: 119
Registriert: So 18. Okt 2015, 12:26
Nenngröße: H0
Stromart: digital
Steuerung: Rocrail / DCC BiDiB
Gleise: C-Gleis
Wohnort: Weiterstadt
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Platinen sind

#301

Beitrag von 4fangnix »

Hallo Hardi,

ja, nach Mainz ist es für mich ja auch nicht weit. Danke für das Angebot.
Könnte tatsächlich sein, dass ich darauf zurückkomme.

An die WS281x dachte ich, da ich die Lichtfarben ggf. auf die jeweiligen Waggons anpassen könnte, also keine Disco aber gelblicheres Licht in Donnerbüchsen, warmweiß im IC und kalzweiß im ICE. Alles muss aber schaltbar sein, denn im SBH wird ohne Stromverbraucher gefahren.

Den Link den Du drangehängt hast gibt genau das wieder.

Schöne Grüße
Armin
Rocrail, 1x OpenDCC GBMboost, 1x BiDiB RF-Basis (OpenCar), 5x GBM16T, 2x LightControl, 2x OneControl, 5x Mobalist, DMX-RGB-Dimmer, MobaLedLib mit 768 LED über WS2811 oder 256 WS2812 RGB-LED, Intellibox - Märklin C- und K-Gleis, Bahn im Aufbau.

rolfha
InterRegio (IR)
Beiträge: 236
Registriert: Do 14. Feb 2019, 22:20
Nenngröße: N
Stromart: digital
Steuerung: Lenz
Gleise: Fleischmann
Wohnort: Kronberg
Alter: 70
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Platinen sind

#302

Beitrag von rolfha »

Hallo,
ich habe meinen Aufbau heute mal soweit fertig gemacht, dass ich damit herumspielen kann und alle Funktionen testen.
Hier das Foto:

https://ohoe12-my.sharepoint.com/:i:/g/ ... Q?e=bkoLvM

Rolf

4fangnix
InterRegio (IR)
Beiträge: 119
Registriert: So 18. Okt 2015, 12:26
Nenngröße: H0
Stromart: digital
Steuerung: Rocrail / DCC BiDiB
Gleise: C-Gleis
Wohnort: Weiterstadt
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Platinen sind

#303

Beitrag von 4fangnix »

Hallo Rolf,

das war aber schnell. Heute war alles in der Post. Mal sehen, was ich an Zeit am Wochenende freischaufeln kann.

Schöne Grüße
Armin
Rocrail, 1x OpenDCC GBMboost, 1x BiDiB RF-Basis (OpenCar), 5x GBM16T, 2x LightControl, 2x OneControl, 5x Mobalist, DMX-RGB-Dimmer, MobaLedLib mit 768 LED über WS2811 oder 256 WS2812 RGB-LED, Intellibox - Märklin C- und K-Gleis, Bahn im Aufbau.

aftpriv
InterCity (IC)
Beiträge: 992
Registriert: Di 3. Apr 2012, 10:01
Nenngröße: H0
Stromart: digital
Steuerung: Gleisbox+RocRail-RN-Node
Gleise: K-Gleis|:|(3-Leiter)
Wohnort: 636xx Hessen/Main-Kinzig-Kreis
Alter: 69

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Platinen sind

#304

Beitrag von aftpriv »

Servus Rolf
Foto ist schon gekrallt

Gruß Alf
Pickel-Bahner seit 1958 / K-Gleis + ZIMO-Decoder (MX633P22/MX645P22)
RocRail & RocNetNode
Email bezüglich MobaLedLib-Belange: LedLib@yahoo.com
Benutzeravatar

Threadersteller
Hardi
InterCity (IC)
Beiträge: 936
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Kontaktdaten:
Deutschland

MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Bandenwerbung

#305

Beitrag von Hardi »

Hallo Rolf,

das Bild gefällt mir so gut, dass ich es noch mal so hochladen muss, dass es automatisch gezeigt wird. Ich hoffe das ist O.K. für Dich.
Bild
Es freut mich sehr, dass Du auf diese Art Werbung für die Bibliothek machst!

Hardi
Haltet Euch unbedingt von diesen Seiten fern:
͏͏͏ viewtopic.php?f=7&t=165060
͏͏͏ https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr unter meinem Profil bei „Webseite“
Benutzeravatar

Threadersteller
Hardi
InterCity (IC)
Beiträge: 936
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Kontaktdaten:
Deutschland

MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Geschenke

#306

Beitrag von Hardi »

Hallo Zusammen,

Gestern habe ich ein Päckchen bekommen über das ich mich sehr gefreut habe.
Doch zunächst die Vorgeschichte:
Letztens habe ich mich mit einem netten Stummi per Telefon, oder war es eine PN, darüber unterhalten, dass ich noch eine Schaltung entwickeln muss mit der man die Fuses eines ATTinys wieder zurück setzen kann wenn man diese vorher so modifiziert hat dass man den Reset Pin als zusätzlichen IO Anschluss verwenden kann. Das braucht man für das neue Servo Modul. Ein wenige Tage später schickt er mir dieses Bild!
Bild
Es ist genau so ein HV-Resetter mit dem man die Fuses zurücksetzen kann. Er hat die Schaltung mal schnell für mich geätzt, bedruckt und auch gleich die Bauteile für mich bestückt, einfach so!
Und gestern ist das Teil angekommen. Das hat mich so sehr gefreut, dass ich es unbedingt mit Euch teilen will, denn
geteilte Freude ist Doppelte Freude!

Ganz vielen Dank!

Das zeigt mir wieder einmal was für eine tolle Gemeinschaft die Stummis sind!

Das (hoffentlich) letzte Problem im Servo Programm habe ich inzwischen gefunden (#296: https://www.stummiforum.de/viewtopic.ph ... 8#p1978890). Es war gar kein Fehler im Servo Programm sondern ein Bug in der MobaLedLib.

Jetzt mache ich erst mal der Programmieradapter für die ATTinys fertig damit Ulrich die Servo Platinen und den Adapter für uns bestellen kann.
Railcar hat geschrieben: Di 30. Apr 2019, 08:55 Edit: Beinahe vergessen - klar hätte ich Interesse - ich opfere mich auch für die Platinenbestellung.
Hardi
Haltet Euch unbedingt von diesen Seiten fern:
͏͏͏ viewtopic.php?f=7&t=165060
͏͏͏ https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr unter meinem Profil bei „Webseite“
Benutzeravatar

Threadersteller
Hardi
InterCity (IC)
Beiträge: 936
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Kontaktdaten:
Deutschland

MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: CAN Bus O.K.

#307

Beitrag von Hardi »

Hallo CAN Bus Nutzer,

bisher hatte ich ja noch keine Gelegenheit den CAN Bus der Hauptplatine zu testen (#285: https://www.stummiforum.de/viewtopic.ph ... 8#p1975854). Das habe ich jetzt nachgeholt.

Und… Es funktioniert einfach so!

Programm drauf spielen, anschließen, per MS2 über CAN die LEDs schalten. Ich bin begeistert!
Für den Test habe ich die Beispiele „11.CAN_Bus_MS2_RailwaySignal.ino“ und „12.CAN_Bus_MS2_Switch_Lights.ino“ verwendet.

Ich war mir unsicher, ob das Programm auch dann „CAN Init OK!“ meldet wenn man keinen CAN Bus angeschlossen hat. Das Programm meldet auch ohne angeschlossenen Bus „CAN Init OK!“
Wenn man kein MCP2515 CAN Modul eingesteckt hat (Oder ein anderer Fehler vorliegt), dann kommt erwartungsgemäß „CAN Init Fail!“.
In dem Fall sollte man die 4 Leitungen zwischen Arduino und CAN Modul nachmessen (Kurzschluss und Durchgang).

Achtung: Bei der Gleisbox von Märklin wird die Schienenspannung über eine H-Brücke geschaltet. => Zwischen Schiene und Arduino Masse darf keine Verbindung bestehen sonst können Komponenten am CAN Bus kaputt gehen. Diese Verbindung könnte evtl. auch unbeabsichtigt über andere am PC angeschlossene Komponenten hergestellt werden und erst in Verbindung mit der Versorgung des Arduinos über den USB Port des PCs zu Problemen führen. Ein Kandidat dafür ist die Erdung des Monitors über den Schutzleiter.
Das Problem kann auch bei anderen Steuergeräten auftreten.

Hardi
Haltet Euch unbedingt von diesen Seiten fern:
͏͏͏ viewtopic.php?f=7&t=165060
͏͏͏ https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr unter meinem Profil bei „Webseite“

HDGSandkrug
Beiträge: 7
Registriert: Sa 13. Apr 2019, 09:44
Nenngröße: H0
Stromart: digital
Steuerung: TC + Märklin-CS2 + Arduino
Gleise: C-Gleis
Wohnort: Hatten - Sandkrug
Alter: 83
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: CAN Bus O.K.

#308

Beitrag von HDGSandkrug »

Hallo Hardi,
Hallo CAN_Bus_Nutzer,

bei meinen Tests mit den Beispielen „11.CAN_Bus_MS2_RailwaySignal.ino“ und „12.CAN_Bus_MS2_Switch_Lights.ino“ habe ich leider bisher noch keinen Erfolg gehabt.
Mit der Hauptplatine habe ich bisher noch nicht gearbeitet, weil sie erst gestern mit der Post kam.
Die Breadboard-Anwendungen mit dem Arduino-UNO und -Nano und dem MCP2515 CAN Modul bringen den Fehler "Entering Configuration Mode Failure..." und "CAN Init Fail!".
Diese Fehlermitteilung kommt selbst dann, wenn die angeschlossene CAN_Bus-Verbindung zur MS2-Gleisbox abgetrennt wird.
Prüfen muß ich noch, ob auf dem MCP2515 Modul ggfls. eine Terminierung mit einem 120 Ohm Wiederstand (Jumper) erforderlich ist.

Hallo DCC-Nutzer:
begeistert bin ich von den Beispielen „23_A.DCC_Rail_Decoder_Transmitter" und „23_B.DCC_Rail_Decoder_Receiver".
Sie laufen hervorragend!
Jetzt bin ich in der Lage, LEDs, Signale, Bahnsteiganzeigen und viele andere Dinge auf meiner MoBa mit Arduinos zu steuern.
Dies ist sowohl mit MS2-Gleisboxen und mit der MÄrklin CS2 (60215) möglich. Auch mit dem Railroad-TrainController kann ich viele (virtuelle) DCC-Komponenten aufrufen und an die Arduinos weiterleiten. Bisher habe ich zur Steuerung meiner MoBa nur das Märklin mfx- und Motorola-Protokoll genutzt.

Danke an Hardi und seine Unterstützer für die wundervolle MoBaLedLib.

Horst Dieter
Benutzeravatar

Threadersteller
Hardi
InterCity (IC)
Beiträge: 936
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Kontaktdaten:
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Bandenwerbung

#309

Beitrag von Hardi »

Hallo Horst Dieter,

es freut mich sehr, dass die DCC Geschichte auf Anhieb funktioniert hat.

Beim CAN Bus wird irgendein kleiner Fehler vorliegen. Oft kann man den Fehler Stundenlang anschauen und sieht ihn nicht. Ich gehe davon aus, dass es mit der Platine funktioniert. Wenn nicht, dann könnten natürlich auch die Module (Nano oder CAN) kaputt sein. Ich frage in solchen Fällen einen Kollegen und erkläre Ihm alles. Dabei fällt mir dann meistens der Fehler selber auf.

Der Abschlusswiderstand ist definitiv nicht nötig. Der CAN BUS muss an beiden Enden terminiert werden, was ja schon vorhanden ist. Ein zusätzlicher Abschlusswiderstand geht noch, aber bei Zweien kann es schon Probleme geben.

Ich wünsche Dir viel Erfolg, ansonsten melde Dich…
Hardi
Haltet Euch unbedingt von diesen Seiten fern:
͏͏͏ viewtopic.php?f=7&t=165060
͏͏͏ https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr unter meinem Profil bei „Webseite“
Benutzeravatar

Threadersteller
Hardi
InterCity (IC)
Beiträge: 936
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Kontaktdaten:
Deutschland

MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Auflösung...

#310

Beitrag von Hardi »

Hallo Zusammen,

es ist wirklich sehr Rücksichtsvoll, dass Ihr Euch zurückhaltet damit ich nicht bloßgestellt werde. Der Fehler ist ja auch zu peinlich...
Hardi hat geschrieben: Fr 31. Mai 2019, 09:47 Ich habe jetzt ewig an einem völlig blödsinnigen Fehler gesucht. Vielleicht findet Ihr ihn schneller als ich.

Wo ist der Fehler in der folgenden Routine?

Code: Alles auswählen

//--------------------
ISR(TIM1_COMPA_vect)
//--------------------
{
  Channel_Data_t *cp = &Channel_Data[0];
  for (uint8_t Channel = 0; Channel < sizeof(Inp_Prtx) ; Channel++, cp++)                
     {
      uint16_t RemTime = MAX_SERVO;
      if (cp->Dst_pwmTime != 0 && !cp->DisableServo)
         {
         if (cp->Move_Inc == 0)
              cp->Act_pwmTime = cp->Dst_pwmTime; // Full speed
         else { // Slow movement
              if (cp->Dst_pwmTime > cp->Act_pwmTime)
                   {
                   cp->Act_pwmTime += cp->Move_Inc;
                   if (cp->Act_pwmTime > cp->Dst_pwmTime) cp->Act_pwmTime = cp->Dst_pwmTime;
                   }
              else {
                   if (cp->Dst_pwmTime < cp->Act_pwmTime)
                      {
                      cp->Act_pwmTime -= cp->Move_Inc;
                      if (cp->Act_pwmTime < cp->Dst_pwmTime) cp->Act_pwmTime = cp->Dst_pwmTime;
                      }
                   }
              }
         Impuls_1_8_microseconds(cp->Act_pwmTime, Outp_PBx[Channel]);
         RemTime =- cp->Act_pwmTime;                                                               
         }
      delayHalfMicroseconds(RemTime/4);
      }
  IntProcessed = 1;
}
Das ist ein Mitmach Projekt… Ihr wisst schon…
Zur Bestätigung Eurer Annahme, er ist in der 6. Zeile von unten (falls ich mich nicht verzählt hab).

Hardi
Haltet Euch unbedingt von diesen Seiten fern:
͏͏͏ viewtopic.php?f=7&t=165060
͏͏͏ https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr unter meinem Profil bei „Webseite“

deeptechno
Beiträge: 1
Registriert: Mi 23. Jan 2019, 20:48
Nenngröße: H0
Stromart: digital
Steuerung: Arduino DCC++, MS2
Gleise: PECO Code 83
Wohnort: Bordeaux, France
Alter: 47
Kontaktdaten:
Frankreich

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Auflösung...

#311

Beitrag von deeptechno »

Many thanks for this great job Hardi! :D :D

I was looking for a while on a mean of driving and automating all accessories of my dioramas. Your work helped me a lot.

My typical use of MobaLebLib is with DCC: complete automation with JMRI software and/or manual control of lights.

Therefore, I got some thoughts / questionsb:
  • My first thought is about communication between arduinos. Don't you think that we could use another transmission protocol like i2C, RS485,... to got bi-directional, high speed and master/slaves communication ?
  • The second one is about sizing and complexity of maintenance job. I prefered to divide my accessories (ligths, servos, steppers...) in smallest area for better maintenance. Example: sawmill area, factory area, hall of goods area, railroad station area, small village area, ... So the solution would be to use more arduinos with one dedicated for a specific area and/or use more data pins on one arduino. How do you feel about this?
  • Third one is about maintenance and neophyte people that would like to use your system. Do you think that it could be possible to store Moba config in the arduino DCC decoder as CV pairs/values? (I'm studying Geoff Bunza great work on arduino pro mini based DCC decoder).
Excited to read your feeback on these questions.

Best regards,
Benoit
best regards,
Benoit

---------------------------------------------------------------------------------------------------------------
Model railroad automation, CNC digital & laser cutting, Arduino, Raspberry PI, JMRI, CMRI.
Benutzeravatar

Threadersteller
Hardi
InterCity (IC)
Beiträge: 936
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Kontaktdaten:
Deutschland

MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: International

#312

Beitrag von Hardi »

Hi Benoit,

@Alle: Eine Deutsche Übersetzung findet ihr unten…

I am very pleased that MobaLedLib has also arrived in France. It also answers one of my questions that have not been asked yet: "Should I continue to translate the documentation into the English language?"

@All:

If there are two more friendly model railroaders reporting that they would like a translation, then I will translate the extensions to the documentary. Currently the description is at the editors for the correction ...
=> If you want an English description, then post it here!

Now for your questions:
  • At the moment I see no need to use bidirectional communication. The communication to the LEDs is only one way.
    In addition, the RS232 protocol has the advantage that it is supported by hardware from the Arduino. I had to use two processors because the FastLED library locks the interrupts for a long time. During this time, DCC commands have been lost. Now the DCC Arduino translates the commands, stores them temporary and sends them via RS232 to the LED Arduino. Via line A1 between the two Arduinos, the sending of the characters is interrupted before the interrupts are disabled. It can happen that there is still a character on the way. That does not matter, because this character is received by hardware even if the interrupts are locked.
    What advantages would other communication methods have?
  • Modularization is certainly important from a reliability point of view. If you think about software maintenance, it may be better to have a centralized system.
    There are different approaches.
    The easiest way is to use a dedicated controller for each area. Thanks to the low prices for the Arduinos, this is not a financial problem. The space for the hardware and the software maintenance may speak against it.
    Simple 4-wire cabling allows each module to be connected separately. This can be done via an additional distributor board. Unfortunately, the addresses of the LEDs shift, if not all modules are used or changes have to be made to a module. In the not yet published documentation, I showed a way how to improve it.
    The FastLED library can also control several separate LED strings. Each stripe is controlled by its own pin. Then one module can be omitted without affecting the other modules.
    In the example "14.Switches_80_and_more" I used two LED stripes. One for the LEDs on the railway system and one for the illumination of the buttons.
    Therefore, there are two initializations in the "setup ()" function:

    Code: Alles auswählen

      FastLED.addLeds <NEOPIXEL, LED_DO_PIN_1> (leds, NUM_LEDS_1);
      FastLED.addLeds <NEOPIXEL, LED_DO_PIN_2> (leds + NUM_LEDS_1, NUM_LEDS_2);
    
  • Saving the configuration as CV data would certainly be possible, but a very time-consuming job. In addition, one is limited by the low EEPROM memory of the Arduino.
    It would certainly be possible to create a user-friendly interface with which you can click the configuration together with the mouse. This program would then generate a configuration which one could send to the Arduino with the normal Arduino upload program (AVRDrude). Everything from an IDE.
    But we could also think further and develop our own boot loader that transmits the data via DCC.
    But that is an endless amount of work.
    The project is not meant for people who do not want to do it themselves. The people have to have a certain willingness to get involved in the matter. If they have done that, they will be rewarded by a very nice result and can say: "I programmed this myself".
    I will gladly support everyone. In the meantime, I have also found some colleagues so that we can create a really great project together. You are cordially invited.

    I've never heard of the decoder by Geoff Bunza. What I see here at first sight
    https://model-railroad-hobbyist.com/node/24316 looks promising. I have to read carefully. Also, the thread in the Stummi forum: viewtopic.php?t=156451
I am very happy, if you join the MobaLedLib users.

Hardi



----------------------------------------------------------------------------------------------------------------------------------

Hier ist die deutsche Übersetzung des Posts von Benoit und meine Antwort darauf. Ich hoffe Google und ich haben es einigermaßen richtig Übersetzt:
deeptechno hat geschrieben: Mo 10. Jun 2019, 08:20 Vielen Dank für diesen tollen Job Hardi! :D :D

Ich habe eine Weile nach einer Möglichkeit gesucht, alle Zubehörteile meiner Dioramen zu betreiben und zu automatisieren. Deine Arbeit hat mir sehr geholfen.

Meine typische Verwendung der MobaLebLib eine vollständige Automatisierung über DCC mit JMRI-Software und / oder manuelle Steuerung von Lichtern (Anmerkung von Hardi: JMRI = Java Model Railroad Interface http://jmri.org/).

Daher habe ich einige Gedanken / Fragen:
  • Mein erster Gedanke ist die Kommunikation zwischen Arduinos. Denkst Du nicht, dass wir ein anderes Übertragungsprotokoll wie i2C, RS485, ... verwenden könnten, um bidirektionale, Hochgeschwindigkeits- und Master / Slaves-Kommunikation zu erhalten?
  • Bei der zweiten geht es um die Dimensionierung und Komplexität von Wartungsarbeiten. Ich habe es vorgezogen, mein Zubehör (Lampen, Servos, Stepper ...) zur besseren Wartung auf kleinstem Raum aufzuteilen. Beispiel: Sägewerksbereich, Fabrikbereich, Warenhalle, Bahnhofsbereich, kleiner Dorfbereich, ... Die Lösung wäre also, mehr Arduinos mit einem für einen bestimmten Bereich bestimmten Arduino zu verwenden und / oder mehr Datenpins auf einem Arduino zu verwenden. Wie denkst du darüber?
  • In der dritten geht es um Wartungs- und Neulinge, die Dein System nutzen möchten. Denkst Du, dass es möglich sein könnte, Moba-Konfiguration im Arduino DCC-Decoder als CV-Paare / Werte zu speichern? (Ich studiere die großartige Arbeit von Geoff Bunza an einem auf Arduino Pro Mini basierenden DCC-Decoder.)
bin gespannt auf Dein Feedback zu diesen Fragen.

Freundliche Grüße,
Benoit
------------------------------------------------------------

Meine Antwort:

Es freut mich sehr, dass die MobaLedLib jetzt auch in Frankreich angekommen ist.

Es beantwortet auch eine meiner noch nicht gestellten Fragen: "Soll ich die Dokumentation weiterhin ins Englische übersetzen".

@An Alle:
Wenn sich jetzt noch zwei weitere Englisch sprechende Modellbahner melden, dass sie gerne eine Übersetzung hätten, dann werde ich die Erweiterungen zur Doku übersetzen. Momentan ist die Beschreibung bei den Lektoren zur Korrektur...
=> Wenn ihr eine englische Beschreibung wollt, dann postet das hier![/]

Jetzt zu Deinen Fragen:
  • Ich sehe momentan keine Notwendigkeit eine bidirektionale Kommunikation zu verwenden. Die Kommunikation zu den LEDs geht ja auch nur in einer Richtung.
    Außerdem hat das RS232 Protokoll den Vorteil, dass es per Hardware vom Arduino unterstützt wird. Ich musste zwei Prozessoren verwenden, weil die FastLED Bibliothek die Interrupts längere Zeit sperrt. In dieser Zeit sind DCC Befehle verloren gegangen. Jetzt Übersetzt der DCC-Arduino die Befehle, speichert sie zwischen und schickt sie per RS232 zum LED Arduino. Über Leitung an Pin A1 zwischen den beiden Arduinos wird das senden der Zeichen unterbrochen bevor die Interrupts gesperrt werden. Dabei kann es passieren, dass noch ein Zeichen unterwegs ist. Das macht aber nichts, weil dieses Zeichen per Hardware empfangen wird auch wenn die Interrupts gesperrt sind.
    Welche Vorteile hätten andere Kommunikationsmethoden?
  • Das Modularisieren ist aus der Sicht der Zuverlässigkeit sicherlich wichtig. Wenn man an die Software Pflege denkt ist es vielleicht besser, wenn man ein zentrales System hat.
    Es gibt verschiedene Ansätze.
    Der einfachste Weg ist die Verwendung einer eignen Steuerung für jeden Bereich. Dank der niedrigen Preise für die Arduinos ist das kein finanzielles Problem. Der Platz für die Hardware und die Software Pflege spricht eventuell dagegen.
    Durch die einfache 4-Draht Verkabelung kann man jedes Modul separat anschließen. Das kann man über einen zusätzlichen Verteiler manchen. Dabei verschieben sich dummerweise die Adressen der LEDs wenn nicht alle Module benutzt werden oder Änderungen an einem Modul gemacht werden müssen. In der noch nicht veröffentlichten Dokumentation habe ich eine Möglichkeit aufgezeigt wie man das verbessern kann.
    Mit der FastLED Bibliothek können aber auch mehrere separate LED Stränge angesteuert werden. Jeder Strang wird über einen eigenen Pin angesteuert. Dann kann ein Modul weggelassen werden ohne dass es die anderen Module beeinflusst.
    Im Beispiel „14.Switches_80_and_more“ habe ich zwei LED Stränge benutzt. Einen für die LEDs auf der Anlage und einen für die Beleuchtung der Taster.
    In der “setup()” Funktion gibt es darum zwei Initialisierungen:

    Code: Alles auswählen

      FastLED.addLeds<NEOPIXEL, LED_DO_PIN_1>(leds,            NUM_LEDS_1);
      FastLED.addLeds<NEOPIXEL, LED_DO_PIN_2>(leds+NUM_LEDS_1, NUM_LEDS_2);
    
  • Das Speichern der Konfiguration als CV Daten währe sicherlich möglich, aber sehr aufwändig. Außerdem ist man durch den geringen EEPROM Speicher des Arduinos eingeschränkt.
    Es wäre aber sicherlich möglich eine benutzerfreundliche Oberfläche zu erstellen mit der man die Konfiguration per Maus zusammen klicken kann. Dieses Programm würde dann eine Konfiguration generieren welche man mit dem normalen Arduino Upload Programm (AVRDrude) zum Arduino schicken könnte. Alles aus einer IDE heraus.
    Man könnte aber auch weiter Denken und einen eigen Bootloader entwickeln der die Daten per DCC überträgt.
    Aber das ist unendlich viel Arbeit.
    Das Projekt ist nicht für Leute gedacht die nichts selber machen wollen. Man muss eine gewisse Bereitschaft dazu haben sich in die Sache einzuarbeiten. Wenn man das geschafft hat, dann wird man von einem sehr schönen Ergebnis belohnt und kann sagen: „Ich habe das selber programmiert“.
    Dabei werde ich alle gerne unterstützen. Inzwischen habe ich ja auch einige Mitstreiter gefunden so dass wir gemeinsam ein ganz tolles Projekt erschaffen. Du bist herzlich dazu eingeladen.
    Von dem Decoder von Geoff Bunza habe ich noch nichts gehört. Das was ich auf den ersten Blick hier
    https://model-railroad-hobbyist.com/node/24316 gesehen habe sieht vielversprechend aus. Ich muss es mal in ruhe Durchlesen. Ebenso den Thread im Stummi Forum: viewtopic.php?t=156451
Es freut mich sehr, wenn Du dabei bist.

Hardi
Haltet Euch unbedingt von diesen Seiten fern:
͏͏͏ viewtopic.php?f=7&t=165060
͏͏͏ https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr unter meinem Profil bei „Webseite“
Benutzeravatar

Threadersteller
Hardi
InterCity (IC)
Beiträge: 936
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Kontaktdaten:
Deutschland

MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Making of

#313

Beitrag von Hardi »

Hallo Hintergründige,

Heute Nacht habe ich endlich die nächsten Platinen fertig gestellt. Rolf hat sich bereit erklärt diese zu bestellen: Vielen Dank!

Die eine Platine habe ich ja schon vor Jahren angekündigt (#265: https://www.stummiforum.de/viewtopic.ph ... 8#p1968568).
Und weil mir das Bild immer noch so gut gefällt zeige ich es nochmal: Bild

Mit der Platine können 3 Servos angesteuert werden. Die Servos werden wie eine LED angesprochen.
Damit gibt es 200 verschiedene Positionen welche schön langsam angefahren werden können.
Die Platine wird genauso wie eine LED über eine Verteilerplatine angeschlossen.
Durch die minimalen Abmessungen und die einfache Verkabelung können die Platinen genau da unter der Anlage platziert werden wo sie benötigt werden.
Mehrere dieser Platinen können aneinandergereiht werden. Dazu sind die 4 Lötaugen über und unter dem WS2811 vorgesehen.

Zusätzlich können damit Schrittmotoren oder Multiplex Lichtsignale angesteuert werden. Die Software dazu existiert aber immer noch nicht ;-( Aber ich werde mich irgendwann daran machen…

Auf der Servo Platine wird ein ATTiny85 verwendet. Zum Programmieren eines ATTinys benötigt man eigentlich keine zusätzliche Hardware. Die ATTinys können vom einem Arduino Uno oder Nano aus programmiert werden. Der ATTiny wird dazu mit wenigen Kabeln mit dem Arduino verbunden. Auf dem Arduino wird das Programm „11.ArduinoISP“ welches sich standardmäßig in den Beispielen der Arduino IDE befindet geladen. Im Internet findet man dazu viele Anleitungen. Hier ein Beispiel: https://www.frag-duino.de/index.php/mak ... grammieren

Zur Vereinfachung dieses Anschlusses und für einige weitere Funktionen habe ich die „Tiny UniProg“ Platine entwickelt:
Bild

Neben der eigentlichen Platine (Links unten) sind noch einige Adapter zu sehen welche zur den Anschluss an verschiedene Prozessoren ermöglichen.Diese werden später abgesägt.


Der ATTiny85 hat nur 8 Beinchen. Zwei davon werden für die Versorgungsspannung benötigt. Übrig bleiben 6 Anschlüsse. Einer davon ist der Reset Eingang. Diesen benötigt man zum Programmieren des Prozessors.
Für das Einlesen der drei LED Helligkeiten und das generieren der drei Servo Signale benötigt man aber 6 Anschlüsse. Wegen dem Reset Eingang fehlt einer ;-(
Die Hersteller des Prozessors haben das bereits berücksichtigt. Darum gibt es eine so genannte „Fuse“ welche man so programmieren kann, dass der Reset Anschluss mit geringen Einschränkungen als IO Pin benutzt werden kann. Das Problem dabei ist, dass man einen 12V Spannung benötigt, wenn dann ein neues Programm auf den ATTiny kopieren will.

Diesen so genannten „HV-Reset“ kann man mit der hier vorgestellten Platine einfach über einen Knopfdruck durchführen. Die 12V erzeugt die Schaltung aus den 5V des USB Anschlusses.

Die Platine erfüllt noch eine dritte Funktion. Sie kann über entsprechende Adapter mit der zu entwickelnden Schaltung verbunden werden so dass man den Prozessor nicht jedes Mal zum Programmieren umstecken muss. Außerdem können damit Debug Ausgaben das Programms per RS232 oder CAN Bus empfangen und am PC angezeigt werden.

Wenn Ihr Servos, Schrittmotoren oder Multiplex Signale über die MobaLedLib ansteuern wollt, dann benötigt Ihr eine solche Platine zum Programmieren der ATTinys. Das Programmieren der ICs geht genau so einfach wie bei einem „normalen“ Arduino. Ich werde das demnächst mal detailiert beschreiben.

Platinen entwickeln macht Spaß
Der Entwurf einer Platine macht mir sehr viel Spaß, auch wenn ich gestern Nacht nach 5 Stunden für das letzte finish dann doch etwas genervt war…

Darum möchte ich Euch mal ein paar Bilder von den einzelnen Schritten zeigen. Evtl. können wir auch mal so was wie eine gemeinsame Schulung per Video Konferenz organisieren in der wir zusammen eine oder zwei Platinen machen.

Wenn Du daran Interesse hast, dann sag Bescheid.

Das Ziel wäre eine kleine Platine ähnlich der Servo Platine mit der man drei größere Lasten mit einer höheren Spannung schalten kann. Damit könnte man dann auch 12-16V Glühbirnen über die MobaLedLib steuern.

Doch jetzt kommt die Hintergrundinformation wie man so eine Platine macht.

Das „Making of“:

Nachdem man den Schaltplan gezeichnet hat
Bild
Tiny_UniProg_Sch_2019-06-14.pdf
wechselt man zu der Platine. Eagle ordnet zu Beginn alle Teile schön in Reihen an. Rechts daneben die leere Platine auf die man alle Teile verschieben muss. Die gelben Linien zeigen die nötigen Verbindungen zwischen den Bauteilen an. Sie verhalten sich wie Gummibänder und helfen bei der optimalen Platzierung der Bauteile. Hierbei kommt es darauf an, dass die Gummibänder möglichst kurz sind. Außerdem muss man sich an die Geometrischen Anforderungen halten. Eine gute Platzierung erleichtert das folgende Routing.
Bild

An dieser Stelle Denke ich jedes Mal, dass es vollkommen unmöglich ist alle die Teile auf die Platine zu bringen. Aber genau das ist der Reitz. Es ist eine sehr anspruchsvolle Knobelaufgabe die mir immer viel Spaß macht.
Nach einer Stunde sieht es dann schon viel besser aus:
Bild

Und nach weiterem Knobelspaß sind tatsächlich alle Teile untergebracht:
Bild

Es sind immer noch erschreckend viele kreuz und quer verlaufende Gummibänder, aber das wird schon. Doch zunächst wird weiter aufgeräumt:
Bild

Da ist ja sogar noch viel Platz frei => Schnell noch ein paar weitere Adapter hinzufügen und gleich die ersten Kupferbahnen verlegen:
Bild

Dabei verschwinden immer mehr der lästigen Gummibänder. Bis dann fast alle Leiterbahnen gezeichnet sind:
Bild

Beim Routing verlegt man die Leiterbahnen auf der einen Seite vorwiegend Horizontal (Rote Linien auf der Oberseite) und auf der anderen Seite Vertikal (Blaue Leiterbahnen unten).
Dann fängt die Optimierung an. Nach einigem probieren habe ich einen besseren Platz für das CAN Modul gefunden:
Bild

Jetzt müssen die Versorgungsleitungen geprüft und dicker gemacht werden. Hier sind die Masse Leitungen hervorgehoben:
Bild

Und dieses Bild zeigt die 5V Versorgung:
Bild

Das sieht sehr Gut aus. Später bekommt die Platine noch eine Kupferfläche für 5V und GND. Damit wird die Versorgung dann überall dick genug.
Es fehlen doch die richtige Anordnung der Bauteile auf den Adapterplatinen:
Bild

Da ist ja immer noch Platz. Schnell noch eine Testschaltung für die Multiplex Lichtsignale darauf packen:
Bild
Im Bild oben sind die Leiterbahnen ausgeblendet. Und die Beschriftungen so angeordnet, dass man sie später gut lesen kann. Wieder eine Stunde um...

Und jetzt werden die Masseflächen angelegt. Das geht ganz einfach. Man zeichnet nur den Umriss und das Programm macht den Rest…
Bild

Und hier die untere Massefläche:
Bild

Jetzt noch ein paar Bemaßungen:
Bild

Und dann kann die Platine zum Hersteller geschickt werden.

Es ist sehr viel Arbeit, macht aber auch total Spaß. Und wenn ich weiß, dass es Stummi Kollegen gibt denen ich damit einen Gefallen tuen kann, dann macht es noch viel mehr Spaß.
Ganz besonders freut es mich, dass sich immer wieder Stummis gibt die sich dann um das Bestellen der Platinen, die Dokumentation und das verteilen im Forum kümmern.
Vielen Dank an alle fleißigen Helfer!!

Habt Ihr Lust bekommen auch mal eine Platine zu machen? Meldet Euch…

Hardi
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Haltet Euch unbedingt von diesen Seiten fern:
͏͏͏ viewtopic.php?f=7&t=165060
͏͏͏ https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr unter meinem Profil bei „Webseite“

Ingolf
InterRegioExpress (IRE)
Beiträge: 261
Registriert: So 30. Aug 2015, 10:15
Nenngröße: H0
Stromart: digital
Steuerung: Z21
Gleise: Piko A
Wohnort: 39629 Bismark
Alter: 65
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Making of ...

#314

Beitrag von Ingolf »

Moin zusammen,

Hardi, ein Wahnsinns-Beitrag !

Dafür reichte mir der Daumen nicht.

Danke !

Grüße Ingo
Antworten

Zurück zu „Software und Hardware“