开源协议
:GPL 3.0
描述
了项目说明
设计一个低成本简易电池内阻测试仪,软硬件开源。
开源协议
GPL 3.0
项目相关功能
测量电池的内阻,量程1毫欧到100欧,分为5个档位,0-10毫欧、10-100毫欧、100-1000毫欧、1-10欧、10-100欧,按键2切换档位。
项目属性
本项目为首次公开,为本人原创项目。项目未曾在别的比赛中获奖。
项目进度
项目已经完成
设计原理
单片机SPWM经过RC滤波产生1KHZ正弦波
接着进入恒流电路,分为100毫安和10毫安两个档位,100毫安采样电阻是10欧,10毫安采样电阻是100欧,通过MOS管和4053模拟开关切换切换
下面通过电容隔离电池直流电压,通过开尔文夹连接,注意HC和LC线要缠绕在一起,HP和LP线要缠绕在一起,不然HC、LC线产生的磁场会耦合到HP、LP。。HC、HP一个夹子、LP、LC一个夹子,不要接错了!
通过104安规隔直电容进入差分放大电路,差分放大电路后面是1、10、100、1000倍可调放大器,先衰减再放大,最后一级讲正弦波抬高到1.65V进入单片机ADC口
电源部分采样9-12V输入,7805产生+5V,LM2596产生-5V,10欧和470UF电容RC滤波后给放大电路供电
单片机采用便宜的STM32F030F4P6
显示采样比较容易买的1602
软件说明
软件比较简单,ADC采样率1MHZ采集1KHZ正弦波,采集1000点,然后DFT算出实部虚部,再进入200点的滤波器,滤波后算平方根的到幅度,得到的幅度乘一个数值得到被测电阻阻值
软件开源地址
https://github.com/yjmwxwx/stm32asm/tree/master/gcm0/nei_zu_yi
软件全部开源,期待网友改进,程序采用纯汇编编写,编译器ARM-NONE-EABI
输入make就可以编译了
实物展示
测小锂电池
正面
反面
夹子
设计注意事项
比较耗电不适合电池供电,当然不在乎可以自己改成电池供电
其他
夹子短路,按下按键1进入短路清零模式,通过调按键1和按键2加减使读数为0后按住按键1的同时再按下按键2进入下一个档位,全部清零完成显示完成后自动保存到FLASH。 按下按键2不要松手,再按下按键1进入校准模式,比如校准0-10毫欧档就夹上10毫欧电阻,通过按键1和按键2加减调整到10毫欧后按住按键1的同时再按下按键2进入下一个档位,全部校准完了会显示完成并且保存到FLASH
数据刷新率降低到每秒4次读数还是跳的厉害
下面图片是10毫欧档用0.5毫欧电阻校准的,可以看到大于0.5毫欧偏大,小于0.5毫欧偏小,线性度准确度都不行。
图片从0.1毫欧到10毫欧实测图片,
把ADC采样率改成100KHZ,读数比较稳定,线性度也好一些
下面是采样率100KHZ的结果
20230404更新
画了个电池供电版本PCB
2023-04-11更新降低功耗版程序和电路
电路只要把10欧采样电阻换成三个100欧电阻并联,100欧采样电阻换成三个1K欧并联,功放部分可以只用两只三极管另外两个并联的可以去掉。
程序改成33333字显示,档位0-33毫欧(33.3毫安)、33毫欧-333毫欧(33.3毫安)、333毫欧-3.33欧(3.33毫安)、3.33欧-33.3欧(3.33毫安)、33.3欧-333欧(3.33毫安) 稳定性比较差读数跳动大。
现在校准方法比较简陋,校准麻烦一下一下按太慢了,有人愿意仿制才会写线性度校准程序。现在校准方法想要最低档位微欧级别准要先夹住比如10毫欧调准后,校准前先进清零模式清零,再夹住比如200微欧这次不能调校准模式,要调短路清零模式,调到和200微欧一样大就行了,校准模式调整比较慢要有耐心。
测100微欧电阻
测200微欧电阻
测300微欧电阻
测500微欧电阻
评论