一、方案规划
此方案拟采用Cortex-M内核单片机设计一款用于增量式旋转编码器的测速器,方案使用单片机的定时器外设,通过连接编码器的AB通道,通过捕获脉冲数量计算电机的旋转速度,通过比较AB两个通道的脉冲相对关系,确定电机的旋转方向。同时可增加RS485通信接口,可适当拓展绝对值编码器的测速。再通过相应的滤波算法,增强误差的过滤。另外增加一路RS232接口,可通过该接口与其他设备通信,输出测量出的速度值。同时滤波后的速度采用数码管或其他显示器进行显示。
二、方案选型
MCU:芯源CW32F030K8
RS232接口芯片:CH340N
RS485接口芯片:SN75176
三、选型理由
MCU选用芯源CW32F030K8,为Cortex-M0+内核,性价比高,M0+的内核,以64MHz的主频完全可以胜任数据的采集工作,至少在2500线的编码器,5000RPM可以正常采集,满足大多数应用场景,同时支持三路USRAT,可满足RS485和RS232同时使用。
RS232接口芯片选用CH340N,属于较为常用的芯片,开发简单,质量有保证。
RS485接口芯片选用SN75176,因为该芯片通信速率较高,可以轻松满足编码器的2.5M波特率要求。
四、方案设计概述
在系统上电后初始化相关外设,包括RS232和RS485的外设初始化,定时器捕获通道的初始化,初始完成后开始启动定时器进行捕获,此处有几种方式进行选择,可选用M法测速或者T法测速,或者直接采用M/T法测速,测得的速度可采用卡尔曼滤波算法进行速度的滤波,得到更加真实的速度曲线。完成后通过串口打印速度值,可通过PC端打印速度波动曲线,同时在显示设备显示速度值。
五、部分硬件电路设想
|