基于STM32F103的4G DTU,内置标准ModbusRTU主机协议,定时轮询从机。定时上传至MQTT服务器
工厂,养殖场,交通,电力
1.产品简介:
基于STM32F103的 4G DTU,内置标准ModbusRTU主机协议
2.应用场景:
工业控制(如PLC扩展等), 终端采集等
3.产品概述:
本DTU方案采用STM32F103RCT6做为主控芯片,ML307作为网络传输模块,1路RS485通道,采用标准Modbus RTU通信协议,RS485接口电路进行EMC设计(已在工业类产品上通过实测)。Modbus轮询地址和串口波特率可通过上位机和远端服务器修改,方便应用到多个使用场景。(支持定制私有通信协议)
4.产品参数:
1. 电源电压:DC 5~36V,推荐DC 24V
2. RS485通信参数:默认波特率9600(可通过附件DTU参数设置工具上位机修改),8个数据位,1个停止位,无校验
3. 通信协议:Modbus RTU
4. 网络层传输协议:MQTT
5.最大modbus设备轮询数量:默认10个,此参数可在程序中视内存情况自行修改
6.DEBUG串口:1个,可用来和上位机进行通讯
7.MQTT服务器地址:可通过上位机设置服务器地址以及用户名和密码
5.使用说明:
1.通过程序下载接口(SWD接口),将附件的Hex文件下载到单片机中
2.为电路板连接DC5~36V电源,正负看电路板丝印(有接反保护和过流保护)
3.插入SIM卡,待网络连接后上位机会读取到IP地址
4.DTU内Modbus默认地址为空,且为不扫描状态,在MQTT服务端下发对应的添加设备JSON,添加成功后保存到flash并自动开始轮询扫描,扫描后从机回复的消息及时通过主题上传到MQTT服务器
5.通信参数:默认9600bps(可通过上位机修改),8-N-1
6.MQTT服务器参数需要通过上位机先配置好(服务器地址,端口,用户名,密码)
6.备注:
1.若需要保存的参数较多,建议将参数保存至EEPROM(电路经过验证,AT24C64驱动自行添加),若参数在2K以内,使用程序默认FLASH保存功能即可(成本节省)
2.本DTU含有RTC时钟电路,若需要,可自行焊接(电路经过验证),联网情况下,建议使用网络时间(成本节省)
3.正常上电后,电源指示灯为常亮,模块指示灯为亮100ms灭1000ms,运行指示灯为1秒亮1秒灭
4.MQTT需要订阅的主题以及上传主题在代码内皆有注释,可自行更改(代码完全开源,请自行下载附件ML307DTU程序+固件查看)
5.上位机代码完全公开,可自行修改需要传输的参数或功能(在附件DTU参数设置工具工程)
6.本电路板成本预估50元。
7.本MODBUS扫描代码为视频测试程序,如需正常生产使用请自行完善从机在线心跳上传等辅助功能(可定制功能或其他协议)
8.元件U13 U14只需焊接一种封装的xc6206即可(SOT-23、SOT-89),只要大于100ma即可
7.测试视频:
第一个视频为上位机的使用演示,第二个视频为MQTT添加设备和上传消息的演示
点赞