-         
+ Antworten
Ergebnis 1 bis 7 von 7

Thema: Digital Servos

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    16.12.2003
    Beiträge
    10

    Digital Servos

    Hallo,

    zur Zeit verwende ich einen SSC II mit dem ich einen
    Analog-Servo ansteuere. Die Auflösung von 255 Schritten
    fand ich eigentlich schon immer zu wenig

    Nun gibt es ja diese tollen Digital-Servos mit einer
    Auflösung >4000 ! *freu*

    Vermutlich brauche ich aber einen anderen Controller
    für die Dinger

    Ist dem so? Wenn ja, kennt jemand eine preisgünstige
    Möglichkeit zur Ansteuerung über die RS232?

    Viele Grüsse vom

    Schrat

  2. #2
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.943
    Blog-Einträge
    1
    Bei welcher Anwendung braucht man denn 4000 Schritte?

    Gruß Frank

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.11.2003
    Ort
    Schöneiche b. Berlin
    Alter
    60
    Beiträge
    398
    Hallo Schrat!
    Du braust keinen Neuen Controller!
    Wie ich schon in einem Anderen Beitrag geschrieben habe, ist die Impulsbreite bei Servos generell 1,5ms +- 0,5ms.
    Du brauchst bloss die die Zeitintervalle verkleinern.(Zwischen den einzelnen Schritten)
    Wo Du vorher 255 Schritte hattest hast Du jetzt 4000!
    MfG
    janpeter

  4. #4
    Gast
    Hallo JanPeter, hallo Frank!

    für Handling-Systeme kann die Auflösung fast nicht fein genug sein!
    Denk z.B. mal an Leiterplattenbestückung etc.

    Du brauchst bloss die die Zeitintervalle verkleinern.(Zwischen den einzelnen Schritten)
    Wo Du vorher 255 Schritte hattest hast Du jetzt 4000!
    Hmm, vielleicht bin ich geistig einfach zu unflexibel. Jetzt mal
    langsam:

    Dem Controller gebe ich über RS232 eine Position in Form eines
    Bytes im ASCII-Format (z.B. @ für Position 64). Netterweise
    kümmert der Controller sich dann um die Anzahl Schritte, Länge
    der Impulse, Zeitintervalle usw.

    Dabei variiert er die Impulslänge von 1ms (=Position 0, 0°) bis
    2ms (=Position 254, 90°) in Schritten von 1/255ms (ca. 4 Mikro-
    sekunden, 0,36°).

    Da ASCII keine Zwischenschritte hat, vermute ich, dass ich den
    Digitalservo zwar ansteuern kann, aber immer noch nur 255 Schritte
    zur Verfügung habe.

    Wie kann ich denn dann den Controller überreden die Impulslänge
    in kleineren Schritten (1/4000ms) zu variieren?

    Viele Grüsse vom

    Schrat

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.11.2003
    Ort
    Schöneiche b. Berlin
    Alter
    60
    Beiträge
    398
    Hallo Gast!
    Das hast Du richtig erkannt.
    Du musst einen anderen Weg gehen.
    Du musst den Timer vom Controller herranziehen,entsprechend der Taktfrequenz , einen Wert in den Timer legen , in rückwärts zählen lasssen und bei erreichen von Null einen Port aktivieren.
    So mal im groben.
    Über ASCII hast Du ja nur 255 Zeichen.
    MfG
    janpeter

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    16.12.2003
    Beiträge
    10
    Hallo JanPeter,

    vielen Dank für Deine Antwort.

    Das heisst, ich sollte mal den Hersteller des Controllers fragen,
    ob es ein Upgrade für Digital-Servos gibt!

    Oder kennt jemand einen schönen kleinen, preisgünstigen
    und einfach über RS232 zu steuernden Controller ?

    Viele Grüsse vom

    Schrat

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    52
    Beiträge
    409
    Hallo Schrat,

    Dabei variiert er die Impulslänge von 1ms (=Position 0, 0°) bis
    2ms (=Position 254, 90°) in Schritten von 1/255ms (ca. 4 Mikro-
    sekunden, 0,36°).
    ganz genau. Die 8 Bit Auflösung (255 Schritte) sind eine Restriktion des verwendeten Controllers (SCC II). Im Normalfall reicht das auch, weil ein normales Servo ohnehin keine wesentlich höhere Auflösung hinbekommt. Auch andere kommerzielle Produkte, wie z.B. der SD20 oder der FT639 haben nur ein 8-Bit Interface (der SD20 arbeitet intern aber mit höherer Auflösung).
    Mit Digitalservos sieht das wohl anders aus. Sofern du diese hohe Genauigkeit ausnutzen möchtest, müsstest du dir wahrscheinlich solch einen Servo-Controller selbst programmieren. Zumindest ist mir momentan kein Produkt bekannt, was das unterstützt.

    Da ASCII keine Zwischenschritte hat, vermute ich, dass ich den
    Digitalservo zwar ansteuern kann, aber immer noch nur 255 Schritte
    zur Verfügung habe.
    Hat weniger mit ASCII zu tun, als mit dem Controller. Man kann auch mit ASCII beliebige Zahlen (dann in mehreren Stellen) für eine Position übermitteln.

    Viele Grüße
    Jörg

+ Antworten

Berechtigungen

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