Servo am AVR- knallt beim Einschalten und beim Programmieren an Endanschlag

Gast #1439524
Lesenswert?

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
Gast #1439553
Lesenswert?

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
Gast #1439567
Lesenswert?

>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.
Gast #1439575
Lesenswert?

>>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.
Gast #1439586
Lesenswert?

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
#1439596
Lesenswert?

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.
Gast #1439699
Lesenswert?

>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
Gast #1439787
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren