-
        

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 23

Thema: Auslesen des Servo-Potis -->> machbar!!

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467

    Auslesen des Servo-Potis -->> machbar!!

    Anzeige

    Hallo Leute,
    der User ni.c hat mich durch seinen Blog-Eintrag zum Roboter hal0 auf seiner Website auf die Idee gebracht, eine "Feedback-Leitung" vom Servo-Poti aus an den µC zu legen und die Spannung, die man mit am Poti abgreift, mit einem ADC auszuwerten. Nur war noch nicht geklärt, ob das geht, oder ob es vielleicht den Servo stört.

    Das habe ich heute geklärt:
    Es ist ohne viel Aufwand machbar und funktioniert auch!
    Ich habe ganz einfach, wie von ni.c beschrieben, an den mittleren Pin des Servo-Potis ein Kabel angelötet, das zum ADC meines ATMega32 geht, der als Referenzspannung die interne verwendet (2,xxVolt). Dort bekomme ich bei dem einen Maximal-Ausschlag als Wert ca. 890, bei dem anderen ca. 245 und bei der Mittelstellung ca. 635.
    Was mich stört ist hier das Wort "ca.", das ich leider nicht weglassen kann, da es eine Abweichung von +-30 Digits gibt.
    Diese Abweichung könnte man jetzt wahrscheinlich noch durch mehrere Messungen, deren Ergebnis man mittelt verbessern. Habe ich aber noch nicht ausprobiert.

    Wollte ich euch nur mal berichten, da es vielleicht für manche interessant sein kann.

    Anwendungsgebiete wären z.B.:
    1. ein Arm, bei dem herausgefunden werden soll, ob der Servo die gewünschte Position erreicht hat
    2. alle Anwendungen mit Servos, bei denen verhindert werden soll, dass er versucht, weiter zu drehen, obwohl es aufgrund von Hindernissen nicht möglich ist -> schädlich für den Servo!

    Über Feedback und vielleicht auch eigene Erfahrungsberichte würde ich mich freuen!

    jon
    Nice to be back after two years
    www.roboterfreak.de

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.782
    Blog-Einträge
    8
    Hallo jon,

    es war ja zu erwarten, dass das grundsätzlich funktioniert. Mit "30 Digits" meist du vermutlich ein Fehler von +-30, das wären ca.5% vom Mitte-Wert. Immerhin, besser als gar keine Rückmeldung. Anstatt den Mittelwert mehrerer Messungen zu bilden könnte man vielleicht einfach nur auf Änderung prüfen. Bleibt der Wert nach x Messungen stabil ist die Position erreicht.

    Hast du auch mal die anderen Pins des Potis gemessen?

    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    13.08.2005
    Beiträge
    195
    hier wird auch das poti von einem servo abgegriffen. [via] evtl. hilft euch das auch noch ein bisschen weiter.

    SEIDL.

  4. #4
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.782
    Blog-Einträge
    8
    Hallo Seidl

    danke für den Link. Es war ja zu erwarten, dass wir nicht die ersten sind, die diese Idee hatten. Aber der Typ zeigt deutlich dass es besser ist in Videos nicht selbst zu erscheinen. *lol*

    Wie schon an anderer Stelle erwähnt wäre es optimal wenn man die Potistellung irgendwie auf die Steuerleitung des Servos mischen könnte. Dann hätte man Steuersignal und Rückmeldung auf dem selben Pin. Ein Ansatz dafür wäre der Servo-Sensor dessen Prinzip ich hier schon vorgestellt habe.

    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467
    Shit. Ich hatte gehofft, dass noch niemand das probiert hatte. *grr*

    Ich habe noch nicht an den anderen Pins des Potis die Spannung abgegriffen. Aber was sollte das denn bringen? Da liegt entweder die volle Versorgungsspannung an (bei mir 5Volt) oder die übrige Spannung im Vergleich zum mittleren Pin (ich hoffe ihr versteht, was ich meine). Bei dem Poti handelt es sich leider nur um ein 5%iges, das als Spannungsteiler verwendet wird... (Gibt es eigentlich auch Potis mit weniger als 5%??)

    Ich werde heute den restlichen Vormittag über mal probieren, ob ich es schaffe, den Servo über den ADC Pin auch anzusteuern. Dann bräuchte man insgesamt nicht so viele Pins.

    Viele Grüße,
    jon
    Nice to be back after two years
    www.roboterfreak.de

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467
    Zitat Zitat von Jon
    Ich werde heute den restlichen Vormittag über mal probieren, ob ich es schaffe, den Servo über den ADC Pin auch anzusteuern. Dann bräuchte man insgesamt nicht so viele Pins.
    Ich habe es nun ausprobiert -->> es funktioniert!
    Kleines Problem: Der Code ist deutlich länger und komplizierter, als wenn man einen ADC Pin für die momentane und einen Pin für die Servosteuerung nimmt.
    Das liegt daran, dass man die ganze Zeit wieder den ADC stoppen/starten muss und den Pin umdefinieren (von Eingang zu Ausgang und umgekehrt) muss.
    Da ist es bei dem Pulsein/Pulseout deutlich einfacher, da das eine Bascom eigene Funktion ist, die das von vorherein vorsieht.
    Hat vielleicht jemand eine Idee, wie man das machen könnte?

    Viele Grüße,
    jon
    Nice to be back after two years
    www.roboterfreak.de

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467
    Hallo!
    Ich bin mal wieder an meinem Testaufbau beschäftigt (seit 10 Uhr).

    Eine kurze Beschreibung des Testaufbaus:
    Ich habe einen Servo von Conrad, der mit 5Volt betrieben wird. An diesen Servo, der fest auf einer Holzplatte montiert ist, ist ein weiterer Servo, des selben Typs, über einen 4,5cm langen Hebel angebracht.

    Wenn ich nun den Servo in die Mittel-Position bringe und den ADC Wert speicher, kann ich danach den Servo an jede beliebige Stelle drehen, er dreht sich an die abgespeicherte Stelle sehr exakt wieder zurück.
    Mache ich das selbe jetzt aber nicht die Mittel-Position, sondern mit einer Position im Winkel von 90° zur Mittel-Position, so dreht der Servo nicht mehr exakt dahin, wo er hin sollte. Um genau zu sein ins die Abweichung sehr groß (ca. +-5°).
    Auffällig ist, das an dieser Position beim zurückbewegen die Messwerte des ADCs super ungenau sind und die Abweichung an ein und der selben Stelle bei etwas 25% liegt. Die Ungenauigkeit ist allerdings nicht beim Speichern der Position ganz am Anfang zu erkennen, da ist die Abweichung sehr klein.
    Woran kann das nun liegen?
    Vielleicht daran, dass die Versorgungsspannung durch den recht hohen Motorstrom gestört wird, also einbricht?
    Oder hat es einen ganz anderen Grund?

    Ich würde mich freuen, wenn jemand sich darüber mal Gedanken machen würde und mir helfen würde, das Problem zu lösen.
    Sollten noch Informationen fehlen, so fragt mich!

    Viele Grüße,
    jon
    Nice to be back after two years
    www.roboterfreak.de

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.03.2005
    Ort
    gerne in den Bergen
    Alter
    33
    Beiträge
    429
    vielleicht würde es etwas bringen, wenn du die masse des Servos mit der des adc eingang verbinden würdes. dann hast du eventuelle spannungsunterschiede, die sich durch das drehende servo ergeben, nicht in deiner potimessung mit drin! ?

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467
    Die Versorgungsspannung der Servos ist auch die der Steuerelektronik (ATMega16), somit ist auch der Masse-Anschluss der selbe.

    Du bringst mich aber auf die Idee, dass ich mal meine 5Volt als Referenzspannung verwenden könnte. Dann müsste sich das Problem, wenn ich mich nicht sehr irre, in Luft auflösen.
    Ich werde es ausprobieren, wenn ich heute Abend wieder zu Hause bin.

    Wenn trotzdem jemand anderes noch eine Idee hat; her damit!

    jon
    Nice to be back after two years
    www.roboterfreak.de

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.03.2005
    Ort
    gerne in den Bergen
    Alter
    33
    Beiträge
    429
    nicht ganz der selbe masseblablabla ...

    aber ich muss jetzt in die schule. schreibe später was ich meinte!

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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