OpenXSensor - Strom und Spannungssensor

Status
Nicht offen für weitere Antworten.
Könnt ihr mir evtl. n kurzen Tipp geben, wo ich den ACS einstelle?
Irgendwo in den letzte kommentaren stand, dass man einstellen muss für welchen Messbereich der ist.
Hallo Cappy,
In der oxs_config_advanced.h musst du die Empfindlichkeit des Sensors in mV/A einstellen
Code:
// ***** 6.5 - Current parameters  *****
#define PIN_CURRENTSENSOR   6  //      Arduino pin used to measure the voltage provided by a current sensor
#define MVOLT_AT_ZERO_AMP              2500    // in millivolt
#define MVOLT_PER_AMP                  60      // in milliVolt per Amp
Den Wert entnimmt man aus dem Datenblatt des entsprechenden Sensors. Für den ACS712 30A gilt
1538082919416.png
Du musst also in der Zeile #define MVOLT_PER_AMP 66 eingeben (statt der voreingestellten 60).

Den Eintrag in der oxs_config_basic.h hast du sicher schon auf YES gesetzt
Code:
// ***** 6.5 - Current parameters  *****                                           see also oXs_config_advanced.h for additionnal parameters if you want to measure current with a current sensor
#define ARDUINO_MEASURES_A_CURRENT   YES                                       //   select between YES , NO
 
Zuletzt bearbeitet:
Nabend,
ich habe mich gerade nochmal rangesetzt.
Den Eintrag in der basic hatte ich bereits gesetzt, ja.

Den Eintrag für den 30A Sensor (66) noch nicht.
Allerdings ist das doch nur so ne Art Divisor, oder?
Einen Wert hätte ich doch auch vorher schon sehen müssen.

Jetzt zeigt mir die Taranis immer 0A an. Habe den Sensor auch schon auf mA umgestellt, ändert aber nix.
Muss ich in den Einstellungen in der Taranis nochwas beachten?
Evtl. nen offset oder so setzen?

Cappy
 
Nabend,
ich habe mich gerade nochmal rangesetzt.
Den Eintrag in der basic hatte ich bereits gesetzt, ja.

Den Eintrag für den 30A Sensor (66) noch nicht.
Allerdings ist das doch nur so ne Art Divisor, oder?
Einen Wert hätte ich doch auch vorher schon sehen müssen.

Jetzt zeigt mir die Taranis immer 0A an. Habe den Sensor auch schon auf mA umgestellt, ändert aber nix.
Muss ich in den Einstellungen in der Taranis nochwas beachten?
Evtl. nen offset oder so setzen?

Cappy
Ja, der Wert 66 ist für die richtige Skalierung wichtig. Man müsste auch mit anderen Werten was sehen. Was für einen Strom lässt du denn fließen?
Hast du die Referenzspannung in der config_advanced richtig eingestellt?
Code:
// ***** 6.1 - Voltage Reference to measure voltages and current *****
//#define USE_INTERNAL_REFERENCE  // uncomment this line if you use 1.1 volt internal reference instead of Vcc (voltage divider mst be used to reduce voltages to 1.1 volt max)
//#define USE_EXTERNAL_REFERENCE  // uncomment this line if you use an external reference instead of Vcc
#define REFERENCE_VOLTAGE 5000    // set value in milliVolt; if commented, oXs will use or 1100 (if internal ref is used) or 5000 (if internal ref is not used)
Du könntest auch mal den Wert MVOLT_AT_ZERO_AMP im Abschnitt 6.5 der config_advanced auf 2434 ändern. Dann müsste ja ein Strom von 1A angezeigt werden.
Wie schon vorgeschlagen wurde, kannst du auch mal die Spannung am Out-Pin des Sensors messen und beobachten, ob die sich ändert wenn ein Strom fließt.
 

quax2011

Erfahrener Benutzer
Hi Cappy, was heißt "Die Taranis zeigt mir immer Null an?" Ohne dass ein Strom fließt ist das OK, wenn ein Strom fließt sollte sie schon was anzeigen. Im Zweifelsfall mal am A6 4,2 V anschließen Z.B. 1 Lipozelle.Dann müssten 4,2-2,5 = 1,7 Volt = 1700 mV : 66 = 25,5 A angezeigt werden, dann weisst Du das der Arduino richtig arbeitet. Das Ganze natürlich ohne angeschlossenen Stromsensor!
 
Halli hallo,

ich habe mal ein wenig rumprobiert.
Offensichtlich ist beim ACS712 irgendwas komisch.

Ich habe einfach mal einen Akku über ein Ampermeter an den ACS angeschlossen. Dahinter dann ein ESC und RX der wiederum den Arduino versorgt. Ausserdem ist ein Servo am RX.

Das Ampermeter zeigt 180mA im Leerlauf an.
Gebe ich dem Servo-Kanal konstat ein hin-und-her-und-hin-und-her Impuls sehe ich 300mA.

An der Taranis wird der Sensor als ID3 angezeigt, zeigt aber dauerhaft 0A an.
Dann habe ich den OUT (zu A6 Arduino) vom ACS abgezogen, VCC und GND aber dran gelassen.
Dann messe ich VCC-OUT 2,4V ... IMMER
OUT-GND etwas schwankende 0V ... IMMER

Wenn ich jetzt aber den ACS ganz abziehe und statt dessen einen 1S Akku mit 3,69V an A6 und GND halte, zeigt die Taranis 16,4A an.

Ich denke also, dass der Arduino erstmal funktioniert. Vielleicht müssen die Parameter noch angepasst werden, aber grundsätzlich geht's.

Nur mit dem ACS stimmt das nicht ... ich blicke es aber noch nicht ganz.

Nochmal zum Verständnis ... im eigentlichen Strompfad schleife ich nur PLUS (oder ggf auch nur minus) über die grünen Klemmen.

Am anderen Ende muss ich den ACS mit 5V (VCC-GND) versorgen und kann dann zwischen OUT und GND eine Spannung messen, die sich in Abhängigkeit des Stroms über den Hallsensor bewegt.

Ist das so richtig?
Weitere Vorschaltungen brauche ich nicht?

Cappy
 

kalle123

Jugend forscht ....
Am anderen Ende muss ich den ACS mit 5V (VCC-GND) versorgen und kann dann zwischen OUT und GND eine Spannung messen, die sich in Abhängigkeit des Stroms über den Hallsensor bewegt.

Ist das so richtig?
Weitere Vorschaltungen brauche ich nicht?
Cappy, ich glaube, das hab ich hier schon mal geschrieben. :(

Also noch mal ..........

Du kannst den ACS auch so mal betreiben. Einfach mal 5V an VCC und GND und mit dem Messgerät an GND und OUT Spannung messen. Sollte so um die 2.5V sein. Dann mal über den ACS712 ne Last legen, und schauen, was sich da tut. Wenn du ein vernünftiges DVM hast, sieht du da schon, wenn 1A fließt.
 
Ja Kalle ... das stimmt ... hast Du geschrieben.
Aber wenn Du nochmal liest, was ich geschrieben habe, habe das gemacht.

Ich habe gerade auch noch einen 2ten ACS genommen und nochmal versucht.
Sogar mit einem vernüftigen DVM und nem vernünftigen DAM ;-)

Kommt aber nix raus ... das ist ja das eigenartige.

Cappy
 

quax2011

Erfahrener Benutzer
So Cappy, von Carbonator gelernt: Ein Bild sagt mehr als 1000 Worte: An den Klemmen ein Akku + an die Klemme, Masse läuft durch. Andere Seite ein Verbraucher z.B. eine 12 V Halogenlampe. Unten: Zwischen 1 und 3 -> 5Volt anschließen. Ohne Stromfluss misst Du dann zwischen 1 und 2 die halbe Betriebsspannung - bei 5 V z.B. 2,5 V. Bei z.B. 4,8 V -> 2,4 V. Schließt Du jetzt deinen Verbraucher an steigt die Spannung pro fließendem A um 0,066 V -> 10A Strom + 0,66 V-> 3,16V 20A +1,32V -> 3,82V
 

Anhänge

quax2011

Erfahrener Benutzer
P.S. Ich bin nur nicht sicher ob der ACS 712 ein Uni oder Bidirektionaler Typ ist. Falls das ein BI ist und du betreibt ihn "falsch" herum müsste die Spannung von 2,5V ausgehend weniger werden um die oben beschriebenen Beträge. Aber auch das kann man messen und bei Bedarf die Richtung ändern. Dann ist der Akku halt rechts und der Verbraucher links
 

kalle123

Jugend forscht ....
Cappy, steht denn auf den ICs ACS 712 drauf? Wieviele von den Dingern hast du denn da? Alle aus einer Quelle? Die Chinesen liefern auch schon mal Schrott ....

Wenn deine Sensoren das, was quax2011 hier jetzt noch mal geschrieben hat, nicht machen, sind die Schrott.

Möglichkeit 1, die Chinesen haben dir Schrott geliefert

Möglichkeit 2, du hast die geschrottet.

Und das
Das Ampermeter zeigt 180mA im Leerlauf an.
Gebe ich dem Servo-Kanal konstat ein hin-und-her-und-hin-und-her Impuls sehe ich 300mA.
ist bei nem 30A Sensor nix. Da bist du mit delta 0.12A im "Messsumpf". Das sind 4 ‰ vom Messbereich.
 
Hi Karl-Heinz, bei meinen steht ACS 712T drauf, ELC 30A, 17286. Aber ob das ein Uni oder ein BI ist ? Keine Ahnung.
Den ACS-712 gibt es nur als Bidirektionale Variante
1538235740900.png
In dem Bild von Quax ist der Akku wohl auf der falschen Seite der Klemme angeschlossen. Der Pluspol muss an die obere Klemme und die Last an die untere.
Eine Last von 180mA ist schon sehr wenig. Der Arduino hat einen 10Bit AD-Wandler. Damit kann der Messbereich von 5V (Referenzspannung) in 1024 Schritte aufgelöst werden, also 4,88mV pro Schritt.
edit: Das entspricht einer Auflösung von 70mA.
100mA sind 6,6mV Spannungsänderung am Ausgang des Sensors, also gerade eben etwas über der Auflösung. Zum Testen sollten schon >1A fließen.
 
Zuletzt bearbeitet:
Dann habe ich den OUT (zu A6 Arduino) vom ACS abgezogen, VCC und GND aber dran gelassen.
Dann messe ich VCC-OUT 2,4V ... IMMER
OUT-GND etwas schwankende 0V ... IMMER
Cappy
Da stimmt irgendwas nicht! Hört sich an, als ob die Masseverbindung nicht richtig ist.
Wenn du am Sensor zwischen VCC und Out 2,4V misst und zwischen VCC und GND (am Sensor) 5V dann musst du zwischen OUT und GND 2,6V haben.
 
Schluck ... schon wieder so viele Nachrichten.

Ok ok ... ihr habt mich überzeugt. Ich meine zwar alles bereits mehr oder weniger so gemacht zu habe, wie ihr sagt ... zum test hatte ich auch mal einen Motor am ESC, und habe dann >2A über den ACS gezogen, aber ich mache jetzt alles nochmal von vorne.

Melde mich dann nochmal.

Auf jeden Fall DANKE für Eure Geduld.

Cappy
 
So ... also ich habe dann mal etwas rum-probiert.

Spannungsquelle deren Stromabgabe gemessen werden soll: 3S LiPo 2200mAh
Spannungsquelle ACS 5V: Labornetzteil
Last: 2x LED Strahler
Ampermeter direkt hinter dem Akku
Voltmeter für OUT-GND Messung am ACS

Lastfrei messe ich 2,54V
Bei 1,37A Last messe ich 2,63V

Beide Werte stabil und reproduzierbar, so dass ich mal davon ausgehen würde, dass es richtig ist.
Ist es denn denkbar, dass ein Strom von ~1,4A nur eine Pegeländerung am OUT von 90mV hervorruft?

Da ich nicht ganz wie mein nächster Prüfaufbau aussehen soll, werde ich mal wieder alles mit Arduino aufbauen und an den ESC nen Motor dranpacken, der mind. 2A zieht.
Dann sollte der ACS ja passendes ausspucken.

Da die Kids gerade im Bett sind, wollte jetzt allerdings keinen Motor mehr kreischen lassen.
Dafür habe ich aber für Euch noch ein Bild gemacht.
Zugegebenermaßen ist es eher ein Suchbild und mit nem Augenzwinkern gemeint.

IMG_20180929_201558.jpg

Cappy
 
Oder anders gerechnet
2,63V - 2,54V = 0,09V
0,09V / 0,066V/A = 1,36A.
Passt also perfekt !

edit: nochmal anders gerechnet 0,09V / 1,37A = 0,0657 V/A = 65.7 mV/A
Laut Datenblatt liegt die Empfindlichkeit des Sensors zwischen 63 und 69 mV/A
1538250639391.png
Der Sensor ist also recht gut im typischen Bereich.
Man könnte in der config_advanced jetzt noch 65.7 statt 66 eintragen (falls das kein integer Wert sein muss).
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten