Hier ist mal ein Projekt was ich die Tage so gemacht habe. Vielleicht kann ja jemand was damit anfangen. Es handelt sich um das INA219 Module, mit diesem Module kann man eine indirekte Strommessung über einen verbauten Shunt-Widerstand machen. Weiter kann man sich mit den U=RxI (Ohmsche Gesetz) & P=UxI (elektrische Leistung) Formeln alles weitere selber ausrechnen.
Ich habe da mal einen Arduino Sketch den ich im Netz gefunden habe, für mich angepasst. Das LCD zeigt die Spannung, Shuntspannung, Leistung bis 1000mW in mW ab 1001mW in W, Strom bis 1000 mA in mA ab 1001 mA in A.
Als Last verwende ich einen Zement Widerstand 10W / 10 Ohm.
INA 219 Module
I2C BUS
LiquidChyrstalDisplay 1602
I2C BUS
LCD Rückseite
I2C Interface Platine mit Kontrasteinstellung über Poti
Das INA Module und das LiquidChrystalDisplay sind beide am I2C BUS am NANO Pin A4 und A5 angeschlossen.
Blockschaltbild / Schematic
ARDUINO SKETCH / Programm hier
#include <Wire.h>
#include <Adafruit_INA219.h>
#include <LiquidCrystal_I2C.h>
Adafruit_INA219 ina219;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
{
Serial.begin(9600);
lcd.begin();
while (!Serial) {
// will pause Zero, Leonardo, etc until serial console opens
delay(1);
}
uint32_t currentFrequency;
if (! ina219.begin()) {
Serial.println("Failed to find INA219 chip");
while (1) { delay(10); }
}
}
void loop()
{
lcd.clear();
float shuntvoltage = 0;
float busvoltage = 0;
float current_mA = 0;
float loadvoltage = 0;
float power_mW = 0;
shuntvoltage = ina219.getShuntVoltage_mV();
busvoltage = ina219.getBusVoltage_V();
current_mA = ina219.getCurrent_mA();
power_mW = ina219.getPower_mW();
loadvoltage = busvoltage + (shuntvoltage / 1000);
if(power_mW >= 1000)
{
lcd.setCursor(10, 1);
lcd.print(power_mW/1000,1);
lcd.setCursor(15, 1);
lcd.print("W ");
}
else
{
lcd.setCursor(10, 1);
lcd.print(power_mW,0);
lcd.setCursor(14, 1);
lcd.print("mW");
}
if(current_mA >= 1000)
{
lcd.setCursor(0, 1);
lcd.print(current_mA/1000,1);
lcd.setCursor(5, 1);
lcd.print(" A");
}
else
{
lcd.setCursor(0, 1);
lcd.print(current_mA,0);
lcd.setCursor(4, 1);
lcd.print("mA");
}
lcd.setCursor(0, 0);
lcd.print(busvoltage,2);
lcd.setCursor(5, 0);
lcd.print("V");
lcd.setCursor(9, 0);
lcd.print(shuntvoltage,1);
lcd.setCursor(14, 0);
lcd.print("mV");
delay (500);
}
Aufbau Breadboard
Hier ein kleines Video, man sieht wie die mW auf W und mA auf A springen.
Viel Spass beim nachbauen…..