RE: Arduino MobaTools: V2.3.1 released

#376 von Hardi , 24.03.2019 17:53

Hallo Jens,

wenn Du Fragen, Anregungen, ... zu „meinen“ LEDs hast nur her damit (wie der Gastgeber dieses Threads schreibt).

Mein nächstes Projekt wird die „Heirat“ von MobaTools und MobaLedLib sein. Ich will die Servo Ansteuerung von Franz-Peter auf einem ATTiny85 mit dem LEDs Protokoll verknüpfen...

Parallel dazu werde ich die Doku erweitern um zu eigen wie man Lichtsignale und Ähnliches erstellt.

Dem Dank schließe ich mich an. Die MobaTools waren ein wichtiger Grund für mich die LED Geschichte zu veröffentlichen.

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.137
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

#377 von juergiboy , 25.03.2019 12:58

Hallo zusammen,

auch ich bin begeisterter Nutzer der MobaTools und des Zubehördecoders von Franz-Peter.

Bzgl. Sound: vor einiger Zeit hatte ich auch mal eine Variante des Zubehördecoders (inkl. Platinenerstellung) für mich angepasst, mit dem dann neben Servos, Signalen und Weichen auch seriell ein JQ6500 ansteuerbar ist. Die Veröffentlichung ist allerdings der Priorisierung anderer Themen zum Opfer gefallen. Ich müsste da nochmal wieder ran...

Aber nicht zuletzt hat mich in diesem Zusammenhang auch die Frage nach brauchbaren Sounds immer wieder beschäftigt. Ich habe dazu noch nicht wirklich gute Quellen gefunden - und selbst mit dem Mikro laufe ich jetzt auch nicht durch die Gegend den Kühen hinterher

Habt ihr HInweise auf brauchbare Sounds für die Anlage?


Gruß
Jürgen


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


RE: Arduino MobaTools: V2.3.1 released

#378 von fl_dutch , 03.04.2019 12:17

Moin ins MobaTools-versum .

@Jürgen: es gibt im Netz viele Sounddatenbanken, aber nicht alles frei. Ich hatte da schonmal rudimentär geschaut. Ausserdem habe ich tatsächlich (aus jorunalistischen Zeiten) einen MP3-Recoder - damit habe ich schonmal ein wenig die Aufnahme von Schrottverladesounds ins Schiff probiert. Ein sehr gutes Richtmikrofon mit Windschutz ist da sehr empfehlenswert.

Der eigentliche Grund meines Posts: ich habe mich mal an die Schaltung für meine Lagerhalle rangewagt. Soweit funktioniert alles, aber ich möchte trotzdem an dieser Stelle nochmal kurz die "Profis" fragen, ob der Schaltplan so in Ordnung ist (mein erster...) oder ob ihr da noch irgendwelche Probleme seht (hoffe das ist an dieser Stelle in Ordnung). Es ist ein für mich maßgeschneideter Decoder, der nicht via CV-Programmierung konfiguriert wird. Auch die Einstellung der Servos erfolgt händisch über den zugehörigen Sketch.

- Stromversorgung: 12V stabilisiertes Netzteil
- Servo: 2x Servo, 5 Volt gibts über den Arduino Nano
- 8x LED Anschlüsse auf der 12V "Schiene"
- DCC Schnittstelle

Und hier mein mit Fritzing erstellter Schaltplan:

Schaltplan_Lagerhalle by Jens Broens, auf Flickr

Ich freue mich auf Feedback. Gerade im Hinblick auf die 12V-Versorgung - son Arduino Nano kostet beim Chinamann nicht viel, aber ich frage mich, ob ich da ggf. Dioden als Verpolungsschutz vor den Arduino Nano einbaue (oder hat der Arduino Nano sowas schon drin?) oder sonstige Schaltungen, um die 12V Versorgung nochmal "stabiler" zu machen.


Nette Grüße
Jens

Hammeln - Hafen-Rangier-(Test)-Anlage
Neu: Hammeln v2 - Hafenbahnanlage Epoche VI - Langfristplanung


 
fl_dutch
InterRegioExpress (IRE)
Beiträge: 307
Registriert am: 13.04.2015
Spurweite H0
Stromart AC, Digital


RE: Arduino MobaTools: V2.3.1 released

#379 von Hardi , 12.04.2019 21:57

Hallo Arduino Freunde,

ich habe gerade meine Arduino IDE aktualisiert und mich darüber gewundert, dass es Im Werkzeuge/Prozessor Menü einen neuen Eintrag „..(Old Bootloader)“ gibt.
Hier wird beschrieben was es damit auf sich hat:
https://www.heise.de/make/artikel/Arduin...er-4011641.html

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.137
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

#380 von Bodo , 26.04.2019 08:52

Hallo zusammen,

Zitat

Da muss ich fairerweise sagen, dass die Accel-Stepper-Lib schon Anfahr- und Brensrampe kann ( auch wenn sie mir aus anderen Gründen nicht so recht gefällt ). Die wollte ich mir auch mal genauer anschauen, wie sie das macht. Allerdings will ich auf keinen Fall mit float arbeiten, das muss auch ohne gehen.


Die Accel-Stepper-Lib finde ich jetzt nach ersten Versuchen im Vergleich zu den MoBaTools auch nicht so wirklich schön - im direkten Vergleich ist die Anfahr-/Bremsrampe aber schon praktisch, wenn der Arduino nichts anderes tun soll, als die Schiebebühne zu bewegen - dass der Programmablauf beim gezielten Anfahrten einer Position blockiert wird, kann in diesem Fall ja auch sinnvoll bzw. akzeptabel sein ... ein Ergebnis werde ich dann ggf. mal in einem separaten Thread vorstellen (hat dann mit den MoBaTools ja nichts mehr zu tun).

Zitat
Ja, das ist ein prinzipieller Nachteil von Steppern, dass sie auch im Stillstand ordentlich Strom ziehen. Damit er keine Schritte verliert, würde es gegebenenfalls auch reichen, die Spannung zu reduzieren. Wobei ich aber nicht weis, wie da der A4988 reagiert, da der ja eigentlich den Strom regelt. Bei 12V kommt er da aber schnell an seine Grenzen. Ein 12V-Stepper ist ja nicht gerade für Stromregelung ausgelegt.


Testweise schalte ich den Motor erstmal über Sleep/Reset des A4988 nach Bedarf ein und aus - heiß wird er jetzt nicht mehr . Ob die Position stabil bleibt, werde ich natürlich erst feststellen, wenn auch eine Spindel und die Bühne am Motor dranhängen ... bisher weiß ich aber nicht mal, ob das ganze überhaupt genau genug positioniert.

Ideal wäre es tatsächlich, wenn die MoBaTools die Anfahr-/Bremsrampe hätten, dann wäre die Entscheidung einfach

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.471
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

#381 von MicroBahner , 27.04.2019 09:51

Zitat

Ideal wäre es tatsächlich, wenn die MoBaTools die Anfahr-/Bremsrampe hätten, dann wäre die Entscheidung einfach


Hallo Bodo,
ich sehe schon, da muss ich jetzt tatsächlich mal ran. Das Manko wurde auch von anderer Seite schon bemängelt.
Vielleicht kannst Du ja den Pilotanwender spielen?
Ich werde mir erstmal eine Schnittstelle überlegen. Ich dachte daran, für die Rampe eine maximal Startfrequenz ( was der Motor aus dem Stand schafft ) und ein maximales Delta für die Frequenzänderung zu definieren.


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

#382 von MicroBahner , 27.04.2019 10:06

Hallo Jens,

Zitat

- Stromversorgung: 12V stabilisiertes Netzteil
- Servo: 2x Servo, 5 Volt gibts über den Arduino Nano

die 5V für die Servos aus dem Arduino zu entnehmen ist keine gute Idee. Das wird den 5V-Regler das Nano über kurz oder lang überlasten. Umso mehr, wenn Du den Nano mit 12V versorgst. Auch kann er die Stromspitzen, die Servos manchmal ziehen, nicht liefern.
Die 12V sind eh schon recht viel. Der Regler muss dann 7V 'vernichten' und das wird im Regler in Wärme umgesetzt. Wenn die 5V nicht weiter belastet werden mag das gehen, aber Du solltest auf keinen Fall da noch Strom aus dem 5V-Anschluß des Nano ziehen.
Ideal ist für sowas ein kleiner Step-Down Schaltregler. Damit kannst Du die Servos versorgen.

Eine Diode als Verpolschutz in der 12V-Leitung ist zwar nicht unbedingt nötig, schadet aber auch nicht. Evtl. sogar 2 in Reihe, das entlastet dann den 5V-Regler auf dem Nano noch etwas .


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

#383 von Bodo , 30.04.2019 13:01

Hallo Franz-Peter,

Zitat

Hallo Bodo,
ich sehe schon, da muss ich jetzt tatsächlich mal ran. Das Manko wurde auch von anderer Seite schon bemängelt.
Vielleicht kannst Du ja den Pilotanwender spielen?


klar, mache ich in diesem Fall gerne - stelle dann auch gerne die beiden Sketches gegeneinander. Noch läßt sich die ursprünglich mit den MoBaTools begonnene Version leicht neben der AccelStepper-Version parallel schreiben.

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.471
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

#384 von fl_dutch , 30.04.2019 13:35

Moin Franz-Peter,

danke dir für das Feedback.

Ich habe hier einen Nano, bei dem das wunderbarst funktioniert. Allerdings habe ich hier auch eine Serie, die tatsächlich einknickt und "irgendwas" macht um dann neu zu starten. Das würde es erklären! Für den "guten" Nano lasse ich es erstmal so und schaue, was so passiert. Ersetzen kann ich das dann immer noch .

Dann werde ich mich mal bzgl. der Stromversorgung der Servos und für den Nano schlau lesen müssen.

Nette Grüße
Jens


Nette Grüße
Jens

Hammeln - Hafen-Rangier-(Test)-Anlage
Neu: Hammeln v2 - Hafenbahnanlage Epoche VI - Langfristplanung


 
fl_dutch
InterRegioExpress (IRE)
Beiträge: 307
Registriert am: 13.04.2015
Spurweite H0
Stromart AC, Digital


RE: Arduino MobaTools: V2.3.1 released

#385 von MicroBahner , 30.04.2019 13:53

Hallo Bodo,

Zitat

klar, mache ich in diesem Fall gerne - stelle dann auch gerne die beiden Sketches gegeneinander.

Super. Ich werde in GitHub einen neuen Branch 'StepperRampe' anlegen. Darüber können wir uns dann austauschen.

Im Moment bin ich noch in der Konzeptphase und knabber an dem Problem, wie ich auf möglichst einfache Weise die Länge der Rampe in Steps berechnen kann. Das braucht man auf jeden Fall, um zum richtigen Zeitpunkt mit dem Bremsen anfangen zu können, damit der Stepper an der vorgegebenen Position zu Stehen kommt. Die Accelstepper nimmt sich da recht viel Zeit für die Berechnungen - das kann ich mir im IRQ nicht erlauben. Und ich will auf jeden Fall 'float' vermeiden.


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

#386 von MicroBahner , 30.04.2019 13:59

Hallo Jens,

Zitat

Für den "guten" Nano lasse ich es erstmal so und schaue, was so passiert. Ersetzen kann ich das dann immer noch .

ich denke, dass auch der an seinen Grenzen längsschrammt . Letztendlich wirst Du an einer getrennten und stabilen Spannungsversorgung für die Servos nicht herumkommen. Mit einer stabilen 5V Spannungsquelle kannst Du gegebenenfalls auch Servo und Nano ( über den 5V-Eingang ) versorgen.
Ich habe mal in einer ähnlichen Anwendung einen DC/DC-Wandler auf 5,5V Ausgangsspannung eingestellt. Damit direkt die Servos und über eine Entkoppeldiode den Nano versorgt.


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

#387 von juergiboy , 30.04.2019 15:37

Hallo Franz-Peter,

Zitat
Super. Ich werde in GitHub einen neuen Branch 'StepperRampe' anlegen. Darüber können wir uns dann austauschen.



da ich auch gerade an einer Schiebebühne mit Schrittmotor bastele, kommt das gerade richtig.
Ich habe eine erste Version eines Sketch geschrieben, dass die DCC-Signale aus RocRail interpretiert und die MobaTools für die Motorsteuerung nutzt.
Ich wäre also auch als Pilotanwender geeignet und würde mir den Branch jeweils ziehen.


Gruß
Jürgen


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


RE: Arduino MobaTools: V2.3.1 released

#388 von MicroBahner , 30.04.2019 21:27

Hallo Jürgen,

Zitat

Ich wäre also auch als Pilotanwender geeignet und würde mir den Branch jeweils ziehen.

Das wäre schon gut . Alpha-Tester kann man immer gebrauchen.
Es wird aber wohl noch ein bisschen dauern, bis ich die erste testbare Version hochladen kann. Wie geschrieben, bin ich ja noch in der Konzeptphase und habe auch noch nicht für alle Probleme die zündende Lösungsidee. Da werde ich auch noch etwas probieren müssen.


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

#389 von fl_dutch , 01.05.2019 12:29

Moin,

habe nu auch preiswerte einstellbare Step-Down Schaltregler Module bei Amazon gefunden - hatte vorher bei Reichelt geschaut und dort gingen die doch recht gut ins Geld. Bei dem Preis lohnt sich dann auch der Selbstbau nicht wirklich - 10 Stück für 9.09 inkl. Versand (geht bei Ali-Express bestimmt noch günstiger) ist was anderes als 6 EUR+ je Baustein bei Reichelt.


Nette Grüße
Jens

Hammeln - Hafen-Rangier-(Test)-Anlage
Neu: Hammeln v2 - Hafenbahnanlage Epoche VI - Langfristplanung


 
fl_dutch
InterRegioExpress (IRE)
Beiträge: 307
Registriert am: 13.04.2015
Spurweite H0
Stromart AC, Digital


RE: Arduino MobaTools: V2.3.1 released

#390 von MicroBahner , 09.05.2019 16:37

Hallo Bodo, Jürgen und alle Stepper-Interessierte

damit ihr nicht meint, nach meiner Ankündigung hätte ich das Projekt wieder aufgegeben, mal ein kurzer Zwischenstand. Ich bin immer noch am grübeln ...

Die ganze Rampengeschichte ist ein Ausflug in die Vergangenheit, in den Mathe- und Physikunterricht auf dem Gymnasium. Was man da alles an verstaubtem Wissen im hintersten Hirnstübchen wieder vorkramen muss ... . Und das Entstauben braucht auch etwas Zeit, bis man es wieder halbwegs nutzen kann .

Aber sei's drum. Noch relativ einfach ist der 'Geradeausfall': Bei Stillstand Tempo und Beschleunigung einstellen, dann die Zielposition angeben ( Zahl der Steps ) und einfach machen lassen bis der Motor wieder steht. Die erste Entwicklerversion wird sich wohl deshalb auf diesen Geradeausfall beschränken. Lediglich ein Stop ( direkte Aktivierung der Bremsrampe ) sollte auch noch problemlos sein.
Vielleicht könnt ihr für erste Tests ja auch damit schon was sinnvolles anfangen?

Komplizierter wird es, wenn die Parameter während der Bewegung verändert werden. Die Accelstepper macht es sich da einfach, und berechnet (fast) alle internen Werte bei jedem Step neu. Damit werden zwar immer alle möglichen Änderungen berücksichtigt, aber das geht doch sehr in die Zeit. Und solange keine der Methoden zu Geschwindigkeit, Beschleunigung oder Weg aufgerufen wird, kann sich da eigentlich auch nichts ändern. Ich will versuchen, in den Methoden möglichst viel für die IRQ-Routine vorzuberechnen, und im IRQ die Berechnung möglichst einfach zu halten. Leider werden auch da Divisionen gebraucht, und die gehen in die Zeit. Bei long sogar noch mehr als bei float. Ziel ist es daher, dort bei unsigned int zu bleiben, was aber wohl nicht so einfach wird - bei kleinen Werten werden die Rechenungenauigkeiten zu groß. Mal sehen. Da brauch ich aber auch schon für die erste Version eine Lösung . Kann also noch etwas dauern ...


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

#391 von Bodo , 09.05.2019 16:48

Hallo Franz-Peter,

ich habe Zeit ... mit etwas Glück bekomme ich die Bühne (Hardware) am Wochenende zum Laufen. Gleise müssen dann auch noch drauf. Bis die erste Lok verschoben wird, werden noch einige Wochen bis Monate vergehen, da sind auch noch ein paar andere Probleme zu lösen. Wenn sie bis Weihnachten funktioniert, bin ich zufrieden .

Meinen Schiebebühnen-Thread habe ich jetzt schon mal gestartet: viewtopic.php?f=47&t=169538

Und das schöne an Selbstbau-Lösungen ist ja, dass man die Ansteuerung auch die nächsten Jahre immer weiter optimieren kann.

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.471
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

#392 von juergiboy , 09.05.2019 16:52

Hallo Franz-Peter,

erstmal danke für den Zwischenstand.
Bei ist es wie bei Bodo, die Hardware entsteht gerade noch...

Zitat
Aber sei's drum. Noch relativ einfach ist der 'Geradeausfall': Bei Stillstand Tempo und Beschleunigung einstellen, dann die Zielposition angeben ( Zahl der Steps ) und einfach machen lassen bis der Motor wieder steht. Die erste Entwicklerversion wird sich wohl deshalb auf diesen Geradeausfall beschränken. Lediglich ein Stop ( direkte Aktivierung der Bremsrampe ) sollte auch noch problemlos sein.
Vielleicht könnt ihr für erste Tests ja auch damit schon was sinnvolles anfangen?



Für mich würde das (erstmal) reichen, ich plane die Bühne mit festem Ziel (Schritte) in Gang zu setzen und dann keine Änderungen zu machen.

Also kein Stress!


Gruß
Jürgen


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


RE: Arduino MobaTools: V2.3.1 released

#393 von md95129 , 17.05.2019 22:31

Hallo Franz-Peter,
vor vielen Jahren (Jahrzehnten?) hatte ich mir eine Schiebebuehne mit Stepper gebaut. Prozessor war der recht schmalbruestige 8748. Die Rampenlaenge war fest, das Timing wurde ueber eine Tabelle erzeugt. Immerhin hatte das Teil schon eine Stern/Dreieck Anfahr/Bremsfunktion und einen Spielausgleich - Anfahren nur von einer Richtung, entweder direkt oder mit Ueberschiessen und Ruecklauf. Da Du aber nach einer allgemeinen Loesung suchst, funktioniert das nicht. Versuche mal, in Richtung Bresenham zu schauen. Du kannst mit dem linearen Bresenham eine beliebige Rampe fahren, allerdings funktioniert das nur fuer eine Geschwindigkeitssteuerung. Ich habe das mal in meinem professionellen Leben gemacht, um einen Belackungsmotor praezise zu steuern. Fuer Schrittmotore braucht man leider so etwas wie eine 1/x Funktion, um das naechste (Zeit-)Intervall auszurechnen. Mir ist aber kein einfacher (rekursiver) Algorithmus bekannt, der solch eine Funktion nachbildet. Als Kompromiss koennte man den Kreis-Bresenham verwenden, der im Prinzip einen Sinus nachbildet. Der Rechenaufwand ist gering (https://en.wikipedia.org/wiki/Midpoint_circle_algorithm oder https://www.geeksforgeeks.org/bresenhams...wing-algorithm/). Bei einer festen Taktung (z.B. kuerzester Steppertakt) wird ausgerechnet, ob ein Schritt notwendig ist. Dazu sind 2 integer Additionen und eine Shift-Operation (Multiplikationx2) notwendig. Ist das Ergebnis <0 , wird ein Schritt gemacht, bei >=0 nicht. Dann muss noch die neue Koordinate berechnet werden; auch ohne Multiplikation. Die Eingangsparameter dieser Algorithmen kann man vorab berechnen. Ich hatte den Algorithmus mal verwendet, um eine einfache Steuerung zu entwickeln, die mit einem Plasmacutter ein ovales Loch in einen Lichtmast schneidet. Ein 8 bit µP genuegte vollkommen, um 2 Stepper mit 16bit Genauigkeit anzusteuern. Wenn man nur einen Motor ansieht, faehrt er eine schoene Rampe.
Regards


Henner,
ex-Donkey Doktor der EDH Lumber
Schamlose Selbstbeweihräucherung: Eigenbauten eines alten Neulings.
US Waldbahnen/Echtdampf-Eigenbau


 
md95129
EuroCity (EC)
Beiträge: 1.079
Registriert am: 15.01.2017
Ort: Berlin
Gleise IIm Echtdampf,H0m
Steuerung DCC Eigenbau
Stromart Digital


RE: Arduino MobaTools: V2.3.1 released

#394 von MicroBahner , 20.05.2019 10:08

Hallo Henner,
danke für den Tipp, das werde ich mir mal anschauen.


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

#395 von MicroBahner , 27.05.2019 18:24

Hallo,
eine erste Alpha-Version der MobaToools mit Stepperrampe steht zur Verfügung.
Wie schon oben angedeutet, geht dies erstmal nur für einen vollständigen Weg: Anfahren, konstant drehen, Abbremsen. Die Parameter während der Bewegung ändern funktioniert noch nicht. Allerdings funktioniert es auch, wenn der zu fahrende Weg zu kurz für die vollständige Rampe ist. Dann wird die Anfahrrampe verkürzt, und der Bremsvorgang vorzeitig eingeleitet. Die Endgeschwindigkeit wird dann nicht erreicht.

Die Definition der Anfahrrampe läuft etwas anders als bei der Accelstepper. Das Ganze ist nicht zeitbasiert, sondern Step- bzw weg-basiert. Zur Definition der Beschleunigung gibt man die Rampenlänge in Steps an. Nach dieser Anzahl von Steps ( vom Stillstand aus ) wird dann die eingestellte Endgeschwindigkeit erreicht.

Da im IRQ alles mit maximal 16-Bit Integer berechnet wird, und ich grundsätzlich float vermeiden will, gibt es ein paar Einschränkungen, die aber meiner Meinug nach nur in selten Fällen relevant sein sollten:

  • Die kleinste Schrittgeschwindigkeit ist 1 Step in 10sec. Kleinere Geschwindigkeiten müssen mit Einzelsteps im Sketch realisiert werden. ( war aber bisher auch schon so )
  • Die höchte Schrittgeschwindigkeit sind 1250 Steps/sec. Das ist ähnlich wie bei der Accel-Stepper, bei der auch Stepraten über 1kHz als unzuverlässig angegeben sind. Hier ist die Grenze aber fix. Wird eine höhere Geschwindigkeit eingestellt, wird intern auf dieses Maximum begrenzt. Auch das ist nicht neu.
  • Die maximale Länge der Rampe ist von der Schrittgeschwindigkeit abhängig.
    Dabei gilt ca. : Rampenlänge/Steps < ( 13 * Schrittgeschwindigkeit in Steps/sec ) - Rampenoffset
    Dabei ist 'Rampenoffset' eine Konstante, die derzeit auf '16' steht, und das Verhalten am Anfang (beim Beschleunigen) bzw. am Ende ( beim Bremsen) der Rampe beeinflusst. Der Wert steht in MobaTools.h, und wer will kann da auch mal ein bisschen mit spielen :

    1
    2
     
    #define RAMPOFFSET  16       // startvaue of rampcounter
     
     


    Die maximale Rampenlänge bis Höchstgeschwindigkeit sind dann 16000 Steps, was aber eigentlich eh keinen rechten Sinn mehr macht.
    Bei sehr kleinen Schrittgeschwindigkeiten ist gar keine Rampe mehr möglich, meiner Meinung nach aber auch da nicht wirklich sinnvoll.



Natürlich gibt es nun ein paar neue Methoden, um die Rampe einzustellen:

1
2
3
4
5
 
    void setSpeedSteps( uint16_t speed10 ); // set speed withput changing ramp
void setSpeedSteps( uint16_t speed10, int16_t rampLen ); // set speed and ramp
void setRampLen( uint16_t rampLen ); // set new ramplen in steps without changing speed
void rotate(int8_t direction ); // rotate endless until 'stop',
 
 


  • setSpeedSteps
    setzt die Geschwindigkeit in Steps/10sec. Optional kann als 2. Parameter auch gleich die Rampenlänge in Steps mitgegeben werden
  • setRampLen
    Setzt die Rampenlänge ohne die Geschwindigkeit zu verändern.
  • rotate(0)
    Mit diesem Befehl wird sofort eine Bremsrampe eingeleitet. Derzeit funktioniert das nur richtig, wenn bereits die Zielgeschwindigkeit erreicht ist.
  • stop
    Der Stop-Befehl führt wie bisher zum sofortigen Stop ohne Rampe ( Nothalt )


Wird nur die Geschwindigkeit verändert, ändert sich die Rampenlänge nicht. D.h. damit ändert sich die effektive Beschleunigung.

Bei den Beispielen ist auch ein Sketch (TestStepRamp) dabei, mit dem man die Steppermethoden über den Seriellen Monitor aufrufen kann. Zum Testen ist das vielleicht ganz nützlich.
In dieser Alpha-Version ist noch das Debugging aktiv. D.h. es werden ein paar Ausgaben auf dem seriellen Monitor gemacht, und A2/A3 sind für LA-Messungen reserviert. Abschalten lässt sich das mit diesen Zeilen in MobaTools.cpp:

1
2
3
 
//#define debugTP
//#define debugPrint
 
 



Bei Fragen oder Problemen - nur her damit
Ich freue mich auf euer Feedback


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

#396 von MicroBahner , 31.05.2019 16:17

Hallo,
aktueller Stand auf Github: Positionierbefehle ( write, writeSteps, doSteps, rotate, stop ) sollten jetzt zu jeder Zeit abgesetzt werden können. Muss für das neue Ziel die Drehrichtung umgekehrt werden wird erst abgebremst, und dann in der anderen Richtung wieder beschleunigt. Das sollte auch funktionieren, wenn das neue Ziel zwar in 'Fahrtrichtung' liegt, aber aufgrund der Bremsrampe nicht mehr direkt erreicht werden kann.
Relative Befehle ( doSteps() ) beziehen sich immer auf die momentane Positon des Motors. dosteps(0) bremst daher erst ab, ünd fährt dann wieder zurück auf die Position an der der Befehl abgesetzt wurde.


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

#397 von juergiboy , 07.06.2019 12:38

Hallo Franz-Peter,

erstmal vielen Dank für deine Mühen!

Nachdem ich nun meine Bühne hardwareseitig soweit am laufen habe, macht auch der Sketch (noch mit den 'normalen' MobaTolls) das was er soll.
Ein paar Nerven hat mich die NUtzung eines TMC2130 als Motortreiber gekostet, aber den habe ich nun auch im Griff.

Nun plane ich über Pfingsten mal die Rampe zu testen und wollte im Vorfeld noch einige Fragen loswerden:

Als erstes würde ich die Alphaversion in meinem Sketch importieren und gar nichts ändern. Dann düfte sich doch eigentlich auch am Verhalten nichts verändern, da die Rampe nicht gesetzt wurde. Oder muss ich die doch explizit mit 0 initialisieren?

Ich hatte im Test das Problem, dass mir bei Geschwindigkeitsänderungen (über den Seriellen Monitor, weil das Ding soooo langsam war) immer wieder Schritte verloren gingen. Könnte das durch die Rampe auch passieren? Der TMC läuft mit 1/4 Steps im stealthChop Modus. Hast du ggf. auch Mikroschritttests gemacht? Aber das werde ich dann ja sehen...

Ich halte dich auf dem laufenden!


Gruß
Jürgen


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


RE: Arduino MobaTools: V2.3.1 released

#398 von MicroBahner , 07.06.2019 15:20

Hallo Jürgen,
erstmal vielen Dank, dass Du dich als Alpha-Tester hergibst

Zitat

Als erstes würde ich die Alphaversion in meinem Sketch importieren und gar nichts ändern. Dann düfte sich doch eigentlich auch am Verhalten nichts verändern, da die Rampe nicht gesetzt wurde. Oder muss ich die doch explizit mit 0 initialisieren?

Nein, ohne Rampe musst Du nichts initialisieren. Es soll so sein, dass sich die MobaTools so verhalten wie bisher, wenn man auch nur die bisherigen Methoden verwendet.

Zitat

Ich hatte im Test das Problem, dass mir bei Geschwindigkeitsänderungen (über den Seriellen Monitor, weil das Ding soooo langsam war) immer wieder Schritte verloren gingen. Könnte das durch die Rampe auch passieren?

Die jetzige Version kann noch keine Rampe, wenn Du bei laufender Bewegung die Geschwindigkeit veränderst. Da wird sich also erstmal nichts ändern. Das werde ich als nächstes angehen.

Zitat

Der TMC läuft mit 1/4 Steps im stealthChop Modus. Hast du ggf. auch Mikroschritttests gemacht? Aber das werde ich dann ja sehen...

Für die MobaTools sollten die Mikroschritte eigentlich erstmal transparent sein. Der Unterschied ist da nur, dass sich die Steps/Umderhung ändern.
Das bedeutet dann natürlich auch, dass sich die maximale Drehzahl reduziert, den die höchste Stepfrequenz ist fest ( liegt bei 1,25kHz / Stepdauer 0,8ms ). Im Fullstep können das viele Schrittmotore eh nicht mehr. Bei Microsteps sieht das natürlich anders aus.
Da ich die Stepdauer nur in 0,2ms-Schritten ändern kann, werden Zwischenwerte durch einen künstlichen 'Jitter' erzeugt. Bei z.B. 1200 Steps/sec wird also dementsprechend ab und zu ein 1ms Step eingefügt. Das sollte die bewegte Masse aber ausgleichen, und Schrittverluste sollten da auch nicht auftreten, da der Jitter mit max 25% auch nicht soo groß ist.
Ich teste mit einem A4988 und habe da auch schon Halb- und Viertelstep eingstellt
Was für Stepraten nutzt Du denn bisher?


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

#399 von juergiboy , 07.06.2019 21:48

Hallo Franz-Peter,

Zitat
erstmal vielen Dank, dass Du dich als Alpha-Tester hergibst



Ne, ne, ich habe zu danken, schließlich wird meine Bühne dadurch noch realistischer.

Zitat
Was für Stepraten nutzt Du denn bisher?



Ich hatte erst mit einem A4988 angefangen und mit Full-, Halb- und Viertelstepraten probiert. Das funktioniert grundsätzlich, aber der Lärm ist ohrenbetäubend! Ich wollte es ja nicht glauben, aber dann habe ich mir einen TMC2130 besorgt, der ja ach so leise sein soll - was soll ich sagen, im StealthChop-Mode ist wirklich kaum etwas zu hören, eine Wohltat. Da das Breadboard weitgehen Pinkompatibel ist, habe ich einfach mal unterstellt das die Tools auch damit arbeiten können - und Recht bekommen.
Den betreibe ich aktuell mit Quartersteps und (bis zu) 256 µSteps.

Ich habe nun heute Abend mal einen ersten Test gemacht, und nachdem ich meine eigene Blödheit überwunden hatte, läuft es tadellos!
Nun nutze ich wohl zwar den einfachsten Mode (neue Befehle erst nach Stillstand), aber ich habe nicht zu bemängeln. Die Positionen werden exakt angefahren und die Rampe sieht klasse aus.

Dickes Lob, ich werde noch weiter testen und berichten.


Gruß
Jürgen


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


RE: Arduino MobaTools: V2.3.1 released

#400 von MicroBahner , 08.06.2019 10:11

Hallo Jürgen,
super, dass das schonmal funktioniert.

Zitat

Nun nutze ich wohl zwar den einfachsten Mode (neue Befehle erst nach Stillstand)


Die aktuelle Version auf Github sollte auch damit klarkommen, wenn man unterwegs eine neue Zielposition eingibt. Auf die Schiebebühne bezogen würde das bedeuten, dass man ein neues Zielgleis eingibt, während er noch auf dem Weg zum ursprünglichen ist. Das sollte bereits funktionieren, egal ob die Bewegung gerade gestartet hat, er kurz vorm ursprünglichen Ziel ist, oder das neue Zielgleis auf dem Weg liegt, und man es eingibt,wenn er gerade daran vorbeifährt.

Zitat

dann habe ich mir einen TMC2130 besorgt, der ja ach so leise sein soll

Das hört sich schon interessant an. Vielleicht sollte ich mir doch auch mal so ein Ding 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


   

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