- 12V Akku mit 280 Ah bauen         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Servo Ansteuerung

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    31.01.2006
    Alter
    33
    Beiträge
    35

    Servo Ansteuerung

    Hallo allerseits,

    ich habe hier zwei Servo's von Robotikhardware (http://www.shop.robotikhardware.de/s...products_id=48)

    Ich habe sie munter angeschloßen und entsprechend der Beschreibung im Wiki-Bereich angesteuert. Der Servo dreht aber allein bei "Config Servo = 1, Servo1 = Porta.0" schon. Sobald der Servo also konfiguriert wird und er weiß wo der Servo angeschloßen ist scheint er diesem die entsprechenden Signale zu senden.
    Eine Eingabe von Servo(1) = X ist völlig wirkungslos.
    Angesteuert wird er von einem Atmega32(RN-Control)

    Der Servo ist übrigens NICHT(!!!!) gehackt.
    Woran könnte es liegen?

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    20.10.2005
    Alter
    36
    Beiträge
    41
    Moin,
    stell mal den Quellcode ins forum und mach mal ne skizze vom aufbau.

    MfG René

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    20.08.2006
    Ort
    hinterm Mond
    Beiträge
    290
    Wie/wo hast du den Servo angeschlossen und poste mal bitte dein programm dazu.

    edit: ach da war jemand schneller

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    31.01.2006
    Alter
    33
    Beiträge
    35
    Code:
    Enable Interrupts
       Config Servos = 1 , Servo1 = Porta.0 , Reload = 20
       Config Porta = Output
    
     Servo(1) = 20
     Waitms 5000
    Das ist der genaue Quellcode davon

    Anschlußbelegung ist halt, Masse(schwarz) an GND vom Board, +5V(rot) an +5V vom Board und Signal(gelb) an Porta.0

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    20.10.2005
    Alter
    36
    Beiträge
    41
    Ähhm,

    Quarzfrequenz, ...... in Bascom gewechselt???
    Und pack den Servowert-befehl in ne do loop schleife
    sry wegen der schreibweise muss weg.

    MfG René

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    31.01.2006
    Alter
    33
    Beiträge
    35
    Ich hab jetzt gerade nur eben den Servo teil kopiert ^^
    Natürlich steht Quarzfrequenz und so davor:

    $regfile = "m32def.dat"
    $crystal = 16000000
    $baud = 9600

    Aber was ändert das daran? ^^

    Edit: Zu der Do-Loop Schleife. Wieso in eine Do Loop Schleife? Dann würde er doch(angenommen es funktioniert) drehen. Dann seh ich ja keinen Unterschied zwischen meinem Fehler und dem dann richtigen Ergebnis ^^

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    20.10.2005
    Alter
    36
    Beiträge
    41
    Wo dran???

    MfG René

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    20.10.2005
    Alter
    36
    Beiträge
    41
    Ah, kapiert

    1. Der Servowert is schon mal zu niedrig(Wert >= 50)(Hängt mit dem timer1 oder 0 zusammen,Bla bla bla )

    2. Der servowert ist die position vom Servohorn.(Also der "winkel")

    MfG René

    PS. Pn, wenn noch fragen

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    20.10.2005
    Alter
    36
    Beiträge
    41
    Moin,
    nur ne Vermutung,bei mir steht "Enable Interrupts" nach der Servoconfig ev. ist der timer zuschnell und unterbricht immer.
    Glaube ich zwar nich, aber eventuell.
    Nimm mal den Quellcode, is meiner und funtzt bei mir.
    Code:
    $regfile = "m32def.dat"
    $crystal = 16000000
    
    Config Servos =  , Servo1 = Porta.0 , Reload = 10
    Config Portc = Output
    Enable Interrupts
    
    Declare Sub Rodeo
    
    Dim E1 As Byte
    Dim R As Byte
    Dim T1 As Word
    
    
    Do
             R = R + 1
    
          If R = 5 Then
                Disable Interrupts
                Sound Portd.7 , 450 , 250
                Sound Portd.7 , 200 , 100
                Sound Portd.7 , 450 , 250
                Wait 10
                R = 0
          Else
               Enable Interrupts
               E1 = Rnd(100) + 50
               Servo(1) = E1
               T2 = Rnd(900) + 10
               Waitms T2
          End If
    Loop
    
    End
    MfG René

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    31.01.2006
    Alter
    33
    Beiträge
    35
    Hi

    Sorry das ich mich so lang nicht mehr gemeldet habe. Lag mit Grippe flach.
    Das Problem ist inzwischen gelöst... Anstatt Pina.0 haben wir einfach mal Pina.1 genommen und siehe da es klappt.
    Mal wieder sehr eigenartig.

    Danke nochmals für die Hilfe

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests