站内搜索
发作品签到
INA219电流表
专业版

INA219电流表

927
0
0
1

简介

模仿合宙电流表UI复刻的INA219+Air001电流表,显示电压V、电流A、功率W、电量mWh。

简介:模仿合宙电流表UI复刻的INA219+Air001电流表,显示电压V、电流A、功率W、电量mWh。
复刻成本:20

开源协议

MIT License

(未经作者授权,禁止转载)
创建时间:2025-07-20 12:24:55更新时间:2026-03-16 10:16:29

描述

最新版本使用旁路供电,已经完整支持测量到24V,可以去看立创开源广场最新版本:INA219电流表第二版

关联链接:

B站视频--仿合宙电流表UI的Air001电流表

项目简介

本项目是自制电流表,起因是后面有个项目用的是锂电池供电,需要监测ESP睡眠模式下耗电,奈何之前错过合宙电流表的车,一直心有不甘,现在买合宙电流表又太贵了。所以仿照合宙电流表的UI做了个电流包,显示电压V、电流A、功率W、电量mWh,功能简单。

复刻建议选择以下原理图:

  • INA219功率表_12V紧凑版_V1.2;
  • INA219功率表_26V_V1.4;

**注意:**可能是因为我买的INA219AIDCNR不是正品,接24V电源时IN+和IN-引脚之间炸了一下冒火花,并击穿了Air001。事后逐级拆解,LDO电路在24V下可以稳定工作输出3.3V,新换的Air001和屏幕都没有问题,只有这个INA219AIDCNR被炸了,后续没有继续验证了。

项目功能

可以用于手机充电检测、ESP芯片睡眠模式电流监测、电池电量检测等等。

  • 电压显示小数点前2位小数点后3位,例如05.110V或12.010V
  • 电流显示小数点前1位小数点后4位,例如0.0681A或1.9376A
  • 功率<1000.0mW显示为mW,小数点前3位后1位,例如900.3mW
  • 功率≥1000.0mW并<10000.0mW显示为W,小数点前1位后3位,例如2.466W
  • 功率≥10000.0mW显示为W,小数点前2位后2位,例如16.98WW
  • 电量分两段显示,0.001-9.999mWh和00.010WH-48.000Wh,显示Wh时小数点后第三位数字字体缩小。
成品全家福

项目核心器件

主控:

主控ESP8266Air001
资源96K RAM + 4M Flash4K RAM + 32K Flash
功耗@5V5V 100mA 500mW5V 24mA 120mW
功耗@12V12V 90mA 1080mW12V 24mA 280mW
ArduinoAdafruit_INA219库 + Adafruit_ST7789库自定义精简驱动
I2CIO口上拉能力强,无需上拉电阻IO口上拉能力弱,需要外部上拉电阻
GPIO引脚资源紧张,复用严重,SPI_MISO引脚作为BL控制引脚,初始化SPI时需要特别注意引脚完全够用,有富余

LDO选型如下:

  • ASM1117,12V转3.3V,1A,电流足够给ESP8266供电,在12V电压下工作需要注意散热;
  • 78L05G-AB3-R,30V转5V,100mA,供电能力有限,无法满足ESP266供电,可以满足Air001的版本供电;
  • XC6206P332MR,6V转3.3V,250mA,和78L05G搭配使用,提供3.3V供电;

ST7789屏幕:

  • 240x240分辨率,对角线1.3寸;
  • SPI接口ST7789驱动;
  • 我选的这个型号,背光需要51Ω的限流电阻,实测加上限流电阻后耗电少了30mA左右;

各PCB版本介绍

INA219功率表_12V_v1.0

此版本为第一版,ESP8266主控+ASM1117 LDO,输入电压最大12V。
主要特点为:

  • 0.1Ω采样电阻支持2512贴片封装和插件2种;
  • INA219AIDR为SOIC-8封装,体积较大;
  • 采用DC5521接口,方便接12V电源;
  • 整个板子布局较为稀疏,焊接难度小。

请忽略飞线,那个是第一次打板LDO选的不对踩得坑,后来改为ASM1117了,原理图中已经更改。

正面背面

INA219功率表_12V紧凑版_V1.1

此版本为ESP8266主控+ASM1117 LDO,输入电压最大12V。
主要特点为:

  • INA219AIDR为SOIC-8封装,体积较大;
  • 采样电路和主控屏幕分开,上下层叠结构;
  • 电路板上下两层做成一块板,尺寸小于10cm x 10cm,到手后锯开。

但是后来发现仅靠4pin排针对插,很难牢固,上层乱晃,遂放弃,原理图留着留作纪念。

INA219功率表_12V紧凑版_V1.2

此版本为ESP8266主控+ASM1117 LDO,输入电压最大12V。
主要特点为:

  • INA219AIDCNR为SOT-23-8封装,体积较小;
  • 采用USB公头接口,方便接手机充电器;
  • 整个板子尺寸紧凑,拿在手里感觉很牢固;
  • 支持按键选择WIFI OTA升级(开机亮屏后按BOOT键),可以二次开发接入MQTT等。
    B站视频--ESP8266电流表OTA
正面背面

INA219功率表_26V_V1.3

此版本为Air001主控+(78L05G+XC6206)LDO,理论输入电压最大26V(实际只测过12V)。
主要特点为:

  • INA219AIDR为SOIC-8封装,体积较大;
  • 采样电路和主控屏幕分开,上下层叠结构;
  • 电路板上下两层做成一块板,尺寸小于10cm x 10cm,到手后锯开。

但是后来发现仅靠4pin排针对插,很难牢固,上层乱晃,遂放弃,原理图留着留作纪念。

INA219功率表_26V_V1.4

此版本为Air001主控+(78L05G+XC6206)LDO,理论输入电压最大26V(实际只测过12V)。
主要特点为:

  • INA219AIDCNR为SOT-23-8封装,体积较小;
  • 采用USB公头接口,方便接手机充电器;
  • 整个板子尺寸紧凑,拿在手里感觉很牢固;
  • 整体功耗非常低。
正面背面

软件代码

我的gitee库代码分享:https://gitee.com/djddb/ina219-ammeter.git

  • ESP8266_INA219_ST7789.ino这个是直接用的官方Adafruit_INA219库 + Adafruit_ST7789库;
  • Air001_ST7789_mini.ino用的自定义的精简ST7789驱动,只引用SPI.h。用Adafruit_ST7789库编译的结果太大,32Kflash放不下;
  • Air001_INA219_mini.ino用的自定义的精简INA219驱动,只引用Wire.h。用Adafruit_INA219库编译的结果太大,32Kflash放不下;
  • Air001_INA219_ST7789.ino是最终程序,编译完占用30956字节flash和1528字节RAM,刚好满足Air001的大小,附件里也上传了编译好的bin文件。

其实关于精简Air001程序这里有很多的细节,如下是摸索的记录,中间也大量借用了DeepSeek的建议,好在最终实现了目标。
Air001自定义精简驱动.jpg

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
Air001_INA219_ST7789_V1.0.0.bin
18
2
Air001_INA219_ST7789.ino
21
3
ESP8266_INA219_ST7789.ino
22
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航