-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Servo funktioniert einfach nicht

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    02.10.2007
    Ort
    Saalfeld
    Alter
    29
    Beiträge
    78

    Servo funktioniert einfach nicht

    Anzeige

    hallo,

    ich hab hier ein Servo von Acoms den AS -12, herausgefunden hab ich schon das die mittelstellung bei 20 ist und links bei 10 und rechtsbei 30, kann das schonmal sein das die werte so dicht bei einander liegen?

    so aber nun das eiegentliche Problem:

    der servo läuft einfach nicht flüssig er zuckelt und ruckelt einfach nur ich hatte mal folgendes Progamm geschrieben

    Code:
    $regfile = "m32def.dat"
    $crystal = 1000000
    
    Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 5
    
    Enable Interrupts
    Dim I As Byte
    
    
    Do
    For I = 10 To 30 Step 1
    Servo(1) = I
    Waitms 10
    next
    Loop
    ichh hab auch schon so ziemlich viel hier forum gelesen und probiert aber ich griegs einfach nicht gebacken.

    und wenn ich die takt frequenz von 1 Mhz auf was anderes andere stimmen die Stell wert gleich nicht mehr.

    bislle hilfe wäre echt nett ich binhier schon voll am verzweifeln

    danke^^

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    48
    Beiträge
    1.254
    Hallo Inkoknito,

    Die Bascom-Servo Routine wird bei dir alle 5 Mikrosekunden aufgerufen (Reload Wert)
    Bei einer Taktfrequenz von 1 MHz sind das 5 Takte !!

    Für die Benutzung des Servo-Befehls solltest du mindestens 8Mhz Taktfrequenz und einen Mindest-Reload-Wert von 10 haben.

    Der Reload Wert multipliziert mit dem Wert von Servo() ergibt die Impulslänge in Mikrosekunden. Sie sollte zwischen 1000 und 2000 liegen.

    Ist die Taktfrequenz und/oder der Reload Wert zu niedrig, gibt es Überläufe, die man schwer vorausberechnen kann -> Servo ruckelt.

    Gruß, Michael

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    02.10.2007
    Ort
    Saalfeld
    Alter
    29
    Beiträge
    78
    hy danke Michael für deine schnelle antwort
    ich hab das mal geändert in folgendes Programm

    $regfile = "m32def.dat"
    $crystal = 8000000

    Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10

    Enable Interrupts
    Dim I As Byte


    Servo(1) = 10


    so jetzte hab ich Servo(1) = 10 der servo steht aber nicht stell er zuckt zwar nicht am endwert aber in der mitte etwa 3 millimeter hin und her
    wenn ich bsp 100 eingebe dann zuckt der servo links oder rechts an der mittelstellung.
    das gibs doch garnicht das muss doch irgendwie funzen
    mfg

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Du hast die neue Frequenz auch über die Fusebits eingestellt?

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    02.10.2007
    Ort
    Saalfeld
    Alter
    29
    Beiträge
    78
    wie über die fusebits? ich nehm den internen oszilator muss ich da noch was in den fusebits umstellen ich dacht das muss man nur wenn ich einen externen nehme?

    mfg

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    20.01.2004
    Alter
    28
    Beiträge
    645
    Nö, der interne Oszillator ist auf 1Mhz eingestellt. Willst du ihn ändern hilft es nichts, den $crystal Wert im Quelltext zu verändern. Das muss über die Fusebits geschehen (CKSEL)
    Im übrigen bin ich mir nicht sicher, ob der interne Osizillator genau genug für Servoansteuerung ist.
    MfG Xtreme
    RP6 Test - alles zum Nachfolger des bekannten RP5 im neuen RP6 Forum!

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    02.10.2007
    Ort
    Saalfeld
    Alter
    29
    Beiträge
    78
    danke nochmal für eure antworten

    hab ich gemacht die fusebits auf 8 mhz gestellt auf intern RC osz 8mhz start up time 6CK + 0ms und geh dann auf write FS
    jedoch wird das irgend wie nicht gespeichert. komisch?

    aber kann das wirklich daran liegen das der mega nur auf 1mhz das der servo ruckel beim fahren?

    mfg

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    http://palmavr.sourceforge.net/cgi-bin/fc.cgi
    Die Seite ist EXTREM prakisch... schau mal da!
    probieren kostet nix...

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    02.10.2007
    Ort
    Saalfeld
    Alter
    29
    Beiträge
    78
    und wie was kann man da machen^^ also was ich da mach ist schon klar aber wofür : )
    meine fusebits werden in Bascom nicht gespeichert werder der interner 8mhz osz. oder alles andere was ich veränder
    das wäre aber die einzige idee warum die Servos nicht richtig funzen sonst hab ich alles schon ausprobier : / langsam zweifel ich an mir.

    mfg

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Machs mit PonyProg, dann gehts.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •