最近在所一个项目,就是一套位置转速的检测系统。
要求:分辨率>0.02度。
具备位置,转速的存储功能。
接到这个工作也是一脸懵逼,没有头绪,无从下手。仔细静下心来捋了捋思路,先列一个系统工作流程图,然后就是软件算法,最后硬件设计。
一。总体思路是利用位置传感器采集位置,然后通过串口上传到上位机,由于位置传感器的传输速率较高2.5M,无法与上位机通信,因此在中间需要加一个高速转低速的小模块,总体框图如下。
该系统的上位机程序使用LabVIEW做为开发平台, 本系统由串口通讯模块、 CRC校验及空字符判断模块、 位置转换及显示模块、 速度转换及显示模块等模块构成,各模块又由后台程序和前面板组成。 本系统主要是通过上位机发送指令(02) ,指令通过高速485转USB模块传递到编码器,编码器接受到指令后将当前位置数据再通过485转USB模块传递到上位机,上位机将接收到的数据进行处理。
二,首先上位机采用labview做的,程序主要包括:串口通讯模块,位置测量模块,速度测量模块,数据检测模块。
各模块的作用如下:
串口通讯模块: NI-VISA是一种用来与各种仪器总线进行通信的高级应用编程接口,利用VISA编程进行串口参数的设置,检测正常接收到数据后调用VISA Read函数从串口读出数据,完成通讯后调用VISAClose关闭串口。
位置测量模块: 将VISA读取的二进制位置数据转换成十进制数据,然后乘以分辨率0.15秒即可得出当前的位置。
速度测量模块: 一个圆周运动的物体,在△t时间内经过的位移为△rad,则在△t时间内的平均速度为
为了精确地描述物体在某点的瞬时速度,应该把△t取得越小越好,△t越小,所计算出的平均速度越接近瞬时速度,当△t→0时,平均速度趋近于一个极限,即
数据检测模块:通过CRC校验和空字符判断输出正确数据。
三,程序流程图
在上述程序处理中由于数据有干扰,因此,在此处进行了
数据的滑动平均处理,程序图如下,
四,上图中的485转usb模块在这里采用DSP作为核心处理芯片进行转换,
首先将编码器出来的数据的传输速度送到DSP, DSP通过485接口将接收到的数据的传输速度降速,然后再通过232接口传送到上位机,上位机按着前面的方法进行数据处理,显示位置与转速。反之,上位机将发送的指令传送至DSP进行传输速率升速,然后再送至编码器。
其中485一侧的电路原理图如下:
USB一侧的电路原理图
dsp电源:
电源芯片采用TPS767D301,TPS767D301是TI公司推新推出的双路低压差电源调整器,主要应用在需要双电源供电的DSP设计中,带有可单独供电的双路输出,一路固定输出电压为3.3V,另一路输出电压可以调节,范围为1.5-5.5V; 输出电流范围为0-1A,比较适合为TMS320F28335供电,具有超温保护功能。
五。PCB 板子
以上内容仅供参参考学习,禁止商业活动,同时欢迎业内人士共同探讨交流学习,未经允许禁止转载。