矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 5799|回复: 35

自制可以显示启动时电瓶最低电压的小模块

[复制链接]
     
发表于 2020-8-5 10:49:32 | 显示全部楼层 |阅读模式
       自从换了电瓶后,就一直很好奇,车辆启动时,电瓶电压会掉到多少。用万用表量基本没法看出,一来万用表的刷新频率太慢,二来万用表没有记忆最低数值的功能。当时就打算自己做一下电压表,还能记录最低电压的。刚好看到有款0.91寸的OLED单色显示屏,觉得放在双闪灯开关旁边那个位置会比较合适。但拖延症外加后来工作上比较忙,就一直没有空搞了。
       盘算着写程序可以还要花点时间,于是先把核心的零件买回来了。
       主控核心用STM32103C8T6的最小系统板,如下图。

1.jpg

      0.91寸的OLED单色显示屏。这个显示屏的效果还是很不错的,由于是黑色底的,所以在阳光下也不会不清晰,而晚上黑暗的环境下,光线也不会刺眼。

2.jpg

      STM32单片机的性能很强大,电压测量跟显示的程序也很快就写好了,跟万用表对比一下,精度还是很不错的。

3.jpg

      这时又想,只是显示个电压,那也太单调了吧,系统板上还有这么多的扩展接口可用,要不多加个温度传感器,可以显示一下车内的温度吧。查了一下有什么比较好的传感器,发现了一款性能指标等参数很不错的传感器,而且是可以测量出温度跟相对湿度。

4.jpg

       尽管价格不算便宜,但为了满足好奇心,也买回来了。

5.jpg

       同样,写程序驱动一下这个传感器,还好,很容易就写出来了。

6.jpg

      整个程序的思路就是,系统上电,20秒内显示电压,用于看启动前的电瓶电压,若20秒内电压没有低于11.5V(即没有启动发动机),就转为显示温度跟相对湿度。在任何时候,如果检测到电压低于11.5V后,就转为显示电压值,当电压回升到12V或以上时,闪烁显示测得的电压最低值,然后返回显示温度跟湿度。
       因为ACC电源跟ON电压在启动时是没有电压输出的(自动启停生效的启动除外),所以这个小模块要接常电,为免接常电造成车子的静态电流增加,所以要另加了一个延时断开电路,这个以前有介绍过,就是当ACC电断开后,继续用常电的线供给模块工作15秒左右,然后继电器断开,整个模块断电,实现0待机电流
       这样做了一个试装板,看了效果以后,有几个车友都说感兴趣希望也帮做一个,凑了一下人数,可以分担一下打版的费用,于是就去打版制作了。在决定打板制作后,设计上要更加严谨了,原本设计上的那些BUG,自己用的话没所谓,这次可以借打版的机会一并解决。原本的设计,测量电压的基准是用STM32内部的基准做参考,实际使用上,这个基准会有点轻微的飘移,造成最后测量的电压最大会有0.2V左右偏差,新的设计改用了外接TL431做基准电压,这样稳定性就提高了不少了,基本上最大只有0.03V的偏差了。不过,为了防止TL431出故障时系统还能继续使用,所以增加了检测TL431是否工作正常,如果不正常,就改回使用STM32的内部基准电压做参考。接着是使用温湿度传感器DHT22,原程序里面没做负温度的处理,考虑到有北方的车友使用,所以程序上要增加负温度的处理了,还有原程序中,如果DHT22传感器出现故障,就会出现显示卡死的现像,新程序就改进了,若传感器故障,就提示传感器故障,并改为显示电压值。程序的最后改进,就是STM32工常工作时,在后台每秒进行20次电压检测,若发现低于11.5V,则改为显示电压值。程序接近是推倒重写了,代码多了非常多,不过估计这里对源程序感兴趣的车友不多,所以就不贴出来了。
        过了一个星期,打板就发回来了,先焊好一块测试一下,通过没有问题。

IMG_6735.JPG

      着手开始程序的重写,首先是较简单的基准电压转换,用TL431做基准时,电压测量值可以达到很高的精确度。

IMG_6797.JPG

      一但外部基准电压出故障了,就自动转为使用内部基准电压,这时的测量电压精确度会降低一点。

IMG_6710.JPG

       接着是负温度下的显示,花了点时间,还是可以达到效果的。

IMG_6716.JPG

       如果温湿度传感器出了故障,就改为显示电压值。

IMG_6711.JPG

       最后成品如图。需要接上三条线,常电、ACC、地线。当ACC线断电后,模块继续工作15秒,然后继电器断开,整机断电,实现0待机电流。

IMG_6794.JPG

       在车上安装OLED显示屏,之前再多买了一个双闪灯开关,打算开个好看点的孔,再在外面盖上一块透明的亚克力板,感觉这样子会好看点。拿着去问了一下激光开孔的人,价格吓退,只得买了点工具回来,再次用自己的手艺试试。其实就是美工刀、小电磨、什锦挫。

IMG_6800.JPG

       手艺不精,花了近半天时间才开好孔,卡上了亚克力板。

31121747.jpg

      把OLED显示屏装上去,调整好位置,打上胶水,看了一下,效果还是可以接受的。

IMG_6781.JPG

IMG_6782.JPG

    下一步就是开拆双闪开关了。长安铃木维特拉的双闪开关的内部是这个样子的

IMG_6783.JPG

IMG_6784.JPG

       电磨在这里发挥了非常大的作用,各种改,再难看也不怕,显示板的盖子盖上了,就看不见了。线就从后端引出来。

IMG_6786.JPG

      穿好线打磨好安装位置后,把双闪开关组装好,通电看看效果

IMG_6787.JPG

IMG_6788.JPG

IMG_6789.JPG

最后安装回车上,效果:

IMG_6792.JPG

       整体的效果,可以参看视频: https://v.youku.com/v_show/id_XNDc3NjQzODU4MA==.html

评分

2

查看全部评分

     
发表于 2020-8-5 11:55:43 | 显示全部楼层
创意挺好,动手能力强大!必须点赞!
回复 支持 反对

使用道具 举报

     
发表于 2020-8-5 12:12:19 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2020-8-5 12:45:20 | 显示全部楼层
精彩制作。赞一个。
回复 支持 反对

使用道具 举报

     
发表于 2020-8-5 19:52:08 | 显示全部楼层
怎么样把启动瞬间的电压被单片机AD采样捕捉到?
回复 支持 反对

使用道具 举报

     
发表于 2020-8-5 20:18:51 | 显示全部楼层
能否加上一个水温报警,声音报警,这个可是有大用处的
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-8-5 20:59:13 | 显示全部楼层
jiachangchun 发表于 2020-8-5 20:18
能否加上一个水温报警,声音报警,这个可是有大用处的

买个OBD显示仪,大都有水温过高报警的设置了。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-8-5 21:00:50 | 显示全部楼层
richard1984 发表于 2020-8-5 19:52
怎么样把启动瞬间的电压被单片机AD采样捕捉到?

方法很多种呀,我就是用定时器中断方法,每50ms进行一次电压取样,记录最低电压值即可。

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
发表于 2020-8-5 21:32:33 | 显示全部楼层
做的很不错。赞一个。
回复 支持 反对

使用道具 举报

     
发表于 2020-8-6 21:02:30 | 显示全部楼层
创意很好,可以给汽车厂家做配套了
回复 支持 反对

使用道具 举报

     
发表于 2020-8-6 21:22:08 | 显示全部楼层
给楼主提个建议,平时正常工作时可以温、湿度和电压轮流显示,这样车辆发动后可以观察发电机电压是否正常,最好再加上时钟功能(利用STM32的实时钟功能),加个纽扣电池给实时钟供电,然后显示屏一行显示时钟,另一行轮流显示电压、温度、湿度。
以上纯属个人见解
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-8-6 22:07:52 | 显示全部楼层
lw86 发表于 2020-8-6 21:22
给楼主提个建议,平时正常工作时可以温、湿度和电压轮流显示,这样车辆发动后可以观察发电机电压是否正常, ...

谢谢建议。因为起初设计的目的是看启动时电瓶的最低电压,我车子的点烟口上也插着电压显示器了,所以轮流显示这块就没有做了,当然要改也是非常容易的事情。时间的显示起初也想过,但带来两个问题,一个是时间的调整,要另外增加按钮,在我的车上难找合适的位置(另外我的车中控台上原车也自带时钟了)。二来我测试过买来的几块STM32最小系统板,内部的实时时钟似乎都不怎么稳定,而且偏差也比较大,基本只能用于实验用途,以前也试过几款实时时钟芯片,基本不带温度补偿的,精度都不能令人满意。
回复 支持 反对

使用道具 举报

     
发表于 2020-8-6 22:27:54 | 显示全部楼层
本帖最后由 sandan 于 2020-8-6 22:29 编辑

楼主搞的电路我真不懂,谢谢分享,学习了

应该测启动电流才有实际意义吧?
测电瓶带载下降电压(启动电流引起的), 万用表的最小值可测、可记忆、可更新的。
要正确可用万用表的DCV峰值档或示波器。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2020-8-7 11:14:10 | 显示全部楼层
sandan 发表于 2020-8-6 22:27
楼主搞的电路我真不懂,谢谢分享,学习了

应该测启动电流才有实际意义吧?

手头上的万用表没有这个功能呀,示波器公司里有,但体积大且要用220V电,带不出来。其实去朋友的修车档接上电瓶检测仪也是可以测到启动时的电压,还能测出内阻跟电瓶的CCA值,只是这些都只能是单次操作,达不到我想要的看每次启动时的电压,记录一下电瓶的老化过程的想法。
回复 支持 反对

使用道具 举报

     
发表于 2020-8-7 15:11:19 | 显示全部楼层
楼主做一批造福坛友。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-4-20 03:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表