DIY小功率计,简单粗暴,来看下!(功率计怎么装)

DIY小功率计,简单粗暴,来看下!(功率计怎么装)

编码文章call10242025-07-18 13:41:073A+A-

总有同时测试电压与电流或者功率的需求吧,测试功率的话用万用表的话一会传入回路测电流,一会测电压麻烦的很,对于DIY玩家要是买个功率计也太贵了不是,今天推荐一个小小的芯片可以同时搞定输出电压,负载电压,负载电流以及功率的测量。某宝也有现成的模块如下

这个小模块的原理也是很简单,就是测量传入供电回路中电阻Rshunt两端的电压来换成相应的功率参数的。内部ADC采样后,通过I2C接口可查询采样参数大小。

用到I2C的话,我们采用Arduion调试看下;用杜邦线链接正负以及i2c接口到arduino,然后下载附件的arduino ina219库,放到libraries文件夹里。将模块VIN传入到供电回路中。

#include 
#include 

Adafruit_INA219 ina219;

void setup(void) 
{
  Serial.begin(115200);
  while (!Serial) {
      delay(1);
  }

  uint32_t currentFrequency;

  Serial.println("Hello!");

  // 初始化会默认使用最大测量范围(32V, 2A),你也可以使用setCalibration指令更改,以获取更高的精度
  ina219.begin();
  // 用 32V, 1A 范围来测量会获取更高的电流测量精度,如果想使用这个选项就删除下面那行的注释
  //ina219.setCalibration_32V_1A();
  // 用16V, 400mA 范围来测量会获取更高的电流和电压测量精度,如果想使用这个选项就删除下面那行的注释
  //ina219.setCalibration_16V_400mA();

  Serial.println("Measuring voltage and current with INA219 ..."); //打印‘正在使用ina219测量电压和电流’
}

void loop(void) 
{
  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);

  Serial.print("Bus Voltage:   "); Serial.print(busvoltage); Serial.println(" V");    //打印总线电压
  Serial.print("Shunt Voltage: "); Serial.print(shuntvoltage); Serial.println(" mV"); //打印分流电压
  Serial.print("Load Voltage:  "); Serial.print(loadvoltage); Serial.println(" V");   //打印负载电压
  Serial.print("Current:       "); Serial.print(current_mA); Serial.println(" mA");   //打印电流
  Serial.print("Power:         "); Serial.print(power_mW); Serial.println(" mW");     //打印功率
  Serial.println("");

  delay(2000);
}

看下打印的日志,可以看到输出电压和负载电压均4.93V,电流13mA,功率68mW。奈斯!


加上MCU和显示屏就是这样啦。

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4