Im Modellbau muss man ab und zu auf einen Fernsteuerkanal einen Analogwert aufmischen.
Die Anwendung, die zur hier beschriebenen Schaltung führte, ist ein U-Boot. Dabei wird das analoge Signal eines Neigungswinkelsensors (Inclinometer) auf das Tiefenruder aufgemischt, um eine Stabilisierung der Fahrt unter Wasser zu erreichen. Die ersten Fahrten absolvierte das Boot mit einer Schaltung, die nach dem Buch „Technik der U-Boot Modelle“ (N. Brüggen) aufgebaut wurde. Dabei handelt es sich um einen komplett diskret aufgebauten Mischer. Er funktioniert problemlos. Es ist allerding recht aufwändig, die Parameter einzustellen. Für jede Änderung muss das Boot geöffnet und an einem Poti gedreht werden.

Die neue Schaltung:
Der zentrale Baustein der neuen Schaltung ist ein ATTiny13, ein kompakter Mikrocontroller, der über die notwendigen Anschlüsse und einen AD-Wandler verfügt.
Programmiert wurde dieser in C mit dem Programmpaket WinAVR und dem AVRStudio von Atmel.

Die Aufgaben, die das Programm erfüllen muss, sind folgende:
– Einlesen eines Servosignals
– Einlesen eines Analogwertes
– Aufmischen (addieren) dieses Wertes auf das Servosignal mit einem einstellbaren Faktor
– Ausgabe des Servosignals
– Einstellen des Faktors über eine Einschaltabfrage
– Fail-Safe (Bei Anlagenausfall bestimmte Position anfahren)

Das Einlesen und Ausgeben erfolgt über Zeitschleifen, das Fail-Safe über den Timer.
Grenzfälle bei den Impulszeiten (ausserhalb 1-2ms) werden jeweils abgefangen.

Die Einstellung des Mischfaktors erfolgt, wenn beim Einschalten des Empfängers der Steuerknüppel in der vorderen Position gehalten wird. Nach 3s gelangt man in den Programmiermodus. Hier zeigt das Servo am Ausgang durch seine Stellung den Mischfaktor an. Durch Halten des Knüppels in der vorderen oder hinteren Position kann der Wert verstellt werden. Steht der Knüppel dann für 8s in Mittelstellung, wird der Wert im EEprom gespeichert und in den Betriebsmodus gewechselt.

Da der ATTiny13 über einen internen Oszillator verfügt, sind außer 2 Kondensatoren keine Bauelemente nötig. Auf meiner Platine habe ich noch eine Pfostenleiste für die Programmierung des Bausteines in der Schaltung eingebaut, das erspart bei der Entwicklung das Umstecken.

Die Spannungsversorgung der Schaltung erfolgt mit über das Servokabel. In meinem U-Boot arbeitet ein BEC-System mit einer konstanten Spannung. Bei Betrieb mit Empfängerakkus kann man über eine Spannungsstabilisierung nachdenken. Zum Testen hat das System aber auch Problemlos an Akkus funktioniert.

Das Programm und die Schaltung in der jetzigen Form haben schon mehrere Fahrten unter Wasser hinter sich. Probleme sind dabei keine aufgetreten. Ob das bei anderen Komponenten auch so ist, ist natürlich unklar. Also vor einer Anwendung in teuren Modellen erst ausgiebig testen.

Hier der Code als Text-File. Es ist ein .hex-File, also runterladen, umbenennen und Brennen.
Mischer-Baustein

Der Chip läuft mit 1,2MHz, Eingang vom Sender:PortB3, Servoausgang:PortB4, Analog ein:AD1 (PortB2).

Was ist noch zu tun:
Geplant ist, den einfachen addierenden Mischer durch einen PID-Regler zu ersetzen. Vom Rechenaufwand sollte dies kein Problem sein, eher von den dann einstellbaren Parametern (5 Stück…).
Nicht abgefangen werden bisher Störungen, die zu schnell wechselnden Impulslängen im Bereich von 1-2ms führen. Der Vergleich von aufeinanderfolgenden Werten könnte hierzu dienen.
Auch die Nullage, die Richtung des Analogsignals und die Fail-Safe_Position sind bisher fest einprogrammiert.
Bei zu vielen Parametern wird die Programmierung über den Knüppel allerdings unübersichtlich.
Eine weitere Funktion wäre das Einlesen eines zweiten Fernsteuerkanals mit unsymmetrischer Aufmischung auf den Ausgang (Das Seitenruder soll bei beiden Ausschlägen einen gleichsinnigen Ausschlag des Tiefenruders bewirken, um auch in Kurven stabil zu fahren). Das Einlesen von zwei Signalen mit unbekanntem Abstand zueinander ist allerdings etwas aufwändiger.

Auf folgendes muss ich noch hinweisen:
Die hier zur Verfügung gestellten Daten sind nur zur privaten Verwendung im Modellbau bestimmt. Jede gewerbliche Nutzung bedarf der Genehmigung durch den Autor. Eine Garantie für die Funktionsfähigkeit wird nicht übernommen.