mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Ideen für eigene Servosteuerung


Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tach zusammen,

hab mich zum Spaß mal hingesetzt und an einer "eigenen Servosteuerung" 
gebastelt. Verwendet wurde dazu nur der Servomotor und das Poti des 
Servos.
Der Motor wird über einen Motortreiber angesteuert. Im Grunde ist das 
ganze wie eine Art Zweipunktregler aufgebaut. Es gibt einen Wert von der 
Fernbedienung(Sollwert) und den Wiedergabewert des Potis vom 
Servo(Istwert).

Nun werden Istwert und Sollwert verglichen. Ist der Istwert größer, soll 
der Motor rückwärts drehen bis die Werte gleich sind und dann stehen 
bleiben. Ist er kleiner, läuft der Motor vorwärts bis Gleichstand und 
bleibt stehen.

Funktioniert soweit ganz gut, der Servo fährt in die gewünschte 
Stellung. Nur logischerweise sind die Werte nie genau gleich und somit 
kommt der Servo nicht zur Ruhe. Werd mal schauen ob eine Art Regelung da 
was bringt.

Wollte aber mal hören was ihr so dazu sagt und für Ideen habt?

Gruß Max

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
* Hysterese einbauen
  Erlaube kleine Abweichungen vom Sollwert, ohne dass
  der Mechanismus ansprint
* Je kleiner die Abweichung vom Sollwert ist, desto langsamer
  muss das Servo drehen um die Abweichung auszugleichen.

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Je kleiner die Abweichung vom Sollwert ist, desto langsamer
> muss das Servo drehen um die Abweichung auszugleichen.

Hatte ich schon Probiert. Das Problem dabei ist, dass der Servo in 
diesem Punkt nicht mehr seine volle Kraft besitzt. Konnte da ganz locker 
gegendrücken.

>* Hysterese einbauen
> Erlaube kleine Abweichungen vom Sollwert, ohne dass
> der Mechanismus ansprint

Das wäre ne Idee, zu jeder Seite 4-5 Werte Toleranz. Gäb es noch ne 
andere Möglichkeit da ne Art Hysterese einzubauen?

Oder ne ganz andere Vorgehensweise?


Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Oder ne ganz andere Vorgehensweise?

http://www.hanneslux.de/avr/mobau/servo/servotab.html

Ist aber vermutlich nicht wirklich anders...

...

Autor: Matti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem ist ein Standard-Regelproblem und daher würde ich
auch erstmal die Standardlösung für ein Regelproblem nehmen -> 
PID-Regler
evtl. würde ich die letzten Paar Counts Abweichung nicht mehr 
proportional ausregeln, sondern (wenn überhaupt) langfristig durch den 
I-Anteil ausregeln.
Analoge Servos hatten am Anfang genau das gleiche Problem. Sie ziehen 
einfach einen festen Impuls (1.5ms) vom Steuersignal ab und erzeugen aus 
dem (verlängerten)Rest das PWM-Signal für den Motor (= reiner P-Regler). 
Erst später hat man sie als Fensterdiskriminator aufgebaut und eine 
kleine Abweichung zugelassen. Aber je nach Qualität des Servos und des 
Anlenkgestänges Brummen sie auch heute noch...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.