TECHNIK

Ein Telemetriesensor im Eigenbau


6-Zellen-LiPo-Wächter

Neulich zeigte mir mein Modellfliegerfreund Volker, dass er an seinen Futaba-Empfänger an einem separaten Eingang einen Akku anschließen kann, dessen Spannung via Telemetrie vom Empfänger zum Sender übertragen wird. Auf dem Sender kann nun ein beliebiger Alarm eingestellt werden, so dass er z.B. einen Antriebsakku überwachen kann, ohne dass ein zusätzlicher Telemetrie-Sensor benötigt wird. Eigentlich eine tolle Sache, trotzdem war er nicht ganz zufrieden.

Volker fliegt einige Modelle mit fünf und mehr LiPo-Zellen. Bricht an einem solchen Akku nun eine Zelle ganz plötzlich weg, solange die anderen praktisch noch voll sind, dann ist die Gesamtspannung des Akkus ja immer noch im grünen Bereich, obwohl sich vielleicht bereits eine Katastrophe anbahnt. Deshalb war mein Freund auf der Suche nach einem Sensor, der ihm nur die Spannung der niedrigsten Zelle eines Akkus liefert, um diese dann an den besagten Eingang des Empfängers anzuschließen und zu überwachen. Bis zu unserem Gespräch war er jedoch auf dem Markt nicht fündig geworden. Ich habe ihm deshalb versprochen, dass ich mir dazu etwas einfallen lassen würde.

Arduino Board als Grundlage

Da ich sowieso schon länger damit geliebäugelt hatte, mir eigene Sensoren für meine Jeti-Anlage zu bauen, war das ein willkommener Anlass, die Sache endlich anzugehen. Vom Grundsatz her sollte es ja nicht allzu schwierig sein. Letztlich müsste man ja nur die Spannung aller Zellen einzeln bestimmen und die niedrigste dann an einen entsprechenden Anschluss durchschleusen.

Elektronische Basis sollte ein Arduino pro mini Board sein (Bild 1). Bei Arduino handelt es sich um ein Open-Source-Projekt, im Rahmen dessen sowohl standardisierte und einfach zu nutzende Hardware für eigene Elektronikprojekte als auch eine umfangreiche Entwicklungsumgebung für den auf der jeweiligen Hardware vorhandenen Mikroprozessor zur Verfügung steht.

Bild 1



Programmiert wird in der Programmiersprache C, wobei die Programmiersprache zusätzlich um mikroprozessorspezifische Elemente ergänzt wurde. Die in verschiedenen Ausführungen erhältlichen Arduino Boards beinhalten neben dem reinen Mikroprozessor schon eine umfangreiche Beschaltung. Somit kann solch ein Board sehr einfach und in vielen Fällen sogar ohne Zusatzbeschaltung genutzt werden.

Das nur 33×18 mm große Arduino pro mini Board bietet acht analoge Eingänge, für die man eine anliegende Spannung in einen zur Spannung proportionalen Digitalwert umwandeln kann. Damit lassen sich die Spannungswerte sehr einfach vergleichen und die Zelle mit der niedrigsten Spannung feststellen. Einzige Voraussetzung ist, dass die umzuwandelnde Spannung höchstens so hoch sein darf, wie die interne Referenzspannung des Mikroprozessors.

Berechnung der Zellspannung

Das pro mini Board gibt es in einer 3,3-Vund einer 5-Volt-Variante. Beide können mit einer Spannung von bis zu 12 V versorgt werden. Damit der auf dem Board integrierte Spannungsregler auch wirklich die genannten Referenzspannungen erzeugen kann, muss die Versorgungsspannung etwas über der gewünschten Referenzspannung liegen. Aus diesem Grund habe ich mich für die 3,3-V-Variante entschieden. Damit ist gewährleistet, dass die Referenzspannung auch dann (noch) sicher erzeugt werden kann, wenn die Versorgung des Boards über einen Empfängerakku mit vier NiMh-Zellen erfolgt.

Wenn wir uns an den Physikunterricht in der Schule (in meinem Fall vor ca. 50 Jahren) erinnern, dann fällt uns vielleicht noch der nicht allzu schwierige Zusammenhang eines Spannungsteilers mit zwei Widerständen R1 und R2 an einer Spannung U ein. Dieser besagt, dass die entstehenden Teilspannungen über R1 und R2 folgender Gesetzmäßigkeit unterliegen: U1/R1 = U2/R2. Denken wir dann noch etwas weiter nach, finden wir vielleicht auch noch die Formeln zur Berechnung der Teilspannungen U1 und U2. Falls nicht, kann man natürlich auch auf das bekanntlich fast allwissende World Wide Web zurückgreifen. Für U1 gilt: U1 = U/ (R1+R2)*R1 und für U2: U2 = U/(R1+R2)*R2. Und genau diese Formeln brauchen wir nun, um die Spannungen am jeweiligen Zellenanschluss aus der Teilspannung kleiner 3,3 V und den beiden Widerständen des zugehörigen Spannungsteilers zu berechnen. Die Zellenspannung ergibt sich dann aus der Differenz zwischen genau dieser Spannung minus der Summe der Spannungen der davor liegenden Zellen.

Für den Prototyp des geplanten Sensors wurde eine maximale Anzahl von sechs LiPo-Zellen vorgesehen. Lötet man die Spannungsteiler auf einer Streifenplatine zusammen (Bild 2), wird diese Platine exakt so breit und lang wie das Arduino Board. Man muss nun nur noch GND der beiden Platinen verbinden und die Abgriffe an den Spannungsteilern mit den Analogeingängen A0 bis A5 verbinden (Bild 3). Die Versorgung des Arduino Boards erfolgt über ein Servokabel, wobei lediglich Plus an RAW und Minus an GND des Boards anzulöten sind. Die Impulsleitung bleibt ungenutzt.

Bild 2

Ausgabe der Spannung

Damit sind wir dann schon so weit, dass wir die Spannung der einzelnen Zellen berechnen und auch feststellen können, welche Zelle die niedrigste Spannung hat. Bis hierhin geht alles ohne zusätzliche Beschaltung des Arduino Boards. Aber noch haben wir diese Spannung nicht ausgegeben. Da wird’s jetzt vielleicht doch nicht ganz so einfach. Und zwar deshalb nicht, weil wir diese Spannung nicht einfach durch irgendeinen Befehl an einem Pin des Arduino Bords erzeugen können. Das einzige, was man machen kann, ist eine gepulste Spannung zu erzeugen, deren Pulsfrequenz dem Digitalwert des vorher umgewandelten Analogwertes entspricht. Um daraus dann eine echte Gleichspannung zu machen, wäre eine zusätzliche Beschaltung erforderlich.

Bild 3



Und genau das hat mir eigentlich nicht gefallen. Bei näherer Betrachtung bin ich drauf gekommen, dass es eigentlich gar nicht notwendig ist, diese Spannung wirklich auszugeben. Im Prinzip reicht die Information, dass eine Zelle unter einen im Programm vorgegebenen Spannungswert gefallen ist. Damit wäre auch ein digitales Umschalten eines Ausganges von high (= Referenzspannung von 3,3 V = Schwellwert noch nicht erreicht) auf low (= 0 Volt = Schwellwert unterschritten) ausreichend.

Die Warnung auf dem Futaba-Sender kann dann so eingestellt werden, dass sie zuschlägt, sobald die Spannung am Sensorausgang auf unter 3,3 V fällt. Und genau so haben wir das dann auch gemacht und ich mir eine zusätzliche Beschaltung und damit zusätzlichen Aufwand erspart. Im konkreten Fall wurde Pin 3 des Arduino Boards als Ausgang verwendet. Das Kabel für den Anschluss der externen Spannung an den Futaba-Empfänger ist also mit Plus an Pin 3 und Minus an GND des Boards anzulöten. Die beiden Platinen werden dann übereinander gelegt und eingeschrumpft.

Programm zum Download

Als sinnvollen Schwellwert für das Umschalten von high auf low habe ich 3,3 Volt angenommen. Wenn diese unter Last erreicht werden, dann wird es sicher Zeit, an die Landung zu denken. Das Programm ist auf Wunsch meines Freundes so gestrickt, dass es den Ausgabepin so lange auf low hält, solange die Spannung bei oder unterhalb 3,3 Volt liegt. Nimmt man die Leistung am Knüppel zurück, so dass die Zellenspannung wieder ansteigt, wird der Ausgabepin auch wieder auf high gesetzt.

Das Programm selber ist nicht sehr umfangreich. Einzige Besonderheit ist, dass die genauen Widerstandswerte der Spannungsteiler in eine Tabelle innerhalb des Programmes übernommen wurden. Dies deshalb, weil die Widerstände meist nicht ganz exakt den farbcodierten Werten entsprechen und dadurch die Messgenauigkeit leiden würde. Durch das Anpassen der Werte kann man eine Genauigkeit von ca. 2 bis 5 % erreichen. Wer möchte, kann sich das Programm von der VTH-Seite (www.fmt-rc.de) herunterladen. Der Spannungsteiler belastet einen LiPo-Akku mit sechs Zellen übrigens mit weniger als 0,4 mA. Bei weniger Zellen wird die Belastung entsprechend geringer.

Das Bild auf der ersten Seite dieses Beitrages zeigt, wie der Sensor im Futaba Umfeld angeschlossen wird. Die Stromversorgung erfolgt über einen freien Empfängeranschluss. Denkbar wäre hier natürlich auch ein V-Kabel zum Empfängerakku. Der Spannungsausgang wird an den Eingang für die externe Spannung des Empfängers angeschlossen. Beim Anschluss des Balancersteckers an den Sensor ist auf richtige Polung zu achten. Wer hier einer versehentlichen Verpolung vorbeugen will, kann statt der gewinkelten Stifte auch ein entsprechendes Balancerkabel an den Spannungsteiler anlöten.

Witziges Detail am Rande: Just an dem Tag, an dem ich den funktionierenden Sensor an meinen Freund übergeben habe, habe ich in der FMT gelesen, dass Multiplex auf der Messe Pro Wing einen Sensor vorgestellt hat, der die Spannung der niedrigsten Zelle liefert. Ich denke aber, dass die Rückmeldung über das von Multiplex verwendete Telemetrieprotokoll erfolgt und damit der Sensor nicht an den Spannungseingang des Futaba-Empfängers angeschlossen werden kann.

Erweiterung für Jeti

Nachdem der Sensor am Futaba-System erfolgreich eingesetzt werden konnte, war der nächste Schritt nun, ihn „Jeti-fähig“ zu machen. Dafür brauchte ich keinen Spannungsausgang mehr, da die Daten ja auf Basis einer seriellen Kommunikation zwischen Sensor und Empfänger ausgetauscht werden. Somit wäre es natürlich auch möglich gewesen, alle Einzelspannungen zurück zu liefern, das wollte ich aber explizit nicht. Ich habe mich auf die Ausgabe der Gesamtspannung des Akkus sowie Spannung und der Nummer der Zelle mit der niedrigsten Spannung beschränkt. Das Programm ist praktisch unverändert geblieben. Es wurde lediglich um das Jeti Kommunikationsprotokoll ergänzt.

Die Spannungsversorgung erfolgt über den Telemetrie-Anschluss, der zusätzlich die Datenleitung beinhaltet. Die Anzeige der Telemetriedaten auf dem Sender kann mit den auf dem Sender vorhandenen Möglichkeiten frei definiert werden. Bild 4 ist ein Screenshot des Senderdisplays und zeigt eine mögliche Darstellung. Für Umin kann nun ein beliebiger Alarmwert festgelegt werden. Die Anzeige von Umin erfolgt analog zur oben beschriebenen Spannungsausgabe des Futaba-Sensors, d.h. bei geringer werdender Last wird auch wieder die gegebenenfalls höhere Spannung angezeigt, was dann auch zur Rücknahme des Alarms führt.

Bild 4



Als zusätzliche Funktion wurde die Möglichkeit geschaffen, die Telemetriewerte auch auf einer Jetibox auszugeben (Bild 5) und den Schwellwert für den Morsecode-Alarm beliebig einzustellen (Bild 6). Der eingestellte Wert wird in den EEPROM des Prozessors geschrieben und bleibt so lange erhalten, bis er erneut geändert wird. Wird die eingestellte Schwelle unterschritten, wird der Morsecode-Alarm für Unterspannung ausgegeben.

Bild 5



Bild 6



Ich selber nutze nur die in Bild gezeigte Telemetriedarstellung auf dem DC16 Sender. Der Alarm für die niedrigste Zellenspannung ist über das Menü „Alarme“ im Sender festgelegt (Bild 7). Den Morsecode-Alarm für den sensorseitigen Alarm habe ich bewusst ausgeschaltet.

Bild 7



Für die Implementierung des Jeti-Protokolls habe ich die im Internet frei erhältliche und von Bernd Wokoek zur Verfügung gestellte Umsetzung des Jeti EX-Protokolls in einer C-Bibliothek verwendet. Diese Bibliothek kann herunter geladen werden (https://sourceforge. net/projects/jetiexsensorcpplib) und enthält auch einige mehr oder weniger einfache Beispielprogramme.

Da ich in Sachen C-Programmierung noch Anfänger bin, habe ich die zur Verfügung gestellten Funktionen längst noch nicht alle „durchdrungen“. Das war aber auch nicht notwendig, weil ich mich für meine Bedürfnisse voll auf die vorhandenen Beispielprogramme stützen konnte. Damit ist es mir relativ zügig und problemlos gelungen, die gewünschten Werte an den Sender zu übertragen und dort auch darzustellen.

Im Prinzip muss man den Sensor zunächst einmal definieren, indem man ihn tabellarisch beschreibt und dabei für jeden Telemetriewert eine ID, einen Anzeigetext, eine Einheit und das Datenformat festlegt. Dann kann dem Sensor in der Setup Routine noch ein Name zugeordnet und die serielle Kommunikation eröffnet werden. In der eigentlichen Programmschleife sind den definierten Telemetriewerten über deren ID lediglich noch die konkreten Messwerte zuzuordnen und mit dem abschließenden Befehl „jetiEx.DoJetiSend“ an den Empfänger zu übergeben. Das war’s dann auch schon. Hinzu kommt lediglich noch die Kommunikation mit der Jetibox, die ebenfalls aus einem Beispielprogramm übernommen und modifiziert werden konnte. Das von mir erstellte Programm steht ebenfalls auf der VTH-Seite zum Download bereit.

Abschließend bleibt nur noch zu erwähnen, dass sich die hardwareseitige Aufrüstung zum Jeti-Sensor lediglich darauf beschränkt hat, auf dem Arduino Bord von TX nach RX einen 2K2-Widerstand einzulöten und das Signalkabel des Servosteckers mit dem TX Pin zu verbinden (Bild 8).

Bild 8



Da das Arduino pro mini Board keinen eigenen USB-Anschluss besitzt, benötigt man zum Download von Programmen noch ein passendes USB-Modul (FTDI Breakout, USB/ Seriellkonverter). Bild 9 zeigt, wie es am Sensor angeschlossen wird. Nach dem Anstecken des USB-Kabels an den PC wird automatisch eine serielle Schnittstelle eingerichtet, deren Portnummer im Gerätemanager ersichtlich und in der Arduino IDE einzutragen ist. Wichtig ist auch, das richtige Board und den richtigen Prozessortyp auszuwählen (Bild 10). Anschließend kann das Programm vom PC auf das Board heruntergeladen werden.

Bild 9



Bild 10



Ganz zum Schluss möchte ich mich vor allem bei meinem Modellfliegerfreund Volker Keck dafür bedanken, dass er die Idee zu einem solchen Sensor hatte und mir damit auch den Anstoß gab, einen lang gehegten Wusch nach einem Eigenbausensor für meine Jeti-Anlage endlich in die Tat umzusetzen. Ein ganz besonderer Dank gilt natürlich auch Bernd Wokoek. Ohne seine geniale C-Bibliothek für das Jeti EX Protokoll hätte ich mich niemals an ein solches Projekt heran gewagt. Und last but not least hat mir das Jeti-Forum weitergeholfen, über das eine oder andere Anfängerproblem in C hinweg zu kommen. Auch dafür sei herzlich gedankt.

Nächster Artikel
X
Nächster Artikel
X
Hier riecht’s nach Sprit
X
aus FMT 12.17
Dieser Artikel ist aus
X
aus FMT 12.17

FMT 12.17

2017-11-22

EDITORIAL

Cover

l Liebe Leserinnen und Leser,

die Messe in Friedrichshafen ist für uns in der FMT-Redaktion traditionell das Highlight zum Saisonabschluss. Die Messe wurde auch in diesem Jahr ihrem Anspruch als Leitmesse im Modellbau gerecht. Ab Seite 20 haben wir für Sie die Highlights der Messe zusammengefasst. Friedrichshafen liegt uns auch…

REPORTAGE

Cover

l 16. Faszination Modellbau - Eine Messe der Superlative

Die Faszination Modellbau in Friedrichshafen ist Höhepunkt und gleichzeitig auch fulminanter Abschluss des Modellbaujahres dafür sorgt nicht zuletzt die FMT-Flugschau „Stars des Jahres“, die auch in diesem Jahr mit so mancher Sensation aufwartete. In unserem umfassenden Messebericht verraten wir…


Cover

l Indoor-Action auf der Faszination Modellbau

Sie läutet traditionell die Indoor-Saison ein und zeigt gleichzeitig, was in diesem Bereich alles machbar ist: die Indoor-Action auf der Faszination Modellbau. Galaktisch ging es in diesem Jahr los, denn Chris Tittel und ich hatten unsere neuen, von den Star-Wars-Filmen inspirierten Podracer dabei und wurden bei einigen Shows sogar vom Team der R2D2-Builders, die mit einem Stand auf der Messe vertreten waren, unterstützt. Die gemeinsame Show mit den Droiden kam nicht nur bei den Zuschauern sehr gut an, sondern machte auch allen Beteiligten großen Spaß.

NEUHEITEN-REPORT

Cover

l Neuheiten der Messe

Die Zeiten ändern sich. War es vor wenigen Jahren noch die Nürnberger Spielwarenmesse, die den Neuheiten-Reigen des neuen Jahres eröffnete, so sind es jetzt andere Gelegenheiten, bei denen die Hersteller an die Öffentlichkeit gehen. Ganz vorne mit dabei: die Messe Faszination Modellbau. Sie markiert nicht nur den Übergang von der Flug- in die Bastelsaison, deckt nicht nur idealtypisch alle Sparten und den Massenmarkt wie auch das Spezialistentum ab, sondern ist sowas wie das Sprungbrett ins neue Jahr. In unserem großen Messerundgang haben wir uns – ohne Anspruch auf Vollständigkeit – vor allem auf die in Friedrichshafen vorgestellten Neuheiten konzentriert. Viel Vergnügen bei der Lektüre.

BAUPRAXIS

Cover

l Weathering eines Schaummodells

Da siehst du alt aus


Cover

l Schnurgerade! Helling für schräge Schnitte

Es gibt beim Bau eines Modells die verschiedensten Leistenformen, die man prinzipiell aus einem Balsabrett schneiden oder sägen kann. Rechteckige Leistenformen kann man ganz leicht und hinreichend genau mit einem Leistenschneider herstellen. Aber wie sieht es mit Leisten aus, die keinen…

EIGENBAU

Cover

l Mikro-DC-3 im Eigenbau

SCHÖNHEIT

TEST

Cover

l MX2 1200 und Edge 540 V3 Race von Hacker Model

SYNCHRON-AKRO


Cover

l Blade Trio 180 CFX von Horizon Hobby

EXTRABLATT


Cover

l Natschalnik von Ostflieger

COME BACK


Cover

l Luscombe Silvaire 8 von aero-naut

Semi-Scale-Trainer

GRUNDLAGEN

Cover

l „Wölbklappe“ für Brett-Nurflügel

Experimente mit einem variablen Schwerpunkt

PORTRÄT

Cover

l Friendly-Modelle von Schuster

Einfach freundlich


Cover

l  Schutztaschen von pull-over

Sie haben schon einen warmen Pullover für den Winter? Ich selbst habe schon so ein gutes Stück, aber mir fehlte noch eine sichere Hülle für meine schöne Flyingshop-Rhönlerche; denn das Einwickeln in ein altes Bettlaken sorgte immer wieder für größere Probleme beim Transport. Und wie wir alle wissen…


Cover

l Mephisto von CARF-Models

Teuflisch gut

TECHNIK

Cover

l Ein Telemetriesensor im Eigenbau

6-Zellen-LiPo-Wächter

KOLUMNE

Cover

l Hier riecht’s nach Sprit

Ich hatte versprochen, das Thema Öl zum Jahresende auch zu beenden. Die beiden Ölsorten Stihl Ultra und Motul 800 Offroad hatten sich schon seit Längerem als empfehlenswert gezeigt. Da keine Langzeiterfahrungen für die Ölsorte Addinol Pole Position High Speed 2T vorlagen, habe ich das Öl an verschiedene Modellflieger verteilt und kann jetzt zu Saisonende ein positives Resümee ziehen. Wer Addinol Pole Position High Speed 2T richtig anwendet, hat einen gute Wahl getroffen. Das richtige Anwenden bezieht sich darauf, dass diese Ölsorte keine Selbstmischer-Zusätze beinhaltet. Man muss zum Mischen schon selbst kräftig tätig werden. Das aber nur einmal, da sich das Öl nicht wieder absetzt.

Bauplan

Cover

l Cassutt „Aggressor“, Teil 2

FORMULA ONE RACER


Cover

l Speedy MAX

Schlepper, Trainer, Alleskönner

VORSCHAU

Cover

l VORSCHAU AUSGABE 1/2018

2,5 m Spannweite, Fluggewicht unter 1 kg, zweiteilige Tragfläche mit vier Klappen und Kreuzleitwerk. Und das Ganze in Voll-Kohle. Das sind die groben Eckdaten des Pino light von Podivin Composite, getestet in der nächsten FMT. Auch Schaumfertigmodelle müssen nicht von der Stange sein. Im Workshop…

Uncategorized

Cover

l VERBÄNDE & VERANSTALTUNGEN

Am 6. und 7. Oktober 2017 öffnete Modellbau Hepf anlässlich seiner 8. Hausmesse die Pforten und präsentierte zusammen mit Partnerfirmen und Teampiloten viele Neuheiten. Ein guter Grund für einen ausgiebigen Besuch im Nachbarland Österreich.


Cover

l Markt und Meldungen

☎ 040 30061950, www.horizonhobby.de


Cover

l Triple speed, R.E.S. und thermic von aero-naut, Teil 3

HOCH DAMIT