Forum: Mikrocontroller und Digitale Elektronik ATmega8 Servo-Problem


von Rene U. (ulmi)


Lesenswert?

Hallo,

ich habe folgendes Problem.
Ich versuche einen Servo anzusteuern, und das für den Anfang auf die 
einfachste Methode, also mit delays.
1
PORTC |= (1<<DDB0);
2
_delay_us(1500);
3
PORTC &= ~(1<<DDB0);
4
_delay_ms(18);

Der Code sollte doch soweit in Ordnung sein.

Für den ATmega8 und den Servo habe ich eine extra Versorgung und die 
beiden Massen sind verbunden.
Wenn ich nun ohne angeschlossenem Servo mit meinem Oszi messe, dann 
sieht alles gut aus. Der Zeiten stimmen und die Amplitude hat auch 5V.

Wenn ich jetzt aber den Servo anschließe bricht die Amplitude auf 0,5V 
ein und der Servo reagiert nicht. Man kann auch noch schön die Perioden 
erkennen jedoch bricht die Spannung stark ein.

Zwischen ATmega und Servo ist noch ein 100k Widerstand (laut diversen 
Foren).

Was habe ich noch übersehen und wie kann ich mein Problem lösen?

mfg
ulmi

von holger (Gast)


Lesenswert?

>Was habe ich noch übersehen und wie kann ich mein Problem lösen?

Du hast den Portpin nicht auf Ausgang geschaltet und schaltest
jetzt nur den internen Pullup an und aus.

von holger (Gast)


Lesenswert?

>Zwischen ATmega und Servo ist noch ein 100k Widerstand (laut diversen
>Foren).

100k ist ne Menge Holz und vermutlich der grösste Schwachsinn
den man machen kann zwischen uC und Servo.

von klaus (Gast)


Lesenswert?

Rene U. schrieb:
> ATmega und Servo ist noch ein 100k Widerstand

dein Servo scheint strom zu ziehen, bei 100k kannst du dir ja ausrechnen 
wieviel Strom das dann nur sein braucht um 4.5V über den 100k abfallen 
zu lassen.

lass den 100k weg und versuch es noch einmal!

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.