Forum: Mikrocontroller und Digitale Elektronik Wie kann man mehrere INA219 Sensoren benutzen? (Arduino)


von Julius H. (juliushuck)


Lesenswert?

Hallo zusammen,
Frage steht eigentlich oben. Ich weiß das man das irgenwie mit diesen A0 
und A1 Anschlüssen an dem Chip machen kann aber ich weiß nicht wie. Da 
ich noch ein ziemlicher Anfänger bin wäre es gut wenn ihr es einfach 
erklärt so das ich es verstehen kann. Ich benutze übrigens einen Arduino 
UNO.

Danke Julius

von Falk B. (falk)


Lesenswert?

@Julius Huck (juliushuck)

>Frage steht eigentlich oben.

Man kann damit den Stromverbrauch von Schaltungen sowie die 
Versorgungsspannung messen. Alles volldigital im IC incl. AD-Wandler.

> Ich weiß das man das irgenwie mit diesen A0
>und A1 Anschlüssen an dem Chip machen kann aber ich weiß nicht wie.

Damit wird die I2C Adresse des ICs festgelegt. A1 und A0 legt man 
fest auf 0V oder VCC. Clock und Data kommen an den Arduino (SDA = Data, 
SCL = clock), ggf. braucht man noch 2 Pull Up Widerstände mit ca. 2k2 
gegen VCC, wenn der Arduino die nicht schon hat.

von Stephan (Gast)


Lesenswert?

Seite 14 Datenblatt, damit lassen sich 16 Slaves ansteuern.

von Julius H. (juliushuck)


Lesenswert?

Wie gesagt bin ich noch Einsteiger und das war jetzt nicht gerade 
hilfreich.

von Sam W. (sam_w)


Lesenswert?

Julius H. schrieb:
> Wie gesagt bin ich noch Einsteiger und das war jetzt nicht gerade
> hilfreich.

Das war aber schon die Antwort, die dich mit der Lösung deiner Frage 
weiterbingt.

Ich nehme mal an, du benutt I2C für die Kommunikation zwischen Arduino 
und INA219?

Das ist ein Bus, in dem jeder Teilnehmer (Slave) vom Arduino (Master) 
über eine eindeutige Adresse angesprochen werden kann.
Um eben diese verschiedenen Adressen einzustellen können die zwei 
Adress-Pins A0 und A1 auf GND, Versorgungsspannung, SDA oder SCL gelegt 
werden, so kommst du auf 2^4 = 16 mögliche Kombinationen.

So wie deine Fragestellung formuliert ist nehme ich mal an, dass ein 
einzelner INA219 bereits erfolgreich ausgelesen werden kann?

Wenn ja, ist es nicht sonderlich schwierig, das auf mehrere Sensoren 
auszuweiten: Beim ersten Chip A0 und A1 auf GND => ansprechen über 
Adresse 1000000. Beim zweiten z.B. A0 auf VS+ und A1 auf GND => Adresse 
1000001.

Die Adressen musst du im Code verwenden, je nachdem, welchen Sensor du 
auslesen willst. Evtl. ist die derzeit hexadezimal codiert, also 1000000 
entspricht 0x40.

Falls du nicht weiter kommst, lade hier mal deinen Code hoch und eine 
genaue Beschreibung, wie du die INA219 konfiguriert und angeschlossen 
hast (idealerweise ein Schaltplan).

Gruß
Sam

: Bearbeitet durch User
von Manfred (Gast)


Lesenswert?

Stephan schrieb:
> Seite 14 Datenblatt
Julius H. schrieb:
> und das war jetzt nicht gerade hilfreich.

Klemmt's am Englisch? Hast Du die INA219 einzeln oder auf einer kleinen 
Leiterplatte? Wenn es diese typischen China-Platinchen sind, lade Dir 
einen I2C-Scanner auf den Arduino und teste, was passiert, wenn Du die 
Brücken A0, A1 einzeln oder beide schließt.

Ich bin erstaunt, dass Google zu dem Thema keine Kinderanleitung parat 
hat, schade. Also:

Die Adressleitungen liegen beide auf GND, gibt die I2C-Adresse binär 
1000000 = hex 0x40 = dezimal 64. Legst Du A0 anstatt an GND auf Plus, 
wird das 0x41 / 65.

Umrechnen 1000000 nach hex 40 und dezimal 64 kann man fast im Kopf, oder 
mit dem Windows-Taschenrechner.

A1 an Plus gibt 0x44, A0 und A1 an Plus = 0x45

Anstatt an Plus oder GND kann man die A0 / A1 auch mit SDA oder SCL 
verbinden, alle Kombinationen ergeben sich aus der Tabelle.

Eigentlich hat wurde es schon erklärt:
Sam W. schrieb:
> Wenn ja, ist es nicht sonderlich schwierig,

von Dieter F. (Gast)


Lesenswert?

Manfred schrieb:
> Ich bin erstaunt, dass Google zu dem Thema keine Kinderanleitung parat
> hat, schade.

Die gibt es - sogar in Deutsch und mit dem Hinweis auf max. 4 Module ...

https://www.rahner-edu.de/grundlagen/signale-richtig-verstehen/str%C3%B6me-messen-1/

Aber da fehlt noch die Beschreibung der Lötbrücken:

https://www.bastelgarage.ch/index.php?route=product/product&product_id=332

von Manfred (Gast)


Lesenswert?

Dieter F. schrieb:
>> Ich bin erstaunt, dass Google zu dem Thema keine Kinderanleitung parat
>> hat, schade.
> Die gibt es - sogar in Deutsch und mit dem Hinweis auf max. 4 Module ...
> 
https://www.rahner-edu.de/grundlagen/signale-richtig-verstehen/str%C3%B6me-messen-1/

Die rahner-edu habe ich gesehen, dort aber kein Wort zur Hardware.

> https://www.bastelgarage.ch/index.php?route=product/product&product_id=332

Auch die bastelgarage hatte ich, da ist immerhin eine kleine Tabelle 
drin.

--------

Hier ist seit ein paar Wochen ein Hobbyprojekt in Arbeit, zwei INA219, 
zwei MCP4725 und ein I2C-Display, jeweils China-Module. Ich habe da 
nicht lange gekaspert: I2C Scanner drauf, die Brücken befingert und 
fertig!

Mir ist nicht ganz klar, warum viele Leutchen so total hilflos wirken, 
eine Lösung selbst zu erarbeiten. Kann natürlich daran liegem dass ich 
schon sehr lange mit Elektronik zu tun habe.

von my2ct (Gast)


Lesenswert?

Manfred schrieb:
> Mir ist nicht ganz klar, warum viele Leutchen so total hilflos wirken,
> eine Lösung selbst zu erarbeiten. Kann natürlich daran liegem dass ich
> schon sehr lange mit Elektronik zu tun habe.

Da hast du dem TO vermutlich vieles voraus. Fragen wie die, nach der 
Bedeutung der A0 und A1 Anschlüsse, würden wahrscheinlich kaum 
aufkommen, wenn man mal einen Blick ins Datenblatt wirft, bevor man das 
kollektive Know How im Forum aufscheucht.

Julius H. schrieb:
> Ich weiß das man das irgenwie mit diesen A0 und A1 Anschlüssen an dem
> Chip machen kann aber ich weiß nicht wie.

von Dieter W. (dds5)


Lesenswert?

my2ct schrieb:
> ... bevor man das kollektive Know How im Forum aufscheucht.

Hypsch formuliert!  ;-))

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.