Forum: Mikrocontroller und Digitale Elektronik Servo "wackelt" wegen Störungen


von Arwed R. (arwedo)


Lesenswert?

Hallo,
ich habe mir -- auch mit Hilfe aus dem Forum hier -- einen ATMega so 
programmiert, dass der Servos ansteuert, die ueber einen Stellhebel die 
Weichen einer Modelleisenbahn umstellen. Das geht wunderbar: Wenn man 
einen Kipptaster "umlegt", bewegt sich der Weichenhebel schoen langsam 
bis zum programmierbaren Anschlag (Werte im EEPROM).

Als das fertig war, war ich schon richtig gluecklich, ABER: Sobald die 
Lok ueber die Gleise faehrt, gibt's Stoerungen, die dazu fuehren, dass 
der Servo aus seiner Position kommt. Natuerlich faehrt er gleich wieder 
zurueck, aber wenn gerade eine Lok oder Wagen auf der Weiche stehen, 
gibt's ein Maleur ...

Ich habe die Stromversorgung des ATMega und des Servos schon komplett 
von der Eisenbahn getrennt, sogar Batteriebetrieb versucht -- nix hilft. 
Kondensatoren (100nF) an der Servoleitung auch nicht. Die Servozuleitung 
habe ich auch schon geschirmt.

Hat jemand sowas schon mal probiert? Dass eine Modellbahnlok extrem 
stoert, wundert mich ja nicht direkt (keine Digitalbahn, aber mit 
PWM-Betrieb). Ich benutze ganz einfache Servos (Conrad ES-05 oder so) -- 
kann das ein Problem sein?  ... Elektrische Stoerung? Magnetische?

Ich bin ziemlich ratlos. So geht's jedenfalls nicht.

Viele Gruesse

von Floh (Gast)


Lesenswert?

Arwed Reichel schrieb:
> Ich bin ziemlich ratlos.

Wir ohne Schaltplan auch :-)

> So geht's jedenfalls nicht.

von Max (Gast)


Lesenswert?

servo + zuleitung in alu- / kupferfolie einpacken und die folie 
"grounden" sollte helfen (ich hab per alu meinen jtag adapter am 
parallelport "geschirmt")

von Barny (Gast)


Lesenswert?

Hast du schon geschaut ob der Prozessor resetet?

Da eigentlich heine großen Käfte auftreten, köntest du ja den Servo nach 
dem Stellvorgang ausschalten.
Denn wenn der Servo keinen "Saft" hat, kann er auch nicht zucken.
Dass hat auch den netten Nebeneffekt, dass man Strom spart.

von Anja (Gast)


Lesenswert?

Barny schrieb:
> Da eigentlich heine großen Käfte auftreten, köntest du ja den Servo nach
> dem Stellvorgang ausschalten.

Eventuell reicht es auch die PWM-Ansteuerung nach dem Einstellen der 
Weiche zu deaktivieren. -> Das Servo bleibt ebenfalls in der letzten 
Lage. (Spart allerdings nicht so viel Strom).

Zuvor sollte jedoch geklärt werden ob der Prozessor stabil bleibt und 
keine Resets hat.

Gruß Anja

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Du solltest den PWM-Controller so nahe wie möglich an das Servo bringen, 
damit es keine Einstreuungen auf die PWM-Leitung zum Servo geben kann. 
Das Platinendesign des PWM-Controllers sollte so sauber wie möglich 
erfolgen, so daß der Controller nicht in den Reset geht. Dann sollte 
alles klappen.

von oszi40 (Gast)


Lesenswert?

Floh schrieb:
> Wir ohne Schaltplan auch :-)
Foto wäre auch nicht schlecht.

-Mal den örtlichen Aufbau verändert?
-Verdrillte Kabel?
-Niederohmiger gemacht?
-Jeder Draht ist auch eine Antenne, der die STörungen Deiner Lok 
einsammeln kann.

von Ingo W. (Gast)


Lesenswert?

Evtl. unmittelbar am Servoeingang ein Tiefpass (oder nur ein kleiner 
Kondensator nach Masse).
mfG ingo

von Simon K. (simon) Benutzerseite


Lesenswert?

Hast du irgend eine Soft-PWM (mglw. mit delays) gebaut? Dann heißen die 
"Störungen" unter Umständen "Jitter" und sind programmiertechnischer 
Natur.

von Purzel H. (hacky)


Lesenswert?

Die Servos machen unkontrollierte Bewegungen wenn das Timing mal nicht 
stimmt. Lieber die Pulse abklemmen, dh die Pulse weglassen, wie einen 
Falschen absenden.

von drpep (Gast)


Lesenswert?

Mach die Signalleitung niederohmiger --> Fet oder PiPo nahe am 
Controller, und pull-ups und -downs im Bereich 5kOhm ziehen.

von Simon K. (simon) Benutzerseite


Lesenswert?

drpep schrieb:
> Mach die Signalleitung niederohmiger --> Fet oder PiPo nahe am
> Controller, und pull-ups und -downs im Bereich 5kOhm ziehen.

Kannst du das auch verständlicher schreiben?

von g457 (Gast)


Lesenswert?

> Dass eine Modellbahnlok extrem stoert, wundert mich ja nicht direkt
> (keine Digitalbahn, aber mit PWM-Betrieb).

Ich vermute mal stark Einkopplungen von der Bahn-PWM in die Servo-PWM. 
Ausschließen könntest Du das indem Du testweise einen Trafo ohne PWM 
nimmst.

So oder so: Controller +Kabel +Servor schirmen, behelfsweise Servo 
weiter weg vom Gleis (Schubstange oder Bowdenzug).

Die angesprochenen Controller-Resets kannst Du einfach ausschließen 
indem Du eine kleine Status-LED dranhängst, die beim starten z.B. 1 
Sekunde dauerleuchten darf und danach ausgeht.

von Nighthawk (Gast)


Lesenswert?

Wenn es der Platz zulässt, wäre es meiner Meinung nach die einfachste 
Lösung die Weiche per Gestänge anzusteuern und den Servo mit etwas 
Abstand zum Gleis zu montieren.

vg
Nighthawk

von drpep (Gast)


Lesenswert?

Simon K. schrieb:
> drpep schrieb:
>> Mach die Signalleitung niederohmiger --> Fet oder PiPo nahe am
>> Controller, und pull-ups und -downs im Bereich 5kOhm ziehen.
>
> Kannst du das auch verständlicher schreiben?

Srorry, ich war eben auf dem Sprung.

Folgendes: Eine niederohmigere Leitung fängt weniger Störungen, weil die 
induzierte Energie dann weniger Spannungsschwankungen verursachen kann.
Deshalb ist mein Vorschlag, einen Spannungsteiler aufzubauen, der aus 
zwei 5kOhm widerständen besteht (vielleicht sogar noch weniger). Dieser 
wird entweder direkt vom µC hoch oder runter gezogen, oder durch eine 
einfache komplimentäre Treiberschaltung angesteuert (PMOS oben, NMOS 
unten, Gates zusammenschalten (--> zum µC) und Drains an den 
spannungsteiler).
Die störemfindlichkeit geht mit geingeren widerständen runter. aber der 
statische stromverbrauch geht rauf. daher nur so niederohmig wie nötig 
dimensionieren.

von Rolf Magnus (Gast)


Lesenswert?

Jetzt würde mich nur noch interessieren, was ein "PiPo" ist.
Kurze Googelei hat da nur einen Motorradreifen von Michelin namens 
"Pilot Power" ergeben.

von drpep (Gast)


Lesenswert?

Ich meinte BiPo. hab mich vertippt.

von Arwed R. (arwedo)


Angehängte Dateien:

Lesenswert?

Hallo, das geht ja Schlag auf Schlag, muss erstmal Eure vielen Ideen 
sortieren ...

@Barny u.a.: Der Prozessor laeuft durch, behaupte ich mal. Aus der 
Hauptschleife heraus blinkert eine kleine Lumi. Ausserdem kann ich die 
Verstellaktionen seriell mitschreiben und es kommt eine Startmeldung -- 
das geht alles prima.

Die Variante mit dem Takt abstellen nach der Positionierung hatte ich 
auch schon ueberlegt, aber (noch) nicht umgesetzt, weil eine 
drueberfahrende Lok ja an der Weiche "ruetteln" kann, so dass die 
Position nicht mehr hinhaut. Wuerde ich aber doch noch mal probieren.

@oszi40: Das Bild ist angehaengt. Dass ATMega-Platinchen ist ein 
BareBonesBoard (BBB) von ModernDevice 
(http://www.moderndevice.com/products/bbb-kit), der Servo ein ES-05 von 
Conrad. Die Servoleitung ist die originale (ist am Servo angebaut), 
wobei ich schon mal ein Stueck Kupfergeflecht von einem alten 
Steuerkabel druebergezogen habe. Das ist am Servostecker, der am BBB 
steckt, an Masse angeschlossen.

Den oertlichen Aufbau habe ich insofern schon veraendert, dass ich die 
Entfernung zur fahrenden Lok versuchsweise mal vergroessert habe -- dann 
wird's besser, geht aber nicht weg. Verdrillte Leitungen kann ich noch 
versuchen; ich hatte mir von der Abschirmung erstmal mehr versprochen.
Niederohmiger machen (hab's mit den Erlaeuterungen dann auch verstanden, 
wie) scheint mir ziemlich aufwaendig. Aber wuerde ich notfalls auch mal 
versuchen.

@Nighthawk: Die Servos sitzen unter der Platte, sind also schon relativ 
nah dran. Viel weiter wollte ich bisher nicht, weil das ja auch die 
Mechanik klappriger macht. Mit dem Bild sollte die Mechanik auch 
verstaendlich werden: das kleine Holzkloetzchen ist aufgeklebt und hat 
ein kleines Loch fuer den Messingdraht, der dann hin- und hergeschoben 
wird. Funzt mechanisch soweit gut.

@Simon K.: Die Servoansteuerung basiert auf dem S8IO-Code von Fabian 
Greif von kreatives-chaos.com. Die Servo-Impulse werden dort ueber zwei 
ISRs (Timer 0 und 1) erzeugt. Insofern: ja, Soft-PWM. Jitter koennte 
sein, aber ohne fahrende Lok geht's absolut stabil ...

@Ingo Wendler: Unmittelbar am Servoeingang habe ich bisher nichts, weil 
ja das Kabel dort direkt 'rauskommt, aber am BBB habe ich je einen 
100nF-Kondi von der Pulsleitung gegen Masse und gegen 5P.

@g457: Den Verdacht hatte ich auch schon, probiere ich aus.


Habt Ihr fuer die Abschirmung mit Alufolie noch eine schlaue Idee, wie 
man die dann stabil an die Masse kriegt? Vor allem, wenn es mehrere 
Stuecken sind? Ein BBB steuert ja 6 Servos.
Ich hatte an eine Krokoklemme gedacht -- nicht schoen, aber sollte tun. 
Das Kupfergeflecht geht ja gut zu loeten, das passt aber nicht ueber den 
Servo ...


Also erstmal vielen Dank an alle! Ich mache ein paar weitere Versuche 
und melde mich wieder!

Viele Gruesse!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.