-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: PWM - Servo

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    27.04.2004
    Alter
    40
    Beiträge
    25

    PWM - Servo

    Anzeige

    HI @ll,


    (Neulingfrage mit Bascon)

    Wer kann mir ein fertiges Programm schreiben wo ich mit 1 Taster den Servo rechtsrum drehen kann solange ich den taster gedrückt halte.
    Und einen 2 Taster dreht dann den Servo linksrum solange ich es gedrückt halte. Wenn ich keine der beiden Tastern drücke, soll der Servo stehenbleiben.

    Benutze einen ATmega8 und Bascon zu programmieren.

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Bascom macht es einem mit vielen Makros sowas von Einfach.
    Das sind allenfalls 10-15 Minunten Arbeit (5-7 Minuten für die Bemerkungen und das Drapieren) wenn man sich damit einwenig auseinandersetzt.


    Da !

    Code:
    'Einfacher Servosteuerung über 2 Taster.
    '
    'Minimum,Maximum und Schrittweite sind Servospezifisch und müssen auf das
    'jeweilige Modell angeglichen werden.
    'Verzögerung ist Geschmackssache sowie der Startwert
    'Das Programm ist absichtlich einfach gehalten um die Funktion zu verdeutlichen.
    'also keine ausgefeilte Tastenabfrage oder sonstige Optimierung.
    '
    'Ratber
    '===============================================================================
    
    $regfile = "M8def.dat"
    $crystal = 8000000
    $baud = 19200
    
    Config Servos = 1 , Servo1 = Portb.1 , Reload = 10
    Enable Interrupts                                           'Ist nötig
    Config Portb.1 = Output                                     'Servoausgang
    Config Pind.6 = Input                                       'Taster 1
    Config Pind.7 = Input                                       'Taster 2
    Portd.6 = 1                                                 'Pullup aktiviert
    Portd.7 = 1                                                 'Pullup aktiviert
    
    Dim Ist As Byte
    Dim Minimum As Byte
    Dim Maximum As Byte
    Dim Schrittweite As Byte
    Dim Pause As Byte
    
    Minimum = 35                                                'Rechter Anschlag
    Maximum = 155                                               'Linker Anschlag
    Schrittweite = 1                                            'Schrittweite beim erhöhen
    Pause = 150                                                 'Verzögerungszeit in ms damits steuerbar bleibt
    Ist = Minimum                                               'Einfach nur Definierter Startwert
    
    Do
     If Pind.6 = 0 Then
     Ist = Ist + Schrittweite
     If Ist > Maximum Then Ist = Maximum
     End If
    
     If Pind.7 = 0 Then
     Ist = Ist - Schrittweite
     If Ist < Minimum Then Ist = Minimum
     End If
    
     Servo(1) = Ist
     Waitms Pause
    Loop
    
    End
    Meine gute Tat fürs Wochenende ist damit abgegolten


    Edit:Kleine Korrektur am Code.
    Pullups aktiviert.
    Gruß
    Ratber

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    27.04.2004
    Alter
    40
    Beiträge
    25
    DANKE für Deine schnelle Hilfe und mühe, werde es morgen direkt mal testen und Bericht erstatten ob es funktioniert hat.

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    27.04.2004
    Alter
    40
    Beiträge
    25
    So hab es mal getestestet... aber es tut sich nichts

    wenn ich denn Ausgang auf den Speaker stelle, höre ich einen piep ton mit gleichmäßigen Intervalle von pausen. Also denke ich mal das es i.O ist oder? Hört man eigentlich einen unterschied wenn ich auf denn Taster drück?

    Info zum Servo: Servo ist von Conrad. Hab dem schwarzen Kabel am Ausgang angeschlossen und der rest (weiß/rot) auf separater Spannungsquelle 5V.

    Hoffe du kannst mir ein paar tipp geben, den Fehler zu finden.

    Danke

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791

    Kabelfarben am Conrad-Servo

    Vorsicht:

    Schwarz ist zumindest bei den Standard-Servos von CONRAD (ES-030) GND (Minus, Masse), gelb ist der PWM-Eingang und rot ist plus.
    Wenn du eine getrennte Stromquelle nimmst, muss GND von Spannungsquelle und Controller verbunden sein.

    Gruss Dirk

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    14.09.2005
    Alter
    61
    Beiträge
    77
    Eine einfache Regel, bei den Servos ist der Plus immer in der Mitte. Das hat den Grund, dass wenn du den Servo falsch in den Empfänger einsteckst funktioniert gar nichts, es geht aber auch nichts kaputt.

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    27.04.2004
    Alter
    40
    Beiträge
    25
    Also ich habe 3 Adern schwarz, rot und weiß. Rot auf +5V anklemme und den schwarzen auf 0V. Wenn ich kurz mit der weißen Adern an +5V komme, mach der Servo einen takt. Also gehe ich davon aus, das der Servo i.O. Schließe ich es aber am Portb.1 an und drücke einen Taster... tut sich nichts <-- liegt der Fehler am programm?

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Nein ,ganz bestimmt nicht.

    Ich habs mit nem alten S15 von Conrad getestet (Daher auch die Werte 35/155) und der läuft einwandfrei.

    Lauft der Mega auch mit 8 Mhz ?
    Gruß
    Ratber

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    27.04.2004
    Alter
    40
    Beiträge
    25
    Ich benutze den internen. also 1 Mhz oder?

    oder können die Eingänge defekt sein? Wenn ich ein anderes Programm einlese wo ich mit einen Taster ne LED an und aus machen, leutet die LED unterschiedlich hell! Wie kann ich testet ob nicht der atmega8 defekt ist?

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    30.01.2006
    Beiträge
    19
    falls es dich beruhigt: ich habe genau das gleiche problem mit den servos...
    und das mit der LED uns dem Taster kenn ich auch...

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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