INA219 Registereinstellungen

Gast #5409202
Lesenswert?

Hallo
Im Datenblatt zum INA219 sind die verschiedenen Einstellungen für die 
Regsterinformationen angegeben.
In der Tabelle 2 stehen welches Register für was ist.
In der Figur 19 stehen die Werte zur Einstellung für die Register mit 
den unterschiedlichen Zeiten und Verstärkungen.
Leider komme ich bei den Angaben total durcheinander.
Wenn ich es richtig verstanden habe sind dies Kombinationen möglich:

- 16V und 200mA
- 16V und 500mV
- 32V und 2A
- 32V und 1A

Leider verstehe ich das mit der Einstellung nicht richtig, da die 
Einstellung mit 16 Bit beim I2C erfolgt.
Kann mir jemand etwas hilfe geben?

LG Pt
Gast #5409253
Lesenswert?

Hallo Peter schrieb:
> Leider verstehe ich das mit der Einstellung nicht richtig, da die
> Einstellung mit 16 Bit beim I2C erfolgt.

Das verstehe ich jetzt nicht an deiner Ausführung.
Was hat die Datenübertragung mit den Interna des INA219 zu tun?

Nichts!

Man muss mit einem Schaltplan starten, dann die Werte, wie 
Shunt-Widerstand und Versorgungsspannung als Parameter dem INA219 
bereitstellen.
Dann kann der für uns rechnen und wir holen die Messwerte U und I, für 
eine vorher eingestellte Messzeit und einer Anzahl von Messwerte für 
eine Mittelwertbildung, ab.
Gast #5409313
Lesenswert?

Der Schaltplan ist vom Hersteller festgelegt. Es handelt sich um das 
kleine Modul mit dem INA drauf und dem Widerstand und ein bischen 
Hühnerfutter.
Wie kann ich die Parameter einstellen? In der Figur 19 stehen die 
Angaben drin, wie ich was einstellen kann. Wie kann ich das machen? 
Arbeite mit C nicht Arduino. Die Beispile dazu habe ich gesehen. Ist 
leider etwas anderes.

LG Pt
Gast #5409340
Lesenswert?

Peter,

Du musst den pot. Helfern alle Infos im Detail, die Dir auch vorliegen, 
zur Verfügung stellen.

Dann dein Programm einstellen, das erwartete Verhalten und das 
beobachtete Verhalten schildern.
Wenn was nicht funktioniert genau beschreiben, woran nach deiner Analyse 
liegen könnte.

Ich gehe mal davon aus, dass Du nicht weist, was das I2C (TWI) bedeutet 
und wie man es mit C auf einem µC programmiert?
Also lerne erst einmal die Grundlagen, dann erstelle eine I2C 
Funktionssammlung.
Damit kannst Du dein Programm weitere modellieren, nachdem Du alle 
INA219 Register und Bits aus dem Datenblatt in deiner Funktionssammlung 
abgebildet hast.

Dann stellst Du das hier ein und die viele Mitleser werden Dir 
antworten, wenn Sie wissen, um welchen Compiler und Zielprozessor 
(Schaltplan) es sich handelt.
#5409601
Lesenswert?

Also ich nutze den INA219 seit einiger Zeit erfolgreich in einem 
Sensorprojekt. Allerdings komplett Bare-Metal auch ohne Breakout o.ä.
Aber ich kann mir beim besten Willen keinen Reim auf die Fragestellungen 
hier machen.
Der INA ist recht simpel. Man bekommt mit wenigen bis keinen 
Einstellungen direkt die Spannung angezeigt. Um den Strom und die 
Kapazität zu bekommen muss den verwendeten Shunt in ein Register 
programmieren. Nach Formel in Datenblatt. Danach findet man diese beiden 
Werte quasi schon umgerechnet in den entsprechenden Registern.

Register lesen und schreiben läuft wie bei jedem I2C Baustein. Es gibt 
hier keine Überraschungen.
Nur das Datenblatt sollte man schon lesen.
Gast #5409614
Lesenswert?

Hallo Karl
mit dem I2C Bus arbeite ich schon länger. Dabei übertrage ich 
verschiedene Sachen mit dem PCF z.B. Anzeige oder Ein und Ausgänge. 
Dabei kommen aber immer 8 Bit Zahlen dran. Für die Einstellung der 
Register beim INA werden aber 16 Bit Zahlen verwendet. z.B. 0x2800, Kann 
ich diese genau so übertragen oder muss ich 2x 8 bit senden?
Verwende C mit einem ATm 128

Wenn ich was zum INA219 suche bekomme ich auch so viel Anzeigen. Die 
meisten da von beziehen sich auf das ori des Herstellers, also Arduino. 
Das ist das Problem, die Umsetzung zu C, ist für mich nicht so leicht.
Für C scheint es keine Beispiele zu geben, mehr für Pyhton oder dem 
Raspi

LG PT
#5409622
Lesenswert?

Peter schrieb:
> Für die Einstellung der
> Register beim INA werden aber 16 Bit Zahlen verwendet. z.B. 0x2800, Kann
> ich diese genau so übertragen oder muss ich 2x 8 bit senden?

Steht im Datenblatt. 16 Bit werden eben als 2x Bit übertragen. Wie auch 
sonst? Du musst halt schauen ob du erst MSB oder LSB übertragen musst. 
Also nochmal: Guck bitte ins Datenblatt da steht alles. Lass die Finger 
von Arduino Doku oder sinstigen Maker/Pfuscher Tutorials.

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