-
        

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

Thema: Servo,RC5, Timer1/2 und PWM ?

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2004
    Ort
    GRAZ
    Alter
    51
    Beiträge
    576

    Servo,RC5, Timer1/2 und PWM ?

    Anzeige

    Hallo

    Möchte meinen Roboter mit RC5 verwenden. (mit Mega
    Dazu bräuchte ich noch eine Servoansteuerung.
    Da RC5 von Bascom ja mit Timmer 0 läuft ,müsste ich die Servosache per Hand programmieren .
    Timmer 1 wäre vermutlich gut für eine feinere Auflösung von den Servos.
    Timmer 2 hat leider nur 8 bit...

    Also wird es vermutlich mit zusätzlich 2 PWM ausgängen für den Motor , schlecht werden.
    Ausser ich nehme nur Timmer2 für die Servos..?!
    (und Timer1 für die 2 PWM)


    Gibt es da schon einen fertigen Code, wie man die Servos mit Timer 1 oder 2 anspricht ?

    Hat jemand einen Tip zu dieser Problematik ?

    l.G. Roberto

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    04.09.2004
    Ort
    Bürstadt
    Alter
    30
    Beiträge
    383
    schau mal in der Bascom hilfe..
    CONFIG RC5 = pin [,TIMER=2]
    Kannst den Timer 2 für den RC5kram nehmen Timer0 für die Servos!

    Timer 1 bleibt dann für den PWM übrig!

    MfG
    Ringo
    Nobody is Perfect
    Visit www.ringo.roboterbastler.de last update: 23.05.2009

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2004
    Ort
    GRAZ
    Alter
    51
    Beiträge
    576
    Danke Ringo, diese Option hatte ich übersehen!
    Werde ich so probieren

    Aber kennt jemand vielleicht einen Code für die steuerung der Servos mit Timer1 ?
    Möchte gerne probieren, ob die Servos mit einem Timer1 viel feiner drehen als mit Timer0 und dem Servo Befehl.

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hallo,
    ich würde jetzt sagen, das drehen der Servos hat nix mit dem Timer zu tun,
    der Timer ist dafür da, das die Zeit eingehalten wird wie oft die Signale zum Servo aktualisiert werden, also hilft ein 16Bit Timer auch nicht viel weiter.

    10 µs sind auch bei 16 Bit 10µs

    Meiner Meinung hängt das vom Servo selber ab wie fein der dreht, oder Du baust in dein Programm einen Zähler ein, der die Werte Softwaremässig von einem Wert zum neuen Wert zählt, dann dreht der Servo feiner.

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2004
    Ort
    GRAZ
    Alter
    51
    Beiträge
    576
    Hallo

    mmhh..
    Soweit ich jetz weis bekommt das Servo ein Signal im Berreich von 1ms bis 2ms
    http://www.roboternetz.de/wiki/pmwik...n.Servomotoren

    Beim Servo Befehl hätte ich da ca. 120 Schritte zwischen Bereich 1 und 2ms

    Mit Timmer0 hätte ich ca. 255 Schritte
    Beim Timer1 ...?
    Oder ginge das alles auch mit Timer 0 oder 2 ?

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Dann musst Du einfach den Reloadwert kleiner machen, und schaun obs was bringt.

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2004
    Ort
    GRAZ
    Alter
    51
    Beiträge
    576
    Was ist die Reload Zeit jetzt eigentlich?!
    Die 20mS bleiben immer gleich ?

    Wo anders habe ich gelesen.. :
    >der Reload bezieht sich auf die Auflösung des Servoimpulses.
    verändern sich dann auch die möglichen max. Werte für das Servos .

    Z.B. 30-120 bei Reload 10
    Bei Reload 5 dann vielleicht mehr, für den gleichen Weg ?
    Muss jetzt direkt mal probieren..

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Zitat Zitat von Roberto
    Möchte gerne probieren, ob die Servos mit einem Timer1 viel feiner drehen als mit Timer0 und dem Servo Befehl.

    Bevor du einen riesen Aufwand betreibst solltest du bedenken das die
    Servoauflösung noch eine Rolle spielt und die ist abhängig vom Modell bzw.
    genauer gesagt ,von der verwendenten Servoelektronik.

    Mit einer einfachen Testschaltung und einem Mehrgangpoti bzw.
    Spindeltrimmer läst sich ein Servo recht gut in dieser Richtung überprüfen.
    Gruß
    Ratber

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    @Roberto
    Die 20ms bleiben immer gleich, sonst würde ja der Servo nimmer gehen,
    der Reloadwert heisst ja Reloadwert, weil sooft der Wert reloadet wird
    und zwar alle X µs (Micro!)

    Wenn du aber den PositionsWert trotzdem gleich von 30 auf 120 änderst ist es egal was Du im Programm einstellst, dann hängt das ganz vom Servo ab wie schön der dreht.

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2004
    Ort
    GRAZ
    Alter
    51
    Beiträge
    576
    Hallo

    Habe jetzt getestest

    Reload : links : mitte : rechts : Bereich

    20: 23 : 55 : 85 : 62
    15 : 27 : 68 : 108 : 81
    10 : 35 : 86 : 140 : 105
    5 : 47: 118: 196 : 149
    4 : 50 : 128 : 210 : 160
    3 : 55 : 139 : 230 : 175

    Also bei Reload 3 hätte ich max. 175 Positionen.

    Würde es nix bringen , wenn man die us händisch per Timmer programmiert ?! Damit die us feiner unterteilt werden ?
    Oder kann das Servo selber nicht mehr Aufteilungen/Auflösung ?

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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