本帖最后由 幸福至上 于 2016-3-22 12:33 编辑
现在有这样一个应用情景:需要控制一根轴进行1-360°的旋转,能够做到的旋转控制分辨率为0.1°(即能够以0.1°为单位进行移动,已实现)。但控制系统上电后不能进行回零操作,即上电就要知道当前所处的角度位置,所以需要在轴上加装一个和轴联动的角度传感器。要求该角度传感器的检测分辨率至少要小于等于0.1°。可以实现角度检测的传感器据,我这查阅到三类:
1、绝对值光电编码器,10位的测量分辨率大约为360/1024=0.35°,12位的测量分辨率大约为360/4096=0.88°。所以如果要保证传感器检测的分辨率达到0.1°以上,那么需要12位分辨率的编码器。看了下欧姆龙的12位绝对值编码器,贵的离谱啊。国内的不知道有哪一家的比较好?(有性价比更好)
2、精密电位器,又叫导电塑料角位移传感器。买了一个型号为:WDD35D4-5K的精密电位器来试用,电位器先接4-20mA变送电路,将输出电压值变送成4-20mA的变化电流,再在接收端通过MCU的ADC来读取精密电阻电压。有时候在静止情况下,ADC(10位)读取到的电压数值有点波动。不知道这种传感器靠谱不哦?
电位器参数如下图所示: (注意到其中一个独立线性公差,应该会影响测量精度)
3、霍尔角度传感器,看某宝上说能到到12位测量精度,输出的同样是0-VCC电压来对应旋转角度值。不知道具体情况如何(线性度,分辨率,稳定性)?
因为角度传感器所在位置距离控制主板位置有一定的距离(3-5m),如果直接传送角度传感器输出电压,在现场应该会耦合进很多干扰。所以需要一个变送方案:
1、角度传感器输出的信号通过4-20mA变送电路进行变送,转换成4-20mA电流,然后在接收端,通过一个12位ADC来采集精密电阻上的电压值来将传感器输出信号进行转换,并最终得到所处角度位置信息。考虑到其中的变送电路部分的误差(变送芯片误差,精密电阻温漂等)可能会加入额外的干扰;
2、角度传感器输出的信号通过一个12位ADC进行电压转换后,再通过数字通讯(RS422,RS485等)方式发送给主控制电路。想问下大家对这种测量情景有什么好的方法吗? ;)
经过和网友的讨论和自己研究,采用了如下方法进行旋转角度测量,该方法装配编程都比较简单,也很精确,14位分辨率,SPI或IIC通讯方式。供大家参考下。
|