OXSENS xSense - zwei OpenXSensor Telemetrie Module mit Doku

#1
Moin !

Da wir immer noch im Corona Lockdown rumlungern habe ich mit einem Freund zusammen eine Idee gehabt ... Wir wollten ein Telemetrie Modul ähnlich dem UniSense bauen, aber auf Basis von OpenXSensor. Nach einigen initialen Tests haben wir dann angefangen uns Gedanken zu machen wie das Modul denn werden soll.

Folgendes kam dabei raus:

xSense Telemetrie Modul
  • 3,3V Betrieb
  • bis 4S erfassen der Zellspannung
  • Stromsensor basierend auf INA169 und 0m50 Shunt
  • Vario über MS5611
  • extra Analog Eingang für zusätzliche Sensoren
  • BL-RPM Messung onboard über eine Leitung vom Motor
  • 3V Spannungsreferenz
  • Platine ca. 3x3cm groß
  • serieller Anschluss Arduino Bootloader kompatibel
  • Optional GPS anschließbar
  • Pins (Mosi, Miso, Clk) für Bootloader Flashen rausgeführt
  • Anschluss über normale 2,54mm Stecker / Buchsen
Der Schaltplan war auch zügig gezeichnet und das Routing der Platine ist noch im Gange ...

Während dem Zeichnen der oben beschriebenen Variante kam dann die Idee ... Lassen wir doch Vario und Strimsensor weg und machen eine kleine Variante mit gerade mal 15x25mm Platinengröße. Die sollte folgende Merkmale haben:

xSense Mini Telemetrie Modul
  • 3,3V Betrieb
  • bis 4S erfassen der Zellspannung
  • Stromsensor extern anschließbar
  • Vario über I2C Pins anschließbar
  • extra Analog Eingang für zusätzliche Sensoren
  • 3V Spannungsreferenz
  • serieller Anschluss Arduino Bootloader kompatibel
  • Optional GPS anschließbar
  • Pins (Mosi, Miso, Clk) für Bootloader Flashen rausgeführt
  • Anschluss über normale 2,54mm Stecker / Buchsen
Tja und die kleine Platine ist dann doch recht schnell fertig geworden ...

Wir werden Pläne und Infos auf Github veröffentlichen. Dazu soll auch eine brauchbare OpenXSensor Doku entstehen. Da gibt es bei dem Projekt ja hier und da noch Nachholbedarf :)

Den aktuellen Stand könnt ihr euch hier ansehen:
moelski/xSense

Das Mini Modul wird diese Woche noch bei JCBPCB geordert. Falls also jemand Interesse hat kann er sich gerne melden (in der Hoffnung das die Platine keine Bugs hat ...).

Bei der Doku wäre das Ziel, das man vom Flashen eines rohen Mega328 bis hin zum fertig aufgebautem Sensor alles in einem PDF hat ... Könnte klappen :) Den jeweiligen Stand könnt ihr bald auch in der Github Repo finden.

Soweit erstmal ... Feedback ? Gerne :)

Grüße Dominik
 

Anhänge

#3
4S. Nicht 6S.
Der Grund ist einfach ... Wir haben nichts was mit mehr als 4S unterwegs ist :)
Und der Arduino hat auch nicht genug Analog Pins - genaugenommen ist alles dicht ...

Das ganze sollte einigermaßen kompakt werden. Man könnte aber sicher den MS5611 weglassen und mit etwas Lötarbeit einen Adapter bauen um auf 6S zu kommen. 6S wäre auch eine Option für einen Nachfolger ...
 
#6
Anders ist da nichts. Ein normaler openXSensor eben. Wir sind nur dabei zwei Platinen dafür zu erstellen mit etwas Doku.

Quarz ...
Nutzen die interne 8MHz Clock.
 

FJH

Erfahrener Benutzer
#8
Ich würde nicht den MS5611 zusammen mit einem Stromsensor auf eine Platine packen, Thema Erwärmung und dadurch Drift der Messung beim MS5611.
 
#9
Ok Danke für den Hinweis. Dann kommt der MS5611 evtl. doch über ein optinonales Board.
Oder er wird mögichst weit vom Shunt platziert. Mal schauen.
 
#10
Hi,

ich möchte zu dem Projekt auch etwas beitragen.

1. Die 3,3V lassen nur einen Takt von 8Mhz zu. Diese Frequenz ist für bestimmte Sensoren zu niedrig gegriffen.
Ein Tadango wird z.B. damit nicht richtig funktionieren.

2. Wie @Carbonator schon festgestellt hat, macht Spannungsüberwachung der Einzelzellen in aller Regel keinen Sinn. Wer eine Selektion der Zellen beim Fliegen vornimmt, der hat aus meiner Sicht schon verloren.
Das geflackere auf dem Display oder das Loggen der Einzel-Zellenspannung im 1/100 Bereich geht ganz schön auf den Senkel.

3. Viele Drehzahlsteller haben nur eine Spannungsversorgung von 5V oder knapp darüber. Heisst: bei einem 5V Arduino (z.B Arduino ProMini) ist die Referenzspannung dann ne Ecke unter 5V. Sollte wie oben beschrieben, ein Universal openXsensor gebaut werden, der dann in vielen Modellen Anwendung findet, und ohne ihn jedesmal neu zu Kalibieren, für den muss eine externe Referenzspannungquelle her. Meinetwegen im Bereich von 4-4,5V.
Dies würde, bei einer Neuentwicklung lästiges Justieren ersparen und man könnte damit in Serie gehen.

4. Externe Sensoren zum Anstecken sind eine feine Sache. Dies erfordert jedoch entsprechende Platienchen
und/oder ein sicheres Stecksystem.

5. Wer also einen openXsensor bauen will, das überall einsetzbar ist, sollte sich bewusst sein, dass es schon
Vorhandene Hardware gibt welche man problemlos erweitern kann. Siehe Arduino ProMini16Mhz.

Ich für meinen Teil hab mir eine Platine gebaut, die genau über einen ProMini passt und auf meine Bedürfnisse erweiterbar ist. Manko ist sicherlich die Referenzspannung, welche ich immer wieder auf's Neue ermitteln muss.

Damit ihr sehen könnt von was ich spreche, hänge ich mal ein paar Bilder an.
Zu sehen ist Platine mit Spannung(gesamt), ACS758/Ina138/Temp/
Vario und GPS können ohne großen Aufwand, drauf genagelt werden ;)

Wie schon geschrieben, 16Mhz und eine feste Referenz wären meine Gedanken dazu.
Ich wünsche euch viel Erfolg beim Layouten und Testen !

2021-01-15 11_42_32-Window.jpg 2021-01-15 11_43_30-Window.jpg 2021-01-15 11_43_50-Window.jpg 2021-01-15 11_44_03-Window.jpg 2021-01-15 11_44_50-Window.jpg
 

FJH

Erfahrener Benutzer
#11
2. Wie @Carbonator schon festgestellt hat, macht Spannungsüberwachung der Einzelzellen in aller Regel keinen Sinn. Wer eine Selektion der Zellen beim Fliegen vornimmt, der hat aus meiner Sicht schon verloren.
Das geflackere auf dem Display oder das Loggen der Einzel-Zellenspannung im 1/100 Bereich geht ganz schön auf den Senkel.
Über den Sinn der Einzelzellenüberwachung kann man offensichtlich geteilter Meinung sein, jeder letztlich wie er denn möchte. Ich jedenfalls, wie auch viele meiner Kollegen, möchte nicht mehr darauf verzichten.

Ein diesbezügliches Loggen im 1/100 Bereich hat meines Wissens nach niemand hier oder anderswo gefordert. Und wer sich ein "solches Geflackere auf dem Display" anschaut, ja der ist selber Schuld und hat wohl noch nicht begriffen, dass eine Ausgabe von Telemetriedaten sowie Überwachung und ggf. eine Warnung/Alarm auch per Sprachausgabe möglich ist. Was also soll so eine Bemerkung?
 
Erhaltene "Gefällt mir": Leo1962

FJH

Erfahrener Benutzer
#13
Nicht verkrampfen, einfach nochmal die Thematik meiner Frage lesen. Die steht geschrieben im letzten Absatz meines Posts.
 
#14
Moin !

Die 3,3V lassen nur einen Takt von 8Mhz zu.
Richtig. Ich bin aber gerade am überlegen ob ich auf meine Platine noch einen "Murata 8MHz Resonator CSTCE" drauf packe. Ich werde aber heute mal testen wie es sich ohne quarz verhält.
Tadango ... Höre ich gerade zum ersten mal. Ist für mich aber wohl auch nicht so wichtig.

macht Spannungsüberwachung der Einzelzellen in aller Regel keinen Sinn
Mir geht es dabei gar nicht drum die Zellen über die Zeit komplett zu momitoren. Ich will damit lediglich sehen ob eine Zelle wegdriftet. Und wie FJH sagt kann man da in OpenTx einfach eine Warnung drauf legen.
Und mal davon ab ... Diese paar Widerstände stören kaum und die Gesamtspannung ist auch vorhanden.
Also ich für meinen Teil werde die Zellspannung mit abgreifen.

Auch richtitig. Aber meine Platine hat einen 3,3V Regler. Und eine Spannungsreferenz von 3V (jetzt im test gerade 2,5 weil nix anderes da ...).

Externe Sensoren zum Anstecken sind eine feine Sache. Dies erfordert jedoch entsprechende Platienchen
und/oder ein sicheres Stecksystem.
Das sehe ich komplett tiefenentspannt. Mir reichen da dir ganz normalen 2,54mm Steckkontakte (Dupond). Nutzt SM Modellbau auch und abgesehen davon das es etwas größer ist sehe ich da keine Probleme.

Wer also einen openXsensor bauen will, das überall einsetzbar ist, sollte sich bewusst sein, dass es schon
Vorhandene Hardware gibt welche man problemlos erweitern kann. Siehe Arduino ProMini16Mhz.
Ja ist mir bewusst. Aber ich mag diese Huckepack Boards nicht. Und für einige Anwendungen ist mir das zu schwer und zu groß. Und überall einsatzbar ... Nuja ... Ich will ja die Welt nicht neu erfinden. Ich möchte in erster Linie einen Sensor (bzw. kleine und etwas größere Variante) haben den ich in meine Modelle einbauen kann. Wenn dieser Sensor dann auch anderen gefällt und die den auch nutzen ... ok. Wenn nicht ... kann ich da auch mit leben :)

So ich mach mich mal wieder ans Testen und Routen :) Wobei sich bei der kleinen Platine nur noch die Frage stellt ... Resonator oder kein Resonator ... Mal schauen

Dominik
 
#16
So, nach einigem Löten, Doku hacken und Testen kann ich schon mal einen Erfolg vermelden ...
  • Breadboard Variante funktioniert (das dürfte ja so ziemlich der schlimmste Aufbau sein den man sich vorstellen kann ;-) )
  • Telemetrie funktioniert mit internen 8MHz
  • Flashen von MiniCore als Bootloader funktioniert
  • Der Controller läuft auch bei 3,3V Versorgung sauber an
Das sind schon mal brauchbare Voraussetzungen für die Mini Platine ohne Quarz.
Da das Layout für den kleinen fertig ist werden die heute schon mal bei JLCPCB geordert. :)
Wobei ich gerade sehe das auf der Vorderzeit noch Platz wäre für einen Resonator ... Ich glaube das passe ich noch eben an ... Ob man den dann bestückt oder nicht wird sich dann zeigen :)

Als nächstes teste ich mal den RPM Sensor...
 

Anhänge

Erhaltene "Gefällt mir": Ösi

RayX

Ein niemand
#17
Jeder hat zwar so seine Vorstellungen und Wünsche, was mir nicht so ganz klar ist warum dieser Aufwand für "NUR" Strom und Spannung.
Ein ProMini ist nicht wesentlich größer als deine Platine, wenn du die Platine so erweitern würdest das jeder das bestücken könnte was er will, hättest du vermutlich mehr Resonanz.
Über so eine Aktion habe ich auch schon mehrmals nachgedacht, allerdings so wie ich oben schon erwähnt hatte mit mehr Möglichkeiten.
Klein ist auch mein OpenX Sensor, was mich dabei immer etwas stört sind die Boards und die damit verbunden Verdrahtung.
 
#18
warum dieser Aufwand für "NUR" Strom und Spannung
Nennen wir es in erster Linie mal Corona Zeitvertreib und ein bissel Kicad lernen.

Über so eine Aktion habe ich auch schon mehrmals nachgedacht, allerdings so wie ich oben schon erwähnt hatte mit mehr Möglichkeiten.
Ich möchte ja noch einen größeren entwerfen mit Strom & Vario und Option auf 6S. Den kann man dann bestücken wie man möchte ...

Was mich an ProMini & Co schon extrem nervt ... Die Anschlüsse sind überall, aber nicht da wo ich sie haben möchte. Denn genau das führt ja zu diesem Drahtverhau. Bei dem Mini möchte ich das an den Balancer Stecker klemmen und die andere Seite geht zur Telemetrie.
 

Bussard

Erfahrener Benutzer
#19
Vario bleibt weiter das Problem, je mehr Komponenten dicht gedrängt sind und die Umgebung erwärmen.
Deutlich zu sehen bei den FrSky G-RX6 und G-RX8, welche sehr klein sind und meist Vario-Driftprobleme haben.

... Was mich an ProMini & Co schon extrem nervt ... Die Anschlüsse sind überall, aber nicht da wo ich sie haben möchte. .
Beim ProMini Arduino gibt es offensichtlich kein System für die Anschlüsse, die nicht in das 2x 12 Lötpunkte-Raster fallen, seitlich und auch als 2. Reihe sind mir die für uns wichtigen A4 und A5 in mindestens 4 Varianten bekannt. Auch die "Programmierseite" ist in mehreren Belegungen vertreten - unschön.
 

RayX

Ein niemand
#20
Ich denke.... Ojeee
Habe ich wieder gelöscht...

Also, vermutlich würden einige Hier juhu rufen wenn bei deinem Projekt ein Open wie auch immer Sensor heraus kommt der folgende Möglichkeiten auf der Platine hat.

MS5611 oder vielleicht einen zweiten MS5611, Gesamt Spannung, MS4525, GPS Anschluss, vielleicht sogar ein MPU6050 um die Reaktionsfähigkeit des Varios verbessert ( das ist wird aber sehr selten umgesetzt)
Den Strom Sensor für den RX würde ich aber auslagern mit einem Konektor so das man Variable ist welche Stromstärke gemessen werden soll ( dem einen reichen 30A der nächste fängt bei 130 an )

Wichtig wäre den 5611 weit weg vom Proz zu platzieren wegen Erwärmung und damit verbunden Drift.

Aber da sind nur meine Ideen und ich fliege nur Segler oft mit Hilfs Motor.
 
FPV1

Banggood

Oben Unten