BugSoft-Modellbau-Category-Page-Head-Electronics


servotester002

Servotester

Grund für den Bau des Servotesters waren die Unzulänglichkeiten anderer Geräte, ob man es glaubt oder nicht! Außerdem interessierte mich, wie man mittels Mikrocontroller ein Servo ansteuern kann.
Der Servotester von Simprop ist toll, allerdings hat er die unangenehme Eigenschaft, beim Einschalten das Servo immer kurz in eine Endposition zu fahren. Das stört vor allem wenn das Servo so eingebaut ist, dass der Ausschlag mechanisch begrenzt ist. Ein Gerät von Conrad hat diese Macke zwar nicht und lässt sich mittles Poti stufenlos verstellen, hier findet man aber die Neutralposition nicht genau. Das Ganze sollte auch noch möglichst einfach gehalten werden, zumindest für den Anfang.
Das ist mir hier an nur einem Tag gelungen. Das Programm ist auch recht kurz. Ich war doch überrascht, wie einfach das geht. Es wird der 16-Bit Timer eines ATtiny 2313 genutzt. Dieser wird mittels CTC-Modus und dem Vergleichswert A so eingestellt, dass der Interrupt für das Erreichen des Vergleichswertes A alle 20ms ausgelöst wird. Ein zweiter Vergleichswert löst einen Interrupt aus, der 1-2ms später ausgelöst wird. Der erste Interrupt schaltet den Ausgang ein, der zweite schaltet ihn wieder aus. Fertig ist das Servo-Signal. In der Hauptschleife werden die 3 Tasten abgefragt: Eine Taste zum Linksdrehen, eine zum Rechtsdrehen, und die dritte fährt das Servo sofort in die Neutralposition(die liegt bei 1,5ms). Initialisiert wird der Wert übrigens auch mit der Neutralposition.

Hier noch der Schaltplan:

servotester001

Download Programm und Makefile