www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Servo funktioniert nur in eine Richtung


Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein Futaba 148 -Servo an ATmega8 angeschlossen und die
BASCOM-Beispieldatei "servos.bas" in den MC geschrieben. Wenn ich den
MC  anschalte dann bewegt sich der Servo zwar, aber nur in eine
Richtung..?

Habt ihr eine Idee, was ich in der Datei ändern muss, damit der Servo
auch sich in die andere Richtungdreht?

Hier der Code:
'                         (c) 2001-2003 MCS Electronics
'                           servo.bas demonstrates the SERVO option
'-----------------------------------------------------------------------

'Servo's need a pulse in order to operate
'with the config statement CONFIG SERVOS we can specify how many
servo's we
'will use and which port pins are used
'A maximum of 16 servos might be used
'The SERVO statements use one byte for an interrupt counter and the
TIMER0
'This means that you can not use TIMER0 anymore
'The reload value specifies the interval of the timer in uS
'Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload =
10

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

'we use 2 servos with 10 uS resolution(steps)

'we must configure the port pins used to act as output
Config Portb = Output

'finally we must turn on the global interrupt
Enable Interrupts

'the servo() array is created automatic. You can used it to set the
'time the servo must be on
Servo(1) = 10                                               '10 times
10 = 100 uS on
'Servo(2) = 20                                               '20
times 10 = 200 uS on
Do
Loop

Dim I As Byte
Do
 For I = 0 To 100
   Servo(1) = I
   Waitms 1000
 Next

 For I = 100 To 0 Step -1
 '  Servo(1) = I
   Waitms 1000
 Next
Loop
End

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
For I = 100 To 0 Step -1
 '  Servo(1) = I
   Waitms 1000

da durch den Fliegenschiss vor dem Servobefehl diese Schleife nix macht
ausser Zeit zu verballern, solltest du vielleicht mal den Fliegenschiss
entfernen und schon rennt der Servo rückwärts.

bye

Frank

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.