Moin zusammen,

ich mach's kurz: Ich möchte mir aus einem Tiny45 einen 180° Servostretcher schnitzen. Das Teil soll also statt den üblichen +- 60° eben +- 90° aus dem Servo holen. RC Puls Eingang am PinB4, Ausgang Servo am PinB3.
So weit so gut. Habe also diverse Tests mit Bascom durchgeführt und das hat eigentlich alles funktioniert, aber ich bekomme einfach das Servozittern nicht weg. Da das Servo unter einer Kamera hängt ist das Zittern sehr lästig. Habe dann also meinen gesamten Code zusammengeschrumpft, so daß nur noch eine ganz banale Abfrage über Timer und eine Ausgabe über Pulseout stattfindet. Und ... es zittert immer noch.
Werde den Verdacht nicht los, daß mir die Interruptroutine hier reinspuckt.

Vielleicht hat ja jemand eine gute Idee (bitte kein Assembler oder C oder Hinweise auf fertige Teile - will es selbst bauen).

Vielen Dank schonmal im voraus

Hier das Cödchen:
Code:
$regfile = "ATtiny45.DAT"
$crystal = 8000000

$hwstack = 32
$swstack = 10
$framesize = 40

Dim Scalefactor As Integer
Scalefactor = 33
Dim Timercount As Integer

Config Portb.3 = Output
Config Portb.4 = Input
Portb.4 = 1                                                 ' Pullup aktiv
Gimsk.5 = 1                                                 ' PinChange enable
Pcmsk = &B00010000                                          ' PB4 change aktiv
Tccr1 = &B00001000                                          ' Prescale 128

On Pcint0 Readrctime

Portb.3 = 0

Enable Interrupts


Do

Loop

'-----------------------------------------------------------------------
Readrctime:
  If Pinb.4 = 1 Then
    Tcnt1 = 0
  Else
    Timercount = Tcnt1
    Timercount = Timercount * Scalefactor
    Portb.3 = 0
    Pulseout Portb , 3 , Timercount
  End If
Return
'------------------------------------------------------------------------

End