-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 28

Thema: Servo ansteuern mit dem Atmega88 - Basics.

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    16.05.2005
    Beiträge
    8

    Servo ansteuern mit dem Atmega88 - Basics.

    Anzeige

    Hallo,
    Ich habe seit 2 Wochen ein Mikrocontroller Lernpaket von FRanzis mit einem Atmega88. Ich versuche verzeifelt mit meinem PB0 ausgang einen Servo anzusteuern. Der Servo hat eine 4,5 Volt Spannung über ein Netzteil und das PWM signal gebe ich auf PB0 raus.
    Es würde mir reichen wenn ich Ihn beim Programmstart in eine fest devinierte Position fahren kann. Aber so richtig werde ich aus der Hilfe oder anderen suchfunktionen nicht schlau. Deshalb hoffe ich hier mein neues zuhause finden zu können. Kann das so überhaup funktionieren oder benötige ich einen Timer ? kann mir jemand eine kleine hilfestellung geben ?

    Der Servo läuft wenn ich ihn zurückstelle immer bis zum anschlag:

    $crystal = 8000000
    $regfile = "m88def.dat"
    Config Servos = 1 , Servo1 = Portb.0 , Reload = 10
    Config Portb = Output
    Enable Interrupts


    Do
    Servo(1) = 90
    Waitms 20

    Loop
    End

  2. #2
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Läuft der µC wirklich mit 8 MHz ?
    Wenn man nichts anders einstellt, laufen die µCs mit 1 MHz.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.07.2008
    Ort
    Renkum
    Alter
    72
    Beiträge
    128
    Moin,

    Also Fusebits. Vielleicht läuft der Servo auch mit 1 Mhz? Eine interessante Frage, ich plane in meine Triebwagen auch 3 Servo's.

    Weiterhin eine Bemerkung beim Programm:

    Do
    Servo(1) = 90
    Waitms 20

    Loop

    Der Servo nimmt nur einen Wert an. Bitte den Programm ändern:

    Do
    Servo(1) = 90
    Waitms 300
    Servo(1) = 50 'oder ein andere Wert
    Waitms 300



    Loop

    Dan wackelt der Servo hin und her.

    Vielleicht ist nicht alles korrekt Deutsch.

    LG,

    Ed

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    16.05.2005
    Beiträge
    8

    läuft immernoch am anschlag,

    Moin Moin,
    Habe nochmal einen zweiten Servo getestet .. er läuft auch bis zum anschlag und fertig. Es muss irgendwie am Timing liegen .. wenn ich den Reload erhöhe läuft er auch zum anschlag aber langsam .. egal was in Servo(1) steht. Bei Servo 1 kann ich 30 oder 150 schreiben das ist egal .

    Ich versuche mal vom Conrad lernkasten das Ozilloskop anzuschließen, hat noch jemand eine Idee ?

    $crystal = 1000000 'Normal 8000000
    $regfile = "m88def.dat"

    Config Servos = 1 , Servo1 = Portb.0 , Reload = 10
    Config Portb = Output
    Enable Interrupts

    Do
    Servo(1) = 90
    Waitms 300
    Servo(1) = 50
    Waitms 300
    Loop
    End

  5. #5
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die Servofunktion solle auch mit einem anderen Takt funktionieren. Wichtig ist nur, dass der Takt oben im Programm auch richtig eingetragen ist.

    Ein einfacher Test für die Taktfrequenz ist es ein LED blinken (z.B 1 mal pro sekunde) zu lassen. Wenn die Blinkfrequenz stimmt, sollte auch die Taktfrequenz stimmen.

    Mit M88 läuft bei unveränderten Fuses der internen RC Oszillator (8 MHz) und er takt wird durch 8 geteilt. Der µC läuft also effektiv mit 1 MHz.
    Den Teiler kann das Programm zur Laufzeit verändern, da muß man also nicht unbedingt die Fuses ändern.

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    16.05.2005
    Beiträge
    8
    das mit de LED werde ich gleich mal austesten.
    Kurz nochmal zum verständniss.

    Servo(1) ist eine Variable die die mit Reload 10 alle 10 ms an den Servo geschickt wird ? das tut er in meiner schleife 300ms mit Servor 90 und 300ms mit 50 ? das ist vielleicht etwas schnell für den wächsel von 90 auf 50...
    Achso Servo(1) ist natürlich ein Array.

    mal schauen , noch besteht das problem

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    16.05.2005
    Beiträge
    8
    er läuft immer nur in eine richtung...

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    21.05.2009
    Ort
    Deutschland/Südhessen
    Beiträge
    12
    Klingt vielleicht blöd, aber: Habe mal den gleichen Effekt gehabt - immer ist das Servo an den Anschlag gefahren. Und mind. eine viertel Stunde gesucht, bis ich die vertauschten Kabel bemerkt habe...

    Cheers
    Christoph

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    16.05.2005
    Beiträge
    8
    Moin Christoph,
    Die Lösung klang so gut!! aber leider oder zum glück ist der Stecker richtig montiert... komisch aber das seit dem kurzen versuche den Stecker falsch rum raufzustecken der Servo sich nun in beide richtungen bewegt...

    Danke, mfg jonny

  10. #10
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    37
    Beiträge
    1.269
    @Jonny: Läuft der Controller denn jetzt garantiert mit 8MHz? Hast du das mit der LED ausprobiert? Wie hast du das Servo ganz genau angeschlossen? Rot an + 5V, schwarz an das gleiche (!!!!) Ground wie dein Controller, Gelb/weiß an PIN B 0?
    Viele Grüße, William
    -> http://william.thielicke.org/

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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