
LCD1602自动量程100V10A电压电流表
简介
一个使用了STC8H3K32S2内部ADC,LCD1602屏幕的自动量程电压电流表,带有功率、电阻、时间、容量以及能量显示。
简介:一个使用了STC8H3K32S2内部ADC,LCD1602屏幕的自动量程电压电流表,带有功率、电阻、时间、容量以及能量显示。开源协议
:CC BY 4.0
描述
本工程为旧版,建议制作新版。此页面仅作存档。新版链接:丐中丐 LCD1602自动量程电压电流表 - 嘉立创EDA开源硬件平台 (oshwhub.com)
新人第一次开源,请大佬们多多指教!
特性:
- 多量程设计,最大限度利用ADC,成本较低的同时可以获得较高的精度
- 可以在校准时设置导线电阻值来大概地修正导线的压降,压降可正可负
- 自动切换量程,自动移动小数点
- 功率、电阻、时间、容量以及能量显示
- 体积较小,PCB尺寸与LCD1602大小相同
- 量程:0V~100V,0~10A
- 使用75mV分流器
- 单按键操作
- 低成本
- 宽电压供电:7V~35V
- 供电反接保护
参数:
- 供电电压(VCC):7V~35V,建议不超过30V
- 工作电流:大约30mA
- 测量电压(VIN):0.000V~100.0V,分5V、10V、50V、100V四个电压量程,自动移动小数点
- 测量电流(AIN):0.000A~10.00A,分3.8A和10A两个电流量程,自动移动小数点
- 刷新率:每秒5次
- 功率计算:0.000W~999.9W,自动移动小数点
- 电阻计算:0.000Ω~99999Ω,自动移动小数点
- 时间统计:00:00:00~99:99:99
- 容量统计:0.000Ah~999.9Ah,自动移动小数点
- 能量统计:0.000Wh~999.9Wh,自动移动小数点
接线:
- 参考这张经典图片,图片上的“供电”对应板子上的"VCC","V+"对应"VIN","A+"对应"AIN"。
物料购买:
- 单片机可以使用STC8H3K32S2、STC8H3K48S2或STC8H3K64S2
- LCD1602的对比度可调电阻用立式蓝白可调电阻
- 使用了7.5mΩ的2512合金电阻作分流电阻,当然,如果你是土豪,也可以使用精度和温飘更优秀的大分流器(非必要),如:
(注意要选择10A 75mV的)
- PCB右端的电流输入处可以焊接引脚间距为5mm或9.5mm的2P接线端子,如:
(此为引脚间距5mm的)
(此为引脚间距9.5mm的)
焊接9.5mm端子的效果如下图:
- 按键端(KEY)接地为按键按下,可以用线引出
- PCB上的U4和U6是贴片和直插两种不同封装的TL431,选择一种焊接就好
- 每个表头需要M3螺母、M3*5螺丝和M3*10+6铜柱各4个
关于焊接:
- 焊接时按先贴片后直插,元器件从矮到高的顺序焊接,单片机是TSSOP-20封装的,比较难焊,有条件的可以使用锡膏和热风枪
- 电流输入端要过大电流,建议多上点锡
- R1和R2为0欧电阻,可以直接一坨锡
下载与校准:
- 下载时选择IRC频率为11.0592MHz,如果使用的是STC8H3K64S2,设置用户EEPROM大小至少为0.5K,至多为40K。(可是最小也有0.5K啊)
- 校准工具:可调电源、一个你信得过的万用表
- 下载完程序后,程序检测到没有校准数据,会自动进入校准模式,显示“CAL_MODE”。
- 等待约3秒后,进入电压零点校正。"Zero:"后的数字是此时电压通道的AD值。这时,VIN在悬空时可能会有1~3的底数,建议保留。短按按键确认并进入下一步。
VIN短接到地后又归零了,但悬空后又有底数了,即使不引出线也是这样,望大佬解惑。(也许是PCB布线的问题?)后面证实了就是布局的问题
- 进入电流零点校正。这时,AIN在悬空时可能会有1~3的底数,建议保留。短按按键确认并进入下一步。
AIN短接到地后也归零,再次悬空后又有底数了,望大佬解惑。(也许也是PCB布线的问题?)后面证实了就是布局的问题
- 此时进入到电压分量程校准部分。下图为菜单解释。
短按按键执行光标位置的功能。长按按键一秒后,下菜单光标以每秒一个选项的速度开始滚动。
滚动效果如下图:
- 万用表调到电压挡位并与可调电源并联后并联到本表头的VIN端。本电压电流表的电压测量分4个量程,电压量程3(5V)、电压量程2(10V)、电压量程1(50V)、电压量程0(100V)(括号内为该量程的最大电压)。VIN输入此时的电压量程的最大电压内的电压。输入电压建议为满量程的5%~90%之间。对照万用表,调节表头显示的电压。注意:校准时保持AD值小于4095,大于等于4095则意味着超量程了,这时校准是没有用的,电压电流都一样。
- 分别校准完4个电压量程后,断开表头、可调电源和万用表的连接。万用表调到电流挡位并与可调电源串联后串联到本表头的AIN端。本电压电流表的电流测量分2个量程,电流量程1(3.8A)、电流量程0(10A)(括号内为该量程的最大电流)。AIN输入此时的电流量程的最大电流内的电流。输入电流建议为满量程的5%~90%之间。对照万用表,调节表头显示的电流。注意:校准时保持AD值小于4095,大于等于4095则意味着超量程了,这时校准是没有用的,电压电流都一样。
- 分别校准完2个电流量程后,进入导线电阻设置菜单。导线电阻值用于电压补偿,可正可负,正时电压减去电流乘导线电阻,可以用于可调电源;负时反之,可以用于电子负载。屏幕左上角为补偿后的电压值。此时电压量程恒为电压量程3(5V)。当电流和线阻都不为零时,即线损补偿起作用时,“V”增加下划线。
示例:导线电阻约为66mΩ,导线末端短路,通过1A电流。
未设置线阻时:
设置线阻为正时:可以用于可调电源,真实反映输出端的电压。此时线损补偿起作用,“V”增加下划线。
设置线阻为负时:可以用于电子负载,真实反映输入端的电压。此时线损补偿起作用,“V”增加下划线。
- 设置完导线电阻后,单片机开始向内部EEPROM写入校准数据(实际是把一部分Flash当EEPROM使用)。若写入成功,则显示下图字样:
并在约4秒后自动重启,进入正常工作模式。
若写入失败,则显示“Flash Error!!!”,表头会在约4秒后自动重启。建议检查供电、重新下载程序或更换单片机。
操作说明:
- 给表头上电,自动进入正常工作模式。
- 当电流和线阻都不为零时,即线损补偿起作用时,“V”增加下划线。屏幕左侧电压、电流显示不变。短按按键,屏幕右侧在显示功率、电阻,显示容量、时间,显示能量、时间之间来回切换。
显示功率、电阻:电流为零时,电阻显示“NoLoad”。
显示容量、时间:
显示能量、时间:
- 在显示容量、时间和显示能量、时间时长按按键2秒后,容量、能量和时间清零,并一直保持为零,直到松开按键。
- 在显示功率、电阻时长按按键2秒后,进入版本菜单,短按退出
- 按住按键再上电,进入校准模式。校准步骤参照下载与校准:
- 电阻测量展示:此时设置线阻为60mΩ
10Ω
100Ω
1000Ω
量程切换的原理:
- 电压量程切换:通过MOS管选择不同的分压电阻,实现不同的分压比例,以实现切换量程。
问:在小量程时接入大电压不会把单片机淦坏吗?
答:不会,STC8H的IO口有保护二极管,电压会被钳位,除非R7短路。
问:那为什么不加一个肖特基二极管来起到双重保护的作用呢?
答:肖特基二极管的漏电流太大,加了之后电压会有几十毫伏的底数。
问:切换量程会影响测量大电压的速度吗?
答:会,但很小。下图为测量60V电压时与VC99的速度比较
问:切换量程时电压不会抖动吗?
答:会,但是我已经在程序里将抖动屏蔽掉了。
- 电流量程切换:还是一样的套路,通过MOS管选择不同的分压电阻,实现不同的放大倍数,以实现切换量程。
成本计算:
- 可以看出,本表头有成本较低的优势。
之后验证了其实有很多原件是不必要的,去掉了也不影响什么。新版链接:LCD1602自动量程100V10A电压电流表 - 嘉立创EDA开源硬件平台 (oshwhub.com)
用料可以缩水的地方:
(奸商狂喜)
- 回过头来,发现有些元器件大概率是冗余的,可以省略。
- 以下元器件可以不焊:C6,C7,C9,C12,C15,C16,以下元器件可以通过修改PCB来直接短接:R1,R2,R3,R17,R22,精密运放SGM8551可以换成更便宜的GS8551、OPA336或TP5551,缩水后的PCB如图:
经过测试,发现短期以内性能几乎没有变化
缩水后的成本:
(其实负压电路也可以省去,运放的-Vs直接接地,不过省去后小电流的测量精度可能会降低)
注意:缩水后不保证性能不会下降!
后记:
- 本项目是用周末和放假时间赶出来的,经历了一个学期和半个寒假。
- 因本人技术拙劣,如果有错误的地方,欢迎在评论区里指出
设计图
BOM
ID | Name | Designator | Footprint | Quantity |
---|---|---|---|---|
1 | 100n | C1,C2,C14,C15 | C0805 | 4 |
2 | 220uF | C3,C6,C7,C16 | CAP-SMD_BD6.3-L6.6-W6.6-FD | 4 |
3 | 10u | C4,C5,C9 | C0805 | 3 |
4 | 1u | C8,C11,C12,C13 | C0805 | 4 |
5 | 10n | C10 | C0805 | 1 |

评论