INA219 Calibration-Reg Berechnung; Verständnissproblem/Frage

Gast #7087809
Lesenswert?

Hallo Zusammen,

ich möchte einen INA-219 zur Strom + Spannungsmessung einsetzen, habe 
jedoch ein Verständnissproblem mit dem Power-Register:
-->Demnach muss der Shunt zur Messung von 1A-Maximalstrom Mindestens 
30m-Ohm betragen, oder mach ich was falsch?

Dabei habe ich folgende Konfiguartion vorgesehen:
1
R-SHUNT = 0.01-Ohm
2
Imax    = 1.0A
3

4
Current-LSB = (Max-Current / 2^15)
5
Current-LSB = 1.0 / 32768 = 0,000030517 = 30,517uA
6

7
CAL-Reg = trunc(0.04096 / (Current-LSB * R-Shunt))
8
CAL-Reg = trunc(0.04096 / (0,000030517 * 0.01)) = 134220!!!
9

10
Current-Reg = (Shunt-Voltage-Reg * Calibration-Reg) / 4096

Da dass Calib-Register nur 16-Bit hat, kann ich also keinen Wert von 
134220 eintragen. Folglich müsste der Shunt z.b. 3x so hoch, also 
30m-Ohm, sein um dann 44740 einzugtragen.

Die Messgenauigkeit ist für mich nicht entscheident, 1mA ist schon 
wesentlich genauer als Nötig, 10mA würden es auch tun.

-->Gehe ich also richtig in der Annahme, dass der Shunt zur Messung von 
1.0A maximalstrom mindestens 30m-Ohm betragen muss?

Grüße und vielen Dank, Matthias
Angehängte Dateien:
Gast #7117219
Lesenswert?

Hab doch noch die Frage zur Berechnung des Kalibrations-Werts.

Es kommen doch keine Korrekten Werte raus, dass kann eigentlich nur an 
einer falschen Berechnung liegen.

Ich habe das Config-Register wie folgt eingestellt:
1
R-Shunt = 0,01-Ohm
2

3
0x00 = Config  
4
USE-CASE = 0x07FF
5
FEDC BA98 7654 3210
6
0000 0111 1111 1111
7
|||| |||| |||| |||-Mode1
8
|||| |||| |||| ||--Mode2 --> Lead to Shunt and Bus Continous
9
|||| |||| |||| |---Mode3
10
|||| |||| |||| ----SADC1
11
|||| |||| |||- ----SADC2 --> 12Bit/Sample at Shunt-Measurement + Averaging of 128Samples (68,10ms)
12
|||| |||| ||-- ----SADC3
13
|||| |||| |--- ----SADC4
14
|||| |||| ---- ----BADC1
15
|||| |||- ---- ----BADC2 --> 12Bit/Sample at Bus-Measurement + Averaging of 128Samples (68,10ms)
16
|||| ||-- ---- ----BADC3
17
|||| |--- ---- ----BADC4
18
|||| ---- ---- ----PG0
19
|||- ---- ---- ----PG1   --> Gain = 1 / Range = +-40mV
20
||-- ---- ---- ----BRNG  --> 16V-FSR
21
|--- ---- ---- ----NC
22
---- ---- ---- ----RST   -->System-Reset, read as 0
23

24
Current-LSB = (Max-Current / 2^15)
25
Current-LSB = (Max-Current / 32767)
26
Current-LSB = (Max-Current / 4095) at Gain = 1 ????
27

28
CAL-Reg = trunc(0.04096 / (Current-LSB * R-Shunt)) 
29
CAL-Reg = trunc(0.04096 / (Current-LSB * 0,01))
30

31
Für einen Gain von 1 stimmt demnach:
32
+40mV = 0x0FA0
33
-40mV = 0xF060
34

35
Meine Annahme Imax=1.0A
36
Current-LSB = 1/4095 = 0,0002442A = 30,518uA
37
Cal = trunc(0.04096 / (0,0002442A * 0,01)) = 16773 = 0x4185
38

39
1A/30,815uA= 32767
40
100mA      = 3276
41
10mA       = 327
42
1mA        = 32
43

44
Also:
45

46
uint8_t a_hunterter=A_PWR/3276;
47
A_PWR = A_PWR%3276;
48
uint8_t a_zehner= A_PWR/327;
49
A_PWR = A_PWR%327;
50
uint8_t a_einer= A_PWR/32;
51
uint16_t amp=a_hunterter * 100 + a_zehner * 10 + a_einer;
Fließen tatsächlich 211mA, so sind es aber laut der Berechnung 272mA

Vielleicht hat jemand von euch eine Idee, wo mein fehler liegt?
Hab mich nun schon länger damit beschäftigt, egal was ich einstelle, der 
Wert stimmt jedoch nie...

Grüße und schonmal vielen Dank,
Matthias
#7117303
Lesenswert?

Hallo,

hast du das einmal gegen geprüft mit dem obigen Link?
Oder dir einmal eine Lib genommen und damit überprüft?
Bevor man sich im Detail verliert.
Hast du den Shunt durchgemessen? Stimmt der Wert?
Widerstandsmessung oder Strom + Spannung messen und berechnen.
Ist das alles plausibel?

Das "Problem" ist, mein frisch bestücktes Controllerboard hat erstmal 
Vorrang. Später könnte ich mein INA rausholen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren