
设计初衷
公司有个水泥厂的项目,需要对流水线上袋装的水泥袋进行计数,会使用到一些传感器和计数用的控制器。于是传感器tb买,计数控制器就自己做了。因为水泥厂环境恶劣,有很多灰尘,淘宝买的一般计数算法都已经写死了,如果用PLC那成本又上去了。介于这个主要原因,加上自己做也并不难。于是就自己设计与编程出该款计数控制器。至于计数算法就可以根据实际需求修改了。
功能特点
DC5-30V防反接、过压保护、过流保护、短路保护
最多3路数字量输入0-24V(复用IO口为输入)
最多3路数字量输出0-24V(复用IO口为输出)
3路脉冲计数功能寄存器
支持标准Modbus-RTU通讯协议
3路IO状态指示灯、防死机看门狗
带防雷、静电保护RS485通讯接口、运放信号隔离
模式、地址、波特率、校验位可通过上位机软件设置(停止位占不支持设置!默认1位)
主要技术指标
供电电源:5~30V DC(推荐12VDC或24VDC)
功耗:0.3W
输入信号:0-24V可选
输出信号:0-24V可选根据外部供电输出
存储环境:-40℃~60℃
通讯接口:RS485
通讯协议:ModBus-RTU/ASCII 协议
采集速度:6-20US
输出速度: 7-42NS
地址范围:出厂默认0x01,设置范围0x01-0xFD
串口参数:2400-128000bps 可设置,出厂默认波特率19200 N 8 1
采集频率:115200波特率最快100HZ(100次/秒)
9600波特率最快20HZ (20次/秒)
应用场景
各种需要配合传感器进行计数的场景。如下图
主要接口说明
信号输入 | 功能说明 |
---|---|
IN/OUTx-H | 数字量输入输出接高电平/输出高电平端 |
IN/OUTx-L | 数字量输入输出接低电平/输出参考0V端 |
NPN/PNP型传感器介绍
(转载/侵权删)NPN/PNP传感器介绍
硬件如下:
因为是在疫情期间,芯片价格涨得飞起,记得当时5块钱就能买到的STM32F103C8居然也卖到了十多块钱。找了半天才决定用这个STM32F0304P,为什么?没钱!这个疫情期间是3块/pcs。
软件结构
*比较喜欢底层(硬件相关驱动)-(应用相关)的写法。CV大法。
通讯协议
懒得打字了,附几张图吧,全部用的保持寄存器。
大致就是把需要配置与对外提供的数据映射到对应寄存器。
测试工具
测试可以使用"mting"这个是专门用来测modbus协议的工具,如果长期调试用这个比较方便。资料里有我已经设置过的数据点可以直接导入。
如下图
最终的效果
水泥厂用了几十个,备用的准备了几十个,完美解决计数问题。因为用的RS485,所以注意布线的时候尽量手拉手连接,如果距离长了要加RS485中继器(基本不用)。开始的时候也想用网络的方式传,但是组网麻烦呀,想想每个计数控制器都要一个交换机就为了计数!额,奢侈。而485我用2根线就行了,组网也只需要并连上就行了。
资料如下:
程序如下(需要权限!):
https://gitee.com/pengyongtong_admin/jishuqi-f030-f4.git
其他资料(包括电路图-bom表-程序-说明文档-测试文件)(还是需要权限):