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
Arwed Reichel schrieb: > Ich bin ziemlich ratlos. Wir ohne Schaltplan auch :-) > So geht's jedenfalls nicht.
servo + zuleitung in alu- / kupferfolie einpacken und die folie "grounden" sollte helfen (ich hab per alu meinen jtag adapter am parallelport "geschirmt")
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.
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
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.
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.
Evtl. unmittelbar am Servoeingang ein Tiefpass (oder nur ein kleiner Kondensator nach Masse). mfG ingo
Hast du irgend eine Soft-PWM (mglw. mit delays) gebaut? Dann heißen die "Störungen" unter Umständen "Jitter" und sind programmiertechnischer Natur.
Die Servos machen unkontrollierte Bewegungen wenn das Timing mal nicht stimmt. Lieber die Pulse abklemmen, dh die Pulse weglassen, wie einen Falschen absenden.
Mach die Signalleitung niederohmiger --> Fet oder PiPo nahe am Controller, und pull-ups und -downs im Bereich 5kOhm ziehen.
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?
> 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.
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
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.
Jetzt würde mich nur noch interessieren, was ein "PiPo" ist. Kurze Googelei hat da nur einen Motorradreifen von Michelin namens "Pilot Power" ergeben.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.