Gast
#1186249
Hallo! Entgegen dem Trend fertige Servos anzusteuern würde ich gerne selber eine Servosoftware schreiben. Dies ist nötig, weil die vier Servos Teil einer Gesamtschaltung ist deren Controller ist (bewusst) überschrieben habe und neu programmieren will. Die Solldaten liegen als 10 bit Wert vor, die Servos sind als Linearservos (mit Gewindespindel und Vorgetriebe) ausgeführt. Die Position wird per direktem Schleifer auf Widerstandbahn ermittelt - leider scheint das recht ungenau zu sein. Eingelesen wird die Position über den ADC des AVR. Die Ansteuerung der Motoren erfolgt je per H-Brücke mit zwei diskreten Push-Pull-Stufen. Es gibt nur zwei Pins die sinnvoll mit low-low, low-high und high-low zu schalten sind (keine Enable-Eingänge etc). Eine einfache Regelung mit "Ist > Soll -> Motor hoch" etc funktioniert schon, allerdings ist der Totbereich mit ca. 20 "Einheiten" recht groß. Verringer ich diesen fängt der Servo an "zu schwingen", wahrscheinlich weil ich a) zu langsam nachregel und b) den Servo nahe der Sollpostion zu schnell fahre. Überlege das ganze als ISR laufen zu lassen um garantierte Intervalle zu haben aber auf eine Messung des ADC warten ist natürlich ineffizient. Oder evtl. den ADC-Interrupt aktivieren und dann immer umschalten? Gibt es schon Projekte wo man sich Anregungen holen könnte was das Regelkonzept angeht? Habt ihr Vorschläge? Gruß Robert