Jump to content

Probleme mit Servo Bricklet 2.0


void

Recommended Posts

Hallo zusammen,

ich teste gerade das neue Servo Bricklet 2.0.

Dabei sind mir ein paar Unstimmigkeiten aufgefallen.

 

Verwendeter Servo: MG995

Betriebsysteme: Windows 10, Ubuntu

 

Im Brickviever ist es mir nicht möglich, beim MG995 die vollen 180° zu drehen.

Ich komme auf maximal 90°.

Velocity, Acceleration und Deceleration sind ohne Funktion.

Ebenso die Funktion Degree min/max.

 

Per Code (C#) sieht das ganze ein wenig anders aus.

Hier scheinen Velocity, Acceleration und Deceleration zu funktionieren.

Auch die vollen 180° konnte ich mit folgenden Zeilen Code fahren:

s.SetDegree(0, -9000, 9000);

s.SetPosition(0, 18000)        // Bei 9000 fährt der Servo nur 45°

s.SetPosition(0, -18000)      // Bei -9000 fährt der Servo nur -45°

 

Ich dachte eigentlich, s.SetDegree begrenzt die Methode s.SetPostition, das scheint aber hier nicht der Fall zu sein.

 

An was könnte das liegen?

 

Vielen Dank und viele Grüße,

void

 

 

 

 

Link zu diesem Kommentar
Share on other sites

Bei Servos geben die minimale und maximale Pulsweite an wie weit der Servo fährt. Wie weit ein Servo fahren kann und welcher Pulsweite das entspricht hängt leider vom Hersteller und Servotyp ab.

Das bedeutet du musst die Pulseweite so einstellen, dass der Servo -90 und +90 erreicht und du kannst dann per "s.SetDegree(0, -9000, 9000);"  dem Servo Bricklet sagen dass dies -90/+90 entspricht. Danach kannst du dann per SetPosition die exakte Position anfahren.

Bei meinem HS-645MG hier entspricht eine min/max von 600us und 2450us dem Winkel von -90° und +90°.

spacer.png

Aber Achtung: Nicht jeder Servo ist darauf ausgelegt auch so weit zu fahren, am besten schaust du vorher im Datenblatt nach welche minimal/maximale Pulsweiten erlaubt sind bei deinem Servo und welchem Winkel diese entsprechen.

 

Zum Brick Viewer: Das kann ich nicht reproduzieren, bei mir funktionieren alle Schieberegler. Wenn ich z.B. die Velocity auf 1000 stelle dann dauert es 18 Sekunden um von -90° auf 90° zu fahren (was ich auch erwarten würde bei 10° pro Sekunde Geschwindigkeit).

Link zu diesem Kommentar
Share on other sites

Danke für die schnelle Antwort.

Der Tipp mit den Pulsweiten hat mein Problem behoben.

Die Einstellung Degree min/max hab ich nun auch verstanden. Ich dachte fälschlicherweise, dass sich dadurch die Drehbewegung begrenzen lässt, dabei entspricht das einer Skalierung zwischen den Pulsweiten.

Im Brickviewer stand eine Periode von 19500µs. Nachdem ich diese auf 20000µs geändert hatte, funktioniert auch die Velocity, Acceleration und Deceleration.

Eine Frage hab ich noch:

Ist das Brickelt für Mega Scale Servos, wie dem HS-805BB, geeignet? Diese haben einen Stromverbrauch von 1200mA. In der Doku war für mich nicht ersichtlich, ob es da Grenzen gibt. Bei 10 Servos wären das 12 Ampere. Macht das Bricklet das mit?

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...