Danke für die Tipps
Ich hab es mehr oder weniger hingekriegt dass mein Servo hin und her dreht.
Leider ist mir dabei ein servo abgeraucht (keine Ahnung wie).
1.Ich habe nochmal die Fusebits eingelesen. Und da war interner Oscillator eingestellt, was ich auf ext. umgestellt habe.
2. Den 3.6864 Quarz habe ich rausgelötet und ein 10MHz eingelötet.
3. Siehe komentare im Code
Code:
'Servo.bas
'Microcontroller
$regfile = "m8def.dat"
$crystal = 10000000 'statt 16MHz
'Servo
Config Portc.5 = Output
Declare Sub _servo()
Dim Servo_pos As Word
Dim Servo_pos_save As Word
Dim Multiplikator_servo As Byte
Dim Setup As Word
Dim X As Byte
Multiplikator_servo = 15
Setup = 2000 'hier stand 3900
'Servo Ansteuerung
For X = 1 To 50
Servo_pos = 5 'Da ich den Potis nicht wirklich traue, fange ich mit wert "5" statt "0" an
Call _servo()
Next X
For X = 1 To 50
Servo_pos = 250 'genau so wie bei wert"5"
Call _servo()
Next X
Sub _servo()
Servo_pos_save = Servo_pos * Multiplikator_servo 'Pulseout berechnen
Servo_pos_save = Setup + Servo_pos_save
Pulseout Portc , 5 , Servo_pos_save
Waitms 10 'kurze Pause (5 bis 20ms)
End Sub
Mein Servo dreht jetzt hin und her so wie ich für mein Roboter brauche (später wird ein SRF05 draufsitzen und Umgebung abscanen).
Aber das Problem mit der Temperatur besteht immer noch. Wird zwar nicht heiß aber so lau warm.
Ich werde noch die "Angst-Elkos" einbauen.
Was mich noch gewundert hat, dass ich auf meinem Board kein 100nF Kondensator för mein ATmega8 habe. Ich mache eigentlich bei jedem IC ein 100nF KerKo rein, AVR hielt es nicht für nötig
Lesezeichen