Probleme mit Servos

#1 von Hans Machler , 27.11.2022 10:30

Hallo zusammen,
Ich habe gestern mit dem Einbau von Servos für die Weichen meines Hauptbahnhofs begonnen. Ich steuere diese mit einer Z21, einem Arduino Uno und dem passend Shield der Firma ArCoMoRa. Auf dem Arduino läuft dann das passende Programm Mardec. Soweit läuft alles gut. Ich habe jedoch das Problem, dass alle Servos beim Einschalten der Anlage eine 360 Grad Drehung machen, was dazu führt, dass alle Federdrähte rausspringen. Weiß jemand, wie man diese Drehung ausschalten kann?
Vielen Dank schonmal im voraus und einen schönen Sonntag


Hans Machler  
Hans Machler
Regionalbahn (RB)
Beiträge: 30
Registriert am: 14.10.2020
Ort: Frankfurt am Main
Gleise Piko A-Gleis
Spurweite H0
Steuerung Z21
Stromart DC, Digital


RE: Probleme mit Servos

#2 von moppe , 27.11.2022 10:42

Welcher servos?
Du schreiben das sie 360 grad drehen.


Klaus


"Meine" Modellbahn:http://www.modelbaneeuropa.dk
Dänisches Bahnforum: http://www.baneforum.dk
PIKO C4 "Horror Gallery": http://moppe.dk/PIKOC4.html


Eckhart und Beschwa haben sich bedankt!
 
moppe
Trans Europ Express (TEE)
Beiträge: 8.729
Registriert am: 07.08.2011
Homepage: Link
Ort: Norddeusche halbinsel
Gleise Roco, PECO, Märklin/Trix, PIKO,
Spurweite H0, H0e, N, Z
Steuerung Z21, Lenz, MpC Gahler+Ringsmeier, Games on Track/Faller
Stromart AC, DC, Digital, Analog


RE: Probleme mit Servos

#3 von Eckhart , 27.11.2022 11:11

Hallo Hans!

Zitat von Hans Machler im Beitrag #1
Weiß jemand, wie man diese Drehung ausschalten kann?


Dass sich Servos beim Einschalten nicht bewegen ist sozusagen die "Königsdisziplin" der Servosteuerung. Das Problem ist meistens, dass in dem Moment, wo die Servos den Strom bekommen, noch kein gültiges Steuersignal anliegt. Manche Servos verhalten sich hier gutmütiger, als andere! Eine andere Strategie, von manchen Servo-Decoder Herstellern, ist es, erst den Microcontroller hochzufahren und das Server-Steuersignal (Nullstellung, oder letzte gültige Position) zu erzeugen und erst danach die 5V auf die Servos zu geben.

Klaus fragte es ja schon ...was für Servos sind es und sind diese ausdrücklich von den "Machern" deines Servodecoders für die Lösung freigegeben?

Gruß, Eckhart


Meine aktuelle Umfrage: Wie gut kannst du mit dem MLL Pattern-Configurator umgehen?


Eckhart  
Eckhart
InterCity (IC)
Beiträge: 590
Registriert am: 28.01.2022
Gleise K-Gleis
Spurweite H0
Steuerung CS3+
Stromart AC, Digital


RE: Probleme mit Servos

#4 von Hans Machler , 27.11.2022 13:20

Hallo und danke für eure Antworten.
Ich habe die nächst besten "Billig" Servos von Amazon genommen... Erstmal jedoch nur vier Stück, um zu testen, wie gut sie funktionieren. In der Anleitung von ArCoMoRa war kein spezieller Servo genannt, weshalb ich die kleinen blauen "standard?" Servos genommen habe, die auch in der Anleitung auf den Bildern abgebildet waren...


Hans Machler  
Hans Machler
Regionalbahn (RB)
Beiträge: 30
Registriert am: 14.10.2020
Ort: Frankfurt am Main
Gleise Piko A-Gleis
Spurweite H0
Steuerung Z21
Stromart DC, Digital


RE: Probleme mit Servos

#5 von moppe , 27.11.2022 14:05

Ich empfehlen das du ein switchpilot servo kaufen, um probieren was es bedeutet ein gutes servodecoder zu nutzen.


Klaus


"Meine" Modellbahn:http://www.modelbaneeuropa.dk
Dänisches Bahnforum: http://www.baneforum.dk
PIKO C4 "Horror Gallery": http://moppe.dk/PIKOC4.html


 
moppe
Trans Europ Express (TEE)
Beiträge: 8.729
Registriert am: 07.08.2011
Homepage: Link
Ort: Norddeusche halbinsel
Gleise Roco, PECO, Märklin/Trix, PIKO,
Spurweite H0, H0e, N, Z
Steuerung Z21, Lenz, MpC Gahler+Ringsmeier, Games on Track/Faller
Stromart AC, DC, Digital, Analog


RE: Probleme mit Servos

#6 von Hobbyprog , 27.11.2022 16:10

Hallo
ich habe mit den einfachen (blauen) Servos gute Erfahrungen gemacht.
Hier mal als Information
https://bluethners.de/DCCProjekt/Zentrale/ServoRuckeln.html

Ein Servo stellt sich beim Start immer zunächst auf die Mittelstellung. Das verwende ich daher nicht.
Wenn bei dir die Servos zunächst zu einem Anschlag fahren, kann das an den Decoder liegen.

Normal muss der Decoder sich die letzte Winkelstellung merken. Daher sollte da sich beim Neustart nichts bewegen.
Bei meinem Arduino NANO Decoder ist gelegentlich mal ein leichtes zucken feststellbar. Nur der eine schwarze Servo geht immer kurz in Mittelstellung.

Mein Servo Schaltdecoder habe ich hier vorgestellt.
🚂 Arduino --DCC universal Servo.- Schalt- LED - Signal- Decoder preisgünstig selber bauen 📌

Die HEX ist in der kostenlosen MOBA-Verwaltung enthalten.

Viele Grüße Martin


 
Hobbyprog
InterRegioExpress (IRE)
Beiträge: 422
Registriert am: 03.11.2020
Homepage: Link
Ort: NRW
Spurweite H0
Steuerung DCC Eigenbau
Stromart Digital

zuletzt bearbeitet 27.11.2022 | Top

RE: Probleme mit Servos

#7 von graetz , 03.12.2022 16:39

Zitat von Eckhart im Beitrag #3
Hallo Hans!

Dass sich Servos beim Einschalten nicht bewegen ist sozusagen die "Königsdisziplin" der Servosteuerung. Das Problem ist meistens, dass in dem Moment, wo die Servos den Strom bekommen, noch kein gültiges Steuersignal anliegt.


Am einfachsten schaltet man die Stromversorgung für die Servos über ein eigenes Relais, das erst dann schliesst, wenn das Steuersignal bereits erzeugt ist. Funzt natürlich nur, wenn die Software die letzte Position des Servos gespeichert hat und beim Hochfahren auch zuerst wieder setzt. Ich habe das so für einen Roboterarm gemacht, damit der nicht beim Hochfahren wild rumfuchtelt.


Gruß

Andreas

http://www.andreas-graetz.de/modellbahn/


 
graetz
InterRegio (IR)
Beiträge: 168
Registriert am: 18.01.2013
Homepage: Link
Spurweite Z
Stromart Digital, Analog


RE: Probleme mit Servos

#8 von volkerS , 04.12.2022 00:34

Hallo Hans,
ein Servo das eine 360° Umdrehung macht, hätte ja keinen mechanischen Anschlag. Das kann nicht stimmen, da die Potis im Servo üblicherweise auf der Hebelarmachse montiert sind und maximal 270° können. Wenn Servos beim Einschalten verrückt spielen liegt dies an fehlerhaften Signalen. Gerade wenn mehrere Servos gleichzeitig mit Spannung versorgt werden entstehen extreme Ströme die dann auch die Treiberkarte zu Störungen veranlassen kann. Woher beziehen die Servos ihre Versorgungsspannung? Hoffentlich hast du eine stabile 5V-Versorgung (mind. 2A) für die Servos angeschlossen. Die Versorgungsspannung für die Servos ist schneller als ein startendender Arduino, der erst einmal eine komplette DCC-Sequenz abarbeiten muss bis er weiß wie er die Servos stellen soll. Daher zuerst Zentrale und Arduino hochfahren und erst dann den Servos ihre Versorgungsspannung zuschalten.
Volker


volkerS  
volkerS
ICE-Sprinter
Beiträge: 5.978
Registriert am: 14.10.2014

zuletzt bearbeitet 04.12.2022 | Top

RE: Probleme mit Servos

#9 von Hobbyprog , 04.12.2022 01:16

Hallo Volker
Du schreibst:
der erst einmal eine komplette DCC-Sequenz abarbeiten muss bis er weiß wie er die Servos stellen soll. Daher zuerst Zentrale und Arduino hochfahren und erst dann den Servos ihre Versorgungsspannung zuschalten.

Das muss aber nicht so sein. z. B. meine DCC Servodecoder merken sich die letzten Stellungswinkel. Daher wird da nicht beim Hochfahren verstellt.
Normal wird auch kein DCC-Befehl beim Start an alle Decoder gesendet. Das kann natürlich in der MOBA-Steuerung ausdrücklich so eingestellt werden.
Es kann mal vorkommen das einige Servos leicht zucken mehr nicht. Ich hatte aber berichtet, das ist auch vom Modellbau-Servo abhängig. Seltsamerweise machen die billige Ausführung bei mir am wenigsten Probleme.
Hier meine ganz persönliche Feststellung:
https://bluethners.de/DCCProjekt/Zentrale/ServoRuckeln.html

Wichtig ist eine stabile 5 Volt - Versorgung.

Für das Steuersignal PWM oder wie immer man das nennen mag. gibt es keine genauen Vorgaben. Standard ist 1 bis 2 Millisekunden. Meine Decoder kann man auf 0,5 bis 2,5 Millisekunden umstellen, damit manche Servos den vollen Winkel abfahren. Das ist aber für die meisten Anwendungen nicht nötig bzw nicht zulässig. Die mechanischen Endanschläge konnten so überfahren werden.

Man kann natürlich auch die Stromversorgung beim Einschalten verzögern. das ändert aber nichts am Problem, falls die letzte Servostellung nicht im Decoder gespeichert wurde.
Man kann natürlich auch vorab die letzte Servostellung über die MOBA übertragen und dann die Spannung einschalten. Das ist aber wieder aufwendiger und unnötig.
Ich habe für meinem DCC Decoder mal ein Video gemacht. Dort mach ich die Voreinstellungen Direkt über dem USB.
Man sieht dort auch mal kurz wie ein Servo stärker zuckt. Als ich die Stellgeschwindigkeit hochgestellt hatte. Der USB II Port war mit der Stromversorgung überfordert.
https://www.youtube.com/watch?v=FbDqZvVPfRo

Ist natürlich nur meine Meinung.

Viele Grüße Martin


 
Hobbyprog
InterRegioExpress (IRE)
Beiträge: 422
Registriert am: 03.11.2020
Homepage: Link
Ort: NRW
Spurweite H0
Steuerung DCC Eigenbau
Stromart Digital

zuletzt bearbeitet 04.12.2022 | Top

RE: Probleme mit Servos

#10 von volkerS , 04.12.2022 20:43

Hallo Martin,
wenn sich ein Decoder die letzte Stellung des Servos merkt gibt es dafür nur 2 Techniken.
1. jeder Stellbefehl von der Zentrale wird im Decoder im Eprom gespeichert. Dabei muss man aber immer auch die zulässige Anzahl von Schreibzugriffen im Eprom beachten, typisch 100.000 bei AtMega. Hört sich nach viel an aber eine Weiche deren Servo 40 mal pro Fahrtag geschaltet wird bei 250 Betriebstagen/Jahr erreicht diesen Wert nach 10 Jahren.
2. bricht die Versorgungsspannung des Decoders ein muss über ein Interrupt die letzten Stellpositionen der Servos aus dem Ram ins Eprom gerettet werden. Dies setzt aber eine ausreichende Pufferung der Spannung des Controllers vorraus weil die Schreibbefehle auch eine gewisse Zeit benötigen. Altern die puffernden Elkos reduziert sich die verfügbare Zeit zur Datenettung.
Und auch wenn die letzten Positionen im Kontroller stehen benötigt er beim Start eine Subroutine die die Daten aus dem EProm holt und in korrekte Pulswerte überstetzt. Bis die Pulse stabil sind kann der Servo auch zittern.
Das Servosignal ist durchaus standartisiert. Die Pulsbreite ist 1 - 2 msec die sich alle 20sec wiederholt wobei letzterer Wert unkritisch ist. 1,5msec ist die Mittelstellung. Welchen Stellwinkel ein Servo zwischen 1 und 1,5msec bzw. 1,5 und 2msec abfährt kann aber abweichen. Einige Servos schaffen 60° andere 90°. In allen Fällen wird dabei aber nicht der mechanische Anschlag erreicht. Selbst bei 0,9 - 2,1 msec nicht. Wird aber ein Servo in den mechanischen Anschlg gefahren weil die Pulse zu kurz oder lang sind, ich persönlich verwerfe bei der Auswertung alle Pulsinformationen <0,85msec und >2,2msec als unplausibel, dann besteht die Gefahr, dass der Motor durchbrennt bzw. die Stromaufnahme stark ansteigt weil der Servopoti den Ist-Wert nicht erreicht der dem Soll-Wert entspricht. Es gibt allerdings auch Servos die ihre Mittelstellung bei anderen Impulswerten als 1,5msec haben.
Ideal sind digitale Servos die eine eigene Fail-Save-Stellung haben. Fehlt das Servosignal nimmt der Servo eine stabile Fail-Save-Position ein. Nur so ein Servo bekommt man nicht eben mal für 5€.
Volker


volkerS  
volkerS
ICE-Sprinter
Beiträge: 5.978
Registriert am: 14.10.2014

zuletzt bearbeitet 04.12.2022 | Top

RE: Probleme mit Servos

#11 von Hobbyprog , 04.12.2022 21:24

Hallo Volker,
ist alles richtig, was Du schreibst.

Mein Decoder merkt sich die Servostellung direkt bei jeder Schaltung.

Das EEProm wird im Rotationverfahren bei jedem Neustart auf eine neue Speicherstelle geschrieben.
Daher theoretisch 255 * 100.000, aber die Hälfte > 12 Millionen sollte auch genügen.

Es kann auch im unwahrscheinlichen Fall passieren, dass ein Speichervorgang /Spannungsabfall) unterbrochen wird. Ich denke da hängt kein echtes Leben von ab, und das betrifft nur ein Servo.

Die 0,5 bis 2,5ms PWM ist bei meinem Decoder nur optional. Die 1 bis 2 ms werden nicht von allen Herstellen eingehalten dann fehlt eventuell etwas Stellwinkel.

Meine Servos kosten, 4 Stück 12,70€ inclusive Versand. Daher 3,20€ pro Servo. Und das ist nicht vom billigsten Anbieter.
z. B 10 Stück für 22€

Man kann natürlich mit mehr Aufwand, alles besser machen. Aber so funktioniert es bei mir zumindest mit bestimmten Servos gut.

Bei Arduino-Versionen:
Man könnte noch optimieren, wenn man den Bootloader weglässt, dann wird der PWM fast Augenblicklicht eingeregelt.

Viele Grüße Martin


 
Hobbyprog
InterRegioExpress (IRE)
Beiträge: 422
Registriert am: 03.11.2020
Homepage: Link
Ort: NRW
Spurweite H0
Steuerung DCC Eigenbau
Stromart Digital

zuletzt bearbeitet 04.12.2022 | Top

RE: Probleme mit Servos

#12 von KlausZ , 05.12.2022 08:48

Hallo,

ich fürchte, das ist eine Eigenart des ArCoMoRa-Decoders. Wenn ich bei mir die Digitalzentrale DR5000 und die Versorgungsspannung gleichzeitig einschalte zucken die Servos wild vor sich hin. Wenn ich die Gleichspannung kurze Zeit später einschalte ist alles gut.
Dieses Verhalten hat bisher nur der ArCoMoRa, andere Servodecoder machen keine Probleme. Da hilft dann der Rat von Andreas, die Versorgungsspannung vom Digitalsignal einschalten zu lassen.

Klaus


 
KlausZ
InterRegioExpress (IRE)
Beiträge: 430
Registriert am: 15.08.2013
Ort: S-Möhringen
Spurweite Z
Stromart DC, Digital


RE: Probleme mit Servos

#13 von fschum , 07.12.2022 10:12

Hallo,

das Thema Servo geht mir bereits seit einiger Zeit auf den Keks - genau aus den hier angefuehrten Gruenden. Darum habe ich mich entschieden die Servos zu 'hacken' und direkt anzusteuern. Also Servo Elektronik raus, Motor direkt ansteuern und Poti auslesen. Kein Ruckeln, kein Knurren, sehr langsames leises Bewegen, genaue Positionsrueckmeldung.

Hier ein Prototyp mit integrierter eFrog Polarisation. Evtl. erkennt man was es mal werden soll. Die Mechanik soll auch eine Weichenlaterne mitbewegen ... aber ob das so klappt wie ich es mir vorstelle, muss sich noch zeigen.

Auf dem Bild: 5 Kabel zum Servo ... 3x Poti + 2x Motor. Die Platine mit Servo drauf kommt direkt unter die Weiche.

Bild entfernt (keine Rechte)


MfG,
Frank


hans-gander hat sich bedankt!
 
fschum
RegionalExpress (RE)
Beiträge: 66
Registriert am: 18.10.2018
Homepage: Link
Ort: BW
Spurweite N
Stromart Digital


RE: Probleme mit Servos

#14 von Stahlblauberlin , 07.12.2022 10:32

Wild zuckende Servos beim Einschalten ist ein Problem das so alt ist wie das Servo selbst, hat mir schon Ruderhörner aus Steuerflächen gerissen. Es lässt sich aber stark minimieren wenn sichergestellt ist das die Signalleitung auf low! liegt wenn die Stromversorgung des Servos eingeschaltet wird. Alle mir bisher in die Finger gekommenen analogen Servos zucken dann nur minimal, das ist unvermeidlich und harmlos.
Bei Arduinos die Servos direkt ansteuern löse ich das Problem in dem ich Sketch in der Setup-Routine zu aller erst die relevanten Pins als Output definiere (Standard ist Input_Pullup = High!) und auf Low setze. Das geht so schnell das das Servo gar keine Zeit zum Zucken hat. Danach der Rest. Impulse bekommen die Servos erst wenn sich was tut, sprich ein Schaltbefehl eintrudelt. Damit spart man sich das Speichern der Stellung. Ist das Servo schon in der richtigen Stellung zuckt es höchstens leicht, ansonsten marschiert es in die andere Stellung. Die Impulse werden nach dem Stellvorgang wieder abgeschaltet, damit entfällt das Knurren komplett und auch die Billigst-Servos für 1,90 nehmen nur noch weniger als 1 mA auf.


Stahlblauberlin  
Stahlblauberlin
Metropolitan (MET)
Beiträge: 3.287
Registriert am: 07.03.2022
Ort: Berlin
Spurweite H0, Z, G
Steuerung Roco digital, Z21-Nachbau
Stromart DC, Digital, Analog


RE: Probleme mit Servos

#15 von fschum , 07.12.2022 11:32

Ein Problem, dem Servo wird von aussen ein Ziel-Winkel gesendet. Das Servo steuert diesen, abhaengig von seiner momentan Lage, mit maximaler Geschwindigkeit und maximalen Drehmoment an. Beides ist selten beim Moba Einsatz gefordert, geschweige denn, gewuenscht. Das unvermeidliche Einschalt-Zucken ist nicht immer harmlos - eben weil dieses Zucken mit einem hohen Drehmoment erfolgt. Viele Mechaniken sind sehr filigran und leiden unter derartigen Lastspitzen.


MfG,
Frank


 
fschum
RegionalExpress (RE)
Beiträge: 66
Registriert am: 18.10.2018
Homepage: Link
Ort: BW
Spurweite N
Stromart Digital


RE: Probleme mit Servos

#16 von Stahlblauberlin , 07.12.2022 11:58

Wie das Servo den Zielwinkel ansteuert ist auch Sache der Ansteuerung...wenn ich nur zwei Pulsweiten erzeuge knallt das Servo hart zwischen diesen Positionen hin und her, nicht schön. Nimmt man da auch noch hochwertige Digitalservos wie die für den Heckrotoren von Helis geht das in deutlich unter 0,1 s. Ist man in der Software geschickter lässt sich das Servo sanft und mit definierter Geschwindigkeit bewegen, inklusive Nachwippen bei Schranken und Flügelsignalen. Selbst die PIC-basierten Servopints lassen sich so sehr schön einstellen. Ist nur etwas Hirnschmalz bei der Software nötig wenn man den Arduino programmiert, in erster Linie eine while-Schleife.
Und wie schon geschrieben, Servos bleiben bei definiert LOW am Impulseingang beim Einschalten sehr ruhig, Zucken im Bereich von einem Grad sollte die Mechanik ohne Schaden wegstecken. Wenn nicht ist die etwas zu filigran.


Stahlblauberlin  
Stahlblauberlin
Metropolitan (MET)
Beiträge: 3.287
Registriert am: 07.03.2022
Ort: Berlin
Spurweite H0, Z, G
Steuerung Roco digital, Z21-Nachbau
Stromart DC, Digital, Analog


RE: Probleme mit Servos

#17 von fschum , 07.12.2022 12:54

Dem kann ich nicht voll zustimmen.

Denn Servos funktionieren so,

1
2
3
4
5
6
 
while (true)
{
Warten auf neuen Winkel
Vollgas zur naechsten Winkelposition
Stop
}
 



Wenn ich einen Servo langsam fahren lassen will, muss ich die Winkelschritte klein machen. Was aber nix daran aendert, dass die Servo Bewegung folgendes macht:

"... Vollgas ... Stop ... Vollgas ... Stop ... Vollgas ... Stop ... " usw

Das fuehlt man, wenn man das Servo anfasst ... sowas wie "knurren". Man kann die Winkelschritte auch nicht beliebig klein waehlen, weil Servos eine minimale Schrittweite haben welche m.E. immer noch relativ gross ist. Eigentlich dient immer die Mechanik (unfreiwillig) als Daempfungsglied. Je kleiner die Masse desto schlechter die Daempfung. Bei kleinen Spuren ggf. ein Problem.


MfG,
Frank


 
fschum
RegionalExpress (RE)
Beiträge: 66
Registriert am: 18.10.2018
Homepage: Link
Ort: BW
Spurweite N
Stromart Digital


RE: Probleme mit Servos

#18 von Stahlblauberlin , 07.12.2022 13:17

In der While-Schleife den Wert hochzählen ist das Geheimis, Ausgangs-Winkel und Ziel Winkel sind bekannt, dann in der Schleife den Differenzwert (= Servo-Weg) für den Index einsetzen und runterzählen, bei jedem Durchlauf den Wert für das Servo um 1 erhöhen oder erniedrigen, je nach Richtung.
Setzt man die originale Servo-Lib ein geht das nur in ganzen Graden, bei minimal 20 ms pro grad (50 Hz-Ansteuerung). Bei nur 10° zu nutzendem Stellwinkel ist das recht grob, deshalb gilt ja auch im Modellbau das man die Mechanik rund um Servos so aufbauen sollte das ein möglichst großer Stellweg genutzt wird. Die preiswerten SG90 schaffen eine Auflösung von ca. 0,5°, hochwertige Digitalservos bis besser 0,1°.
Eine höhere Auflösung (nicht beim Timing) kann man durch direkten Zugriff auf die Timer erreichen oder auch alternative Servo-Libs nutzen. Das bleibt prinzipbedingt (50 Hz..) etwas knurrig aber ist schon ziemlich weich.


Stahlblauberlin  
Stahlblauberlin
Metropolitan (MET)
Beiträge: 3.287
Registriert am: 07.03.2022
Ort: Berlin
Spurweite H0, Z, G
Steuerung Roco digital, Z21-Nachbau
Stromart DC, Digital, Analog


RE: Probleme mit Servos

#19 von Stahlblauberlin , 07.12.2022 13:27

Gerade noch ein Beispiel mit for-Schleife gefunden:

for(pos = 0; pos < 180; pos += 1) { // goes from 0 degrees to 180 degrees, 1 degree steps
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}

Startposition ist hier 0 und muss natürlich auf den gewünschten Wert gesetzt werden, ebenso die hier eingesetzte Endposition von 180°, sprich: hier entsprechende Variablen verwenden. Quelle: Sweep.ino


Stahlblauberlin  
Stahlblauberlin
Metropolitan (MET)
Beiträge: 3.287
Registriert am: 07.03.2022
Ort: Berlin
Spurweite H0, Z, G
Steuerung Roco digital, Z21-Nachbau
Stromart DC, Digital, Analog


RE: Probleme mit Servos

#20 von fschum , 07.12.2022 13:58

Ok, unsere Anforderungen sind dann wohl verschieden.

Zitat von Stahlblauberlin im Beitrag #18
Eine höhere Auflösung (nicht beim Timing) kann man durch direkten Zugriff auf die Timer erreichen oder auch alternative Servo-Libs nutzen. Das bleibt prinzipbedingt (50 Hz..) etwas knurrig aber ist schon ziemlich weich.


Das Problem liegt nicht auf der Ansteurungsseite, sondern auf dem Servo selbst.

Servos sind weder lastgeregelt noch erlauben Sie die Drehzahl oder das Drehmoment des Motors zu steuern. Desweiteren fehlt die Positionsrueckmeldung. Sprich, wenn ich einen neuen Winkel vorgebe weiss ich nicht wie gross das Delta zum jetzigen Winkel ist. Man kann da nur raten oder hoffen. Ich weiss auch nie, wie meine Servos wirlich stehen (-> Betriebssicherheit). Dann ist die Stromausfnahme der Servos z.T. erheblich. Beim Anfahren bzw. mechanischer Blockade fliessen gerne 1 Ampere und mehr. Eine ziemliche Verschwendug wenn doch nur ein Fluegelsignal gesetzt werden soll. Die Netzteile muessen diese Reserven vorhalten. Ich finde das bisweilen sehr unbefriedigend.

Hier ein kurzes Video wie die 'gehackten' Servos funktionieren. Solange ein Servo nicht in der Ziel-Lage ist blinken die Stellknoepfe. Und das auch, wenn das Servo mit Kraft aus der Endlage gedrueckt wird.

Servo Video


MfG,
Frank


 
fschum
RegionalExpress (RE)
Beiträge: 66
Registriert am: 18.10.2018
Homepage: Link
Ort: BW
Spurweite N
Stromart Digital

zuletzt bearbeitet 07.12.2022 | Top

RE: Probleme mit Servos

#21 von Stahlblauberlin , 07.12.2022 15:37

Aus meiner Sicht habe ich mit dem gehackten Servo das Problem das es die Verwendung von PREISWERTEN Servos als Stellantriebe ad absurdum führt, der Aufwand für ein Servo mag ja noch gehen, aber alleine an meinen 15 LGB-Weichen würde mir der Spaß einfach zu teuer.
Konzipiert man einen Servodecoder richtig und verbaut eine vernünftige Mechanik, angefangen mit Stelldrähten die nur so steif wie nötig sind, ggf. mit zusätzlichem Federknick, kommt man ohne diesen Aufwand aus.
Bei allen mir bekannten halbwegs brauchbaren Servodecodern werden ein oder mehrere Positionen sowie die Geschwindigkeit mit der diese Position(en) angefahren werden eingestellt. Die meisten beherrschen auch den "Trick" das Servosignal abzuschalten um so das heftige Zucken beim Einschalten zu unterdrücken, ebenso wenn der Stellvorgang abgeschlossen ist, spätestens nach einer (konfigurierbaren) Maximalzeit, damit knurrt auch nichts.
Hinzu kommt das Analogservos prinzipbedingt beim Erreichen der Endlage weich werden, der Motorstrom ist proportional zur Abweichung von der Sollstellung. Kleine Abweichung = kleiner Strom = kleines Drehmoment. Insbesondere hochwertige Digitalservos ticken da anders, die Lenkservos meiner RC-Cars würden selbst eine LGB-Weiche gnadenlos verbiegen, 300 Ncm sind eine Ansage, und die werden konsequent bis zum letzten halben Grad gehalten. Aber um die geht es hier wohl kaum.
Stellt man die Wege und die Geschwindigkeit decoderseitig passend zur Mechanik ein funktioniert das super mit preiswerter Standardtechnik. Der schon erwähnte Servopoint erfüllt das alles, bei geschicktem Einkauf bleibt man unter 5,-, und er passt ohne Verwendung von SMD-Technik auf Lochrasterplatine aufgebaut samt Servo in ein Gehäuse im Format eines normalen LGB-Weichenantriebs.


Stahlblauberlin  
Stahlblauberlin
Metropolitan (MET)
Beiträge: 3.287
Registriert am: 07.03.2022
Ort: Berlin
Spurweite H0, Z, G
Steuerung Roco digital, Z21-Nachbau
Stromart DC, Digital, Analog


RE: Probleme mit Servos

#22 von fschum , 07.12.2022 16:13

Zitat von Stahlblauberlin im Beitrag #21
Aus meiner Sicht habe ich mit dem gehackten Servo das Problem das es die Verwendung von PREISWERTEN Servos als Stellantriebe ad absurdum führt, der Aufwand für ein Servo mag ja noch gehen, aber alleine an meinen 15 LGB-Weichen würde mir der Spaß einfach zu teuer.


Naja, genau das waren auch meine Ueberlegungen. Und im Gegenteil ... es wird guenstiger!

Das Servo oben im Bild kostet 1.20 EUR. Die Platine mit Bauteilen (ohne Relais) 5 EUR ... macht zusammen 6.20 EUR - pro Servo. Das (optionale) Relais fuer Herzstueck kostet ca. 3 EUR ... macht zusammen rund 10 EUR je Weiche.

Was bekomme ich

  • einfache Servo-Halterung
  • perfekt regelbares Servo
  • Herzstueckpolarisation
  • echte Lagerueckmeldung
  • eine beleuchtete bewegliche Weichenlaterne (wenns klappt wie ich hoffe)
  • Servo Decoder benoetige ich keine
  • brauche keine grossen Netzteile

Ich behaupte - preisguenstiger gehts kaum.


MfG,
Frank


 
fschum
RegionalExpress (RE)
Beiträge: 66
Registriert am: 18.10.2018
Homepage: Link
Ort: BW
Spurweite N
Stromart Digital


RE: Probleme mit Servos

#23 von Stahlblauberlin , 07.12.2022 16:53

Zitat von fschum im Beitrag #22
Das Servo oben im Bild kostet 1.20 EUR. Die Platine mit Bauteilen (ohne Relais) 5 EUR ... macht zusammen 6.20 EUR - pro Servo. Das (optionale) Relais fuer Herzstueck kostet ca. 3 EUR ... macht zusammen rund 10 EUR je Weiche.


In den von mir genannten 5,- hab ich das Relais schon drin...wie gesagt, geschickter Einkauf, z.B. die PICs in der 20er Stange. Dazu kann der Servopoint auch direkt getriggert werden (Reedkontakt), zusammen mit dem Relais ist das eine kurzschlussfreie Kehrschleifenlösung. Auf der Anlage ist das Relais für das Herzstück zuständig, der freie Kontaktsatz zeigt zumindest indirekt die Lage der Weiche an.
Die Weichenlaterne ist zumindest bei den LGB-Antrieben als Ansteckmodul realisiert, eine Verdrahtung existiert praktisch nicht, der Decoder ist direkt am Gleis angeschlossen. Die Stromaufnahme liegt während des Stellvorganges bei ca. 30-50 mA, ansonsten bei etwa 5mA, davon geht das Meiste in die Weichenlaterne. Wichtig ist dabei die Wege korrekt einzustellen, arbeitet das Servo gegen die Wand (= Steinchen in der Weiche) werden es bis 150 mA, wobei mehr als 5 s gibt es so oder so keine Impulse und das Gestänge ist elastisch angelenkt, ServoSaver heißt sowas seit etwa 50 Jahren.
Den einzigen echten Vorteil deiner Lösung sehe ich in der echten Lagerückmeldung, wobei da perfekt wäre wenn wirklich die Stellung der Weiche selbst erfasst wird (Siehe Steinchen...). Auf der Anlage im Keller nicht so wichtig, draußen um so mehr..


Stahlblauberlin  
Stahlblauberlin
Metropolitan (MET)
Beiträge: 3.287
Registriert am: 07.03.2022
Ort: Berlin
Spurweite H0, Z, G
Steuerung Roco digital, Z21-Nachbau
Stromart DC, Digital, Analog


RE: Probleme mit Servos

#24 von fschum , 07.12.2022 17:55

Zitat von Stahlblauberlin im Beitrag #23
Auf der Anlage ist das Relais für das Herzstück zuständig, der freie Kontaktsatz zeigt zumindest indirekt die Lage der Weiche an.



Naja, und wie kommt die Information zur Zentrale? Ich erkenne keinen Rueckkanal (alias Railcom) in der Decoderschaltung. Und wie macht man einen Firmwareupdate auf dem Decoder ohne diesen auszubauen? Ich denke, beide Ansaetze sind nur bedingt vergleichbar. Sie adressieren andere Use Cases.

Was ich letztendlich nur sagen wollte, man kann den Motor eines Servo auch direkt steuern - dann hat man die Bewegung besser unter Kontrolle. Meine Meinung


MfG,
Frank


 
fschum
RegionalExpress (RE)
Beiträge: 66
Registriert am: 18.10.2018
Homepage: Link
Ort: BW
Spurweite N
Stromart Digital


RE: Probleme mit Servos

#25 von Stahlblauberlin , 08.12.2022 09:47

@fschum

Zitat von fschum im Beitrag #24
Naja, und wie kommt die Information zur Zentrale? Ich erkenne keinen Rueckkanal (alias Railcom) in der Decoderschaltung. Und wie macht man einen Firmwareupdate auf dem Decoder ohne diesen auszubauen? Ich denke, beide Ansaetze sind nur bedingt vergleichbar. Sie adressieren andere Use Cases.

Rückmeldung klassisch per S88 wenn überhaupt gewollt. Solange nicht die tatsächliche Stellung der Weichenzungen erfasst wird und nicht nur die Stellung der Servos halte ich den Nutzen für überschaubar. Dann lieber bei Spielbeginn einmalig die Fahrstraßen stellen wenn die jeweilige App/Zentrale sich die nicht gemerkt hat.
Ein Firmwareupdate geht hier zugegebenermaßen nicht in Situ, da muss man den Pic ziehen und in den Programmer stecken. Allerdings bin ich noch nicht in die Verlegenheit gekommen die Firmware zu aktualisieren. Funktioniert die einmal richtig gibt es auch keinen Grund dazu. Der Ansatz dieses Decoders ist halt K.I.S.S, Keep It Simple, Stupid! Wenn solche Geräte einmal genau das tun was sie sollen will ich sie möglichst nie wieder anfassen müssen. Schön wenn man es kann, viel schöner wenn man es nie muss.
Das gleiche Motto gilt auch für meine Arduino-basierten vierfach-Servodecoder, sobald ich die für rund halte werde ich da auch mal die Firmware veröffentlichen. Im Moment bin ich mit der Programmierung noch nicht glücklich, beim Speichern der CVs hakt es noch sporadisch und erzeugt Konfigurationssalat. Neben den Adressen können da für jedes Servo die Stellgeschwindigkeit, Endlagen und Nachwippen konfiguriert werden sowie die jedem Servo zugeordneten zwei digitalen Outputs so programmiert werden das sie einen Puls oder Dauersignal bei Erreichen der Endlagen ausgeben oder während des Stellvorganges aktiv sind. Zusätzlich gibt es einen Bahnschrankenmodus, die Schaltausgänge blinken im Gegentakt sobald die Schranke "Zu" als Befehl bekommt, die Schranken senken sich mit einstellbarer Verzögerung. Bei "Auf" gehen erst die Schranken hoch und dann hört das Blinken auf. Damit dürften sich 99% aller Anwendungen abdecken lassen. Ob ich noch eine Rückmeldung per Railcom einbaue hängt vom nach dem Aufräumen übrigen Speicher ab. Dafür ist dann aber auch noch zusätzliche Hardware zur Signalerzeugung nötig.


Stahlblauberlin  
Stahlblauberlin
Metropolitan (MET)
Beiträge: 3.287
Registriert am: 07.03.2022
Ort: Berlin
Spurweite H0, Z, G
Steuerung Roco digital, Z21-Nachbau
Stromart DC, Digital, Analog


   

Windows 10 lässt Märklin Software nicht installieren
Loksound 21 Schnittstelle aus China

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