DSP

高精度的位置转速检测系统(位置23位)

2019-07-13 20:59发布

最近在所一个项目,就是一套位置转速的检测系统。 要求:分辨率>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 板子   以上内容仅供参参考学习,禁止商业活动,同时欢迎业内人士共同探讨交流学习,未经允许禁止转载。