Kategorie: Elektronik mit PICAXE und Arduino
Zugriffe: 2414

SERVOWEGBEGRENZUNG MIT PICAXE 08M2

Vor einiger Zeit hatte ich ein Telefonat mit einem guten Freund. Der benötigte für seine Skipjack eine Servowegbegrenzung, die er zwischen Lageregler und Servo schalten wollte um den Ruderausschlag seines Tiefenruders zu begrenzen. Die verwendete Lageregelbriefmarke sollte weiter benutzt werden.

Da mir so aus dem Stand kein Anbieter für solch eine Schaltung einfiel, hab ich mich hingesetzt und schnell ein passendes Programm für einen Picaxe 08m2 zusammengetippt.

Die Schaltung dazu ist nicht aufregend. Im Grunde wird das Eingangssignal durch den Chip geschleust und wieder aufs Servo ausgegeben. Begrenzt wird durch die Schleiferstellung zweier Potis, welche den oberen und unteren Anschlag des Servoweges elektronisch begrenzen.

Das Empfängersignal wird chipintern auf einen Wert zwischen 0,8 und 2,2ms erfasst und in einen Wert zwischen 80 und 220 umgewandelt. Die Mitte, üblicherweise bei 1,5ms, stellt hier also entsprechend einen Wert von 150 dar. Wir haben also maximal 140 Schritte zur Verfügung vom minimalen zum maximalen Ausschlag.

Die Potis repräsentieren einen Wert zwischen 0 und 255 je nach Schleiferstellung. Dieser Wert wird durch 4 geteilt und das Resultat entsprechend zur Beschneidung des Eingangswertes in den Ausgabewert hineingerechnet. Im Klartext heisst das, dass der untere Wert zwischen 82 und 145 (0,82 - 1,45ms) liegen kann während der obere Wert zwischen 155 und 218 (1,55 - 2,18ms) einstellbar ist.

Leider kann der Chip nur mit Integern, also Ganzzahlen, rechnen, was hier also zu etwas komischen Werten ausserhalb der Mitte führt, das ist im Betrieb aber völlig egal.

Die Potis werden einmal eingestellt und auch periodisch abgefragt, können also im Betrieb jederzeit verstellt werden um den Servoweg anzupassen.

Beim Nachbau ist zu beachten, dass die 22k und 10k Widerstände an Pin 2 des Chips auch eingebaut werden und man sie nicht weglässt. Eine Fehlfunktion des Chips wäre die Folge. Der Wert der beiden Potis ist unkritisch ich benutze 10k Potis.

Auf eine Platine habe ich verzichtet, der Aufbau lässt sich sehr gut auf einem Stück Lochraster realisieren. Ich empfehle die Benutzung eines guten IC Sockels.

Die beiden Kondensatoren sollten sehr nahe am IC sitzen, die gegenüberliegende Spannungseinspeisung des Picaxes unterstützt das. Bitte auch nicht die Diode vergessen. Sie trennt den Chip vom der Spannungsversorgung der Servos, die beiden Kondensatoren puffern. Die Diode ist unkritisch, eine 1N4148 sollte genügen.

Hier zeigt sich wieder mal, dass mit sehr geringem Aufwand eine sehr nützliche Schaltung für unser Hobby gebaut werden kann, und dass das dazugehörige Programm mit gerade mal 38Byte auch lächerlich klein ist.

 

DAS PROGRAMM

;servowegbegrenzung mit picaxe 08m2

;servo an pin3, empfänger an pin 4, poti unterer wert an pin 5, poti oberer wert an pin 6

#picaxe08m

symbol serv=c.4

symbol empf=c.3

symbol potu=c.2

symbol poto=c.1

symbol servomin =b0

symbol servomax =b1

symbol pulse= b2

 

main:

readadc potu,servomin 'Servoendanschläge min lesen

readadc poto,servomax 'Servoendanschläge max lesen

;debug

servomin = servomin/4 'anpassen

servomin = 140-servomin

servomax = servomax/4

servomax = 160+servomax

pulsin empf,1,pulse   'Empfänger lesen

pulse=pulse max servomax min servomin 'Wert mit den Potipositionen begrenzen

 

servo serv,pulse 'und ausgeben

goto main