Elektronischer Zerhacker für die Graupner Bellaphon A

Seit vielen Jahren steht die Restauration einer Graupner Bellaphon A auf meiner Projektliste. Leider gibt es nach meinen bisherigen Recherchen nur wenig öffentlich zugängliche Dokumentation. Auch in den Fernsteuerbüchern von Heinz Richter, der u.a. die  Metz-Fernsteuerungen sehr detailliert beschreibt, finden sich nur oberflächliche Informationen. Von daher habe ich mir vorgenommen, interessante technische Details des Senders in diesem Blog zu dokumentieren. Ich freue mich über jegliche Hinweise und Ergänzungen.

⚠ Sicherheitswarnung:
Röhrenschaltungen und Zerhacker arbeiten mit gefährlicher Hochspannung (teils über 300 V DC).
Diese Spannungen sind tödlich bei Berührung!
Dieses Projekt richtet sich nicht an Anfänger.
Wer keine Erfahrung mit Hochspannungs-Elektronik hat, sollte nicht versuchen, solche Schaltungen nachzubauen.

Sicherheit geht immer vor – eine Berührung kann Herzstillstand verursachen.

Mein Ausgangspunkt war eine Bellaphon A mit eingebautem 6 Volt Bleiakku.

Der Sender befindet sich auf der linken Seite und auf der rechten Seite erfolgt die Erzeugung der benötigten Anodenspannung  von ca. 180 Volt.

Nach dem Einschalten meines Senders leuchtete die Betriebsanzeige und die Röhre im Sender wurde beheizt, aber der Sender funktionierte nicht, weil die die Anodenspannung, die normalerweise zwischen den Anschlüssen 3 und 4 anliegen sollte (s. Bild rechts mit der Anschlussbelegung des Trafos), nicht erzeugt wurde. Beim  Ausbau der Spannungswandler-Baugruppe aus dem Sendergehäuse kam dann zu meinem Erstaunen ein mechanischer Zerhacker vom Typ KACO H100/6 (s. Bild links) zum Vorschein, der keinen „Mucks mehr machte“. Ich hatte immer angenommen, dass der Spannungswandler ähnlich wie bei den Metz-Geräten mit einem Transistor bestückt wäre.  

Die sehr geringe Wahrscheinlichkeit einen originalen und voll funktionsfähigen Zerhacker zu finden in Verbindung mit meiner geringen Neigung, mich mit der Elektromechanik des Zerhackers auseinander zu setzen, ließ mich sehr schnell über einen elektronischen Ersatz nachdenken. Der gesamte Schaltplan für die Spannungswandler-Baugruppe war zwar relativ leicht zu ermitteln (s. Bild unten – die Ziffern entsprechen den Anschlüssen des Trafos), aber die geringe Baugröße des KACO H100/6 – Gehäuses, das den neuen Zerhacker aufnehmen sollte, stellte mit einer maximalen Platinengröße von 42 x 20 mm eine Herausforderung dar.

 

Elektronischer Zerhacker: Auf- und Einbau

Im Internet habe ich diverse Schaltungsvorschläge gefunden und einige davon auch als Prototyp aufgebaut., aber dann letztlich doch eine eigene Schaltung entwickelt, die meinen Vorstellungen entspricht. Als Taktgenerator für die benötigte 200 Hz Frequenz wird ein PIC-Controller eingesetzt. Damit lassen sich  symmetrische Rechtecksignale mit sauber definiterer Pulsweite zur Ansteuerung der MOSFETs erzeugen. Zur Theorie gibt es ein sehenswertes YouTube Video (ab Minute 20).

Die Versorgungsspannung für den Controller wird lokal erzeugt, so dass keine zusätzlichen Leitungen über die ohnehin vorhandenen Anschlüsse des Zerhackers hinaus erforderlich sind. Durch den Einsatz von SMD Bauteilen und die Auswahl geeigneter MOSFETs konnte ich alle Komponenten auf einer einseitig bestückten Leiterplatte unterbringen (s. Bild rechts). Die Schaltung ist so dimensioniert, dass sich die Bauteile nicht nennenswert erwärmen; damit kann die Leiterplatte gefahrlos in das vorhandene Gehäuse eingebaut werden.  Die vollständig bestückte Leiterplatte ist im Shop erhältlich.

Wenn man die Leiterplatte in das vorhandene Gehäuse einbauen möchte bzw. den Sockel zur Adaptierung der Leiterplatte verwenden will, dann entfernt man zunächst das Aluminium-gehäuse in dem man es unten am Sockel aufbördelt und dann abzieht. Hierzu kann etwas Kraft erforderlich sein, weil der Messingrahmen das Gehäuse zusätzlich fixiert. Dann werden die Anschlusskabel von den Sockelstiften im unteren Bereich, die später als Verbindung zur Leiterplatte dienen sollen, abgelötet (zweimal schwarzes Kabel – jeweils einmal auf der Vorder- und einmal auf der Rückseite – und einmal rotes und einmal weißes Kabel).

Im nächsten Schritt wird das Innenleben des Zerhackers komplett entfernt, um Platz für die Leiterplatte zu schaffen. Das weiße Kabel wird nicht weiter verwendet und kann direkt am Sockel abgeschnitten werden. Die Drahtbrücke zwischen weiß und rot sollte ebenfalls herausgetrennt werden, um mögliche Kurzschlüsse zu vermeiden. 

Die Leiterplatte kann jetzt im Drahtkäfig positioniert und angeschlossen werden. Das rote Kabel wird mit GND verbunden und die schwarzen Kabel mit TR1 bzw. TR2 wobei es egal ist, welches schwarzes Kabel an welchen Anschluss geht.

Ich hatte mir einige Gedanken gemacht, wie ich die Zerhacker-Leiterplatte am besten mechanisch befestige. Nach diversen Versuchen habe ich mich für die einfachste Lösung entschieden: Befestigung mit einer ausreichenden Menge Heißkleber auf der Vorder- und Rückseite der Leiterplatte, um eine sichere und stabile Fixierung auf der Basisplatte zu erreichen (s. Bild ganz rechts).  

Einsatz

Ich habe den Zerhacker in zwei verschiedenen Bellaphone A getestet. Vor dem Einbau habe ich noch präventiv den brauen 5nF Papierkondensator gegen einen modernen Impulsfesten Typen getauscht (s. Bild rechts). Aufgrund der unterschiedlichen Stromaufnahme beider Geräte, die wahrscheinlich vom Zustand der Röhre und dem Abgleich des Senders abhängt, habe ich die Impulslängen so programmiert, dass sich in den verschiedenen Betriebsarten (A1 und A2) Spannungswerte zwischen 150 – 180 Volt eingestellt haben (150 Volt ist die Anodenspannung der Bellaphon B, die Batterie arbeitet und 180 Volt ist die Katalogangabe für die Bellaphon A). Beide Sender funktionierten mit dem Zerhacker, allerdings ist der Zustand (noch) unrestauriert und es kann sein, dass ich die Parametrierung nochmals anpasse wenn ich den Senderteil im Rahmen der kommenden Restaurierung besser verstanden habe.

 

L298N Motortreiber mit RC Fernsteuerempfänger verbinden

Der Servoausgang  eine RC Empfängers stellt zwar alle Informationen bereit, die zur Steuerung eines L298N Motortreibers benötigt werden, aber das Signal muss in geeigneter Weise ausgewertet und neu kodiert werden, da die Ansteuerungslogik des Motortreibers grundsätzlich anders ist als die eines RC Servos.

Diese Aufgabe kann der RCRX2Bridge Baustein übernehmen. Es handelt sich dabei um eine Ein-Chip-Lösung, die jeweils einen Kanal auswertet und damit einen Motor der L296 Brücke ansteuert. Die Schaltung ist sehr einfach und der Baustein mit dem Breakout-Board schnell aufzubauen.

RCRX2Bridge Breakout Board
RCRX2Bridge Breakout Board

 

RCRX2Bridge unterstützt die zwei gängigen, aber unterschiedlichen Ansteuerungen von L298N Brücken: Modelle mit 2/4 Phasen und Modelle mit zwei Logik- und einen Speed-Eingang.

Ansteuerung von Brücken mit zwei Eingängen

Typischer L298N Motortreiber mit zwei Eingängen je Motor
Typischer L298N Motortreiber mit zwei Eingängen je Motor

 

Der RCRX2Bridge Baustein wird eingangsseitig, wie im Beitragsbild dargestellt, mit dem Empfänger verbunden. Die Eingangspins des Motortreibers IN1 und IN2 werden wie im Beitragsbild gezeigt, mit den Ausgangspins des Breakout-Boards verbunden. Soll noch ein zweiter Motor angesteuert werden, dann ist dazu ein zweites RCRX2Bridge -Modul erforderlich.

Ansteuerung von Brücken mit drei Eingängen

Typischer L298N Motortreiber mit drei Eingängen
Typischer L298N Motortreiber mit drei Eingängen

 

Konfiguration des RCRX2Bridge für Motortreiber mit drei Eingängen
Konfiguration des RCRX2Bridge für Motortreiber mit drei Eingängen

Für diesen Anwendungsfall wird der RCRX2Bridge Baustein durch eine Lötbrücke bei „MODE“ für die geänderte Logik konfiguriert und dann auch in diesem Fall eingangsseitig, wie im Beitragsbild dargestellt, mit dem Empfänger verbunden.

Die Eingangspins des Motortreibers ENA, IN1 und IN2 werden wie im Bild gezeigt, mit den Ausgangspins des Breakout-Boards verbunden. Soll noch ein zweiter Motor angesteuert werden, dann ist dazu auch hier ein zweites RCRX2Bridge -Modul erforderlich.

 

Der Bausatz für das Breakout-Board mit dem RCRX2Bridge Controller ist im Shop erhältlich.

 

Fernsteuerung mit Gamepad oder Joystick

Überblick

Bereits im vorherigen Beitrag wurde die Möglichkeit vorgestellt, mit einem Joystick oder Gamepad, einem PC und einem PiKoder/SSC bis zu acht Servos über eine USB-Schnittstelle zu steuern. Hier wird nun beschrieben, wie eine drahtlose Modellfernsteuerung mit einem PiKoder – Empfänger, dem PiKoder/SSC RX, realisert werden kann.  Zur Signalübertragung kommt Bluetooth zum Einsatz.

Aufbau

Zunächst ist der PiKoder/SSC RX auf der Ebene des Betriebssystems mit dem PC zu verbinden. Hierzu sucht man zunächst in der Gerätesteuerung nach neuen Bluetoothgeräten.

Nach kurzer Zeit sollte das Bluetooth-Modul des Empfängers angeboten werden. Der PIN lautet “1234”.

Mit der Auswahl “Verbinden” erfolgt die Kopplung (Pairing) auf Systemebene.

Wie die folgende Ansicht aus dem Geräte-Manager zeigt, werden mit der Kopplung systemseitig auch zwei virtuelle serielle Schnittstellen angelegt auf die wir später im Programm zum Verbindungsaufbau zugreifen. 

Damit ist die Einrichtung abgeschlossen und das Programm JoystickRC kann jetzt wie im vorherigen Beitrag beschrieben gestartet werden. 

Servos mit Gamepad oder Joystick steuern

Überblick

Im Bereich der Robotik ergibt sich häufiger die Notwendigkeit mehrere Servos drahtgebunden anzusteuern, z.B. bei der Realisierung eines Roboterarms oder eines Underwater ROV. Hierbei bietet sich die Bedienung mit einem Gamepad oder Joystick an, weil die Vielzahl der Achsen / Freiheitsgrade die effiziente Kontrolle vieler Kanäle ermöglicht.

Dieser Blog beschreibt den Aufbau, um mit der kostenlosen Windows APP JoystickRC acht Servos drahtgebunden zu kontrollieren.

Die Abbildung der Achsen und Schalter auf die Servokanäle erfolgt flexibel in der Software. Die eigentliche Impulserzeugung für die Servos übernimmt ein PiKoder Serial Servo Controller (PiKoder/SSCng), der über seine USB-Schnittstelle mit dem PC verbunden ist. 

Aufbau

Der Aufbau erfolgt idealerweise mit Hilfe eines PiKoder/SSCng –Entwicklungsboards und mit einem Standard USB-Kabel. Die Spannungsversorgung des PiKoder erfolgt über den USB Port. Da die USB-Schnittstelle nicht genügend Leistung zum Betrieb der Servos liefern kann, sind diese mit einer unabhängigen Spannungsquelle über die Anschlussleiste zu versorgen. Um Ausgleichströme zu verhindern, die den PC beschädigen könnten, darf der Jumper auf der PiKoder-Leiterplatte auf keinen Fall gesteckt sein. Nähere Informationen finden Sie im User Manual der PiKoder.

Software

Das Programm JoystickRC ist kostenlos im Microsoft Store erhältlich. Weitere Hinweise zur Bedienung finden Sie auf der Webseite des Programms.

 

Mehrere Joysticks mit Joystick Gremlin zu einem PPM – Signal mischen

Manchmal reicht nur ein Joystick oder ein Gamepad für einen Use Case nicht aus sondern es sollen weitere USB-Geräte wie Ruderpedale und ein Headtracker in das PPM-Signal gemischt werden. 

Wenn die Geräte als Windows Joysticks/Gamepads erkannt werden, dann bietet der Joystick Gremlin in Verbindung mit vJoy die Möglichkeit, Devices zu einem oder mehreren neuen virtuellen Geräten zu kombinieren.

Die Joystick2PPM – Applikationen Joystick2PPM, Joystick2PPM4Arduino, USBtoPPMforCompuFly und JoystickRC4Diddyborg bieten alle verbundenen (auch virtuellen) Joysticks dann beim Programmstart als Eingabegerät an und ermöglichen durch die Virtualisierung die Zuordnung der Achsen der verschiedenen USB-Geräte zu den PPM-Kanälen.

Die Installation von Joystick Gremlin ist im Manual beschrieben und war bei mir problemlos möglich. Danach konfiguriert man virtuelle Devices mit der gewünschten Zuordnung der Achsen und Tasten.

Findet eine der Joystick2PPM-Apps beim Start mehr als ein Device (egal ob physisch oder virtuell), dann wird dem User beim Programmstart eine Auswahl mit allen gefundenen Devices angeboten. 

Wird durch den Benutzer keine Auswahl getroffen, dann wird automatisch der erste Joystick in der Liste verwendet.

 

 

DiddyBorg mit QGroundControl – Joystick fernsteuern

In diesem Blog beschreibe ich, wie ich die Joystick- / Gamepad-Fernsteuerung meines RPI-gesteuerten DiddyBorg zu QGroundControl und MAVLink als Kommunikationsprotokoll weiter entwickelt habe. 

Damit habe ich die Basis geschaffen, um zukünftig in einer Standardumgebung weitere Sensoren zu verarbeiten und Missionen für den DiddyBorg zu planen und durchzuführen.

Softwareinstallation auf dem Raspberry Pi (RPi)

Auf dem RPi installieren Sie zunächst pymavlink, die Python-Version der MAVLink-Libraries. Am einfachsten geht dies mit PIP:

pip install pymavlink

Dann erstellen Sie ein Verzeichnis, z.B. diddy2QGC, in das Sie die Python-Module diddy2QGroundControl.py und ThunderBorg3.py aus dem Github-Repository dieses Projekts kopieren. In diesem Verzeichnis starten Sie dann später das Python-Skript mit:

 python diddy2QGroundControl.py

Softwareinstallation auf dem Desktop

Installieren Sie QGroundControl auf Ihrem Desktop.

Starten der Anwendungen

Stellen Sie sicher, dass sich der RPi und Ihr Desktop im gleichen Netzwerk befinden und starten Sie QGroundControl (QGC) und das Python-Skript (die Reihenfolge ist ohne Bedeutung). 

Der DiddyBorg sendet Heartbeat-Messages, die von QGC erkannt und beantwortet werden. Nach dem Austausch einiger weiterer Messages (bitte nicht von den Fehlermeldungen irritieren lassen), ist die Verbindung hergestellt und Sie finden dann in den Vehicle-Einstellungen die Möglichkeit, Ihren Joystick einzulernen. Bitte beachten Sie dabei, dass diddy2QGroundControl.py im Mode 2 den Roll-Kanal für die Rechts/Links-Steuerung und den invertierten Wert des Pitch-Kanals für die Motorsteuerung verwendet.

 

 

 

Modernisierte Bedieneroberfläche für CompuFly von Flytron

In diesem Blog stelle ich meine Windows-App USB2PPM4CompuFly für den CompuFly USBtoPPM Converter V2.0 von Flytron vor. Diese Software ersetzt das auf der Flytron Produktseite bereit gestellte CompuFly – Programm.

Die USBtoPPMforCompuFly-App behält die bewährte Bedienung des  CompuFly-Programms weitgehend bei, präsentiert sich aber als komplett neu entwickelte Windows 10/11 App mit einer neueren Oberfläche und neuen Features.

Nach dem Start verbindet sich die App automatisch mit dem Converter und dem ersten angeschlossenen DirectX-fähigen Joystick oder Gamepad. Die verwendete Konfiguration wird bei Beendigung des Programms gespeichert und beim Neustart wieder geladen.

Die Bedieneroberfläche ist intuitiv und selbsterklärend: den Channel Outputs werden Joystick-Achsen bzw. Slider oder Buttons zugeordnet. Achsen und Slider-Kanäle können „getrimmt“ werden und zur Anpassung an spezifische Anwendungsfälle steht zusätzlich EPA (Einstellung des Servoweges) zur Verfügung.

Über den Umfang des Open Source Programms Compufly.zip version 1.35 hinaus bietet USBtoPPMforCompuFly eine Schalterfunktion für die Joystick-Buttons an. Hierzu ist ein Button als Eingang für einen Servokanal auszuwählen und die Checkbox „sw“ zu aktivieren.

Die USBtoPPMforCompuFly-App beziehen Sie im Microsoft App Store.

 

Open Source Android App zur Modellfernsteuerung mit Bluetooth

Übersicht

Mit der „picCAR“ App wird ein Android-Tablet oder Smartphone mit Bluetooth zum Fernsteuersender.

Die App basiert ursprünglich auf dem Cxem Car 1 Open Source Projekt. Es wurden verschiedene Anpassungen der Benutzeroberfläche vorgenommen und die Steuerbefehle auf den PiKoder/SSC RX Empfänger umgestellt.

Die App ist „Open Source“ und wird über Github bereit gestellt.

Bedieneroberfläche

Bedieneroberfläche picCAR

Die Bedieneroberfläche ist intuitiv und einfach verständlich. Es stehen vier verschiedene Modi zur Verfügung: über Tasten („Button Control“), virtuellen Joystick, Beschleunigungsmesser und eine Kombination aus Beschleunigungsmesser mit logischem Schieberegler. Die Verbindung zum Empfänger wird aufgebaut, sobald der Bedienmodus ausgewählt wurde.

Der Aufbau des Empfängers ist auf der PiKoder/SSC RX Seite beschrieben. Die App wird von allen PiKoder/SSC Firmwareversionen unterstützt. Soll die Time-out-Funktion der App genutzt werden, dann ist mindestens Release 1.03 zu verwenden.

picCAR User’s Guide (.pdf File, DE)

Der picCAR User’s Guide beschreibt die Funktionen der picCAR APP im Detail.

 

Arduino Fernsteuersender mit iRangeX Multiprotokollmodul

Der vorherige Blog beschreibt den Arduino-PPM-Encoder. Zusammen mit einem Multiprotokollmodul können Sie mit geringem Zusatzaufwand einen vollständigen Fernsteuersender aufbauen.

Dazu adaptieren Sie das Modul über ein Arduino-Prototyp-Shield. Es sind allerdings nicht alle Shields gleich geeignet. Einige Shields haben im unteren rechten Bereich kein Lochraster sondern ein spezifisches Layout wie die rote Leiterplatte im Bild. Sie benötigen aber ein Prototyp-Board mit vollständigem Lochraster wie die blaue Leiterplatte.

Arduino Prototyp Sields

Die elektrische Verbindung zwischen dem Arduino und dem Modul stellen Sie mit einer fünfpoligen Stiftleiste mit extra-langen Stiften her. Stecken Sie die Stiftleiste in die Buchsenleiste auf der Rückseite des Moduls ein. Positionieren Sie das Modul dann auf dem Prototyp-Shield und finden so die korrekte Position für das Modul und die Lötpunkte, die Sie verwenden müssen. 

Um einen sicheren Halt zu gewährleisten, habe ich noch zusätzlich Klettband vorgesehen. Da sich durch diese zusätzliche Zwischenlage die Höhe der Lötstifte nochmal verändert, können Sie die Stifte erst jetzt einlöten.

Die Verdrahtung zur Spannungsversorgung und für das PPM Signal entnehmen Sie dem Bild. Mit dem Aufstecken des Moduls ist der Aufbau abgeschlossen.

 

 

 

 

 

 

 

 

USB2PPM by Arduino

Meine bisherigen Blogs zur Verbindung eines Joysticks mit einer Modellfernsteuerung über USB haben immer einen meiner PiKoder verwendet. Aber natürlich kann auch ein Arduino die PPM-Signalerzeugung übernehmen. 

Zur Umsetzung dieser Idee habe ich einen Arduino Sketch USB2PPM_by_Arduino (Open Source) erstellt, den Sie auf Github finden. Das Programm implementiert einen PPM-Encoder, dessen Parameter und Kanalwerte über serielle Kommandos gesetzt werden.

So können Sie u.a. die Polarität des Ausgangssignals umschalten und die Zahl der PPM-Kanäle im Bereich von eins bis acht wählen, um den Encoder auf Ihren Sender anzupassen.  

Das PPM Signal finden Sie am Pin D8. Zur Verbindung mit dem Schülereingang Ihrer Modellfernsteuerung benötigen Sie dann noch ein entsprechendes Kabel. Möglicherweise ist es auch sinnvoll, ein Arduino – Prototyp – Shield zu verwenden, das eine geeignete Buchse aufnimmt, um eine stabile Verbindung sicher zu stellen. 

Für die Integration der PPM-Encoders in Ihre Anwendung entnehmen Sie die Definition der Kommandos und Nachrichten dem Headerfile protocol.h.  

Außerdem finden Sie im Microsoft Store die Joystick2PPM4Arduino App mit der Sie einen Joystick oder Gamepad (DirectX-fähig) verwenden, um den Arduino-PPM-Encoder anzusteuern. Die App arbeitet mit dem Arduino Uno, Nano und Micro Pro.