基于ARM的高精度自动定位系统设计
时间:04-16
来源:互联网
点击:
1 引言
时栅传感器是一种全新原理的位移传感器,其原理及优点可参考文献。2004年时栅传感器经法定权威检测部门——中国测试技术研究院检定精度为±o.8”,达到计量光栅水平。为了实现时栅传感器非线性误差的自动修正,提高生产效率,需要设计一套高精度自动定位系统。本课题是以高精度光栅作为标准的检定仪器来检定时栅位移传感器的非线性误差,要求其具有USB通信接口,按外部指令数据自动转位。
2 系统设计
传感器非线性误差自动修正系统结构图如图1所示。系统装置以回转工作台(以下简称转台)为载体,光栅和时栅传感器分别通过联轴结安装在转台的转轴上,随转台同时转动。工控机通过USB接口向ARM控制器发送转位角度数据,ARM控制电机旋转以带动转台,同时用串口接收时栅反馈的测茸值,形成闭环控制,并在定位完成后通知工控机,工控机再分别采集光栅和时栅的测量数据。作为标准检定仪器的精密光栅所测得的角位移与时栅所测得的角位移的值做差,从而得到时栅在这一位置上的测量误差。然后,工控机向ARM发送下一个设定的角度值,这样在上位机程序的控制下按步骤完成每一个设定目标值的准确定位。对不同角度多次测鼍,当所有的目标点都采集完成后,工控机便开始进行数据的拟合、误差的修正与补偿。
同时还要测最温度、湿度等实验条件参数,以得出不同条件下的位置一误差曲线以及修正参数。最后将温度、湿度参数和修正参数移植到时栅中进行误差测试.作为时栅的最终精度。本文将重点论述高精度定位系统的设计(如图l中虚线框部分所示)。
图1 时栅传感器非线性误差自动修正系统结构图
3 硬件设计
3.1 ARM控制系统
LPC214x系列是PHlLIPS公司新推出的基于ARM7内核的高性能芯片,其最大特色是内置了USB2.0全速控制器,LPC2146/2148还内嵌了DMA引擎,使USB通信速度几乎达到了USB2.0(全速)的最高通信速度;相对于普通ARM7芯片,LPC214x还提升了I/O端口的速度,具有很高的性价比。选用LPC2148作为控制器,它采用了超小LQFP64封装。ARM控制系统结构图如图2所示,其中控制系统电源由USB接口提供。
图2 ARM控制系统结构图
3.2 USB接口电路
USB的物理接口包括4根线,分别为电源线(Vbus)、数据线+(D+)、数据线-(D-)、地线(GND)。其中D+和D-是一对差模的信号线,而Vbus和GND提供了5V的电源,它可以给一些设备供电,如图3所示,其中J1的第5脚是B型USB接口的外壳。USB总线的D+和D-线都要串接一个匹配电阻(R13和R14),LPC214x的P0.23引脚为USB设备控制器用于检测USB总线是否插入的检测引脚,该引脚可串联1个10kΩ的电阻接到USB的Vbus上。LPC214x USB控制器的USB引脚占用了第10引脚(D+)和第11引脚(D-)。
为了使LPC214x的软件可以更灵活地控制USB设备与主机之间的连接,使用P0.31来实现SoftConnectTM特性。Q1选用P沟道MOS管2SJ355,当P0.31输出低电平时,D+线通过R18上拉到VDD3.3,通知USB主机:USB设备要与其建立连接;当P0.31输出高电平时,D+线断开与VDD3.3的连接.通知USB主机:USB设备已经断开与USB主机的连接。
图3 USB接口电路
SPX1117M-3.3是Sipex公司生产的LDO芯片。SPX1117系列LDO芯片输出电流可达800mA,输出电压的精度在±1%以内,还具有电流限制和热保护功能。
3.3 步进电机驱动电路
根据现有的实验转台和课题的控制要求,可选择北京斯达微步控制技术有限公司的34HS300DZ型两相混合式步进电机,与其配套的驱动器的型号为MS-2H090M。为达到最高的控制精度,细分数应设为最大值,则电机步距角为0.009度。由于同步带的传动比为2:1,蜗杆与蜗轮的传动比为90:1,则电机与转台的总传动比为180:1,转台步距角为0.18秒。
MS-2H090M型驱动器对输入的电压信号或电流信号均有要求,由此需设计控制器与驱动器的接口电路,以八同相三态缓冲器成驱动器74HC244为接口芯片。ARM输出的信号(包括电机使能信号、方向信号和脉冲信号)经过74HC244后将3.3V高电平电压转换为驱动器要求的5V,同时增强了驱动能力。
4 软件设计
4.1 系统定位流程
高精度自动定位系统流程图如图4所示。首先ARM控制器通过USB从上位机接收转位角度值(设为A度),然后通过串口接收时栅的初始值,再将从上位机接收到的转位角度值折算成步进电机的脉冲数,发脉冲控制步进电机转位(A-1)度,完成后从事口接收时栅测量结果的反馈信号.并与初值比较,计算出实际转位角度值,再将实际值与上位机预先设定的值进行比较,若一致,则输出定位完毕信号,从USB口接收上位机传来的下一个角度值;若不一致,再判断是否超过了设定值,控制电机修正。
图4 高精度自动定位系统流程图
4.2 步进电机的位置控制及算法
步进电机的位置控制需要两个参数。第一个参数是步进执行机构当前的位置参数,称其为绝对位置。第二个参数是从当前位置移动到目标位置的距离,可以用折算的方式将这个距离折算成步进电机的步数。
根据经典控制理论,步进电机的闭环定位控制方法可分为单向逼近和双向逼近这两种,一般情况下,双向逼近的定位速度要快于单向逼近,但是双向逼近往往会带来同程误差。本设计中单向逼近的算法流程图如图5(a)所示。单向逼近采用2分法,当预设值A大于1度时,正转(A-1)度。防止超过,然后每次走剩下步数的一半;当预设值A小于或等于1度时,直接开始每次走剩下步数的一半来逼近。转过的角度非常接近预设值时,即使适用2分发也有可能超过预设值,这时电机反转1度后重新逼近。这种算法理论上能将转台控制到±0.09秒,但由于目前时栅的分辨率为0.2秒,故只能将转台控制到±0.2秒。
图5 步进电机闭环定位流程图
若采用双向逼近,算法相对简单一点,如图5(b)所示,每修正一次,ARM控制器就接收一次时栅反馈信号,按不足的或超过的步数来正转或反转修正。采用双向逼近时,系统装置的回程误差主要是两个联轴结这种机械结构带来的误差,实验证明此误差不超过1秒,故在定位精度要求不高的场合,可采用双向逼近方式来快速定位。
4.3 USB通信流程
USB的通信流程图如图6所示。首先要初始化USB控制器,然后设置USB控制器中断向量,并打开IRQ中断,再根据后台的中断,在前台处理USB事件,当USB设备的地址配置完成后,才可对端点进行读写操作,从逻辑端点1接收转位角度数据。定位完成后,从逻辑端点1发送定位完成信号到上位机。准备接收下一个转位角度数据。
图6 USB通信流程图
时栅传感器是一种全新原理的位移传感器,其原理及优点可参考文献。2004年时栅传感器经法定权威检测部门——中国测试技术研究院检定精度为±o.8”,达到计量光栅水平。为了实现时栅传感器非线性误差的自动修正,提高生产效率,需要设计一套高精度自动定位系统。本课题是以高精度光栅作为标准的检定仪器来检定时栅位移传感器的非线性误差,要求其具有USB通信接口,按外部指令数据自动转位。
2 系统设计
传感器非线性误差自动修正系统结构图如图1所示。系统装置以回转工作台(以下简称转台)为载体,光栅和时栅传感器分别通过联轴结安装在转台的转轴上,随转台同时转动。工控机通过USB接口向ARM控制器发送转位角度数据,ARM控制电机旋转以带动转台,同时用串口接收时栅反馈的测茸值,形成闭环控制,并在定位完成后通知工控机,工控机再分别采集光栅和时栅的测量数据。作为标准检定仪器的精密光栅所测得的角位移与时栅所测得的角位移的值做差,从而得到时栅在这一位置上的测量误差。然后,工控机向ARM发送下一个设定的角度值,这样在上位机程序的控制下按步骤完成每一个设定目标值的准确定位。对不同角度多次测鼍,当所有的目标点都采集完成后,工控机便开始进行数据的拟合、误差的修正与补偿。
同时还要测最温度、湿度等实验条件参数,以得出不同条件下的位置一误差曲线以及修正参数。最后将温度、湿度参数和修正参数移植到时栅中进行误差测试.作为时栅的最终精度。本文将重点论述高精度定位系统的设计(如图l中虚线框部分所示)。
图1 时栅传感器非线性误差自动修正系统结构图
3 硬件设计
3.1 ARM控制系统
LPC214x系列是PHlLIPS公司新推出的基于ARM7内核的高性能芯片,其最大特色是内置了USB2.0全速控制器,LPC2146/2148还内嵌了DMA引擎,使USB通信速度几乎达到了USB2.0(全速)的最高通信速度;相对于普通ARM7芯片,LPC214x还提升了I/O端口的速度,具有很高的性价比。选用LPC2148作为控制器,它采用了超小LQFP64封装。ARM控制系统结构图如图2所示,其中控制系统电源由USB接口提供。
图2 ARM控制系统结构图
3.2 USB接口电路
USB的物理接口包括4根线,分别为电源线(Vbus)、数据线+(D+)、数据线-(D-)、地线(GND)。其中D+和D-是一对差模的信号线,而Vbus和GND提供了5V的电源,它可以给一些设备供电,如图3所示,其中J1的第5脚是B型USB接口的外壳。USB总线的D+和D-线都要串接一个匹配电阻(R13和R14),LPC214x的P0.23引脚为USB设备控制器用于检测USB总线是否插入的检测引脚,该引脚可串联1个10kΩ的电阻接到USB的Vbus上。LPC214x USB控制器的USB引脚占用了第10引脚(D+)和第11引脚(D-)。
为了使LPC214x的软件可以更灵活地控制USB设备与主机之间的连接,使用P0.31来实现SoftConnectTM特性。Q1选用P沟道MOS管2SJ355,当P0.31输出低电平时,D+线通过R18上拉到VDD3.3,通知USB主机:USB设备要与其建立连接;当P0.31输出高电平时,D+线断开与VDD3.3的连接.通知USB主机:USB设备已经断开与USB主机的连接。
图3 USB接口电路
SPX1117M-3.3是Sipex公司生产的LDO芯片。SPX1117系列LDO芯片输出电流可达800mA,输出电压的精度在±1%以内,还具有电流限制和热保护功能。
3.3 步进电机驱动电路
根据现有的实验转台和课题的控制要求,可选择北京斯达微步控制技术有限公司的34HS300DZ型两相混合式步进电机,与其配套的驱动器的型号为MS-2H090M。为达到最高的控制精度,细分数应设为最大值,则电机步距角为0.009度。由于同步带的传动比为2:1,蜗杆与蜗轮的传动比为90:1,则电机与转台的总传动比为180:1,转台步距角为0.18秒。
MS-2H090M型驱动器对输入的电压信号或电流信号均有要求,由此需设计控制器与驱动器的接口电路,以八同相三态缓冲器成驱动器74HC244为接口芯片。ARM输出的信号(包括电机使能信号、方向信号和脉冲信号)经过74HC244后将3.3V高电平电压转换为驱动器要求的5V,同时增强了驱动能力。
4 软件设计
4.1 系统定位流程
高精度自动定位系统流程图如图4所示。首先ARM控制器通过USB从上位机接收转位角度值(设为A度),然后通过串口接收时栅的初始值,再将从上位机接收到的转位角度值折算成步进电机的脉冲数,发脉冲控制步进电机转位(A-1)度,完成后从事口接收时栅测量结果的反馈信号.并与初值比较,计算出实际转位角度值,再将实际值与上位机预先设定的值进行比较,若一致,则输出定位完毕信号,从USB口接收上位机传来的下一个角度值;若不一致,再判断是否超过了设定值,控制电机修正。
图4 高精度自动定位系统流程图
4.2 步进电机的位置控制及算法
步进电机的位置控制需要两个参数。第一个参数是步进执行机构当前的位置参数,称其为绝对位置。第二个参数是从当前位置移动到目标位置的距离,可以用折算的方式将这个距离折算成步进电机的步数。
根据经典控制理论,步进电机的闭环定位控制方法可分为单向逼近和双向逼近这两种,一般情况下,双向逼近的定位速度要快于单向逼近,但是双向逼近往往会带来同程误差。本设计中单向逼近的算法流程图如图5(a)所示。单向逼近采用2分法,当预设值A大于1度时,正转(A-1)度。防止超过,然后每次走剩下步数的一半;当预设值A小于或等于1度时,直接开始每次走剩下步数的一半来逼近。转过的角度非常接近预设值时,即使适用2分发也有可能超过预设值,这时电机反转1度后重新逼近。这种算法理论上能将转台控制到±0.09秒,但由于目前时栅的分辨率为0.2秒,故只能将转台控制到±0.2秒。
图5 步进电机闭环定位流程图
若采用双向逼近,算法相对简单一点,如图5(b)所示,每修正一次,ARM控制器就接收一次时栅反馈信号,按不足的或超过的步数来正转或反转修正。采用双向逼近时,系统装置的回程误差主要是两个联轴结这种机械结构带来的误差,实验证明此误差不超过1秒,故在定位精度要求不高的场合,可采用双向逼近方式来快速定位。
4.3 USB通信流程
USB的通信流程图如图6所示。首先要初始化USB控制器,然后设置USB控制器中断向量,并打开IRQ中断,再根据后台的中断,在前台处理USB事件,当USB设备的地址配置完成后,才可对端点进行读写操作,从逻辑端点1接收转位角度数据。定位完成后,从逻辑端点1发送定位完成信号到上位机。准备接收下一个转位角度数据。
图6 USB通信流程图
传感器 USB ARM 电路 总线 电阻 LDO 电流 电压 步进电机 嵌入式 相关文章:
- 多核及虚拟化技术在工业和安全领域的应用(05-23)
- 基于ARM核的AT75C220及其在指纹识别系统中的应用(05-24)
- 基于音频信号的轴承故障诊断方法(03-17)
- 采用信号调理IC驱动应变片电桥传感器(05-26)
- 基于nRF2401智能无线火灾监控系统设计(04-01)
- 家居安防无线监控报警系统(04-02)