-         

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

Thema: Servo steuern, kleines Problem

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    28
    Beiträge
    718

    Servo steuern, kleines Problem

    Anzeige

    Abend,
    ich hab folgendes Problem, ich möchte das bei betätigung eines Tasters (Schließer) ein Servo in position 50 fährt. Normal geht das auch, aber irgentwie fährt er schon auf 50 OHNE da ich den Taster betätigt habe.

    Code:
    ...
    porta.7 = Input
    
    Do
     If porta.7 = 1 Then
     Servo(1)  50
     End if
    Loop
    Der Taster wurde zwischen porta7 und GND angeschlossen, was mach ich falsch? Versteh es echt nicht!

    mfg
    Lenox

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hi,

    welches Signal (Spannung) liegt an, wenn der Taster nicht gedrückt ist ?

    Das lässt sich mit einem Pullup lösen, dazu einfach nach dem umstellen auf Eingang Porta.7 = 1 machen.

    Dann, man liest einen Eingang mit Pina.7 aus, nicht mit Port ! [-X
    Wenn der Taster auf Gnd geht, musst Du auf 0 abfragen.

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    28
    Beiträge
    718
    hey danke funktioniert jetzt !!
    hab noch ein kleines problem.. wenn die daten in den uC geschrieben wurden sind bewegen sich die Servos kurz, wie kann ich dies unterbinden?

    mfg
    lenox

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Die einfachst Möglichkeit, einfach abstecken

    Die Servos reagieren auf Impulse, beim flashen gibts eigentlich nur noch Impulse, auch wenn die nicht dieselbe Leitung verwenden wie zum programmieren, sie werden sich immer etwas bewegen.

    Evtl. kannst Du in dein Programm eine kurze Wartezeit direkt nach dem Reset einbauen, so dass der AVR nicht gleich nach dem Start irgendwelche Ausgänge setzt, denn das Programmieren geht (auch) über die Resetleitung, und da kommt es schon vor, das das Programm anfängt zu arbeiten, obwohl das Flashprogramm noch Daten übertragen will, aber die Servos haben schon ein kurzes Signal bekommen, also bewegen sie sich.

    Probier mal am Anfang zB. ein Wait 1 noch bevor irgendwas anderes gemacht wird, also vor den Config ... output usw.
    Ist jetzt nur eine Idee, wenns nicht geht, hilft erstmal nur abstecken.

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    28
    Beiträge
    718
    hatte ic hauc hschon dran gedacht, ich probier gleich mal!

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    28
    Beiträge
    718
    So habs, allerdings gehen die Servos am Anfang immer auf vollen Ausschlag nach Links.. bei mir der Boden, was mch ich falsch?

    Code:
    $regfile = "m16def.dat"
    $framesize = 32
    $swstack = 32
    $hwstack = 32
    $crystal = 16000000
    
    Wait 1
    
    Config Servos = 2 , Servo1 = Portb.3 , Servo2 = Portb.4 , Reload = 7
    
    Config Portb = Output
    
    Config Porta.7 = Input
    Porta.7 = 1
    
    Enable Interrupts
    
    Wait 2
    
    Do
     If Pina.7 = 0 Then
     Servo(1) = 160
     Waitms 500
     Servo(2) = 230
     Waitms 500
     Servo(1) = 110
     Servo(2) = 190
     End If
    Loop
    Mfg
    Lenox

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2006
    Ort
    Biberach
    Alter
    27
    Beiträge
    485
    Hi,
    du kannst ja am Anfang deines Programms die Servos in eine "Startposition" stellen. Also z.B.:
    Servo(1) = 150
    Servo(2) = 150

    Gleich nach dem du die Servos konfiguriert hast. Dies unterbindet außerdem auch das wackeln der Servos nach einem Reset. Sind die Servos in der Startposition, bleiben sie ganz ruhig, sind sie in einer anderen Position werden sie in die Startposition bewegt.

    MfG

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    28
    Beiträge
    718
    Hi coCo,
    danke für den guten Tipp, funktioniert.
    Leider zittern die Servos noch was, naja sind halt nur analoge.
    So langsam muss ich mal mim Greifer anfangen
    Wie weit bist du inzwischen?

    Mfg
    Lenox

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2006
    Ort
    Biberach
    Alter
    27
    Beiträge
    485
    Nicht viel weiter als vor einer Woche

    Ich hab mir jetzt mal so einen billig Servo aus Hong-Kong bestellt. Der wird so in 2-3 Wochen geliefert. Wenn er was taugt, dann werd ich mir weitere 4 bestellen, die wieder 2-3 Wochen brauchen werden. Also vor Weihnachten werd ich denke ich mal net fertig mit dem Aufbau.

    MfG

    PS: Hab das ganze Geld für die Servos zusammen, meine Oma sponsort mich

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    28
    Beiträge
    718
    Owei da haste ja zeit ;D
    Wundersicherweise schaffen meine 6g Servos es ohne Probleme den Arm zu bewegen, aber wiegesagt der Arm ist winzig . Ich mach gleich mal n Foto.

    Mfg
    PS: So eine Oma brauch ich auch bin mal Foto machen

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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