关联链接
关联Bilibili视频:仿合宙电流表UI的Air001电流表:https://www.bilibili.com/video/BV1hYhCzBEad/?vd_source=425d7d0c81c684df6ac325f130b52e34
关联嘉立创 INA219电流表:https://oshwhub.com/djddb/esp8266_ina219-dian-liu-biao
关联gitee:https://gitee.com/djddb/ina219-ammeter.git
项目简介
本项目是自制电流表,起因是后面有个项目用的是锂电池供电,需要监测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时小数点后第三位数字字体缩小。
成品全家福
项目核心器件
主控:
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左右;
嘉立创电路图各版本介绍
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:https://www.bilibili.com/video/BV1hYhCzBEad?vd_source=425d7d0c81c684df6ac325f130b52e34&p=2
INA219功率表_26V_V1.3
此版本为Air001主控+(78L05G+XC6206)LDO,理论输入电压最大26V(实际只测过12V)。
主要特点为:
INA219AIDR为SOIC-8封装,体积较大;
采样电路和主控屏幕分开,上下层叠结构;
电路板上下两层做成一块板,尺寸小于10cm x 10cm,到手后锯开。
和V1.1版本同样的,后来发现仅靠4pin排针对插,很难牢固,上层乱晃,遂放弃,原理图留着留作纪念。
INA219功率表_26V_V1.4
此版本为Air001主控+(78L05G+XC6206)LDO,理论输入电压最大26V(实际只测过12V)。
主要特点为:
INA219AIDCNR为SOT-23-8封装,体积较小;
采用USB公头接口,方便接手机充电器;
整个板子尺寸紧凑,拿在手里感觉很牢固;
整体功耗非常低,仅24mA。
软件代码
我的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的大小
其实关于精简Air001程序这里有很多的细节,如下是摸索的记录,中间也大量借用了DeepSeek的建议,好在最终实现了目标。