-         

Ergebnis 1 bis 5 von 5

Thema: Servo Steuerung

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.02.2010
    Ort
    Osdorf
    Alter
    22
    Beiträge
    127

    Frage Servo Steuerung

    Anzeige

    Hallo, Ich habe mir gerade ein kleines Programm geschrieben womit ich ein Servo steuern kann wenn ich ein Port auf High setzte. Jetzt ist meine frage wie ich das machen kann das meine Servo nur am Anfang also wenn ich das Bord einschalte eine bestimmte Bewegung macht und denn darauf "wartet" ob ich den Port auf high setzte oder ob der low bleibt. Ich benutze den Servo um bei meinem Roller den Reflektor zu verstellen und möchte beim einschalten sowas wie ein kleinen Funktionstest haben hier ein Video wie es im Moment aussieht.
    http://imageshack.us/clip/my-videos/690/k07.mp4/
    Gruß Tjark

    Programm:
    $regfile = "m32def.dat"
    $crystal = 16000000
    $baud = 9600
    $hwstack = 32
    $swstack = 32
    $framesize = 32






    Config Servos = 1 , Servo1 = Porta.0 , Reload = 10
    Config Porta.0 = Output
    Config Porta.1 = Input
    Config Porta.6 = Output
    Enable Interrupts




    Do
    Porta.1 = 1
    If Pina.1 = 1 Then
    Servo(1) = 180
    Else
    Servo(1) = 40
    End If
    Loop

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.09.2004
    Alter
    32
    Beiträge
    647
    Naja wenn du es soweit geschafft hast gebe ich dir mal nur Tips und keine fertige Lösung. Ich denke da hast du am meisten von

    Dein Funktionstest kannst du einfach zwischen "Enable Interrupts" und "Do" schreiben. Jetzt musst du nurnoch die Startposition und die Endposition angeben. Dazwischen brauchst du immer eine Pause (z.b. "waitms 250") damit das Servo auch Zeit hat die Position zu erreichen.

    Wenn du nicht klarkommst helfe ich dir natürlich weiter.

    Gruß Daniel
    Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]

  3. #3
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Du machst einfach vor dem Do die Servobewegung und dann eine If-Abfrage. Den Port ziehst du dann mit einem Pull-down auf 0.
    In etwa so:

    Config PortX.Y = Input
    Enable Interrupts

    PortX.Y = 0
    Servo(1) = 180

    Do

    If PortX.Y then
    Servo(1) = 40
    Else
    Wait 100

    Loop

    Das Else kannst du auch weglassen.
    Meinst du sowas in der Art? Du hast in deinem Programm deine Anforderung quasi schon erledigt
    Befehle die nur beim Einschalten ausgeführt werden sollen schreibst du immer vor der eigentlichen Do - Loop Schleife.

  4. #4
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    ABE?
    Code:
    ...
    Enable Interrupts
    
    Servo(1) = 180
    Wait 1
    Servo(1) = 40
    Wait 1
    
    Do
    
    ...

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.02.2010
    Ort
    Osdorf
    Alter
    22
    Beiträge
    127
    Ok danke an euch beide. Peinlich hätte ich auch selbst drauf kommen können Klappt jetzt.
    Gruß Tjark

Ähnliche Themen

  1. servo steuerung
    Von JensK im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 03.03.2009, 20:52
  2. Servo PWM Steuerung
    Von markeis im Forum C - Programmierung (GCC u.a.)
    Antworten: 7
    Letzter Beitrag: 12.11.2008, 21:14
  3. Servo Steuerung...
    Von Flario im Forum Robby RP6
    Antworten: 8
    Letzter Beitrag: 28.09.2008, 16:21
  4. Remote Servo Steuerung
    Von test1234 im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 07.03.2008, 08:06
  5. Servo-Steuerung
    Von Spongebob85 im Forum C - Programmierung (GCC u.a.)
    Antworten: 12
    Letzter Beitrag: 12.10.2007, 23:32

Berechtigungen

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