基于PT1000和有刷电机并使用LORA进行控制的无线开关阀

基于PT1000和有刷电机并使用LORA进行控制的无线开关阀

功能描述

针对需求日益增大的物联网无线控制类应用,本人设计了一款用于各种阀门控制的电路,现分享给大家。电路具有2路温度采集通道,温度使用PT1000 进行采集,这里使用PT1000的目的是因为采集的介质为液体,需要插入到液体中进行测量,所以选择的是PT1000,同时该设备需要进行开关阀门控制,故在此基础上又增加了一路电机控制电路,用于驱动电机,这里使用的是有刷电机。无线部分直接采用的当前比较火的LORA无线技术进行控制。最后,整体需要进行低功耗设计,因为采用的是锂电池供电。

硬件设计

CPU选择的是ST的STM8L单片机,此款功耗比较低,同时本人也比较熟悉此款,故直接拿来用了。LORA采用的是自己设计LORA模块,具体见下文图片。选好了CPU和LORA模块,接下来温度采集电路部分和电机驱动部分了,温度部分上节提到选用PT1000的原因,这里就就不多说了,直接采用的是单片机2路AD进行采样后,进行计算,得出PT1000的阻值,然后,根据公式计算出温度。电机部分采用的电机驱动芯片进行控制,选用驱动芯片是因为控制起来方便,电路也容易实现,这里偷懒直接采用的芯片。最后,由于需要将温度进行本地显示,方便维护,这里又增加了LCD显示屏,用于显示当前采集的温度、电池电量及无线信号强度RSSI值等,其他需要显示的项目,可以根据实际需要自行添加,这里图就不上了,需要的可以加V获取。

PCB布线

原理图设计完毕,检查无误后,进行布线,经过大约3天左右的修改调整,最后整体效果如下,这里将PCB贴下以供检阅~~
在这里插入图片描述
上图就是经过几天的作业,终于完成的整体布线,各部分功能介绍下,1 为lora模块,2 为LCD插槽,3为LCD驱动器,4为有刷电机驱动电路,5 为时钟芯片

软件设计

软件设计需要考虑低功耗,这里根据功能,将软件分为了如下几部分:LORA无线收发部分,PT1000温度采集部分,电机控制部分,低功耗休眠部分,由于目前没有使用到精准时钟,所以这里没有加上时钟电路部分代码,后续如果需要实现精准对时,可以加上此部分代码。好了,打字比较费时,直接看图吧。

1、LORA模块采用的SPI驱动,定义如下:
在这里插入图片描述
此部分代码实现参照移植的标准LORA驱动代码进行开发,内容比较多,就不一一粘贴了,总之,对于LORA驱动,保证SPI正常后,按照手册进行配置各个寄存器就可以了,主要涉及的到的重点参数有通信频率、扩频及前导码等参数,这些配置完毕后,再配置对应的收发中断引脚就行了,其他功能根据自己项目进行微调即可。

2、温度采集使用芯片自带的ADC通道进行采集,STM8L芯片的AD为12位,如果精度不够,可以增加专用的AD芯片,本项目要求不是太高,故采用12位进行采集已经够用,部分代码如下:
在这里插入图片描述
上图中7500 表示选用的采样电阻为7.5K,PT1000在常温25摄氏度下阻值约为1097欧。

3、 LCD部分由于采用的HT1621芯片,这里只需驱动起来后,调用驱动函数进行发送数据即可,此部分比较容易实现,代码片段如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
LCD显示就是调用写入函数即可,此部分资料也比较多,这里简单介绍下吧。

4、然后是电机控制部分,这里采用状态机进行控制,因为设计需求是要求电路根据当前温度进行自动控制,即根据不同的温度调整阀门的开度,所以代码采用了状态机进行控制,部分代码如下:
在这里插入图片描述
5、最后,是整体系统需要采用低功耗运行,由于开发板需要每秒监听一次无线活动,即当网关有下发数据需求时,能够在1秒内唤醒控制板,这里采用LORA芯片绝活CAD进行唤醒操作,这样可以将功耗控制的很低,监听一次约为13.7mA左右,设置的监听时间约200ms。同时,需要采用电池供电,因此,功耗不能太高,经过大约1整天的详细调试,终于将整体功耗调整到了1.9uA左右。勉强可以接收吧。后续可以继续优化降低~~

总结

最后,将整个开发板图片贴下,记录下这里几天的项目成果~~

背面
在这里插入图片描述
侧面
在这里插入图片描述
正面
在这里插入图片描述
经过上述配置,最终上电后电流实测1.9uA,应该还可以继续降低,以后再优化吧,不说了,上图
在这里插入图片描述

**总结
实际应用时,根据待机要求,选择不同容量的电池,这里要求待机至少3年,所以选择了较大容量电池,同时,如果节点个数过多,可以考虑在无线发射程序中增加信道检测机制,这样会降低无线冲突引起的丢包现象~~
上述是个人对使用LORA芯片研发产品的过程简要总结,如需要完整开发资料,可以加V获取,cymqiot 微信号,下期介绍使用LORAWAN网关开发经验汇总,欢迎学习交流~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值