
LGT8F328P主控方案霍尔电流表
简介
使用国产LGT8主控+ACS712T霍尔电流传感器制作的大功率电流表,支持最大DC24V10A测量范围。已通过校准测试。
简介:使用国产LGT8主控+ACS712T霍尔电流传感器制作的大功率电流表,支持最大DC24V10A测量范围。已通过校准测试。开源协议
:GPL 3.0
(未经作者授权,禁止转载)描述
因为两年前ATMEL的328P芯片大涨价,所以屯了一批国产替代芯片LGT8F328P,如今芯片早已降价,手里的LGT8吃灰许久。加之平时测试正好缺个电流表,于是就有了它。
采用LGT8F328P芯片为主控,兼容Arduino的ATmega328P,时钟提升到32Mhz,ADC为12Bit,内置1.024/2.048/4.096V的高精度电压基准,内置可编程增益的差分运放,用它来做电流计再合适不过了。电流部分没有使用电阻采样,而是使用了ACS712T的霍尔传感器,主要原因是手上正好有几片芯片在吃灰,得赶紧想办法用掉。而且这个芯片最大支持±20A的电流,且主电流与信号端隔离,那就正好做个电流表尝试一下!
电流表实物如下:
反面:
显示屏采用I2C接口的0.91寸OLED屏幕,可以显示电流、电压、功率、电量、运行时间共5个参数,电量和时间在每次掉电后归零。反面有一颗复位按钮,也可将电量和时间归零。电压最大24V,电流最大10A,功率最大240W,电量最大99999mah,时间最大99h。
输入为DC5.5接口,可选贴2.1/2.5内针规格的座子。如果使用2.1针那最大电流建议5A以内使用。输出部分预留的焊盘,可以选择焊上你需要的输出接口。输入电压为6-24V,超过24V则会触发TVS管过压保护,而低于6V则达不到EN开启阈值,电流表不工作。
此电流表有经过可调电源和电阻负载的校准测试,精度不算太高,但是应付一般场景使用是没问题的。程序中有预留补偿参数,玩家可自行修改参数校准。
以下为实测结果:
空载12V输入,表显11.99V。
负载5A输入,表显5.022A。
这个精度对我来说是基本够用的,但还不算完美。主要是霍尔电流传感器的输出波动比较大,导致电流值跳变范围比较大。虽然程序里有做多次采样求平均值,但是不能从根源解决问题。需要超高精度还是得用采样电阻加运放的方案来做。
背面预留4个焊点用于固件烧录,使用普通USB转TTL串口工具即可。推荐51单片机的自动下载器,非常好用。如果烧录器有DTR引脚,接上后可以自动下载。如果没有那么下载时先按一下复位然后松开即可下载。
Arduino的程序源码和固件会开源放在附件中,不会玩Arduino的朋友就直接烧录固件,会玩的可以自己修改代码然后编译烧录。此份代码只包含有限的功能,如果有朋友想基于此硬件扩展更多功能,或者想优化现有代码里的不足,欢迎联系我一同改进!
注意!Arduino里的开发板包请选择LGTFx Boards,链接为https://raw.githubusercontent.com/dbuezas/lgt8fx/master/package_lgt8fx_index.json
网络不好的朋友可能需要科学上网来访问。请不要使用Larduino_HSP_v3.6c这个开发板包,如果用这个编译会有奇怪的问题。
设计图

BOM


评论