Lieber Besucher, herzlich willkommen bei: RCLine Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Klaus(i)

RCLine Team

  • »Klaus(i)« ist der Autor dieses Themas

Wohnort: Achim b. Bremen

  • Nachricht senden

1

Mittwoch, 12. August 2015, 18:32

Problem bei der Eisenbahnsteuerung mit dem Arduino

Weil ich mich mit der Programmierung des Arduino noch etwas mehr vertraut machen möchte, habe ich mal ein altes Fleischmann Eisenbahnstarter-Set, bei dem der Trafo fehlt, raus gekramt.


Für den Arduino habe ich mir noch ein "Motor-Driver-Modul" gekauft, eine Spannungsaufbereitung für den Arduino und die Lok gebastelt und ein kleines Progrämmchen geschrieben.


Soweit funktioniert auch alles fast gut.

Nun kommt mein Problem
Obiger Motortreiber macht PWM und der in der Lok eingebaute Motor reagiert da recht bockig darauf.
Das heißt, er läuft sehr spät an aber dafür dann mit fast Vollgas. Das macht er in beide Fahrtrichtungen.
Die Werte, die vom Programm an den Steller übergeben werden, fangen auch mit kleinen Werten an.

Normalerweise wird diese Bahn mit einem Gleichstromtrafo 0 bis 14V angetrieben.

Hat jemand eine Idee, wie ich das Anlaufverhalten / Regelverhalten verbessern kann?

Könnte ein Elko helfen?

Ein Video kommt noch.

Gruß, Klaus

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Klaus(i)« (12. August 2015, 18:50)


Klaus(i)

RCLine Team

  • »Klaus(i)« ist der Autor dieses Themas

Wohnort: Achim b. Bremen

  • Nachricht senden

2

Mittwoch, 12. August 2015, 19:35

Ich denke hier kann man den Effekt ganz gut sehen.


Gruß, Klaus

P.S. das Poti ist ein 10k linear.

heikop

RCLine User

Wohnort: Lüdenscheid

  • Nachricht senden

3

Mittwoch, 12. August 2015, 20:24

Das liegt meiner Meinung nach nicht an den Motoren sondern am Treiber.
Miss doch mal die effektive Spannung am Gleis, ich nehme stark an, daß die entsprechend dem Verhalten
der Lok sprunghaft ansteigt.

Klaus(i)

RCLine Team

  • »Klaus(i)« ist der Autor dieses Themas

Wohnort: Achim b. Bremen

  • Nachricht senden

4

Mittwoch, 12. August 2015, 20:33

Wenn ich die Spannung am Gleis mit einem Multimeter messe, ist das Verhalten so, wie Du es geschrieben hast.
Ab einer bestimmten Stellung steigt sie auf ca. 11V.

Ich denke, das liegt aber in der Natur des PWM-Signals.
Wenn man dieses glättet hat man wieder einen langsamen Anstieg (meine Hoffnung).

Gruß, Klaus

EDIT: Elko geht ja auch nicht, weil ich ja eine Drehrichtungsumkehr habe ;(

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Klaus(i)« (12. August 2015, 20:40)


heikop

RCLine User

Wohnort: Lüdenscheid

  • Nachricht senden

5

Mittwoch, 12. August 2015, 21:00

Meine, zugegeben antike und mit astabilen Multivibratoren (NE555) aufgebaute damalige PWM-Steuerung für die
Spur N Bahn gab konstante 12V Impulse in variabler Breite aus, PWM halt, mit einem Analogvoltmeter ergab sich ein
nahezu linearer Anstieg der Effektivspannung. Die Loks verhielten sich entsprechend, je nach Motortyp zwar etwas
etwas knurrig aber praktisch von extremer Schleichfahrt bis Fullspeed fein regelbar.

Ich habe mal kurz diverse Beiträge zu dem Treiber bei Google überflogen, daß Du für die PWM selbst zuständig bist
und der Treiber diese nicht selbst erzeugt, sondern am Eingang erwartet, weißt Du?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »heikop« (12. August 2015, 21:45)


Klaus(i)

RCLine Team

  • »Klaus(i)« ist der Autor dieses Themas

Wohnort: Achim b. Bremen

  • Nachricht senden

6

Mittwoch, 12. August 2015, 21:07

Ich mal kurz diverse Beiträge zu dem Treiber bei Google überflogen, daß Du für die PWM selbst zuständig bist
und der Treiber diese nicht selbst erzeugt, sondern am Eingang erwartet, weißt Du?


Danke für den Hinweis. Dies hatte ich bis jetzt gar nicht realisiert.
Dann weiß ich ja wonach ich suchen muss.

Gruß, Klaus

Klaus(i)

RCLine Team

  • »Klaus(i)« ist der Autor dieses Themas

Wohnort: Achim b. Bremen

  • Nachricht senden

7

Mittwoch, 12. August 2015, 22:56

Kurzer Zwischenstand

Es schein tatsächlich an meiner Ansteuerung des Motortreibers zu liegen.
Immerhin habe ich die Steuerung jetzt so weit, dass ich in eine Richtung die Geschwindigkeit fast stufenlos einstellen kann (nur beim Anfahren gibt es erst ein Summen und dann erst das Anfahren). :applause:
Rückwärtsfahren geht zurzeit nur mit Vollgas. ;(
Warum, weiß ich noch nicht, weil der Code der gleiche ist.

Ich werde es herausfinden.


Gruß, Klaus

8

Mittwoch, 12. August 2015, 23:07

Klaus,
Das mit dem Summen ist normal. Kannst du aber verhindern wenn du den "minimalen" Wert etwas hoeher setzt.

Ruekwaerts muss genauso gehen. Schick mir mal den Code. Ich schau eben mal mit drauf.
Gruss
Thomas

🖖
So long, and thanks for all the fish.


Klaus(i)

RCLine Team

  • »Klaus(i)« ist der Autor dieses Themas

Wohnort: Achim b. Bremen

  • Nachricht senden

9

Donnerstag, 13. August 2015, 09:01

Nachdem ich heute Morgen die Motoransteuerung von PIN 2 und 3 auf PIN 5 und 6 verlegt habe, funktioniert es :applause:
Aber verstehen tue ich es nicht :dumm:



Thomas, danke für deine Unterstützung.

Gruß, Klaus

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Klaus(i)« (13. August 2015, 09:29)


heikop

RCLine User

Wohnort: Lüdenscheid

  • Nachricht senden

10

Donnerstag, 13. August 2015, 15:34

Moin Klaus,

das passt aber immer noch nicht richtig, die Lok muß bei PWM-Steuerung Schleichfahrt können, also
umgerechnet ca. 1-2cm/Sekunde. Welche Ansteuerfrequenz hast Du?

Klaus(i)

RCLine Team

  • »Klaus(i)« ist der Autor dieses Themas

Wohnort: Achim b. Bremen

  • Nachricht senden

11

Donnerstag, 13. August 2015, 19:20

Welche Ansteuerfrequenz hast Du?

Hallo Heiko,
das Handbuch des Arduino sagt ca. 980Hz.

Zitat

The frequency of the PWM signal on most pins is approximately 490 Hz. On the Uno and similar boards, pins 5 and 6 have a frequency of approximately 980 Hz.

Quelle: https://www.arduino.cc/en/Reference/analogWrite
Ich verwende rein zufällig PIN 5 und 6 :angel:

Die Lok kann auch langsamer als im Video gezeigt, jedoch muss man nach dem Anfahren runter regeln.
Das Anfahren erfolgt quasi ruckartig und wenn die Lok fährt kann man auch auf deine genannten 1-2cm/s zurück gehen.
Ich denke die Mechanik der kleinen Lok aus dem Starterset ist nicht so toll. Deswegen die Anlaufschwierigkeiten. (Die rote Lok fährt nicht).


Thomas,
hier steht auch, dass PIN 2 nicht geht. :wall:

Zitat

... and pin is one of the PWM pins (3, 5, 6, 9, 10, or 11) ...

Quelle: Secrets Of Arduino PWM


Gruß, Klaus

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Klaus(i)« (13. August 2015, 19:28)


12

Donnerstag, 13. August 2015, 19:28

hier steht auch, dass PIN 2 nicht geht.

War mir so auch nicht bekannt.
Gruss
Thomas

🖖
So long, and thanks for all the fish.


heikop

RCLine User

Wohnort: Lüdenscheid

  • Nachricht senden

13

Donnerstag, 13. August 2015, 19:45

980 Hz könnte zuviel sein, die alten Schaltungen waren deutlich niedriger getaktet, da gaben die Loks auch ein
deutlich vernehmbares Knurren von sich. Aber offenbar hat der Anwender darauf keinen Einfluss, oder?

Warum läuft die rote (BR212?) nicht, die müßte eigentlich wegen der einfacheren Mechanik sauberer laufen als
die Dampflok, defekt?

14

Donnerstag, 13. August 2015, 19:56

Aber offenbar hat der Anwender darauf keinen Einfluss, oder?

Doch. :D

Klaus, probier mal das hier
http://playground.arduino.cc/Code/PwmFrequency
Gruss
Thomas

🖖
So long, and thanks for all the fish.


Klaus(i)

RCLine Team

  • »Klaus(i)« ist der Autor dieses Themas

Wohnort: Achim b. Bremen

  • Nachricht senden

15

Donnerstag, 13. August 2015, 20:21

Warum läuft die rote (BR212?) nicht

Ich habe noch nicht herausgefunden, warum sie nicht läuft.

Klaus, probier mal das hier

Habe mal mit

setPwmFrequency(5, 256);
setPwmFrequency(6, 256);

auf 244Hz umgestellt. Läuft gefühlt smarter. :ok:

Gruß, Klaus

16

Donnerstag, 13. August 2015, 20:26

Wie ist jetzt das Anfahrverhalten?
Gruss
Thomas

🖖
So long, and thanks for all the fish.


Klaus(i)

RCLine Team

  • »Klaus(i)« ist der Autor dieses Themas

Wohnort: Achim b. Bremen

  • Nachricht senden

17

Donnerstag, 13. August 2015, 20:39

Wie ist jetzt das Anfahrverhalten?

Meiner Meinung nach nicht besser.
Ich denke das ist schon ein mechanisches Problem.

18

Donnerstag, 13. August 2015, 20:51

Nimm mal nicht das Poti zum steuern sondern bau ins Programm eine Schleife ein die langsam hochregelt.
Und schau dir auf der Konsole an bei welchen Werten es wirklich losgeht. Und wie dann die Geschwindigkeit ist.
Gruss
Thomas

🖖
So long, and thanks for all the fish.


Klaus(i)

RCLine Team

  • »Klaus(i)« ist der Autor dieses Themas

Wohnort: Achim b. Bremen

  • Nachricht senden

19

Donnerstag, 13. August 2015, 21:07

An der Eisenbahn hängt der Arduino über einen 7808 an einem 3s Lipo und der L9110 mit einer Diode direkt am Lipo.
Deswegen kann ich an der Eisenbahn das Notebook nicht anschließen.

Ich denke, dass ich mich dann erstmal auf das Display stürze.


Das wollte ich sowieso da mit integrieren.

Gruß, Klaus

20

Donnerstag, 13. August 2015, 21:12

Das sollte reichen. Geht ja erstmal drum moegliche Fehlerquellen auszuschliessen. Denn theoretisch koennte es auch am Poti liegen.
Und wenn du den Arduino die Arbeit machen laesst dann sind aeussere moegliche Stoerquellen mal weg.

Mit nem Uno mit TFT Shield waere das jetzt simpel. ;)
Gruss
Thomas

🖖
So long, and thanks for all the fish.