计数器采集单元制作

文章讲述了作者出于成本和环境考虑,自行设计了一款计数控制器,具备防反接、过压保护等特性,支持Modbus-RTU通讯协议。主要应用于需要传感器计数的场景,如水泥厂,使用了STM32F0304P芯片,并提供了详细的接口说明和测试工具。
摘要由CSDN通过智能技术生成


还有旧的临时拍的一张

设计初衷

公司有个水泥厂的项目,需要对流水线上袋装的水泥袋进行计数,会使用到一些传感器和计数用的控制器。于是传感器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表-程序-说明文档-测试文件)(还是需要权限):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值