@Manf: Danke für Deine Empfehlung. Ich schloss daraus, dass das Servo keine speziellen Bedingungen erfüllen muss und habe mir das billigste Servo von einem Modellbauladen besorgt. Conrad wäre inkl. Versand nur unwesentlich günstiger gewesen.

@izaseba: Mit einem Satz alles erklärt Danke sehr. Ich habe rot auf VTG, schwarz auf GND und gelb (Signal) auf PB0 gestöpselt und schön mit den Servokabeln verzwirbelt und mit Klebstreifen gesichert. Da hab ich sogar Einzel-Pin-Abnehmer mit passenden Kabeln und so gekauft, aber das Lötzinn vergessen (*schäm*).

Aber anyway - bin eh noch nicht so weit. Irgendwas an meinem Code funzt noch nicht so recht. Ich befinde mich im Moment im AVR-Simulator und habe ein Programm geschrieben, das den 'Funktionstest' vornehmen soll, nämlich schlicht und einfach das Servo in die mittlere Position stellen, sonst nichts. Also: Pin0 auf PortB einschalten (1.5ms warten), ausschalten (20ms warten) und von vorne. Das Timing hab ich aus der Servo-Seite von Manf.

Hier der Code:

;***** STK500 Servo in mittlere Position bringen
;************************************************* *********
.include "8515def.inc" ; Definitionen für AT90S8515
rjmp RESET ; Reset Handle
;************************************************* *********
.def temp =r16 ; Temporary register
RESET:
ser temp ; ???
out DDRB,temp ; Set PORTB to output
LOOP:
out PORTB,temp ; Update Port
sbi PORTB, PB0 ; Setze PortB, Pin0
rcall WAITPOS ; warte 1-2ms (Servo-Position)
cbi PORTB, PB0 ; Lösche PortB, Pin0
rcall WAITREP ; warte 20ms (Repetition-Periode)
rjmp LOOP ; usw usf

;************************************************* *********
; Subroutinen (später mal auf 4Mhz anpassen)
;************************************************* *********
WAITPOS:
ldi ZH, HIGH(1500) ; setze höheres Z-Byte
ldi ZL, LOW(1500) ; setze niedriges Z-Byte
LOOPPOS:
sbiw ZL, 1 ; decrementiere Z
brne LOOPPOS ; loop bis Z=0
ret ; und tschüss

WAITREP: ; dito WAITPOS
ldi ZH, HIGH(20000)
ldi ZL, LOW(20000)
LOOPREP:
sbiw ZL, 1
brne LOOPREP
ret


Wenn ich mit F10 durchsteppe, loopt das immer nur hier durch:
sbi PORTB, PB0 ; Setze PortB, Pin0
rcall WAITPOS ; warte 1-2ms (Servo-Position)
Zu
cbi PORTB, PB0 ; Lösche PortB, Pin0
usw. kommt er gar nie...hmmm

Was mache ich falsch?

Ach und ja: Ich weiss, dass das nicht die optimale Lösung ist (Polling und so) aber ich möchte den Weg vorerst mal in diese Richtung weiter beschreiten. Zuerst mal solls übersichtlich bleiben.

Herzlichen Dank für Eure Unterstützung und viele Grüsse
Raoul