INA226 Spannungssensor Bi-Directional I2C Monitoring Modul

INA226 Spannungssensor Bi-Directional I2C Monitoring Modul

SKU:INA226
Marke:NoName
Kategorien:Prototyping > Sensoren
Lager:⮿ Momentan nicht an Lager 

CHF9.29 exkl. MWST

zzgl. Versandgebühr

Nicht vorrätig

Trage dich in die Warteliste ein, um per E-Mail benachrichtigt zu werden, wenn dieses Produkt verfügbar ist

 Compare

Erfasst Busspannungen von 0V ~ 36V
High-Side- oder Low-Side-Abtastung
Meldet Strom, Spannung und Leistung
Hohe Genauigkeit:
– 0,1% Verstärkungsfehler(max)
– 10uV Offset (max.)
Konfigurierbare Mittelwertbildungsoptionen
12 programmierbare Adressen
10-Pin, DGS(VSSOP)-Gehäuse

Mehr anzeigen;

Von http://shelvin.de

#include <Wire.h>

float rShunt=0.1; // Shunt Widerstand festlegen, hier 0.1 Ohm
const int INA226_ADDR = 0x40;

void setup() {
  Wire.begin();
  Serial.begin(115200);
  // Configuration Register Standard Einstellung 0x4127, hier aber 16 Werte Mitteln > 0x4427
  writeRegister(0x00, 0x4427); // 1.1ms Volt und Strom A/D-Wandlung, Shunt und VBus continous
}

void loop(){
  // Bus Spannung, read-only, 16Bit, 0...40.96V max., LSB 1.25mV
  Serial.print(" Volt: ");
  float volt = readRegister(0x02) * 0.00125; 
  Serial.print(volt,3);
  Serial.print(" V, Current: ");
  // Seite 24: Shunt Spannung +- 81,92mV mit 16 Bit, LSB 2,5uV
  int shuntvolt = readRegister(0x01);
  if (shuntvolt && 0x8000) {// eine negative Zahl? Dann 2er Komplement bilden
    shuntvolt = ~shuntvolt; // alle Bits invertieren
    shuntvolt += 1;         // 1 dazuzählen
    shuntvolt *= -1 ;       // negativ machen
  }
  float current = shuntvolt * 0.0000025 / rShunt; // * LSB / R
  Serial.print(current,3);
  Serial.print(" A, Power: ");
  float power=abs(volt*current);
  Serial.print(power,3);
  Serial.print(" W");
  Serial.println();
  delay(1000);
}

static void writeRegister(byte reg, word value) {
  Wire.beginTransmission(INA226_ADDR);
  Wire.write(reg);
  Wire.write((value >> 8) & 0xFF);
  Wire.write(value & 0xFF);
  Wire.endTransmission();
}

static word readRegister(byte reg) {
  word res = 0x0000;
  Wire.beginTransmission(INA226_ADDR);
  Wire.write(reg);
  if (Wire.endTransmission() == 0) {
    if (Wire.requestFrom(INA226_ADDR, 2) >= 2) {
      res  = Wire.read() * 256;
      res += Wire.read();
    }
  }
  return res;
}

INA Library: https://github.com/SV-Zanshin/INA

Arduino Uno: http://shelvin.de/ein-batteriemonitor-fuer-strom-und-spannung-mit-dem-ina226-und-dem-arduino-uno/

 

Bewertungen

Es gibt noch keine Bewertungen.

Schreibe die erste Bewertung für „INA226 Spannungssensor Bi-Directional I2C Monitoring Modul“

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Details

Allgemeines
Marke
NoName
Farbe
blau
Schnittstelle
IIC (I2C)
Inter-Integrated Circuit, ein Bus-System zur Kommunikation zwischen Mikrocontrollern und Peripheriegeräten. Weit verbreitet in eingebetteten Systemen.
Stromversorgung
Spannungseingang [V]
2.7-5.5
Sonstige Eigenschaften
Pins
8
Pinform
gerade
,
separat
Widerstand [Ohm]
10