大家好,我是小栋栋,出于工作保密原因呢,更多的自我介绍将会省略,以小栋栋代称我自己,也可以理解为我是一个自由创作者,由于工作所需,所以要经常开发一些这样的小设备,解决现场问题,本次项目的的来源,也是为解决现场需求而生(视频里有说明),为了解决电压采集监控不方便问题,减少不必要的投资布线,装备升级,使用了单片机+Wi-Fi模块的方式进行数据采集上传,想要开发快,当然用Arduino,但是当前的环境Atmel芯片非常难买,就买了替代版的LGT8F328P进行开发,而现有的仪表是RS232的输出,所以就选择了本次活动赞助商ADI的ADM202E电平转换芯片,此器件具有供电简单(只需要一个5V即可),稳定性好的特点,足以胜任现场复杂的电磁干扰环境,而Wi-Fi模块又需要相对稳定的3.3V电源,还得感谢Fastbond的赞助商推荐的MAX17624,最大支持1A输出,给Wi-Fi模块可靠的电源支持,而Wi-Fi模块是HC-25,自带MQTT串口透传功能,只需要在网页上设置好模块参数,就可以通过模块与服务器通信了,非常的方便,说了这么多,还是列个表直观一些
- MCU LGT8F328P 控制整板
- ADM202E 负责给电压表和MCU搭建桥梁,转换电平
- HC-25 Wi-Fi模块,负责与服务器通信,最大的优点是支持MQTT透传
- MAX17624 坚强的电源支柱,负责给Wi-Fi模块提供可靠的电源
- EL3H7 光耦,负责将蓄电池端的触发信号隔离开来,保护大家
- RGB LED灯模块,用于指示当前的状态
芯片选型好之后呢,就是开始画板子了,我之前是Eagle用户,因为总是要在线登录以及免费版的板子大小限制等问题,所以要拥抱开源,最后选择了KiCad,还是要感谢活动的主办方,给及时提供了KiCad的在线培训,让我可以短时间内从Eagle转向了KiCad,以后再也不用受板子大小和层数限制了,网络不好登录不上的问题也不复存在了。
经过一番画图扯线呢,终于有了样板,可因为是第一次使用KiCad做板子,MOS管画错了封装,刚焊接起来就冒烟了(囧),只好再来一次,重新做了板子,才有了今天的测试视频以及文档,你可别说KiCad的3D功能还真像样,自带的元件基本都有模型,由于时间原因,我就没给我自己画的封装匹配模型了。
封装画错的板子,已经被我遗弃在角落里。
现在的板子,不灵不灵冒金光哈哈哈
在经过一番焊接之后呢,发现自己实在是没有MAX17624手册里写的37K和118K电阻,只要拿其他的电阻一顿并联串联,才有了板子现在的熊样,别看熊样,功能可不熊哈哈哈哈!
有了板子之后呢,就开始程序逻辑的构思了,机械手抓住蓄电池之后,就会对蓄电池进行接触,采集电压,问题就从蓄电池接触开始,设置D3引脚通过连接到电压表的输入端,触发光耦后,通过串口向电压表发送电压请求指令,然后等待电压表回复,如果在规定的时间内答复,则编写一个函数解析数据并返回结果驱动LED灯以红绿灯的形式告诉员工是否合格,如果没在规定时间内答复,则直接亮红灯报警,控制完指示灯后,将数据通过串口给Wi-Fi模块上传,往复循环
测试图:
测试电压未达到规定值,直接亮红灯
结果直接通过MQTT上传给服务器
此项目开发中遇到的问题,主要还是从Eagle迁移到KiCad产生的不适应,导致的MOS管封装用错,没其他办法,深刻理解KiCad的引脚匹配方式之后,又自己在至上手画了一次封装图,才敢确认第二次打板。对于MAX17624所用的电阻比较偏门的问题,以后会在画板子的时候多预留几个电阻位置,方便电阻的串并联组合。
电子设计是个细心的活,也考察英文水平,看Datasheet里面MAX17624就用了一个1uH的电感器,就天真的相信了,最后电流续不上来,只好又搞了一个大个的电感器放上去续流,电源供应才正常,其实我当时应该多看看文字里写的啥,英语还是需要加强,还需要继续学习。