Platine des Schaltservo-Moduls

Mit diesem Modul ist es möglich, ein oder zwei  Servos anzusteuern. Es wird keine Fernsteuerung bzw. kein Empfänger benötigt, da die notwendigen Servo-Signale vom Mikrocontroller des Schaltservo-Moduls erzeugt werden.

Endpositionen, Neutralstellung, Stellgeschwindigkeit sowie der Bewegungsmodus sind für jeden Servo einzeln einstellbar. Die Möglichkeit, die Bewegung des Servos stark zu verlangsamen, ermöglicht vielfältige Einsatzbereiche, z.B. für realistische Drehbewegungen von Feuerlöschkanonen oder Geschütztürmen oder zum Schwenken von Kranen, Luken oder Heckklappen. Darüber hinaus kann der Drehbereich des Servos bis zu seiner mechanischen Grenze ausgenutzt werden, in der Regel sind Bewegungen bis 180° problemlos möglich.

Die Steuerung des Moduls erfolgt über einfache Schalteingänge. Eine Schaltfunktion wird für das Drehen eines Servos in die eine Richtung, eine zweite für das Drehen in die andere Richtung benötigt.

Das Modul ist mit allen Schaltausgängen kompatibel, die nach Masse durchschalten, dazu gehören alle Multiswitch-Decoder Varianten, aber auch die originalen Multiswitch-Decoder oder 2- bzw. 4-Kanal Schalter. Die Verwendung von mechanischen Schaltern oder Relais ist natürlich ebenfalls möglich.

Am Ausgang können nicht nur Servos, sondern z.B. auch Fahrtregler angeschlossen werden. Dies ermöglicht die Ansteuerung eines Antriebsmotors, der als "Boostmotor" verwendet wird. Der Motor wird weich hochgefahren, die Belastung von Motor und Kupplung durch ein hartes Schalten bei Verwendung eines 2-Kanal Schalters entfällt.

Entwickelt habe ich die Schaltung zur Höhenverstellung der Turmscheinwerfer in meinem Löschkreuzer Weser, der bisher verwendete teure und nicht mehr erhältliche "Schaltservo" hat seinen Geist aufgegeben (daher auch die Namensgebung für das Modul), nun kann für diesen Zweck ein Standard-Servo verwendet werden.

Hardware

Ein 5 Volt Low-Drop Festspannungsregler versorgt den Mikrocontroller und die Servos. Das Modul wird mit einer Spannung zwischen 6 V und 12 V betrieben. Der Mikrocontroller PIC 16F630 erzeugt die Signale zur Steuerung der beiden Servos. Mit Hilfe eines Jumpers (kleine Steckbrücke) kann die Schaltung in einen Setup-Modus gebracht werden. Über die vier DIP-Schalter werden die Parameter ausgewählt und mit dem Stecken des Jumpers im EEPROM des PIC dauerhaft gespeichert. Eine gelbe LED unterstützt mit ihrer Anzeige das Setup.

Die Leiterplatte ist einseitig und auch in der Hobbywerkstatt einfach herzustellen. Es kommen keine SMD-Bauteile zum Einsatz, das Verlöten der Bauteile ist daher unproblematisch.

Die Archiv-Datei schaltservo.zip enthält das Layout im PostScript Format zur Herstellung einer Belichtungsvorlage und die Demoversion der Firmware. Schaltplan, Bestückungsplan und Stückliste sind in der Aufbauanleitung enthalten (Download-Links ganz oben auf dieser Seite).

Firmware

Vier Eingänge des Mikrocontrollers werden mit Multiswitch-Decoder Ausgängen verbunden, je zwei Schaltkanäle steuern einen Servo. Ist einer der beiden Ausgänge aktiv (d.h. schaltet nach Minus durch), dreht das Servo in eine Richtung, ist der andere Ausgang aktiv, dreht das Servo in die Gegenrichtung. Sind beide Ausgänge ausgeschaltet (Schalter am Sender in Neutralstellung), bleibt das Servo in seiner momentanen Position (nicht-neutralisierender Modus) bzw. kehrt in seine Neutralposition zurück (neutralisierender Modus).

Die Servosignale werden mit einer Auflösung von 1 µs erzeugt, theoretisch sind mehr als 1000 diskrete Positionen möglich.

Es steht eine voll funktionsfähige Demoversion der Firmware zum Download zur Verfügung. Bei der Demoversion deaktivieren sich die Servoausgänge nach ca. 20 min., es muss dann kurz aus- und wieder eingeschaltet werden. Die Vollversion ist über den kostenlosen Programmierservice erhältlich.

Anschluss

Das folgende Bild zeigt die Anschlussbelegung der Platine:

Anschlussbelegung des Schaltservo-Moduls

Das Modul sollte über die Anschlussklemme mit der selben externen Spannungsversorgung verbunden werden wie der Mulitswitch-Decoder. Wird eine andere Spannungsquelle gewählt, müssen zumindest die beiden Minus-Pole verbunden werden. Am Decoder werden nur die Stiftleisten, die nach Minus durchschalten, mit den Servomodul-Eingängen (im Bild grün) belegt. Der andere Stiftleistenanschluss ist i.d.R. der Plus-Pol der externen Stromversorgung, das Modul ist über die Anschlussklemme bereits damit verbunden.

Anschluss des Schaltservo-Moduls an den Multiswitch-Decoder

Anschlussbeispiel

Einstellmöglichkeiten

Folgende Parameter lassen sich für jeden Servo einzeln konfigurieren:

  • Modus (neutralisierend/nicht-neutralisierend)
  • Neutralposition
  • minimale Endstellung
  • maximale Endstellung
  • Stellgeschwindigkeit (vier mögliche Werte)

Setup

Wird die Stromversorgung bei gestecktem Jumper eingeschaltet, befindet sich das Modul in einem Setup-Modus. Die o.g. Parameter können individuell an die Bedürfnisse und den Einsatzzweck angepasst werden. Das Speichern der Werte erfolgt in drei Schritten.

Zunächst leuchtet die LED.

  1. Entfernen des Jumpers. Ein Dauerlicht der LED ist die Aufforderung, den Jumper zu entfernen. Nach Entfernen des Jumpers (ca. 2 s) beginnt die LED zu blinken.
  2. Auswahl des Parameters. Die blinkende LED ist die Aufforderung, einen Parameter auszuwählen. Durch die Kombination am DIP-Schalter und ggf. die Einstellung der Servoposition auf den gewünschten Wert wird die Art und der Wert des Parameters festgelegt. Details dazu sind weiter unten beschrieben. Es gibt keine Zeitbeschränkung zur Auswahl des Parameters, die Einstellung kann in aller Ruhe erfolgen.
  3. Aufstecken des Jumpers zum Speichern des neuen Wertes. Nach dem Speichern (ca. 2 s) zeigt die LED wieder ein Dauerlicht, und es geht weiter mit Schritt 1.

Sind alle gewünschten Werte gespeichert wird das Modul von der Stromversorgung getrennt und muss ca. 30 s ausgeschaltet bleiben. Der Jumper wird dann ggf. entfernt, nach dem Einschalten sind die gespeicherten Werte aktiv.

Im Setup-Modus gelten besondere Werte für die Parameter, um das Einstellen zu erleichtern:

  • Der Bewegungsmodus ist nicht-neutralisierend, um genaue Positionen für Neutral- und Endstellungen anfahren zu können.
  • Die Stellgeschwindigkeit ist aus dem selben Grund auf den langsamsten Wert voreingestellt.
  • Die Begrenzung der Endpositionen ist aufgehoben, um den maximalen Stellbereich des Servos ausnutzen zu können. Vorsicht beim Einstellen der Endpositionen, den Servo nicht zu lange in den mechanischen Anschlagsbereich fahren!

 Die folgende Tabelle zeigt die Zuordnung der DIP-Schalter zu den einzelnen Parametern.

DIP Switch 1 DIP Switch 2 DIP Switch 3 DIP Switch 4 Parameter
OFF OFF OFF OFF Toggeln des Modus (neutralisierend/nicht-neutralisierend) für Servo 1
ON OFF OFF OFF aktuelle Stellung des Servo 1 als Neutralstellung auswählen
OFF ON OFF OFF aktuelle Stellung des Servo 1 ist minimale bzw. maximale Endstellung
ON ON OFF OFF Stellgeschwindigkeit Servo 1: sehr langsam
OFF OFF ON OFF Stellgeschwindigkeit Servo 1: langsam
ON OFF ON OFF Stellgeschwindigkeit Servo 1: normal
OFF ON ON OFF Stellgeschwindigkeit Servo 1: schnell
ON ON ON OFF Werkseinstellungen für Servo 1 aktivieren
OFF OFF OFF ON Toggeln des Modus (neutralisierend/nicht-neutralisierend) für Servo 2
ON OFF OFF ON aktuelle Stellung des Servo 2 als Neutralstellung auswählen
OFF ON OFF ON  aktuelle Stellung des Servo 2 ist minimale bzw. maximale Endstellung
ON ON OFF ON Stellgeschwindigkeit Servo 2: sehr langsam
OFF OFF ON ON Stellgeschwindigkeit Servo 2: langsam
ON OFF ON ON Stellgeschwindigkeit Servo 2: normal
OFF ON ON ON Stellgeschwindigkeit Servo 2: schnell
ON ON ON ON Werkseinstellungen für Servo 2 aktivieren

 

Im folgenden wird die Einstellung der Werte für jeden Parameter genau beschrieben. Voraussetzung ist dabei immer ein gesteckter Jumper und ein Dauerlicht der LED.

Einstellung des Servomodus

Damit wird festgelegt, ob sich der Servo in einem neutralisierenden oder in einem nicht-neutralisierenden Modus bewegt. Im neutralisierenden Modus kehrt der Servo bei Neutralstellung des Schalters am Sender in seine eingestellte Neutralposition zurück. Im nicht-neutralisierenden Modus bleibt der Servo bei Neutralstellung des Schalters am Sender an seiner aktuellen Position stehen. Welche der beiden Modi gewählt wird, hängt vom Einsatzzweck ab.

  • Jumper entfernen, LED blinkt
  • am DIP-Schalter Kombination gem. der Tabelle einstellen
  • beim Stecken des Jumpers wird der aktuelle Wert umgeschaltet, d.h. aus einem neutralisierenden Modus wird ein nicht-neutralisierender Modus und umgekehrt (toggle).

Einstellung der Neutralposition

Damit wird die Ruheposition des Servos festgelegt, die nach dem Einschalten angefahren wird. Im neutralisierenden Modus ist dies die Stellung, welche angefahren wird, wenn sich der Schalter am Sender in Neutralposition befindet.

  • Jumper entfernen, LED blinkt
  • am DIP-Schalter Kombination gem. der Tabelle einstellen
  • den Servo in die gewünschte Neutralposition fahren
  • beim Stecken des Jumpers wird die aktuelle Position als Neutralposition gespeichert

Einstellung der Endpositionen

Im Setup-Modus ist die übliche Begrenzung des Servowegs (Impulslängen zwischen 1,0 ms und 2,0 ms) aufgehoben, um den max. möglichen Ausschlag (abhängig vom Servo) auszunutzen. Vorsicht bei der Einstellung der Endposition, der Servo kann beschädigt werden wenn er dauerhaft über seine mechanische Endposition hinaus in Anschlag gefahren wird.

Beide Endpositionen werden mit der gleichen DIP-Schalter Kombination gespeichert, die Unterscheidung zwischen minimaler und maximaler Position ergibt aus der Lage der Endposition relativ zur Neutralstellung. Vor der Einstellung der Endpositionen sollte daher die Neutralstellung überprüft und ggf. angepasst werden.

  • Jumper entfernen, LED blinkt
  • am DIP-Schalter Kombination gem. der Tabelle einstellen
  • den Servo in die gewünschte Endposition fahren
  • beim Stecken des Jumpers wird die aktuelle Position als Endposition gespeichert. Liegt die aktuelle Position unterhalb der Neutralstellung, wird der Wert für die minimale Stellung gespeichert. Liegt die aktuelle Position oberhalb der Neutralstellung, wird der Wert für die maximale Stellung gespeichert.
  • u.U. die zweite Endposition auf gleiche Weise speichern

 Einstellung der Stellgeschwindigkeit

Für die Stellgeschwindigkeit stehen vier Werte zur Auswahl: sehr langsam, langsam, normal und schnell. Die Zeit, die der Servo benötigt, um von einer Endposition zur anderen zu fahren, hängt von den gespeicherten Endstellungen ab. Geht man von dem Standardwert von 1,0 ms für die Impulslängenänderung aus, ergeben sich folgende Zeiten:

Stellgeschwindigkeit Wert in µs/20ms Stelldauer zwischen Endpositionen
 sehr langsam  1  20 s
 langsam  2  10 s
 normal  5  5 s
 schnell  10  2 s

 

  • Jumper entfernen, LED blinkt
  • am DIP-Schalter Kombination gem. der Tabelle einstellen
  • beim Stecken des Jumpers wird die entsprechende Geschwindigkeit gespeichert.

Rücksetzen auf Standardwerte

Mit dieser Option lassen sich alle Parameter auf die "Werkseinstellung" zurücksetzen:

  • Modus: Servo 1: nicht-neutralisierend; Servo 2: neutralisierend
  • Neutralposition: entsprechend einer Impulslänge von 1,5 ms
  • minimale Endstellung: entsprechend einer Impulslänge von 1,0 ms
  • maximale Endstellung: entsprechend einer Impulslänge von 2,0 ms
  • Stellgeschwindigkeit: langsam

 Ablauf:

  • Jumper entfernen, LED blinkt
  • am DIP-Schalter Kombination gem. der Tabelle einstellen
  • beim Stecken des Jumpers werden die Standardwerte für den jeweiligen Servo aktiviert.

 

Download

Die Vollversion der Firmware ist über den kostenlosen Programmierservice erhältlich.

Dateien:
Bauanleitung Schaltservo-Modul

Aufbau- und Bedienungsanleitung für das Schaltservo-Modul.

Datum 25.06.2017
Sprache  Deutsch
Dateigröße 322.12 KB
Download 49

Schaltservo-Modul
  • Firmware (zeitbegrenzte Demoversion)
  • Belichtungsvorlage für die Leiterplatte (PostScript und PDF)
Lizenz private Nutzung Tooltip
Datum 25.06.2017
Dateigröße 11.97 KB
Download 49

 

 


Anzeigen