Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Spur 1 Gemeinschaftsforum. 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.

1

Dienstag, 13. Dezember 2011, 20:06

Einstellbare Servoansteuerung mit PICAXE

Hallo Spur-1-er,

da ich bei einigen meiner Loks die Klauenkupplung ferngesteuert per Servo öffnen wollte, habe ich mir eine kleine Schaltung gebaut, die das Decoder-Schaltsignal in ein Servosignal umsetzt. Dazu habe ich den PICAXE 08M Mikrocontroller verwendet, der nicht teuer ist, einfach in BASIC programmiert werden kann und die Aufgabe problemlos erfüllt. Die ansonsten benötigten Bauteile sind Standardteile, ein 7805 Spannungsregler und ein Optokoppler zur galvanischen Entkopplung des Steuereingangs.

Die Schaltung erlaubt das Einstellen der beiden Servoendpositionen sowie der Stellgeschwindigkeit jeweils per Potentiometer. Die Ansteuerung erfolgt über einen Funktionsausgang des Decoders.

Die Schaltung kann einfach auf einer Streifen-Lochrasterplatine aufgebaut werden, das Layout habe ich angefügt. Rot schraffierte Positionen sind Leiterbahnunterbrechungen. Der PICAXE sollte auf Sockel montiert werden. Auf dem Foto ist der 7805 Regler abgewinkelt montiert und verdeckt die Gleichrichterdioden. Auf dem zweiten Foto sieht man, wie es darunter aussieht. Die dort erkennbare LED ist ersatzweise für die Drahtbrücke unten links im Layout eingebaut und zeigt den Zustand des Steuereingangs an.

Die drei letzten Fotos zeigen den Einbau in eine V36 (noch der Prototyp).
Vielleicht will der eine oder andere ja mal etwas ähnliches realisieren....

Gruß
Matthias
»mat-spur1« hat folgende Bilder angehängt:
  • Servoelektronik.jpg
  • Layout.jpg
  • IMG00477-20111211-1728.jpg
»mat-spur1« hat folgende Dateien angehängt:
https://mat-spur1.jimdofree.com/

Wonach du sehnlich ausgeschaut - es wurde dir beschieden
Du triumphierst und jubelst laut: „Jetzt hab’ ich endlich Frieden!“
Ach, Freundchen, rede nicht so wild, bezähme deine Zunge!
Ein jeder Wunsch, wenn er erfüllt, kriegt augenblicklich Junge

Wilhelm Busch

Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von »mat-spur1« (14. Dezember 2011, 07:21)


Beiträge: 473

Wohnort: Bremen

Beruf: Projekt Manager

  • Nachricht senden

2

Mittwoch, 14. Dezember 2011, 21:19

RE: Einstellbare Servoansteuerung mit PICAXE

Hallo Matthias,
genau so eine Lösung wollte ich gerne haben um servos mit meinen Esu decodern zu steuern. Bis dato hatte ich noch nichts in dieser Richtung gefunden. Wie sind deine Erfahrungen mit der Servo Ansteuerung ?
Gruss aus dem Norden
Sven

3

Donnerstag, 15. Dezember 2011, 06:44

RE: Einstellbare Servoansteuerung mit PICAXE

Hallo Sven,

die Erfahrungen sind eigentlich gut. Das Servo läuft einstellbar schön langsam mit nur wenig Geräusch bei vollem Drehmoment.

Die Programmierung ist Optimierungssache, weil die Pulsbreitenansteuerung von den Befehlen beeinflusst werden kann, die im Wartezyklus abgearbeitet werden. Das kann je nach Programm zu einem gelegentlichen Zucken des Servos führen. Daher ist die Warteschleife hier auch sehr kurz ausgeführt. Die vorliegende Lösung funktioniert bei mir aber gut auch ohne die beiden entsprechend kommentierten Zeilen ('Low 0' und 'Servo 0,b8') und ohne den 'Pause 500' Befehl am Ende. Vielleicht gibt es noch mal ein update, das poste ich dann hier auch wieder.

Zur Programmierung des PICAXE benötigt man nur wenig Hardware (Anschluß an USB/RS232, 2 Widerstände, 1 Klinkenbuchse, 5V Versorgung), die Software und die Handbücher gibt's zum Download. Die Chips kann man hier kaufen.

Gruß
Matthias
https://mat-spur1.jimdofree.com/

Wonach du sehnlich ausgeschaut - es wurde dir beschieden
Du triumphierst und jubelst laut: „Jetzt hab’ ich endlich Frieden!“
Ach, Freundchen, rede nicht so wild, bezähme deine Zunge!
Ein jeder Wunsch, wenn er erfüllt, kriegt augenblicklich Junge

Wilhelm Busch

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »mat-spur1« (5. Januar 2013, 07:10)


Beiträge: 1 390

Wohnort: Jena

Beruf: Freiberuflicher Projektmanager

  • Nachricht senden

4

Donnerstag, 15. Dezember 2011, 10:41

RE: Einstellbare Servoansteuerung mit PICAXE

Hallo Matthias,

könnte man damit eine Pantografensteuerung bei meinen Elloks realisieren?
Beste Grüße Holger Danz

Zu meinem Avatar: Mein "Tigerkind" beim Kinderfest - im Hintergrund ihr Papi :-)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Holger Danz« (15. Dezember 2011, 10:42)


5

Donnerstag, 15. Dezember 2011, 12:57

RE: Einstellbare Servoansteuerung mit PICAXE

Hallo Matthias,

ein interessante Schaltung.

Würde sich da vielleicht eine Platine als PCB lohnen?

Lässt sich nach Erreichen der Endstellungen optional der Strom für die Servos abschalten?
(Verhindert das gelegentliche Schnarren, senkt die thermische Belastung des 7805, spart "teuren" Digitalstrom)
Grüße aus Mannheim und immer Hp 1 (:32)
Andreas

6

Donnerstag, 15. Dezember 2011, 13:32

RE: Einstellbare Servoansteuerung mit PICAXE

Hallo Holger,

das glaube ich schon. Ich würde die mechanische Ansteuerung aber so auslegen, daß sie an beiden Endpunkten der Bewegung Spiel hat, so daß das Servo
- nicht versehentlich durch einen zu weit gewählten Stellweg irgendwas zerstört
- wenn es denn mal einen Störimpuls einfängt, nicht gleich den Pantografen zucken lässt.
Wenn Du also zB 180° Drehweg am Servo ausnutzt und einen Stelldraht so anbindest, daß er in der Endposition des Servos mit der Servoachse fluchtet, erreichst Du diesen Effekt. Dann wird bei konstanter Drehbewegung des Servos auch keine ruckartige Bewegung des Pantografen sichtbar sein, sondern er fährt sanft an und bremst auch in der Endposition sanft. Ist im Fotobeispiel meiner V36 (noch) nicht realisiert, da habe ich in den Stelldraht eine Zickzack-Feder als Überlastschutz integriert.


Hallo IGMA,

- PCB lohnt sich für meine wenigen Anwendungen nicht - so eine kleine Schaltung ist schnell auf Lochraster aufgebaut, und die Baudichte ist schon optimiert. PCB wäre nur interessant, wenn man die Schaltung auf SMD umstellt. Aber bei Spur 1 ist meist genug Platz. Meine nächste Anwendung ist die Kupplung am Tender der BR55....
- Wird das Steuersignal weggenommen ("low 0"), so sollte das Servo auch ruhen. Der 7805 wird im Dauerbetrieb deutlich warm (hat aber eine integrierte Temperatur-Schutzschaltung), aber das kommt ja auch kaum vor. In der Praxis kann man die Schaltung auch bedenkenlos einschrumpfen, ohne daß der 7805 bei gelegentlicher Beanspruchung überhitzt.
- Zum Abschalten benötigt man einen zusätzlichen Ausgang am PICAXE, also einen größeren Typ, zB der 14- oder 18-Pin-Typ. Oder man verzichtet auf die Einstellbarkeit der Bewegungsgeschwindigkeit, gibt diese im Programm fest vor und hat so einen zusätzlichen Ein/Ausgang frei.

Gruß
Matthias
https://mat-spur1.jimdofree.com/

Wonach du sehnlich ausgeschaut - es wurde dir beschieden
Du triumphierst und jubelst laut: „Jetzt hab’ ich endlich Frieden!“
Ach, Freundchen, rede nicht so wild, bezähme deine Zunge!
Ein jeder Wunsch, wenn er erfüllt, kriegt augenblicklich Junge

Wilhelm Busch

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »mat-spur1« (22. Dezember 2011, 10:01)


Beiträge: 2 553

Wohnort: Erfurt

Beruf: jetzt Rentner, programmieren nur noch im Hobby

  • Nachricht senden

7

Donnerstag, 15. Dezember 2011, 14:39

RE: Einstellbare Servoansteuerung mit PICAXE

Hallo Andreas,Matthias,
die Abschaltung der Servostromversorgung könnte über einen Leistungstransistor erfolgen, wenn ein Pin frei wäre.
Ich hab auch schon Schaltungen gesehen, die 2 Stromversorgungen hatten , einmal Prozessor mit LM 317H ca. 0.5A und LM 317K 1.5A ,
bei dem 317K wurde durch einen FET - Transistor ein Referenzwiderstand nach Masse überbrückt, so bekommt das Servo nur noch 1,25 Volt, das ist wie abgeschaltet.
Die LM 317 sind einstellbare Spannungs-Regler die mit 2 Referenzwiderstände auf 5Volt eingestellt werden müssen.


Problem bei einer Stromversorgung für Prozessor und Servo könnten manche Servos sein, die beim Anlaufen sehr viel Strom ziehen und die 5 Volt kurz einreißen, dann würde der Prozessor in den Reset gehen . Vielleicht produziert das ja die erwähnten Störungen.

Ansonsten schöne nette, kleine Schaltung.
MfG. Berthold

8

Donnerstag, 15. Dezember 2011, 17:05

RE: Einstellbare Servoansteuerung mit PICAXE

Hallo bbenning,

der Anlaufstrom des Servos ist zumindest nach Oszilloskop kein Problem bei den kleinen Servos, wie sie für unsere Anwendungen in Frage kommen.
Die Störungen (Zucken) treten - wenn sie bemerkbar auftreten - auch nur im Stillstand des Servos auf, nicht während dem Lauf. Der Prozessor geht definitiv nicht in Reset.

Gruß
Matthias
https://mat-spur1.jimdofree.com/

Wonach du sehnlich ausgeschaut - es wurde dir beschieden
Du triumphierst und jubelst laut: „Jetzt hab’ ich endlich Frieden!“
Ach, Freundchen, rede nicht so wild, bezähme deine Zunge!
Ein jeder Wunsch, wenn er erfüllt, kriegt augenblicklich Junge

Wilhelm Busch

Beiträge: 2 553

Wohnort: Erfurt

Beruf: jetzt Rentner, programmieren nur noch im Hobby

  • Nachricht senden

9

Donnerstag, 15. Dezember 2011, 19:25

RE: Einstellbare Servoansteuerung mit PICAXE

Hallo Matthias,
dann ist ja alles OK, die kleine Schaltung fehlt bisher, besonders für ESU Decoder sehr interessant.
MfG. Berthold

10

Donnerstag, 22. Dezember 2011, 09:23

RE: Einstellbare Servoansteuerung mit PICAXE

So, noch ein kleiner Nachtrag zum Programm:

Ich nutze jetzt überall die weiter oben als pdf eingebundene Version mit der Servoabschaltung über "low0". Dadurch ist das Servo in Endposition absolut ruhig.

Je nach Stellgeschwindigkeit des Antriebs sollte man bei dem am Schleifenende eingetragenen Befehl "pause 500" vielleicht größere Werte einsetzen, damit das Servo seine Endposition sicher erreicht, bevor über "low 0" das Pulssignal abgeschaltet wird. 1000 (=1 sec) ist dann ein praktikabler Wert.

Wenn das Servo (je nach Typ) beim Einschalten der Digitalspannung am Gleis kurz ein Stückchen wegläuft, holt die nachfolgende kleine Programmänderung im Programmkopf (2x "pause 500" eingefügt) es gleich wieder zurück:

. main:
. input 1
. input 2
. input 3
. input 4
. readadc 2,b8 'Startposition pin3=0
. b8=b8*200/255+25
. pause 500
. servo 0,b8
. pause 500
. b13=pin3
.
. Schleife:
. low 0 .... usw

Die Verzögerungen bewirken, daß das Servo den Befehl "servo 0,b8" sauber ausführen kann, bevor der "low 0" das Impulssignal abschaltet.

@bbenning
Ich habe nochmal genau im Oszi bei Betrieb mit einem stärkeren Servo nachgeschaut. Man sieht spikes, aber noch unkritisch. Wenn das stören sollte, kann man den 10µF Kondensator deutlich vergrößern (mehrere 100 µF), dann gehen auch diese Spitzen weg.

In Anhang ist jetzt auch noch der Schaltplan!

Gruß und frohe Weihnachten
Matthias
»mat-spur1« hat folgendes Bild angehängt:
  • Servocontroller.jpg
https://mat-spur1.jimdofree.com/

Wonach du sehnlich ausgeschaut - es wurde dir beschieden
Du triumphierst und jubelst laut: „Jetzt hab’ ich endlich Frieden!“
Ach, Freundchen, rede nicht so wild, bezähme deine Zunge!
Ein jeder Wunsch, wenn er erfüllt, kriegt augenblicklich Junge

Wilhelm Busch

Dieser Beitrag wurde bereits 10 mal editiert, zuletzt von »mat-spur1« (23. Dezember 2011, 19:11)