OXSENS OpenXsensor - Erste Schritte und Problem

  • Themenstarter Deleted member 51580
  • Beginndatum
Moin, kommt mal bitte wieder runter. In einem technischen Forum kann man gerne über die Technik streiten, alles Andere sollte man außen vor lassen. Unser Bimbeskanzler hat es richtig formuliert: "Wichtig ist, was hinten raus kommt".

Es reicht, wenn einer das @rschloch ist und diese massiv unterschätzte, gruppendynamisch notwendige Funktion würde ich gerne selbst exklusiv weiter wahrnehmen :D

Wir haben schließlich Alle ähnliche Interessen ....
 
Hallo zusammen,

Ich habe auch einen Stromsensor mit dem ACS758 gebaut, allerdings mit der 050B Version (+/- 50A). Ich kann die Fragen von Stromer (Robert) nachvollziehen und möchte auch meinen Senf dazu geben.

Ich benutze die 5V Version des Arduino Mini und speise die 5V vom Empfänger am RAW-Eingang des Arduino ein. Dann hat man in der Tat am Vcc Pin des Arduino nur ca. 4,6V, da der 5V-Regler auf dem Arduino eine zu geringe Eingangsspannung bekommt. Man muss in diesem Fall den Sensor eigentlich für jeden Empfänger/BEC neu programmieren (MVOLT_AT_ZERO_AMP ist bei der B(idirektionalen) Version des Sensors Vcc/2 und Vcc ändert sich ggf. beim Wechseln von einem Empfänger/BEC zum anderen). Das ist nicht sehr elegant und es wäre eigentlich besser, einen eigenen 5V Regler für den Sensor zu spendieren, den man dann nur einmal ausmessen muss. Der Regler auf dem Arduino ist mit einer max. Eingangsspannung von 16V angegeben, würde also nur bis etwa 4S funktionieren. Ich benutze die interne 1,1V Referenz des Arduino mit entsprechenden Spannungsteilern um Viout und Vbat zu messen.
Die Idee einen 3,3V Arduino zu nehmen, ist eigentlich nicht schlecht. Der ACS758 kann ja auch mit 3,3V versorgt werden. Allerdings sagt das Datenblatt des ACS758: 'Devices are programmed for Maximum accuracy at 5.0V Vcc Level'. Wie die Genauigkeit bei Vcc 3,3V abweicht ist nicht angegeben.
Die Frage nach den 40mV/A beantwortet das Datenblatt auch: 'The device contains ratiometry circuits that accurately alter the 0A Output Voltage and Sensitivity Level of the device in Proportion to the applied Vcc Level.' Bei Vcc=3,3V wird die Empfindlichkeit dann um 26mV/A liegen.

Ich denke, das ist einen Versuch wert, mal einen 3,3V Arduino zu nehmen.
Die Offset Spannung bei 0A ist laut Datenblatt für den U-Typ 0,1*Vcc also dann 0,33V.

Gruß,
Reinhard
 
Hallo,

wie gesagt, das kann man so machen. Aber was würde denn mit der Stromanzeige passieren, wenn du den Ardu und ACS direkt, also über VCC mit der BEC Spannung versorgst, für ein Modell A kalibrierst, z.B. auf dessen 4,87V und dann in Modell B wechselst, das 5,12V BEC Spannung liefert?
 
Hallo,

wie gesagt, das kann man so machen. Aber was würde denn mit der Stromanzeige passieren, wenn du den Ardu und ACS direkt, also über VCC mit der BEC Spannung versorgst, für ein Modell A kalibrierst, z.B. auf dessen 4,87V und dann in Modell B wechselst, das 5,12V BEC Spannung liefert?
Hallo,
Beim Offset wäre der Fehler wohl <1A. Bei 50A Strom hätte man einen Fehler von etwa 2,56A, also 5%. Kann man sicher mit leben. Wenn ich einen Elektrosegler habe und bei Motor aus wird mir permanent ein (Offset)Strom von 1A vorgegaukelt habe ich nach 30min einen Fehler von 500mAh in der Kapazitätsanzeige. Das ist bei einem 2000mAh Akku dann schon ein Fehler von 25%.

<edit> ich denke bei den Schwankungen des BEC auch eher an Fälle, wo ein BEC 5V hat und ein anderes 5,5V oder 6V. Für den ATmega 328 auf dem Arduino sind Vcc = 6V schon grenzwertig.
Wenn man sicher ist, dass man nur 5V BEC benutzt, ist es sinnvoll den Arduino nicht über RAW zu versorgen, sondern über Vcc (und auch den Sensorchip). Das Problem der falschen Kapazitätsanzeige kann man in Anwendungen mit kurzen Flugzeiten (< 6min) vernachlässigen.

Gruß,
Reinhard
 
Zuletzt bearbeitet:
Hallo,

hast du eventuell bei der Rechnung nicht berücksichtigt, dass sich nicht nur der ACS Output, sondern auch die Referenzspannung ändert? Dem Ardu hat ja niemand die neue Referenzspannung mitgeteilt, der geht immer noch von 4,87V aus, die in Wirklichkeit 5,12V sind. Wenn du diese Tatsache mit einrechnest, wie sieht es denn dann aus?
 
Hallo,
ich sehe, du kannst auch nicht schlafen ☺
Hab nochmals nachgedacht und du hast Recht!
Für den Sensor gilt
Uoffs. = 0.1*Vcc
Der Wert vom 10Bit ADC des Arduino ist Uin*1023/Uref
Mit Uref = Vcc ist der ADC-Wert für Uoffs = 0.1*Vcc*1023/Vcc=102.3 also unabhängig von Vcc!
Gleiches gilt für die Empfindlichkeit mV/A. Usense [mV/A] = 8 * Vcc. Auch hier kürzt sich Vcc raus. Bleibt also nur ein Problem bei Vcc > 6 V. Darauf kann man ja achten.
Danke für die anregende Diskussion!

<edit> Da es ja nur wichtig ist, dass der Atmega Chip und der ACS Chip die gleiche Versorgungsspannung haben und dass diese Versorgungsspannung auch die Referenzspannung des ATmega ist, kann diese also auch 4,6V sein. Somit kann man den Arduino doch über den RAW Pin mit 5V versorgen und hat dann kein Problem wenn das BEC mehr als 6V rausgibt.

<edit2> Wie die Berechnungen zeigen, ist es für die Strommessung ungünstig, die interne 1,1V Referenz des ATmega zu benutzen, da dann das ratiometrische Prinzip nicht mehr funktioniert. Ich werde also meinen Sensor umbauen und die 5V vom Empfänger direkt am Vcc Pin des Atmel einspeisen. Die mögliche Ungenauigkeit bei der Messung der Batteriespannung bewerte ich nicht so hoch.
Also in der advanced-config:
// #define USE_INTERNAL_REFERENCE
#define REFERENCE_VOLTAGE 5000

Gruß,
Reinhard
 
Zuletzt bearbeitet:
D

Deleted member 51580

Gast
6V am RAW reichen noch nicht aus damit der Regler auch regeln kann (es sind leider keine LDO´s ) , bei meinen versuchen kam ich auf ca. 7,5-8,0V damit der Regler vernünftig arbeiten kann, das könnte aber von Arduino zu Arduino unterschiedliche sein da es hier sehr viele Varianten / Clone gibt.


Andere Sache, warum möchtest du einen Stromsensor der grob über den Daumen 5-8€ Bauteilkosten verursacht in verschiedenen Modellen betreiben, das würde die sorgen über unterschiedliche BEC Spannungen kleiner machen.
Das kenne ich nur so aus früheren Zeiten bei den Empfängern, das die von Modell zu Modell getauscht wurden da die nicht unbedingt so günstig waren.
 
Zuletzt bearbeitet von einem Moderator:
ich sehe, du kannst auch nicht schlafen ☺
Immerhin habe ich die Verursacher ermittelt, gejagt und getötet. Ich hasse Schnaken ;) Die beschriebene Stromsensor Arduinokombi ist tatsächlich unkritisch gegenüber BEC-Spannungsschwankungen.

Problematisch ist damit die Spannungsmessung, da kann man aber 1,50€ für einen 16bit A/D Wandler spendieren und hochgenau mit eigener Referenz messen.

6V am VCC reichen noch nicht aus damit der Regler auch regeln kann (es sind leider keine LDO´s ) , bei meinen versuchen kam ich auf ca. 7,5-8,0V damit der Regler vernünftig arbeiten kann, das könnte aber von Arduino zu Arduino unterschiedliche sein da es hier sehr viele Varianten / Clone gibt.
Korrekt, wenn man im Grenzbereich unterwegs ist und stabile 5V braucht, sollte man sicherheitshalber messen, ob die Arduino Regelung funktioniert, also tatsächlich 5V VCC vorhanden sind. Edit: Du meinst 6V an RAW, nicht VCC.
 
Zuletzt bearbeitet:
Andere Sache, warum möchtest du einen Stromsensor der grob über den Daumen 5-8€ Bauteilkosten verursacht in verschiedenen Modellen betreiben, das würde die sorgen über unterschiedliche BEC Spannungen kleiner machen.
Das kenne ich nur so aus früheren Zeiten bei den Empfängern, das die von Modell zu Modell getauscht wurden da die nicht unbedingt so günstig waren.
Es geht mir nicht um das Geld. Es ist nur umständlich jedesmal alles neu auszumessen und zu kalibrieren. Wenn der Sensor zur Antriebsauslegung benutzt wird, würde ich ihn auch nicht permanent im Modell belassen.

Was den Regler auf dem Arduino angeht: Bei meinem Exemplar hatte ich Vcc 5.01V bei 5.4V am RAW Pin.

Gruß,
Reinhard
 
D

Deleted member 51580

Gast
@Carbonator mein Fehler, klar meinte Ich RAW habs auch schon geändert.

@ReinhardZ Wenn der Sensor nicht im Modell bleiben soll ist das was anders, dann ergibt das Sinn, wobei das eingesparte Gewicht nicht der rede Wert ist, aber auf die Idee bin ich leider nicht gekommen, habe von mir abgeleitet, bei mir fliegt OXS immer mit und sei es nur zur Überwachung und ohne Kompensiertes Vario in meinen Seglern fliege ich nicht mehr.

Zurück zum Thema.
Hasst du die 5.01V im Leerlauf oder unter last mit weiteren angeschlossenen Sensoren gemessen, wenn das unter last mit mehreren Sensoren gemessen wurde ist der Wert sehr gut, dann bitte mal einen Link zu deinen gekauften Ardus.

Auf deine Idee mit einem eigen Regler kann ich Dir sagen,
unterschiedliche Eingangsspannungen = unterschiedliche Ausgangsspannungen und das hat nichts mit dem Arduino zu tun (Beispiel Modell 1 versorgst du mit 3S also 12,6V, Modell 2 wird mit 5S Versorgt also 21V .
Die Ausgangsspannung ändert sich aber dabei, so richtig z.B 5,00V bekommst du nicht es sei denn du verwendest Spannungsreferenzen und einiges an Schaltung rundum, das wird denke ich etwas viel des guten.

Wenn du es so genau möchtest wird dir nichts anders übrig bleiben als eine separate Spannungsversorgung mit dem Sensor zu verheiraten und das ganze als Einheit zu bauen.

Bei Vergleichsmessungen mit verschieden Amperemetern ist die Genauigkeit mit dem Arduino mehr als ausreichend für unsere Anwendungen im Modellbau , ist aber nur meine Meinung, auch wenn ich sonst auf genaue Messungen stehe... :)

Strommessung ist sowieso so eine Sache, speziell wenn es um DC geht, schau mal hier.
Vernünftiges Zangenamperemeter - Mikrocontroller.net
 
Zuletzt bearbeitet von einem Moderator:
@ReinhardZ
Hasst du die 5.01V im Leerlauf oder unter last mit weiteren angeschlossenen Sensoren gemessen, wenn das unter last mit mehreren Sensoren gemessen wurde ist der Wert sehr gut, dann bitte mal einen Link zu deinen gekauften Ardus.

Auf deine Idee mit einem eigen Regler kann ich Dir sagen,
unterschiedliche Eingangsspannungen = unterschiedliche Ausgangsspannungen und das hat nichts mit dem Arduino zu tun (Beispiel Modell 1 versorgst du mit 3S also 12,6V, Modell 2 wird mit 5S Versorgt also 21V .
Die Ausgangsspannung ändert sich aber dabei, so richtig z.B 5,00V bekommst du nicht es sei denn du verwendest Spannungsreferenzen und einiges an Schaltung rundum, das wird denke ich etwas viel des guten.

Wenn du es so genau möchtest wird dir nichts anders übrig bleiben als eine separate Spannungsversorgung mit dem Sensor zu verheiraten und das ganze als Einheit zu bauen.

Bei Vergleichsmessungen mit verschieden Amperemetern ist die Genauigkeit mit dem Arduino mehr als ausreichend für unsere Anwendungen im Modellbau , ist aber nur meine Meinung, auch wenn ich sonst auf genaue Messungen stehe... :)

Strommessung ist sowieso so eine Sache, speziell wenn es um DC geht, schau mal hier.
Vernünftiges Zangenamperemeter - Mikrocontroller.net
Hallo Mario,
Die Spannungsmessung habe ich am fertigen Sensor vorgenommen. Last sind dann der ATmega und der ACS-Chip (20..30mA). Habe gerade nochmal eine Messreihe aufgenommen:
Uraw[V] Vcc[V]
4,5 --- 4,19
5,0 --- 4,71
5,5 --- 5,02 eine Erhöhung der 'Belastung' um 20mA ergibt hier keine Vcc Änderung
6,0 --- 5,02
7,0 --- 5,02
8,0 --- 5,03
9,0 --- 5,03
10 --- 5,04

Der Arduino ist aus dem Fundus. Kann nicht genau sagen, wo er herkommt. Ich denke hierher
BG
Ich werde ja jetzt meinen Sensor umbauen und nicht mehr die 1,1V Referenz benutzen sondern die 5V vom BEC direkt am Vcc-Pin des Arduino einspeisen. Ich denke auch, dass die Genauigkeit dann ausreichend ist (für Ströme >1A).

Gruß,
Reinhard
 
Habe gerade bei HK diesen Stromsensor gesehen HK Sensor
Da ist ja anscheinend auch ein ACS758 drauf. Es sollte möglich sein, diesen Sensor an einen Arduino anzuflanschen. Das ist interessant für Leute, die keine eigene Platine herstellen wollen.
Auf der HK-Seite kann man sich unter 'Upload Files' das pdf-Datenblatt runterladen mit der Schaltung. Der ACS wird mit 3V versorgt, was uns wieder zu dem Ausgangsthema mit 3,3V Arduino bringt...
Sicherlich kann man für 18€ auch einen fertigen FrSky 40A Sensor kaufen, aber wenn jemand 100A braucht...

Gruß,
Reinhard
 
D

Deleted member 51580

Gast
Da hast du einen Arduino mit sehr gutem Spannungsregler kannst du bitte mal ein detailfoto von dem Ardu oder besser vom Regler machen.

Zum HK Sensor 16€ finde ich etwas viel, aber egal.

Laut HK Datenblatt wird der Sensor mit Supply voltage: 3.7VDC-9.6VDC versorgt,
wobei 9,6V den ACS zerstören.
Die Versorgungsspannung geht direkt in den ACS ohne weitere Bauteile was die 9,6V erklären könnten, also sind 9,6V einfach falsch.

In der SENSOR SCHEMATICS versorgen sie ihn mit 3V.

Hier ein ausschnitt von HK Datenblatt:
hk.JPG

Es handelt sich wohl um den ACS 756SCA-100B-PFF-T
Die Angaben von HK finde ich immer wieder mal etwas... naja sagen wir ungenau ;)

Die korrekten Daten vom ACS 756 sind für die Versorgung 3-5V siehe hier:



Unbenannt.JPG


Das bedeutet für dich bleib mal bei deinem Ardu der so schöne 5V liefert, denn das passt für deine Strommessung und mache mir lieber mal ein Foto davon oder die Bezeichnung vom Regler Chip abschreiben.
 
Zuletzt bearbeitet von einem Moderator:
D

Deleted member 51580

Gast
40A die der Frsky Sensor abdeckt sind schon etwas dürftig um Segler Antriebe abzustimmen,
ja... ok es gibt auch sehr leichte Segler wo die 40A reichen würden.
 
Das bedeutet für dich bleib mal bei deinem Ardu der so schöne 5V liefert, denn das passt für deine Strommessung und mache mir lieber mal ein Foto davon oder die Bezeichnung vom Regler Chip abschreiben.
Vielleicht ist es etwas untergegangen in der Flut an Posts: @ReinhardZ hat für sich noch einmal herausgearbeitet und auch mathematisch begründet, dass man für eine exakte Strommessung mit dem ACS keine exakte VCC Regelung braucht, so lange ACS- und Ardu-VCC identisch (aber gerne schwankend) sind.
 
D

Deleted member 51580

Gast
@Carbonator Hatte ich gelesen und bei meinen Sensoren ist das auch nicht 5V Stabil aber wieder verdrängt...

Mir ging es Primär um die doch sehr stabilen 5V von seinem Ardu, das kann man wie schon vorher erwähnt ganz gut zur Spannungsmessung verwenden und wer weiß was da noch so kommt...
Den Regler Typ kann / könnte ich auch ganz gut für andere dinge gebrauchen, Stabil ist immer gut :)
 
Zuletzt bearbeitet von einem Moderator:
FPV1

Banggood

Oben Unten