I2C Template / eigenes Modul für INA219 programmieren

Begonnen von Elektrofreak, 06 Dezember 2016, 11:47:10

Vorheriges Thema - Nächstes Thema

Homalix99

Hallo Bernd,

bitte definiere noch den RShunt Widerstand als Attribut, default sollte 0,1 Ohm sein.
Welchen Wert hat Dein Shunt-Widerstand? Ohne RShunt keine Kalibrierung möglich.
Nach Setzen des Attributs bitte ein Set ... Calibration durchführen.
Das Config. Register passt nicht, es darf nicht 0 sein, sonst wäre der INA219 im Powerdown.
Die letzten 3 bits des LSB des Config.Registers definieren den Mode. Der sollte immer 7 (ausser für spezielle Anwendungen wie single shut) sein.
Mit Setzen von den Attributen
INA_Mode = 7
INA_ADC_Resolution_ShuntVoltage = 12
INA_ADC_Resolution_BusVoltage = 12 sollte das Config Register die richtigen Werte haben.
Du solltest das mit GET ... read_ConfigRegister überprüfen.
Bitte einen Webseiten-refresh machen, da es manchmal den Seiteninhalt nicht automatisch erneuert, gerade wenn neue Readings dazukommen.
Apropos Readings: Das Reading calibration = 1 bedeutet, dass die Kalibrierung durchgeführt wurde, das habe ich im Modul nicht korrekt abgefangen.
Ist in diesem Fall gerade nicht relevant aber wird mit neuer Version korrigiert sein.
Das Reading CalibrationRegister ist ausschlaggebend. Das Relikt muss ich noch beseitigen
Dieses passt für eine ShuntVoltageRang von 40 mA auch nicht, dürfte nicht 0x1062 sein. Das liegt daran, dass kein RShunt definiert wurde.

Nochmal der Reihe nach:

1. attr Strom INA_Rshunt 0.1 (nimm den realen Wert, in der Regel ist das 0,1 Ohm, weiß ja nicht welche Beschaltung Du am INA219 hast)
2. attr Strom INA_Mode = 7
3. attr Strom INA_ADC_Resolution_ShuntVoltage = 12
4. attr Strom INA_ADC_Resolution_BusVoltage = 12
5. GET Strom read_ConfigRegister
6. F5 (refresh Browserfenster, da Readings dazukommen)
7. SET Strom CalibrationRegister
8. ggf. F5 am Browser, sollte aber nicht nötig sein


=> Bitte dann sreenshot senden.

Vielen Dank

VG

Alex
- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)

jensb

Hallo allerseits,

es gibt jetzt eine Beta des FRM-Moduls, die das Modul INA219 als Client unterstützt.

Grüße,
Jens
FHEM 6.1 - RPi 4 Raspbian 12 + PiTFT - OPi Zero Armbian 5.35
EnOcean - (W)LAN/Firmata: BMP180, TSL2561, SHT21, Heatronic 3, OBIS - WLAN/ESP8266: Gardena 1251, Zirkulationspumpe - RTL433: Oregon - Bluetooth - MQTT
Contributions: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/jensb

Peter21

Hallo,
ich habe es geschafft 2 INA an einem Raspi zum laufen zu bringen. Ich bin auch sehr zufrieden!!! Jetzt benötige ich aber noch einen 3 INA. Sobald ich bei diesem bei IODev: I2C_1 eingebe ist es vorbei mit FHEM. Meine Frage: kann ich mit dem erwähntem Update diesen Fehler beheben,oder kennt jemand diese Probleme mit mehreren Device am I2C Bus??? Momentan läuft ein Expander und 2 INA am I2C super am System. Der 3.  INA schießt es ab.
Danke!!!

Homalix99

Hallo Peter21,

ich habe mit dem Modul zur Zeit 3 INAs am Laufen, allerdings über einen Arduino Nano angebunden. Das Modul selbst hat keine direkte Begrenzung an I2C Devices.
Die Adressen der 3 INAs sind aber schon unterschiedlich? Falls Du die kleinen PCBs von Makershop verwendest, lassen sich die Adressen über Lötbrücken einstellen.
Also:
A0       A1         Adresse (HEx)
GND    GND

- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)

Homalix99

sorry:
Hallo Peter21,

ich habe mit dem Modul zur Zeit 3 INAs am Laufen, allerdings über einen Arduino Nano angebunden. Das Modul selbst hat keine direkte Begrenzung an I2C Devices.
Die Adressen der 3 INAs sind aber schon unterschiedlich? Falls Du die kleinen PCBs von Makershop verwendest, lassen sich die Adressen über Lötbrücken einstellen.
Also:
A1       A0         Adresse (HEX)
GND    GND       0x40
GND    Vss        0x41
Vss     GND       0x44
Vss     Vss        0x44

Für weitere Adressen musst Du SCL oder SDA auf einen Eingang legen, somit würden max. 16 Adressen zur Verfügung stehen:

GND  GND  1000000
GND  VS+  1000001
GND  SDA  1000010
GND  SCL  1000011
VS+  GND  1000100
VS+  VS+  1000101
VS+  SDA  1000110
VS+  SCL  1000111
SDA  GND  1001000
SDA  VS+  1001001
SDA  SDA  1001010
SDA  SCL  1001011
SCL  GND  1001100
SCL  VS+  1001101
SCL  SDA  1001110
SCL  SCL  1001111


VG

Alex
- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)

Peter21

Hallo Homalix99,
ja die Adressen sind unterschiedlich. Habe ich über die Lötbrücke eingestellt. Ich konnte heute das Problem lösen. Ich habe alles abgeklemmt und nur den letzten 3. INA dran gelassen und hatte glatt den I2C Fehler. Ich habe dann die komplette RAW Definition von einem funktionierenden INA in Word auf die Nr. 3 umgeschrieben und hochgeladen. Siehe da es funktioniert. Dann alles wieder angeklemmt und es läuft nun mit 3 mal INA :D. Habe diese Konfiguration gleich gesichert im BackUp.

Besten Dank für die Hinweise, das mit den weiteren Adressen, außer den Lötbrücken wusste ich nicht.

Homalix99

Hallo Peter,

prima, dass es jetzt funktioniert. Im Endausbau meiner DC/DC-USV werde ich 5 solcher INA219 Module einsetzen. Habe die SCL Leitung dann auf A0 gelötet und damit eine zusätzliche I2C-Adresse definiert.
Gruß

Alex
- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)

Frank-39

#37
Hallo,

hätte mal eine (vermutlich dumme) Frage in die Runde: ist das Modul 52_I2C_INA219.pm irgendwo verfügbar? Auf dem SVN und sonst (github, sourceforge) war das scheinbar irgendwann verfügbar, es steht ja im 10_FRM.pm drin. Ist aber jetzt nicht mehr auffindbar. Danke.




Christoph Morrison

Zitat von: Frank-39 am 17 Januar 2021, 20:54:38
Hallo,

hätte mal eine (vermutlich dumme) Frage in die Runde: ist das Modul 52_I2C_INA219.pm irgendwo verfügbar? Auf dem SVN und sonst (github, sourceforge) war das scheinbar irgendwann verfügbar, es steht ja im 10_FRM.pm drin. Ist aber jetzt nicht mehr auffindbar. Danke.

Scroll mal hoch: https://forum.fhem.de/index.php/topic,62045.msg550976.html#msg550976

Frank-39

Hallo Christoph, hab den Wald vor Bäumen nich gesehen - danke!