Hallo, ich betreibe zwei Modellbauservos am einem Mega128 (Bascom). Funktioniert auch alles, allerdings schlagen die Servos beim Einschalten und beim Programmieren des Controllers an die Endausschläge, eins ist dabei schon kaputtgegangen. Jetzt habe ich mich dazu entschlossen, nachträglich ein Relais einzubauen und die Betriebsspannung der Servos durch den Mega128 zeitverzögert einzuschalten. Kann das aber überhaupt klappen, welchen Zustand haben die IO Pins beim Einschalten und beim Programmieren sind sie undefiniert, oder hochohmig, dann könnte es ja klappen. Ansonsten würde ich die Zeitverzägerung durch einen NE555 oder ähnlich realisieren. Vielleicht hat ja jemand noch eine ganz andere Lösung. Gruß Ralf
Beim Einschalten sind es Eingänge ohne Pullup, also hochohmig. Das wird das Servo als Dauer-High und damit >2ms interpretieren. Ev. helfen Pulldowns. Gruß, Christian
Hallo Christian, danke für die schnelle Antwort. Wenn die Eingänge hochohmig sind, dann könnte es ja mit den Relais funktionieren, also ich schalte die Spannung erst ein, wenn das Steuersignal anliegt. Das mit den Pulldowns werde ich auch mal probieren. Gruß Ralf
>allerdings schlagen die Servos beim Einschalten >und beim Programmieren des Controllers an die Endausschläge, Ist mir noch nie passiert. Anderen vermutlich auch nicht. Dein Programm hat einen massiven Fehler.
>>allerdings schlagen die Servos beim Einschalten >>und beim Programmieren des Controllers an die Endausschläge, >Ist mir noch nie passiert. Anderen vermutlich auch nicht. >Dein Programm hat einen massiven Fehler. Tritt auch nicht bei allen Typen aufm mein Graupner C2041 habe ich mit heute damit zerschossen.
>Tritt auch nicht bei allen Typen aufm mein Graupner C2041 habe ich mit >heute damit zerschossen. Um es mal präziser zu sagen: Zeig uns deinen Code. Der hat einen Fehler!
Weiß zwar nicht, was das bringen soll, aber: (Auszug) $regfile = "m128def.dat" $crystal = 14745600 $hwstack = 32 $swstack = 10 $framesize = 40 Config Servos = 2 , Servo1 = Portc.0 , Servo2 = Portc.2 , Reload = 5 Config Portc.0 = Output Config Portc.2 = Output Enable Interrupts Servo(1) = 190 das Problem tritt auch auf, wenn der Servo Befehl nicht drin ist. Gruß Ralf
Wenn das Problem auch beim Programmieren auftritt, wird es kaum am Programm liegen. Mit Pulldown wird dann vermutlich halt die andere Richtung eingeschlagen. Wahrschinelich hilft nur, Servos zu nehmen, die es vertragen, oder wie gehabt ihnen keinen Saft zu genehmigen, solange der MC nicht läuft.
Widerstand (gegen parasitäre Stromversorgung des Servos) in die Impulsleitung und dicken Transistor in die Stromversorgung der Servos. Dann sollte das gehen. ...
>Wenn das Problem auch beim Programmieren auftritt, wird es >kaum am Programm liegen. Auch wieder wahr.
>Mit Pulldown wird dann vermutlich halt die andere Richtung >eingeschlagen. Was zu probieren wäre. Dauer-Null dürfte eigentlich kein Servo an den Anschlag fahren, das kommt schließlich auch bei normalen Fernsteuerungen vor, ohne das was passiert. Oliver
Beim Programmieren sind die Pins hochohmig. Dh. da sollte man etwas mit einem Pulldown machen.
Die Pulldown sollten reichen.
Hallo, ich habe das Problem mit einem PNP Transistor gelöst.(BD912) Ein 220 Ohm Wiederstand in die Basisleitung geschaltet, das müßte der Mega128 ja verkraften. Über die Servos(2 Nanos) habe ich noch eine Schutzdiode geschaltet. Was mir aufgefallen ist, es fällt kaum Spannung über dem Transistor ab, ich hätte da mit 200 bis 300 mV gerechnet, wenn er durchgesteuert ist. Mit den Pulldown Wiederständen, das habe ich nicht versucht, wenn es funktioniert fährt das Servo ja an eine Grenze seines Schwenkbereiches, der wird bei meiner Mechanik aber bei Weitem micht ausgenutzt, so das es gegen eine mechanische Begrenzung fahren würde. Jetzt funktioniert es jedenfalls ohne Probleme. Vielen Dank für eure Unterstützung! Gruß Ralf
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.