RE: Arduino MobaTools: V2.3.1 released

#301 von Woge , 11.02.2019 21:59

Hallo Franz Peter,
auch heute habe ich noch eine Frage in Bezug auf die Spannungsversorgung des Nanos. Bei meinem jetzigen Anlagenprojekt versorge ich den Nano über den 5V-PIN aus einer externen Stromversorgung. Kann ich auch hier gleichzeitig über den USB-Anschluss programmieren und dabei die 5V-externe Spannung weiterhin angelegt lassen?


viele Grüße von der Ostseeküste

Klaus


 
Woge
Regionalbahn (RB)
Beiträge: 41
Registriert am: 13.03.2016
Spurweite H0
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#302 von Hardi , 11.02.2019 22:04

Hallo Klaus,

Ja, das ist kein Problem. Ich mache das oft so.

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 hier:
RE: Unsere Kinder und Vater Anlage(n)


 
Hardi
InterCityExpress (ICE)
Beiträge: 2.138
Registriert am: 28.12.2015
Homepage: Link
Ort: Mainz
Gleise C
Spurweite H0
Steuerung MS2 + Eigenbau
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#303 von Sven , 14.02.2019 14:03

Grüß Gott und Hallo Franz-Peter,

nachdem ich die Beitragsfolge in den letzten Tagen durchgekaut habe, kommen mir da Erinnerungen hoch, als ich vor einigen Jahren (Januar oder Februar 2015) ohne jegliche C- oder C++ Kenntnisse mit dem Arduino Nano versucht habe, LED zu Rundumkennleuchten ("Blinklichtern" bzw. "Blitzern") anzusteuern. Allerdings nicht für die Modellbahn, sondern für ein RC Funktionsmodell mit Graupner HoTT Empfänger. Da bin ich als Anfänger an den "Delay" und "Interrupt" verzweifelt. Wie viel einfacher das wahrscheinlich mit der MobaTools Bibliothek gewesen wäre?

Nun habe ich eine andere "Idee": Ist es möglich, mit Hilfe der MobaTools mit einem einzigen Arduino (Nano, Mega, wasweißich) sehr viele Servos anzusteuern? Die Dinger sollen Lokschuppentore bewegen. Je nach Aufwand wären auch zwei Servos für einen Lokschuppen-Stand schön, weil dann jeder Torflügel separat bewegt werden könnte. Tja, und weil mein kranker Geist von einem Ringlokschuppen mit 25 oder 28 Ständen träumt, wären das 56 Servos, die weder ruckeln, rumzucken, noch beim Einschalten kollektives Luftfächeln auslösen sollen.
Auch sollten Loks, die vor Betriebsende der letzten Modellbahnsitzung in einer Lokparade in offenen Toren standen, bei erneutem Betriebsbeginn nicht durch Einschaltbewegungen der Servos mit sich bewegenden Toren beaufschlagt werden. Das wäre wohl weder für die Loks noch für die Servogetriebe gut...

Ich habe da auch diese PCA9685 Servo-"Treiber"-Platinen gefunden, mit denen angeblich jeweils 16 Servos gesteuert werden können sollen. Was ein I2C Bus ist und ob und wie der Arduino damit beglückt werden kann, weiß ich aber nicht und habe die entsprechenden Beiträge in dieser Beitragsfolge auch nicht wirklich verstanden. ops:

Den Lokschuppen gibt es noch nicht, den muß ich mir aus Architekturkarton oder dergleichen selbst bauen. Bei geraden Wänden und bedruckter Overhead-Folie als Fensterflächen sollte das keine Investition in Lokschuppenbausätze rechtfertigen, von welchen die größten Teile (Außenwände) ohnehin keine Verwendung finden werden (bis auf zwei). Aber die Tore werden der Knackpunkt als Selbstbau werden.
Und weil bei dieser Anzahl Servos dafür dann eine irrsinnig teure Steuerung notwendig werden würde, war das ganze Projekt ohnehin "geerdet". Mit der Idee, einen Arduino damit zu betrauen, wird das schon wieder interessant. Und noch dazu kann man das kleine Biest wohl auch noch mittels DCC beauftragen, die Servos zu bewegen. Damit bräuchte man nicht mal eine Armada an Schaltern und Knöpfen, sondern könnte mit einem Taster im Gleisbild der Märklin CS2 oder CS3 an der Drehscheibe auch noch die Lokschuppentore öffnen oder schließen.
Vielleicht könnte parallel dazu auch ein Drehschalter mit einem Display an den Arduino angeschlossen werden. Mit dem Drehschalter könnte man den Lokschuppenstand auswählen. Die ausgewählte Nummer wird im Display angezeigt. Mit einem Druck auf einen Taster könnte dann das ausgewählte Tor geöffnet oder geschlossen werden (toggle). Per Lichrschranke wird dann die Bewegung verhindert oder erlaubt, usw.
Wahrscheinlich denkt jetzt jeder Leser "träum weiter" und wird auch noch recht haben.

Ist das mit den MobaTools möglich, so viele Servos zu befehligen, oder sollten mehrere Arduino Nanos zu je 16 Servos antreten?

Mit den PCA9685 Servo-"Treiber"-Platinen können die Servo-Kabel direkt angesteckt werden, mit Terminals (breakout boards) für die Nanos wären die Servokabel an Schraubklemmen zu führen. Dann müßte ich mir eine handvoll PCA9685 Servo-"Treiber"-Platinen beschaffen, die es oftmals schon mit jeweils 10 Servos für kleines Geld gibt. Wäre das sinnvoll, oder gibt es da andere, einfachere Lösungen ohne dieses I2C?

Das Projekt pressiert nicht, es ist erst eine Idee.

Viele Grüße
Sven


Sven  
Sven
InterRegioExpress (IRE)
Beiträge: 270
Registriert am: 30.08.2018


RE: Arduino MobaTools: V2.3.1 released

#304 von MicroBahner , 14.02.2019 15:00

Hallo Sven,

Zitat

Wahrscheinlich denkt jetzt jeder Leser "träum weiter" und wird auch noch recht haben.

mit dem Arduino kann man schon ein paar Träume wahr werden lassen .... . Aber wie überall haben auch da die Götter den Schweiß vor den Erfolg gesetzt . Man bekommt nichts umsonst - wo man Geld spart, muss man das durch Zeit und etwas Gehirnschmalz ersetzen. Im Gegensatz zum Geld ausgeben macht es aber auch Spaß .

Also - mit den MobaTools und einem Nano kann man maximal 16 Servos ansteuern, dann ist Schluss. Allerdings hat der Nano auch gar nicht wesentlich mehr Anschlüsse, und irgendwelche Bedienelemente braucht man ja auch noch. Bei den Preisen, die für einen Nano aufgerufen werden, lohnt sich meiner Meinung nach auch das PCA9685-Platinchen nicht wirklich. Das ist auch nicht billiger als ein Nano - eher im Gegenteil. Wenn es auf den letzten Euro ankommt, kann man auch noch einen Arduino Mini nehmen, der ist noch mal einen Tick billiger. Allerdings braucht man dazu noch einen USB-Seriell-Wandler um ihn zu programmieren ( den allerdings nur einmal für alle eingesetzten Minis ).
Dabei sollte man aber schon berücksichtigen, dass bei 16 angeschlossenen Servos der Preis für den Nano schon nicht mehr wirklich ins Gewicht fällt - die Servos sind da der wesentliche Kostenfaktor.

Zitat

mit Terminals (breakout boards) für die Nanos wären die Servokabel an Schraubklemmen zu führen.

Es gibt auch für den Nano BreakoutBoards mit Servo-Anschlußsteckern. Man muss nur aufpassen,das man eins erwischt das eine getrennte Spannungsversorgung für die Servos erlaubt. Das ist auf jeden Fall sinnvoll.

Zitat

Auch sollten Loks, die vor Betriebsende der letzten Modellbahnsitzung in einer Lokparade in offenen Toren standen, bei erneutem Betriebsbeginn nicht durch Einschaltbewegungen der Servos mit sich bewegenden Toren beaufschlagt werden.

Das hängt von der Software und den eingesetzten Servos ab. Mit der passenden Software und Servos, denen man das 'Einschaltzucken' abgewöhnen kann ( oder die erst gar keins haben ) machen die Tore bei Betriebsbeginn keinen Mucks.

Zitat

Das Projekt pressiert nicht, es ist erst eine Idee.

Dann ist ja auch noch Zeit für etwas Einarbeitung in den Arduino und einen ersten Test mit einer Servoansteuerung


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduino MobaTools: V2.3.1 released

#305 von Bodo , 14.02.2019 15:35

Hallo Sven,

Zitat

Ich habe da auch diese PCA9685 Servo-"Treiber"-Platinen gefunden, mit denen angeblich jeweils 16 Servos gesteuert werden können sollen. Was ein I2C Bus ist und ob und wie der Arduino damit beglückt werden kann, weiß ich aber nicht und habe die entsprechenden Beiträge in dieser Beitragsfolge auch nicht wirklich verstanden. ops:

Mit den PCA9685 Servo-"Treiber"-Platinen können die Servo-Kabel direkt angesteckt werden, mit Terminals (breakout boards) für die Nanos wären die Servokabel an Schraubklemmen zu führen. Dann müßte ich mir eine handvoll PCA9685 Servo-"Treiber"-Platinen beschaffen, die es oftmals schon mit jeweils 10 Servos für kleines Geld gibt. Wäre das sinnvoll, oder gibt es da andere, einfachere Lösungen ohne dieses I2C?


nicht unter dem Aspekt "Preis", aber als "technische Herausforderung" finde ich diese Treiber schon interessant. Allerdings gibt es m.W. dazu wirklich noch nichts fertiges - ich habe schon mal einen Test-Sketch für einen DCC-Dekoder und den Treiber-Baustein geschrieben - aber da gibt´s noch viel zu tun. Falls Du das irgendwann mal testen willst, kann ich Dir den dann aktuellen Stand meiner Software gerne zur Verfügung stellen. Wie man den Baustein ansteuert, hatte ich schon mal an anderer Stelle kurz gezeigt: viewtopic.php?p=1887292#p1887292

Vorteile sehe ich da schon, wenn ein zusammenhängendes Objekt (wie ein Lokschuppen) mit einem Prozessor bedient wird - nur dann lassen sich Abhängigkeiten nach Bedarf programmieren. Natürlich kann man auch jeden Stand einzeln als Objekt betrachten und den DIY-Dekoder mit je einem Nano einsetzen. Die preisgünstigste Variante liegt vermutlich irgendwo in der Mitte ...

Ist halt´ die Frage, ob man die Programmierung als Hobby oder als notwendiges Übel betrachtet .

Viele Grüße, Bodo


Die Freiheit des Menschen liegt nicht darin, dass er tun kann, was er will, sondern dass er nicht tun muss, was er nicht will. (Jean-Jacques Rousseau)

Meine Anlage - Meine Dauerbaustelle
Platinen für Modellbahn- und Arduino-Anwendungen


 
Bodo
InterCityExpress (ICE)
Beiträge: 2.473
Registriert am: 28.04.2005
Homepage: Link
Gleise C-Gleis, Lenz 0
Spurweite H0, 0
Steuerung MS2 & CS2
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#306 von MicroBahner , 14.02.2019 15:50

Hallo Bodo,

Zitat

nicht unter dem Aspekt "Preis", aber als "technische Herausforderung" finde ich diese Treiber schon interessant.

Was mich an diesen Treibern stört, dass sie keinerlei 'Intelligenz' haben, und z.B. für eine langsame Bewegung alle Zwischenschritte über I2C übertragen werden müssen. Unter dem Gesichtspunkt 'technische Herausforderung' würde es mich dann eher reizen, einen Nano ( oder auch eine 'BluePill' ) so zu programmieren, dass man die 16 Servos ähnlich wie beim PCA9685 über I2C ansteuern kann, aber dann z.B. die langsame Bewegung selbständig gemacht wird.
Wäre mal ein interessantes Projekt - evtl. auch als Erweiterung der MobaTools. D.h. die Ansteuerung eines solchen Moduls über I2C dann in die MobaTools integrieren. .


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduino MobaTools: V2.3.1 released

#307 von juergiboy , 14.02.2019 16:23

Hallo zusammen,

es passt vielleicht gerade nicht so ganz zum Thema, beschäftigt mich aber doch schon eine Weile - und da hier gerade das Stichwort fiel, griefe ich es mal auf. Es geht um das berühmte 'Einschaltzucken' der Servos.
Ich habe inzwischen erfolgreich alle meine Weichen (sind nur 15) auf Servos umgestellt, hier kommen die günstigen SG90 zum Einsatz. Angesteuert werden sie mit der LocoNet-Variante des Zubehördecoders von Franz-Peter. Am Ende sind es dann also die MobaTools, die die Servos steuern.
Nun ist Fakt, dass sich beim Einschalten immer einige der Servos bewegen (mache aber auch überhaupt nicht), obwohl sie sich ja während der Auszeit nicht bewegen und der Decoder die Position speichert...
Das bedeutet, dass ich vor Betriebsbeginn immer alle Weichen durchschalten muss, um sicherzustellen, dass sie auch so stehen wie ich es erwarte.

Jetzt hast du, Franz-Peter, folgende Aussage gemacht:

Zitat
Das hängt von der Software und den eingesetzten Servos ab. Mit der passenden Software und Servos, denen man das 'Einschaltzucken' abgewöhnen kann ( oder die erst gar keins haben ) machen die Tore bei Betriebsbeginn keinen Mucks.



Das hat mich natürlich neugierig gemacht. Liegt es an meinen billigen Servos? Ich habe auch schon darüber nachgedacht digitale Servos (z.B. MG91) einzusetzen, bin mir aber nicht sicher ob das was bringt.

Wie bringe ich die kleinen Dinger nachhaltig zur Ruhe?


Gruß
Jürgen


juergiboy  
juergiboy
Regionalbahn (RB)
Beiträge: 44
Registriert am: 08.02.2016


RE: Arduino MobaTools: V2.3.1 released

#308 von TecnoWorld , 14.02.2019 16:28

Zitat

Unter dem Gesichtspunkt 'technische Herausforderung' würde es mich dann eher reizen, einen Nano ( oder auch eine 'BluePill' ) so zu programmieren, dass man die 16 Servos ähnlich wie beim PCA9685 über I2C ansteuern kann, aber dann z.B. die langsame Bewegung selbständig gemacht wird.
Wäre mal ein interessantes Projekt -



Meinst nicht, das 16 Stück an einem Modul etwas zu viel sind? Da muss man ja so viele Kabel ziehen.
16 Weichen an einem Platz gibt es ja kaum.

Aber mit einem ATSAMC21 zum Beispiel kannst 12 Hardware-PWM mit 16bit laufen lassen, nimmst die Refreshrate auf 10ms runter (das verkraften die meisten Servos), die aktualiserung der PWM per DMA und für die Berechnung der Bewegung und die Kommunikation mit anderen Modulen hast den Prozessor zu 100% zur Verfügung. So habe ich es in meinen Servo-Modulen gemacht (lese aber nebenbei noch den ADC ein).

Aber am Ende habe ich nur 4 Servos angeschlossen, weil es mir praktischer vorkommt, kurze Leitungen zu den Weichen zu haben und lieber mal ein Modul mehr setzen.


__________________________
LG aus Andalusien.
RailSolution - das Lichtprojekt von Modellbahnern für die Modellbahn


TecnoWorld  
TecnoWorld
InterRegioExpress (IRE)
Beiträge: 270
Registriert am: 11.03.2015


RE: Arduino MobaTools: V2.3.1 released

#309 von Sven , 14.02.2019 16:33

Hallo allerseits,
vielen Dank für Eure Antworten. Nanos habe ich noch einige hier. Vor Jahren habe ich die mal gekauft, wie Loriot den Senf. flaster:
War alles für die Zukunft gedacht an der Modellbahn. Die Dinger sind noch in ihrer China Versandpackung.

Die Idee mit den Treiberplatinen kam auf, weil ich dachte, daß dann die Ansteuerung einfacher wäre, weil eben nur ein Arduino. Irgendwo müssen auch noch zwei Megas sein, die konnten glaube ich mehr Pins haben.

Kann gut sein, das das der Beitrag mit I2C war, den ich nicht verstand.

Wenn ich zu Hause bin, kann ich das nochmals lesen. Von unterwegs am iPhone ist das etwas klein.

Viele Grüße
Sven


Sven  
Sven
InterRegioExpress (IRE)
Beiträge: 270
Registriert am: 30.08.2018


RE: Arduino MobaTools: V2.3.1 released

#310 von TecnoWorld , 14.02.2019 16:34

Zitat von juergiboy im Beitrag Arduino MobaTools: V2.3.1 released

Nun ist Fakt, dass sich beim Einschalten immer einige der Servos bewegen
Das bedeutet, dass ich vor Betriebsbeginn immer alle Weichen durchschalten muss, um sicherzustellen, dass sie auch so stehen wie ich es erwarte.



Nun, wenn man vor dem Anlegen der Spannung an die Servos den Impulseingang auf Masse zieht, zucken die eigentlich nicht mehr.

Um trotzdem nicht alle Weichen stellen zu müssen, habe ich an meinen Servos den Mittelabzweig des Potis mit angeschlossen. Damit kann man feststellen, wo das Servo steht. Und bei Bedarf regelt man es auf die alte Position nach.
Damit ist man immer sicher, das die Servos korrekt stehen und man muss keine "Stellorgie" am Anfang machen.
Auch schalte ich nach dem Stellvorgang das Servo ab, um dieses Knarren bei den billigen Servos nicht zu haben.
Trotzdem überwache ich halt die Stellung und kann notfalls nachregeln.


__________________________
LG aus Andalusien.
RailSolution - das Lichtprojekt von Modellbahnern für die Modellbahn


TecnoWorld  
TecnoWorld
InterRegioExpress (IRE)
Beiträge: 270
Registriert am: 11.03.2015


RE: Arduino MobaTools: V2.3.1 released

#311 von MicroBahner , 14.02.2019 17:24

Hallo Jürgen,

Zitat von juergiboy im Beitrag Arduino MobaTools: V2.3.1 released

Wie bringe ich die kleinen Dinger nachhaltig zur Ruhe?

Hast Du schon mal versucht am Steuereingang der Servos einen 4,7 kOhm Widerstand nach Vcc zu schalten? Das hilft bei vielen Servos. Bei manchen muss man ihn auch nach Gnd schalten, das ist aber eher die Ausnahme.
Die digitalen Servos die ich habe, zeigen alle kein Einschaltzucken. Ob das für alle digitalen gilt, kann ich natürlich nicht sagen.
Zitat von juergiboy im Beitrag Arduino MobaTools: V2.3.1 released

Das bedeutet, dass ich vor Betriebsbeginn immer alle Weichen durchschalten muss, um sicherzustellen, dass sie auch so stehen wie ich es erwarte.

Mmhm - das sollte eigentlich nicht notwendig sein. Auch wenn die Servos beim Einschalten zucken, und dann nicht mehr exakt auf Position stehen, sollte der Decoder dann schon wieder die richtige Position einstellen . Auch wenn die Impulse abgeschaltet werden, wenn die Servos stillstehen, sollten nach dem Einschalten kurz die richtigen Steuerimpulse ausgegeben werden.
Wie versorgst Du die Servos denn? Kann es sein, dass die Servospannung erst eingeschaltet wird, nachdem der Decoder schon hochgelaufen ist?


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduino MobaTools: V2.3.1 released

#312 von MicroBahner , 14.02.2019 17:33

Zitat von TecnoWorld im Beitrag Arduino MobaTools: V2.3.1 released

Meinst nicht, das 16 Stück an einem Modul etwas zu viel sind? Da muss man ja so viele Kabel ziehen.
16 Weichen an einem Platz gibt es ja kaum.

An meinem Bahnhofskopf habe ich - inklusive der Signale, die ja auch per Servo gesteuert werden, sogar mehr als 16 Servos auf engem Raum.
Außerdem war hier die Frage die Tore eines Ringlockschuppens mit Servo zu steuern, wo sogar deutlich mehr als 16 Servos dicht zusammenkommen.

Wenn ich mich recht erinnere, hast Du aber eh eine andere Herangehensweise an die Dinge und verwendest gar keinen Arduino. Deshalb hilft das hier nicht wirklich. Es sei denn, die Kollegen wollen auch weg vom Arduino.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduino MobaTools: V2.3.1 released

#313 von TecnoWorld , 14.02.2019 17:54

Zitat

und verwendest gar keinen Arduino. Deshalb hilft das hier nicht wirklich. Es sei denn, die Kollegen wollen auch weg vom Arduino.



Arduino ist ja nur die Softwareplattform. Man kann dort auch Quellcode einbauen, der nicht speziell für die Arduino-Plattform geschrieben wurde.
Der Chip den ich verwende wird von der Arduino-Plattform auch unterstützt, ist also ein Arduino.

Den gibts mit verschiedenem "Drumherum":
https://www.avdweb.nl/arduino/samd21/sam-d21
https://tienda.bricogeek.com/arduino-ori...fun-samd21.html
https://www.aprendiendoarduino.com/tag/samd21/


__________________________
LG aus Andalusien.
RailSolution - das Lichtprojekt von Modellbahnern für die Modellbahn


TecnoWorld  
TecnoWorld
InterRegioExpress (IRE)
Beiträge: 270
Registriert am: 11.03.2015


RE: Arduino MobaTools: V2.3.1 released

#314 von hmarx , 14.02.2019 20:10

Hallo Modellbahnfreunde,

ich steuere meine Servos für Weichen, Formsignale und Sonstiges über Adafruit_PWMServoDriver PCA9685, die vom Arduino über I2C angesteuert werden.
Die PCA9685 sind bei den Weichen, Signalen dezentral angeordnet. Die 16 Servokabel können direkt angesteckt werden.
Probleme hatte ich mit wilden Servobewegungen nach dem Einschalten. Sie sind komplett beseitigt, z.B. durch späteres Einschalten der Versorgungsspannung durch den Arduino.
Man kann PCA9685 auch benutzen um 5 V Ausgänge zu schalten, z.B. LED ein/aus, dimmen.
Die Servos werden alle nacheinander einzeln angesteuert. Trotzdem kann man 2 Servos quasi gleichzeitig betreiben (2 Schrankenbäume, 2 Signalflügel).
Außerdem steuert der Arduino über I2C und PCF8574 8fach Relaiskarten z.B. zur Herzstückpolarisierung. Die Polarisierung mit Mikroschalter ist mir etwas zu aufwendig. Desweiteren über I2C wird ein weiterer Arduino angesteuert. Er meldet über S88-Rückmeldebus die Stellungen der Weichen zurück und hat ein anderes Potential (I2C optoentkoppelt). Es ist eine Weiterentwicklung der Software von Ruud Boer. Hiermit kann der Arduino über S88 Meldungen in die Anlagensoftware geben.
Über I2C kann man auch weitere Arduino ansteuern. Die DCC Dekodierung über Optokoppler mache ich nur einmal zentral.
I2C übertrage ich über geschirmtes Telefonkabel IYST 4-adrig ohne Störung über mehr als 7 Meter unter der Anlage.
Da ich die MobaTools nicht benutze, kann ich den Timer 1 frei benutzen. Die Weichenstellungen sind alle bitweise in einem batteriegepuffertem RAM gespeichert. Der Arduino kennt also immer Start- und Zielposition. Ich benutze den I2C Uhrenbaustein DS1307 mit 56 Byte / 448 Bit.
Voraussetzung sind Programmierkenntnisse (Arduino C) und Hardwarekenntnisse.
Das Ansteuern der Servos mit den MobaTools ist insofern einfacher, da im Wesentlichen nur konfiguriert werden muß.

Viele Grüße
Heinz


hmarx  
hmarx
InterRegioExpress (IRE)
Beiträge: 264
Registriert am: 20.05.2016
Ort: Windeck
Gleise Roco Line o.B.
Spurweite H0
Steuerung Lenz LZV200, ModellStw, Arduino
Stromart DC, Digital


RE: Arduino MobaTools: V2.3.1 released

#315 von bergwelten , 14.02.2019 20:31

Zitat von Sven im Beitrag Arduino MobaTools: V2.3.1 released

Ich habe da auch diese PCA9685 Servo-"Treiber"-Platinen gefunden, mit denen angeblich jeweils 16 Servos gesteuert werden können sollen. Was ein I2C Bus ist und ob und wie der Arduino damit beglückt werden kann, weiß ich aber nicht und habe die entsprechenden Beiträge in dieser Beitragsfolge auch nicht wirklich verstanden. ops:

Zitat von Sven im Beitrag Arduino MobaTools: V2.3.1 released

Ist das mit den MobaTools möglich, so viele Servos zu befehligen, oder sollten mehrere Arduino Nanos zu je 16 Servos antreten?


Hallo Sven,

ich überlege auch gerade, über diese PCA9685-Shields die Servos anzusteuern, habe allerdings auch noch gar keine Ahnung. Offensichtlich gibt es da einen Bastler, der das mit diesen Shields und der NRMA-DCC-Bibliothek für Arduino gemacht hat. In der Beschreibung seines YouTube-Videos findest Du weitere Hinweise:
https://www.youtube.com/watch?v=Y1ShXjbzcmo

Wie Arduino und das Shield zusammenarbeiten können, erklären die Leute von Adafruit recht anschaulich:
https://learn.adafruit.com/16-channel-pw...r/hooking-it-up

Schöne Grüße,
Gisbert


www.mindthemap.de/hanull


bergwelten  
bergwelten
Regionalbahn (RB)
Beiträge: 43
Registriert am: 29.08.2017
Spurweite H0
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#316 von juergiboy , 14.02.2019 20:58

Hallo Franz-Peter,

Zitat
Hast Du schon mal versucht am Steuereingang der Servos einen 4,7 kOhm Widerstand nach Vcc zu schalten?


Ich benutze meine selbst entwickelte Platine, die hier einen 5,1 KOhm Widerstand gegen Vcc hat. Das scheint ja auch bei vielen Servos zu helfen, aber einige sind da sehr aufsässig.

Zitat
Mmhm - das sollte eigentlich nicht notwendig sein. Auch wenn die Servos beim Einschalten zucken, und dann nicht mehr exakt auf Position stehen, sollte der Decoder dann schon wieder die richtige Position einstellen . Auch wenn die Impulse abgeschaltet werden, wenn die Servos stillstehen, sollten nach dem Einschalten kurz die richtigen Steuerimpulse ausgegeben werden.
Wie versorgst Du die Servos denn? Kann es sein, dass die Servospannung erst eingeschaltet wird, nachdem der Decoder schon hochgelaufen ist?


Die Stromversorgung erfolgt beim einschalten für Arduino und Servos gleichzeitig (über die Platine) über ein 5,1 V Netzteil mit 4 A.
Die Servos, die sich bewegen, tun das auch sehr deutlich. Es ist nicht nur ein kurzes Zucken, sie bewegen sich teilweise rund 1 Sekunde! Dabei werden dann auch die Weichen verstellt, was sich anschließend nicht wieder 'von selbst heilt'.
Es scheint fast so als würde der Decoder einige Servos mit seltsamen Signalen versorgen. Wenn ich diese dann aber 1-2 mal umschalte ist wieder alles ok. Die Endpositionen etc. sind also durchaus gespeichert.

Leider funktioniert das Debugging mit den micro pro bei mir auch nicht wirklich, meistens bekomme ich gar keine Ausgabe im seriellen Fenster.


Gruß
Jürgen


juergiboy  
juergiboy
Regionalbahn (RB)
Beiträge: 44
Registriert am: 08.02.2016


RE: Arduino MobaTools: V2.3.1 released

#317 von MicroBahner , 14.02.2019 21:27

Hallo Jürgen,

Zitat

Es ist nicht nur ein kurzes Zucken, sie bewegen sich teilweise rund 1 Sekunde!

das hat dann aber in der Tat nichts mit dem Einschaltzucken zu tun, da ist etwas faul.

Zitat

Leider funktioniert das Debugging mit den micro pro bei mir auch nicht wirklich, meistens bekomme ich gar keine Ausgabe im seriellen Fenster.

Das ist aber auch nicht in Ordnung. Serielle Ausgaben sollten schon auch mit einem pro micro funktionieren.
Zeig doch mal dein Konfig-File. Vielleicht kann ich mal versuchen das nachzuvollziehen.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduino MobaTools: V2.3.1 released

#318 von juergiboy , 14.02.2019 21:45

Hallo Franz-Peter,

super das du mal einen Blick darauf werfen magst.
Ich hänge mal die Konfigdatei und den Sketch an.

Ab und an bekomme ich auch mal etwas im seriellen Fenster ausgegeben, wenn ich aber z.B. einen Reset mache (Reset gegen GND verbinden) tut sich bei der Ausgabe gar nichts mehr...


Gruß
Jürgen

Dateianlage:
Sie haben nicht die nötigen Rechte, um die angehängten Dateien zu sehen

juergiboy  
juergiboy
Regionalbahn (RB)
Beiträge: 44
Registriert am: 08.02.2016


RE: Arduino MobaTools: V2.3.1 released

#319 von MicroBahner , 14.02.2019 21:49

Zitat

Arduino ist ja nur die Softwareplattform. Man kann dort auch Quellcode einbauen, der nicht speziell für die Arduino-Plattform geschrieben wurde.
Der Chip den ich verwende wird von der Arduino-Plattform auch unterstützt, ist also ein Arduino.

Na ja, nur weil es der gleiche Chip ist, ist es noch kein Arduino. Da gehört das ganze Umfeld mit dem Bootloader und die mitgelieferten Bibliotheken schon noch dazu. Aber natürlich ist auch 'Arduino' nicht der Nabel der Welt. Es gibt viele Möglichkeiten sich mit Microprozessoren zu beschäftigen und jeder hat da seine eigenen Vorlieben - sowohl was den Prozessortyp, also auch was das Programmierumfeld angeht.

Wenn ich in der Arduino-Welt bleiben will, frage ich mich aber schon, warum ich zum ansteuern von ein paar Servos einen Arduino Due (ab 15€ ) einsetzen soll, wenn es mit einem Nano (ab 2€ auch geht.


Und natürlich sind auch meine MobaTools nicht der Nabel der Welt. Für Leute, die tief in der Materie stecken, waren sie auch nicht gedacht.
Auch innerhalb der Arduino-Welt gibt es viel Wege, die zum Ziel führen, und da gehört bei den Servos der PCA9685 ( auch wenn der Chip eigentlich nicht dafür entwickelt wurde ) sicher dazu. Bei Beispielen wie in dem Video aber bedenken, dass da die Servos sich mit Maximalgeschwindigkeit bewegen. Wenn einem das langt, ok. Sollen die sich aber langsam bewegen, wird es wesentlich aufwändiger.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduino MobaTools: V2.3.1 released

#320 von MicroBahner , 14.02.2019 22:37

Hallo Jürgen,

Zitat

wenn ich aber z.B. einen Reset mache (Reset gegen GND verbinden) tut sich bei der Ausgabe gar nichts mehr...

ja, das ist allerdings in der Tat ein Problem beim Micro. Das hängt damit zusammen, das der Micro ja ein eigenes 'echtes' USB Interface hat ( und keinen seriell-USB Wandler ). Machst Du nun einen Reset, dann springt der erstmal in den Bootloader. Leider meldet der sich nun als ein anderes USB-Device am PC an, als im 'Normalbetrieb'. Damit verliert der serielle Monitor die Verbindung zum Arduino. Starte nun der Sketch, meldet er sich zwar wieder im 'Normalmodus' an, das erkennt der serielle Monitor aber nicht mehr, der hat seine Verbindung ja verloren. Während dem 'while (! Serial )' im Setup wartet der Micro nun auf den Aufbau der USB Verbindung. Wenn da der serielle Monitor neu aufgemacht wird, wird auch wieder eine Verbindung aufgebaut. Damit der Micro aber nicht ewig hängt, wenn kein seriell Monitor da ist, wird die while-Schleife im Sketch nach 6 Sekunden abgebrochen, und dann gibt es keine Verbindung mehr. Du müsstest also vor dem Reset den seriellen Monitor schließen, und genau während dieser 6 Sekunden wieder öffnen. Vorher aufmachen geht leider auch nicht, da er dann noch kein Device findet. Du könntest höchsten während der Tests die Zeitüberwachung deaktivieren. Dann wartet der Sketch nach einem Reset solange, bis Du den seriellen Monitor aufmachst.

Könntest Du noch sagen, an welchen Pins die Servos hängen, die sich so unkontrolliert bewegen?

Auch scheint dein Sketch nicht die letzte 'released' Version zu sein. Ich glaube zwar nicht, dass es daran liegt und kann jetzt auf die Schnelle nicht feststellen, ob da wesentliche Unterschiede sind. Du solltest dir aber schon besser die aktuelle Version (6.0 von Github) besorgen.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Arduino MobaTools: V2.3.1 released

#321 von Sven , 15.02.2019 06:01

Guten Morgen,

wieder viel Stoff, den ich erst einmal verdauen muß. Vielen Dank Euch allen für die Kommentare zu meinem Vorhaben.
Ihr seid echt klasse. Bei so viel geballtem Wissen habe ich fast schon Beklemmungen, dumm dazwischenzufragen. ops:
Aber ich werd's einfach trotzdem machen.

Am Wochenende werde ich den "Bastel-Notebook" neu aufsetzen. Habe gesehen, daß da noch Ubuntu 14.04 (LTS) drauf ist, das sollte wohl mal gegen 18.04 (LTS) getauscht werden. Und dann gibt's auch gleich 'ne SSD.
Dann suche ich mir meine alten Sketche zusammen, mit denen ich damals an den LED und den Servos für das Räumschild herumgedoktert hatte und sehe mir das alles noch einmal vor dem Hintergrund der MobaTools Bibliothek an. Mal sehen, wo die Servos und das Zeug von den Arduino-Bastel-Sets hingeräumt wurden...

Zitat

Wenn ich in der Arduino-Welt bleiben will, frage ich mich aber schon, warum ich zum ansteuern von ein paar Servos einen Arduino Due (ab 15€ ) einsetzen soll, wenn es mit einem Nano (ab 2€ auch geht.


Stimmt und von den Nano Klonen habe ich auch einen stallvoll da, also können die auch verwendet werden. Gut, es wird sicherlich nicht beim Lokschuppen-Tore-Servo_Thema bleiben und die Nanos werden dann auch weitere Einsatzfelder bekommen können. Das Für und Wider mehrerer oder eines Nanos in Verbindung mit DCC Ansteuerung muß ich noch beleuchten. Ich bin da aber grundsätzlich offen.

Zitat

Auch innerhalb der Arduino-Welt gibt es viel Wege, die zum Ziel führen, und da gehört bei den Servos der PCA9685 ( auch wenn der Chip eigentlich nicht dafür entwickelt wurde ) sicher dazu. Bei Beispielen wie in dem Video aber bedenken, dass da die Servos sich mit Maximalgeschwindigkeit bewegen. Wenn einem das langt, ok. Sollen die sich aber langsam bewegen, wird es wesentlich aufwändiger.


Genau. Die Torflügel sollten schon schön langsam aufgehen, auch wenn sie "Flügel" heißen. Weil sie ja im Vorbild mutmaßlich "von Hand" geöffnet wurden und dem Hand-Langer nicht unbedingt immer Mißmut unterstellt werden sollte, daß er aus Zorn die Torflügel auf- oder zuschmeißt.

Ich kann mir ja mal so eine Treiberplatine bestellen und mit Eurer Hilfe experimentieren. Rom ist ja auch nicht an einem Tag gebaut worden...

Viele Grüße
Sven


Sven  
Sven
InterRegioExpress (IRE)
Beiträge: 270
Registriert am: 30.08.2018


RE: Arduino MobaTools: V2.3.1 released

#322 von Sven , 15.02.2019 06:12

Hallo Franz-Peter,

Zitat von MicroBahner im Beitrag Arduino MobaTools: V2.3.1 released

Es gibt auch für den Nano BreakoutBoards mit Servo-Anschlußsteckern. Man muss nur aufpassen,das man eins erwischt das eine getrennte Spannungsversorgung für die Servos erlaubt. Das ist auf jeden Fall sinnvoll.


Sowas?
5PCS Nano I/O Erweiterungs Sensor Shield Modul für Arduino UNO R3 Nano V3.0
Fünf Stück für 13,59 €

Zitat von MicroBahner im Beitrag Arduino MobaTools: V2.3.1 released

Zitat von Sven im Beitrag Arduino MobaTools: V2.3.1 released

Auch sollten Loks, die vor Betriebsende der letzten Modellbahnsitzung in einer Lokparade in offenen Toren standen, bei erneutem Betriebsbeginn nicht durch Einschaltbewegungen der Servos mit sich bewegenden Toren beaufschlagt werden.

Das hängt von der Software und den eingesetzten Servos ab. Mit der passenden Software und Servos, denen man das 'Einschaltzucken' abgewöhnen kann ( oder die erst gar keins haben ) machen die Tore bei Betriebsbeginn keinen Mucks.


Das könnte ich natürlich auch mit S88 Rückmeldern als Gleisbesetztmelder lösen. Die "Fahrstraße" für die Servobewegung wird nur ausgelöst, wenn das Gleis davor frei ist. Hilft natürlich nicht beim Einschaltzucken.
Also muß ich das mit Widerständen in Angriff nehmen und abhängig machen von den verwendeten Servos. Und die habe ich noch nicht.
Zitat von MicroBahner im Beitrag Arduino MobaTools: V2.3.1 released

Zitat von Sven im Beitrag Arduino MobaTools: V2.3.1 released

Das Projekt pressiert nicht, es ist erst eine Idee.

Dann ist ja auch noch Zeit für etwas Einarbeitung in den Arduino und einen ersten Test mit einer Servoansteuerung


Genau.

Viele Grüße
Sven

Edit: Dicke Finger beim zitieren...


Sven  
Sven
InterRegioExpress (IRE)
Beiträge: 270
Registriert am: 30.08.2018


RE: Arduino MobaTools: V2.3.1 released

#323 von Sven , 15.02.2019 06:23

Hallo Bodo,

Zitat von Bodo im Beitrag Arduino MobaTools: V2.3.1 released

nicht unter dem Aspekt "Preis", aber als "technische Herausforderung" finde ich diese Treiber schon interessant. Allerdings gibt es m.W. dazu wirklich noch nichts fertiges - ich habe schon mal einen Test-Sketch für einen DCC-Dekoder und den Treiber-Baustein geschrieben - aber da gibt´s noch viel zu tun. Falls Du das irgendwann mal testen willst, kann ich Dir den dann aktuellen Stand meiner Software gerne zur Verfügung stellen. Wie man den Baustein ansteuert, hatte ich schon mal an anderer Stelle kurz gezeigt: viewtopic.php?p=1887292#p1887292

Vorteile sehe ich da schon, wenn ein zusammenhängendes Objekt (wie ein Lokschuppen) mit einem Prozessor bedient wird - nur dann lassen sich Abhängigkeiten nach Bedarf programmieren. Natürlich kann man auch jeden Stand einzeln als Objekt betrachten und den DIY-Dekoder mit je einem Nano einsetzen.


Das sind ja nur geistige Blähungen meinerseits gewesen. Als Laie stehe ich vor der Aufgabenstellung, mir einen - noch fiktiven - Lokschuppen mit Servoantrieben für Torflügel zurechtzudenken. Mit der errechneten Anzahl an Servos und der Steuerung mittels Arduino Plattform ist mir diese I2C-Treiber-Platine aufgefallen. Wenn letztlich 16 Servos je Nano zugeteilt werden und dann entspreched viele Nanos zum Einsatz kommen, ohne daß man mit den I2C Dingen weitere Schwierigkeiten bekommt, weil die Servos sich ganz langsam bewegen sollen, soll mir das auch gefallen. Meine "Idee" ist ja kein Zwang, sondern ich bin da offen für Vorschläge. Augenscheinlich bin ich auch nicht der einzige Spinnerte, der sowas im geistigen Auge hat.
Zitat von Bodo im Beitrag Arduino MobaTools: V2.3.1 released

Die preisgünstigste Variante liegt vermutlich irgendwo in der Mitte ...


Genau.

Zitat von Bodo im Beitrag Arduino MobaTools: V2.3.1 released

Ist halt´ die Frage, ob man die Programmierung als Hobby oder als notwendiges Übel betrachtet .


Sowohl als auch.

Viele Grüße
Sven


Sven  
Sven
InterRegioExpress (IRE)
Beiträge: 270
Registriert am: 30.08.2018


RE: Arduino MobaTools: V2.3.1 released

#324 von Sven , 15.02.2019 06:25

Zitat von MicroBahner im Beitrag Arduino MobaTools: V2.3.1 released

Hallo Bodo,
Zitat von Bodo im Beitrag Arduino MobaTools: V2.3.1 released

nicht unter dem Aspekt "Preis", aber als "technische Herausforderung" finde ich diese Treiber schon interessant.

Was mich an diesen Treibern stört, dass sie keinerlei 'Intelligenz' haben, und z.B. für eine langsame Bewegung alle Zwischenschritte über I2C übertragen werden müssen. Unter dem Gesichtspunkt 'technische Herausforderung' würde es mich dann eher reizen, einen Nano ( oder auch eine 'BluePill' ) so zu programmieren, dass man die 16 Servos ähnlich wie beim PCA9685 über I2C ansteuern kann, aber dann z.B. die langsame Bewegung selbständig gemacht wird.
Wäre mal ein interessantes Projekt - evtl. auch als Erweiterung der MobaTools. D.h. die Ansteuerung eines solchen Moduls über I2C dann in die MobaTools integrieren. .



Bahnhof.



Gruß
Sven


Sven  
Sven
InterRegioExpress (IRE)
Beiträge: 270
Registriert am: 30.08.2018


RE: Arduino MobaTools: V2.3.1 released

#325 von MicroBahner , 15.02.2019 09:25

Hallo Sven,
da hast Du dir ja mal viel Gedanken gemacht . Es gibt halt immer viele Wege, die nach Rom führen, und jeder muss den für ihn selbst geeigneten finden .

Ein wichtiger Punkt in unserem Umfeld ist aus meiner Sicht die langsame Servobewegung. Ich habe da für das PCA9685 Board noch keine Lib oder Anleitung gesehen, die das leistet - da muss man sich immer im Sketch selbst drum kümmern. Und das kann - gerade bei vielen Servos - schon ordentlich aufwändig werden. Wenn ich da nichts kenne, heißt das natürlich nicht, das es sowas in den Weiten des Internet nicht gibt. Wenn einer da was findet - würde mich durchaus interessieren.

Zitat

Sowas?
5PCS Nano I/O Erweiterungs Sensor Shield Modul für Arduino UNO R3 Nano V3.0
Fünf Stück für 13,59 €

Könnte passen. Wie das mit der Stromversorgung ist, kann man aber nicht gut erkennen.


Zitat
Bahnhof.

Man muss ja nicht gleich alles verstehen . Hängt aber mit dem obigen Punkt der langsamen Servobewegung zusammen ( oder war das anders gemeint ops: ).


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


   

Innenbeleuchtung für Fleischmann 742080 BR 642
Alte Märklin Transformator ersetzen

  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz