OXSENS OPenXsensor: Ein schneller Einstieg

weixelgeist

Erfahrener Benutzer
Ich habe jetzt. #define SCALE_VOLTAGE 0.12 eingesetzt
Jetzt wird am Sender die richtige Spannung angezeigt, 5,1 V
Ist das die richtige Vorgehensweise, den Wert #define SCALE_VOLTAGE auf 0.12 zu setzen?
 

kalle123

Jugend forscht ....
Hab den ersten Fehler gefunden
#define PIN_VOLTAGE 6 war falsch, weil beim UNO habe ich jetzt den Sensor auf PIN 2
Ich habe jetzt auf dem Sensor 5,1 V drauf
Am Sender zeigt es mir 42,5 - 42,6 V an
Da stimmt die Referenz nicht?
Aber auf A2 liegt doch das Signal von ACS712 ? STROM!

Das passt doch nicht, das sollte doch der Strom sein, A4 und A5 ist das Vario, aber wo kommt dann VFAS?? VFAS ist Spannung, V!

Und noch eine Bemerkung. Max. Spannung, die an den Eingängen vom Uno anliegen sollte - > 5 Volt! Mit 5.1 wird nix passieren, aber bei mehr .....

cu KH
 

weixelgeist

Erfahrener Benutzer
Aber auf A2 liegt doch das Signal von ACS712 ? STROM!

Das passt doch nicht, das sollte doch der Strom sein, A4 und A5 ist das Vario, aber wo kommt dann VFAS?? VFAS ist Spannung, V!

Und noch eine Bemerkung. Max. Spannung, die an den Eingängen vom Uno anliegen sollte - > 5 Volt! Mit 5.1 wird nix passieren, aber bei mehr .....
Ich muss mir das nochmal genau anschauen, ob man mit dem Sensor überhaupt die SPANNUNG messen kann.

In der Anleitung steht:
"Dieses Modul gibt eine analoge Spannung (0 bis 5 V) aus, die auf dem Strom basiert, der durch das Kabel fließt (in dem der Stromfluss gemessen wird)."

Muss jetzt weg, kann erst Nachmittag weitermachen.

Danke Euch für Eure Unterstützung,
Gerhard
 
Zum Üben kannst du dir ja mal die Spannung, die er ACS ausgibt, anzeigen lassen. Dazu musst du nachschauen, welche oXs-Spannung VFAS in der basic zugeordnet ist, vermutlich Volt_1:
#define VFAS_SOURCE VOLT_1
und dann in der advanced den Spannungsteiler deaktivieren, also (nur die 1. Spalte beachten=Volt_1):
Code:
#define PIN_VOLTAGE         2  , 8     , 8   , 8    , 8   , 8  // wenn A2 verwendet wird   
#define RESISTOR_TO_GROUND  1 , 10    , 10  , 10 , 0  , 18 
#define RESISTOR_TO_VOLTAGE 1 , 8.7 , 22 , 27  , 0 , 47
#define OFFSET_VOLTAGE      0   , 0     , 0    , 0    , 0   , 0 
#define SCALE_VOLTAGE       1.00 , 1.0   , 1.0  , 1.0  , 1.0 , 1.0
Dann siehst du in VFAS die Messspannung des ACS. So versteht man auch besser, wie die Strommessung arbeitet. Und zwar einfach indem von der gemessenen Spannung der Offset abgezogen wird und die verbleibende Spannung durch den mV/A Wert geteilt wird.
 

kalle123

Jugend forscht ....
In der Anleitung steht:
"Dieses Modul gibt eine analoge Spannung (0 bis 5 V) aus, die auf dem Strom basiert, der durch das Kabel fließt (in dem der Stromfluss gemessen wird)."
Hallo Gerhard.

1. Der Uno kann Eingangswerte verarbeiten.

2. In unserem Fall hier kommen die über A0 .... A5 in den Uno rein.

3. A4 und A5 hier nutzen wir für digitale Signale über den I2C Bus

4. Also beleibt noch A0 ... A3

5. Jetzt zum ACS 712. Der Sensor wandelt Strom (A) in eine proportionale Spannung um und die kann man am Signalausgang des Sensors abgreifen. Bei 0A produziert dein ACS 2.5V, fliesst jetzt der Strom von 5A in eine Richtung, liegen am Ausgang des ACS 0V an, fliesst der Strom in die andere Richtung, liegen am Ausgang 5V an.

Bevor du da mit openXsensor rum machst, schau doch einfach ins Netz. Dort gibt es unzählige gute Bespiele, wie z.B. der ACS mit einem Arduino zusammen arbeitet.

Damit kriegst du auch ein Grundverständnis für die Zusammenhänge. Und irgendwann sollte es dann 'klick' gemacht haben. :)

Z.B. das hier Nr. 41 - Stromstärkesensor (ACS712) | Funduino - Kits und Anleitungen für Arduino

Aber ich finde es gut, das du nicht wild die Sachen zusammen lötest, und erst mal mit nem Uno zusammen steckst.

Gerhard, ohne Grundlagen, was Arduino betrifft, muss dir hier immer jemand 'das Händchen halten'. So kompliziert ist das nicht. Du fängst einfach mitten drin an (mit oXs) und da sieht man dann vor lauter Bäumen den Wald nicht mehr. Fang einfach noch mal vorne an mit Arduino.

Auch zu Baro und Arduino gibt es viele gut erklärende Seiten mit praktischen Beispielen, was ein I2C Bus ist, wie man so einen Sensor testen kann usw. Auch wie man mit einem Arduino Spannungen misst, hunderte gut gemachte erklärende Seiten im Netz.

Hau rein - Gruß KH
 

kalle123

Jugend forscht ....
So sieht das hier mit einem ACS 712 20 A aus. Lipo ist nicht angeschlossen.


Die Platine des ACS 712 hab ich etwas verkleinert und direkt mit MPX Steckern versehen.

Aber halt, da kommen ja vier Strippen raus!? Schwarz, rot, orange und gelb.

Lösung: Neben 3 Strippen (Gnd, 5V zum Sensor und eine Strippe mit dem Stromsignal (in V) vom Sensor) greife ich mit der 4.Strippe noch die Lipospannung ab, gebe die über einen Spannungsteiler (der Arduino mag nicht mehr als 5V!!) und hab dann noch die Lipospannung in oXs.

"Spannungsteiler" -> einfach im Netz nachlesen ;)

cu KH
 
Jetzt stehe ich ziemlich am Schlauch.
Heißt das, mit dem ACS712 kann ich keine Spannung messen?
Da brauche ich einen eigenen Spannungssensor dazu?
Njjein, der ACS712 gibt eine Spannung analog zum fliessenden Strom aus . Das heißt er misst Strom.
Zum Spannung messen brauchst du einen Spannungsteiler, der zwischen Lipo und Arduino kommt, weil am Arduino Eingang nur maximal 5 Volt ankommen dürfen.
 

weixelgeist

Erfahrener Benutzer
Hallo Gerhard.

1. Der Uno kann Eingangswerte verarbeiten.

2. In unserem Fall hier kommen die über A0 .... A5 in den Uno rein.

3. A4 und A5 hier nutzen wir für digitale Signale über den I2C Bus

4. Also beleibt noch A0 ... A3

5. Jetzt zum ACS 712. Der Sensor wandelt Strom (A) in eine proportionale Spannung um und die kann man am Signalausgang des Sensors abgreifen. Bei 0A produziert dein ACS 2.5V, fliesst jetzt der Strom von 5A in eine Richtung, liegen am Ausgang des ACS 0V an, fliesst der Strom in die andere Richtung, liegen am Ausgang 5V an.

Bevor du da mit openXsensor rum machst, schau doch einfach ins Netz. Dort gibt es unzählige gute Bespiele, wie z.B. der ACS mit einem Arduino zusammen arbeitet.

Damit kriegst du auch ein Grundverständnis für die Zusammenhänge. Und irgendwann sollte es dann 'klick' gemacht haben. :)

Z.B. das hier Nr. 41 - Stromstärkesensor (ACS712) | Funduino - Kits und Anleitungen für Arduino

Aber ich finde es gut, das du nicht wild die Sachen zusammen lötest, und erst mal mit nem Uno zusammen steckst.

Gerhard, ohne Grundlagen, was Arduino betrifft, muss dir hier immer jemand 'das Händchen halten'. So kompliziert ist das nicht. Du fängst einfach mitten drin an (mit oXs) und da sieht man dann vor lauter Bäumen den Wald nicht mehr. Fang einfach noch mal vorne an mit Arduino.

Auch zu Baro und Arduino gibt es viele gut erklärende Seiten mit praktischen Beispielen, was ein I2C Bus ist, wie man so einen Sensor testen kann usw. Auch wie man mit einem Arduino Spannungen misst, hunderte gut gemachte erklärende Seiten im Netz.

Hau rein - Gruß KH

Danke Dir für Deine Expertise.
Die Funduino Anleitung war das Erste, was ich mit dem ACS712 getestet habe,
Ich habe auch schon oXs Varios gebaut. Die haben auf Anhieb funktioniert.
Und für meinen Oldtimer habe ich eine Arduino Bluetooth-Steuerung für die Heizung realisiert.
Ein bisserl was hab ich also schon gemacht mit dem Arduino.
Ich bin aber eher einer, der zuerst schnell was zusammensteckt und ausprobiert, als dass ich mich mit den Grundlagen beschäftige. :) Die kommen dann beim Probieren von alleine dazu.

Jetzt noch abschließend zu meinem Thema:
1. Mit dem ACS712 kann ich nur die Stromstärke messen messen, weil er die Spannung in Abhängigkeit vom fließenden Strom ausgibt. Aber wenn ich z.B. einen LIPO ohne Belastung anschließe bekomme ich nicht die Spannung des LIPOs.
2. Die Spannung eines LIPOs kann ich direkt mit dem Arduino messen, wenn ich einen Spannungsteiler verwende, der die Eingangsspannung am Arduino auf max. 5V begrenzt.

Ist das so richtig?
 

kalle123

Jugend forscht ....
@ weixelgeist.

An der Stelle geb ich fast auf!

Mit dem ACS712 kann ich nur die Stromstärke messen messen, weil er die Spannung in Abhängigkeit vom fließenden Strom ausgibt. Aber wenn ich z.B. einen LIPO ohne Belastung anschließe bekomme ich nicht die Spannung des LIPOs.
Du schreibst da Quatsch. Sorry.

2. Die Spannung eines LIPOs kann ich direkt mit dem Arduino messen, wenn ich einen Spannungsteiler verwende, der die Eingangsspannung am Arduino auf max. 5V begrenzt.

Das ist richtig.

Aber kannst du nicht einfach mal googlen ...

arduino spannung messen spannungsteiler - Recherche Google

und da z.B. das Erste anklicken? Ist das soooo schwer?

Spannungsmessung mit dem Arduino

und dann einfach mal den Abschnitt Messungen bis 30V durchgehen und vielleicht auch mal auf dem Tisch aufbauen?

Nix für ungut - KH
 

weixelgeist

Erfahrener Benutzer
Ich habe mir gestern diese Anleitung heruntergeladen.
http://www.mint-unt.de/mediapool/78/781152/data/Voltmeter.pdf
Da ist die Schaltung genau beschrieben. Die habe ich schon nachgebaut. Das war nicht schwer.
Aber ich checke das noch immer nicht, wie ich jetzt mit dem ACS712 die LIPO Spannung auf das Senderdisplay bekomme.
Programmcode schreiben ist für mich kein Problem.
Aber elektronische Schaltungen sind ein Buch mit 7 Siegeln, tut mir leid.
 

bendh

Erfahrener Benutzer
Du wirst mit dem ACS712 nie die Lipo Spannung auf das Senderdisplay bringen. Er kann nur den Strom messen.
Diesen gemessenen Strom wandelt das Bauteil in eine Spannung um, damit der Arduino, welcher nur Spannungen messen kann, es verarbeiten kann.
(Als Beispiel entspricht dann 10 A Strom, 1 Volt am Ausgang des ACS.)

Die Spannung des Akkus misst du direkt mit einem weiteren Eingang des Arduinos.
Da der Arduino aber nur maximal 5 Volt ohne Schaden an seinen Eingängen verarbeiten kann, musst du die hohe Akkuspannung mit einem Spannungsteiler anpassen.
 

kalle123

Jugend forscht ....
Gerhard, noch ein Versuch ;)

Ich arbeite ja gerne mit Bildern.

Das ist so ein STROMsensor, wie ich den oben im Bild in eingebauter Situation abgebildet habe.



Das grüne Ding ist da lose bei, brauch ich nicht. Dann an der roten Linie gekürzt und die drei markierten Stellen, da schliesse ich die drei Strippen für die STROMmessung an.

Sieht dann so aus.



ROT ist Vcc, GELB ist Gnd und ORANGE ist das STROMsignal zum Arduino Eingang (bei dir A2).

Die beiden ROTEN Linien in dem Bild, so ist jetzt der Stromlauf über den Sensor. Links einmal in dem Geschlängel über den ACS 712 Baustein, RECHTS direkt von MPX Stecker zu MPX Stecker.

So, jetzt hab ich einen kleinen Trick gemacht, das erst mal fliegend aufgebaut und die MPX Stecker (Papa und Mama Stecker) so angebracht, dass auf der rechten ROTEN Linie die LIPO Spannung (hier 3S 12.6V) anliegt und bei Stromfluß Lipo -> Steller/Regler Motor der STROMsensor eine Spannung von 2.5V bei 0A und 5V bei 20A über die ORANGE Strippe zu A2 liefert.

(Nebenbei, du solltest den ACS 712 so "einschleifen" (Fachbegriff :rot:) zwischen Akku und Motor, dass das gilt 'Spannung von 2.5V bei 0A und 5V bei 20A')

Jetzt kommt die 4. BRAUNE Strippe ins Spiel. Da kommen die 12.6V drauf.

Spannungsteiler kannst du ja jetzt. Also die beiden Widerstände zur Runtersetzung der 12.6V auf kleiner 5V und damit dann auf einen freien Eingang, A2 und A4, A5 sind ja schon belegt.

Das ist die Hardware.

Dann noch oXs konfigurieren. Mstrens Anleitung lesen, wenn nicht verstanden, nochmal lesen ... Wenn immer noch nicht verstanden, mal drüber schlafen, hilft mir ab und zu. :)

Dann aufspielen, einschalten und jetzt sollte die Lipospannung und auch Strom (... und auch das Vario) da sein.

cu KH
 
Wer ernsthaft einen Sensor für sein Modell möglichst schnell aufbauen will, kann mir einfach eine PM schicken. Das artet dann auch nicht aus. Hier ein Spannungsteiler, der sich für 3s bewährt hat und kaum Platz wegnimmt, wenn man den Reset-Taster entlötet hat. 4,7k gegen Masse und 8,2k zum Akku.
 

Anhänge

weixelgeist

Erfahrener Benutzer
Du wirst mit dem ACS712 nie die Lipo Spannung auf das Senderdisplay bringen. Er kann nur den Strom messen.
Diesen gemessenen Strom wandelt das Bauteil in eine Spannung um, damit der Arduino, welcher nur Spannungen messen kann, es verarbeiten kann.
(Als Beispiel entspricht dann 10 A Strom, 1 Volt am Ausgang des ACS.)

Die Spannung des Akkus misst du direkt mit einem weiteren Eingang des Arduinos.
Da der Arduino aber nur maximal 5 Volt ohne Schaden an seinen Eingängen verarbeiten kann, musst du die hohe Akkuspannung mit einem Spannungsteiler anpassen.
Danke Dir.
Mit dem ACS712 bin ich auf dem Holzweg. Du bist der Erste, der mir das bestätigt.
Ich brauche also einen selbst gebauten Spannungsteiler oder einen fertigen Spannungssensor, der eigentlich das gleiche macht.
 
FPV1

Banggood

Oben Unten