Sehr günstige Servoansteuerung Analog und Digital

Hallo,

manchmal ist es wichtig über den Tellerrand zu sehen um Produkte aus anderen Bereichen für unser Hobby zu verwenden. Der österreichische Kleinserienanbieter Austromodell bietet seit kurzem Servoplatinen von Pololu an. Diese sind eigentlich für den Roboterbau vorgesehen und gibt es für 6, 12, 18 und 24 Servos. Mit Preisen von 21,90 bis 51,00 auch sehr sehr günstig.

Eigentlich sind die Platinen dafür vorgesehen über USB oder einen seriellen Bus angesprochen zu werden, aber es ist auch möglich die Serverausgänge als Eingang oder auch als Ausgang zu definieren in Verbindung mit einer Scriptsprache ist es dann möglich zu definieren welcher Schalter / Taster welchen Servo steuert. Damit ist Möglich, diese Platinen auch für uns zu verwenden.

Hier mal die einzelnen Komponenten für einen ersten Test:


(12fach Serveransteuerung gerade mal 2,8 x 3,6 cm)


(und hier die 12fach Serveransteuerung mit 2,8 x 5,8 cm auch nicht groß)


(Spannungsversorgung auch von Austromodell)


(Zum Testen eine LOCO IO damit möchte ich die Platine auch Digital ansprechen)

Am Ende des Beitrages findet Ihr das Programm mit dem ich die Platine programmiert habe. Details zur Programmierung, zu den Einstellungen und wie verschiedene Taster, Schalter und LED´s statt den Server angeschlossen werden, findet Ihr auf der Seite von Pololu (Link Siehe oben)

Hier der Testaufbau:

Ich habe folgende Sachen nun getestet:

Zwei Servos die mit jeweils einem Kippschalter geschaltet werden. Im Prinzip die klassische Weichenschaltung. (Siehe dazu im Programm die Routinen button_a, sequence_a_ein, sequence_a_aus, button_b sequence_b_ein und sequence_b_aus) Dabei werden für einen Servo 2 Ausgänge benutzt einer für den Servo selber und einer für den Kippschalter. Mit der 24fach Platine können somit 12 Servos gesteuert werden. Sprich 4,25 Euro pro Servo !!

Nach dem die Eingänge eigentlich Analog / Wandler sind ist es auch möglich mehrere Taster auf einen Eingang zu legen. Getestet habe ich das mit 6 Taster an einem Eingang. Die Schaltung dazu sieht wie folgt aus: (Für R1 bis R6 habe ich 470 und für R7 4,7 k genommen) (Der Ordnung halber: Ich kann keine Garantie bei einem Nachbau geben)

Mit 2 Taster steuere ich einen weiteren Servo ( Siehe dazu im Programm die Routinen button_c_5, sequence_c_aus, button_c_6, sequence_c_ein).

Und nach dem mir langsam die Servos ausgehen schalten die restlichen 4 Taster nur zwei LED´s. (button_c_1 ,led_1_aus, button_c_2, led_1_ein, button_c_3, led_2_aus, button_c_4, led_2_ein)

Damit können bei einer 24er Platine 18 Servos mit jeweils 6 Taster an 6 Eingängen (36 Taster) geschaltet werden. Sind dann nur mehr 2,83 Euro pro Servo !!

Nachdem die Platine genau weiß wo die Servos stehen, ist es möglich auch eine Rückmeldung über LED´s zu realisieren. Kostet natürlich 2 Leitung pro Servo. (Siehe dazu im Programm die Routine endlage)

Einen Servo steuere ich noch über DCC, dazu hängt an der LOCO IO ein Relais und diese steuert den Eingang auf der Serverplatine. (Siehe dazu im Programm die Routine button_d, sequence_d_ein, sequence_d_aus) Im Prinzip das selbe wie bei den Kippschalter.

Ich denke wirklich eine tolle Sache zu einem unglaublichen Preis.

Hier noch ein kleines Video:

[youtube http://www.youtube.com/watch?v=thjWManQ3kc?rel=0&w=560&h=315]

Hier nun zum Abschluss noch das Programm mit dem ich die Platine programmiert habe:

begin
button_a if sequence_a_ein else sequence_a_aus endif
button_b if sequence_b_ein else sequence_b_aus endif
button_d if sequence_d_ein else sequence_d_aus endif
button_c_1 if led_1_aus endif
button_c_2 if led_1_ein endif
button_c_3 if led_2_aus endif
button_c_4 if led_2_ein endif
button_c_5 if sequence_c_aus endif
button_c_6 if sequence_c_ein endif
endlage

repeat

sub endlage
1 get_position
dup 4001 less_than

if
8000 5 servo
else
1000 5 servo
endif

7999 greater_than

if
8000 4 servo
else
1000 4 servo
endif

return

sub button_a
11 get_position 500 less_than
return

sub button_b
10 get_position 500 less_than
return

sub button_d
8 get_position 500 less_than
return

sub button_c_1
9 get_position
dup 1000 less_than
if
899 greater_than
else
drop
0
endif
return

sub button_c_2
9 get_position
dup 900 less_than
if
749 greater_than
else
drop
0
endif
return

sub button_c_3
9 get_position
dup 750 less_than
if
549 greater_than
else
drop
0
endif
return

sub button_c_4
9 get_position
dup 550 less_than
if
349 greater_than
else
drop
0
endif
return

sub button_c_5
9 get_position
dup 350 less_than
if
149 greater_than
else
drop
0
endif
return

sub button_c_6
9 get_position
150 less_than
return

sub sequence_c_ein
50 0 speed
1000 0 servo
return

sub sequence_c_aus
50 0 speed
8000 0 servo
return

sub sequence_b_ein
10 1 speed
1000 1 servo
return

sub sequence_b_aus
10 1 speed
8000 1 servo
return

sub sequence_a_ein
50 2 speed
1000 2 servo
return

sub sequence_a_aus
50 2 speed
8000 2 servo
return

sub led_1_aus
0 6 servo
return

sub led_1_ein
8000 6 servo
return

sub led_2_aus
0 7 servo
return

sub led_2_ein
8000 7 servo
return

sub sequence_d_ein
50 3 speed
1000 3 servo
return

sub sequence_d_aus
50 3 speed
8000 3 servo
return

0 Gedanken zu “Sehr günstige Servoansteuerung Analog und Digital

Schreibe einen Kommentar