摘 要: 介绍了几种数字式手柄控制器的优缺点,针对某数字伺服系统实际需求,设计了一种具有CAN总线通信功能的新型数字式手柄控制器。根据角速度积分原理,详细讨论各部分硬件组成电路,给出软件流程。通过实验比较和效果分析,该手柄不仅能输出任意角位置,还能实现跟踪角速度命令的连续变化。其结构易于实现,开发成本低,有较高灵活性和稳定性,充分发挥软硬件结合的潜力作用。在雷达跟踪、周视监控等数字式伺服控制中有巨大应用前景。
关键词: 伺服控制;角位置;角增量
角位置伺服控制系统应用于飞行器姿态控制和检测导弹制导控制、雷达天线跟踪系统,也在工业机器人、数控机床等方面广泛应用。随着高速处理器的发展,原有伺服系统的模拟控制器件逐渐被高性能数字式控制器取代。以DSP为控制核心和数字化接口的测角元件组成的数字角位置伺服控制系统具有精度高、速度快、稳定性好以及计算机接口简单等优点,极大地提高了系统的整体性能。线性连续变化输入的数字式手柄控制器替代了原先的输出模拟信号的手柄控制器,成为数字伺服系统中人机交互的重要组成部分[1-2]。本文利用数字式器件准确、抗干扰能力强的特点,结合模拟式器件控制信号平滑变化、连续性好的优点,设计出一种速度可变的数字式手柄控制器。
1 设计方案
1.1 手柄介绍
在数字伺服控制系统中,角度用数码表示。测角装置将圆周等分成2n个,每个等分单位角是δ=360°/2n。n越大,单位角δ越小,说明分辨率越高。一旦δ确定,每个输出角位置的编码值对应一个角度值。通常将数字式测角装置的二进制位数X做为数字式角位置伺服系统的运算位数n,所以一般取手柄输入角位置数字量位数也等于n。例如,某数字伺服控制系统选用16位的测角装置,其输出轴旋转一周,角度从0~360°变化,则编码值从0000H~FFFFH,再回到0000H。此数字控制系统的运算位数就是16位,手柄输入角也是16位。
许多老式模拟角位置伺服系统的手柄控制杆是电位器形式,通过操纵杆的偏转角度改变电位器输入的电信号,实现角位置手动控制。其中选用的电位器调节精度必须非常高,才能使角度转位稳定与准确,这无疑提高了手柄的成本。在新一代的数字式角位置伺服控制系统中手柄输入有以下几种方法:(1)电信号经过A/D转换成离散数字信号;(2)电信号经V/f或I/f变换后由加减法计数器形成数字信号。这两种方法由电信号的强弱来控制数字信号大小,一般国内高精度的电位器造价非常昂贵,若选用普通电位器其电信号不能稳定输出,也不能达到理想效果;(3)加减法计数器直接形成数字信号。它通过数值积分获得数字信号大小;(4)直接使用高精度角位置传感器输出数字量。由于成本较高,该方法也不宜采用。
1.3 技术方案
由于某数字伺服系统的角位置数字量是16位数,所以设计一个16位计数器输出手柄角位置命令。设计的计算机采样系统不断采集由电位器输出的可变的模拟电信号,将其转化成离散数字量,用来表示本周期内的角增量?兹并累加到16位计数器中。由于每个周期的角增量可以任意变化,只要采样周期选取合适,任意角位置命令都可以快速发出。也实现了可变的角速度命令与加速度命令实时输出。采用CAN总线通信方式实现手柄对伺服系统的控制。CAN总线即控制器局域网,是目前国际上应用最广泛的现场总线之一,它是一种多主方式的串行通信总线设计规范,具有高位速率、高抗电磁干扰性、低成本、极高的总线利用率等特性,最大通信速率为1 Mb/s,最大传输距离达10 km。
2 手柄设计
2.1 硬件电路
手柄电路由单片机系统、A/D采集、CAN总线通信、键盘与显示电路等组成。其原理图如图1所示。以高速单片机为控制核心的单片机系统,主要控制采集两路幅值可变的双极性模拟电压信号,并将其转变成对应的数字量,作为本周期内的角增量值Δθ累加到16位计数器中。循环发送计数器中的数据,通过CAN总线告知数字伺服系统不断更新当前的方位与俯仰角位置命令。
MCU选用LPC932芯片,它是单片封装的增强型8051微控制器,采用高性能处理器结构,指令执行时间只需2~4个时钟周期[3]。执行代码速率是标准8051芯片的6倍。它继承了许多系统级的功能,适合于高集成度、低成本、低功耗的场合,可以满足多方面的性能要求。
A/D采集芯片选用Analog Device的AD976A。它是一款单路高速、低功耗、16位的并行ADC,片内带有采样保持器和输出缓存。采样速率最高可达到200 KS/s,采用5 V单电源供电,可对输入双极性±10 V范围内模拟电信号进行转换。本设计用2片AD976A分别对方位、俯仰两路模拟电信号进行转换,使用FPGA作为选通转换数据、发出转换命令,并且对其他功能电路有逻辑控制的作用,方便、准确、可靠性高。
通信部分采用PHILIPS公司的CAN控制器芯片SJA1000和CAN总线驱动器PCA82C50。CAN总线通信具有Basic CAN和Peli CAN两种工作模式。Basic CAN工作在CAN2.0A协议,Peli CAN工作在CAN2.0B协议。在本设计中考虑到通信节点不多,故采用了Basic CAN工作模式。设置总线通信波特率为200 KB/s,总线的驱动器选用PCA82C50,它是协议控制器和物理传输线路间的接口芯片,此器件对总线上的数据提供差动发送与接收能力。在控制器和收发器之间采用高速光电耦合器6N137,提高了系统的抗干扰性能和安全性能[4]。
显示电路采用8279芯片驱动两个4位LED显示,用来实时输出显示方位和俯仰角命令值,以便及时与数字伺服控制系统中人机界面的实际方位、俯仰角位置进行比较,分析其伺服控制性能。角位置命令也可由键盘输入,用来测试数字伺服系统的阶跃信号响应。
2.2 软件设计
根据对手柄控制器方位、俯仰角位置输出量的技术要求,结合硬件电路构成,系统软件主要实现以下功能:
(1)模拟电信号的快速A/D采集,通过极性判断后,获得单位周期内的角增量Δθ,将其累加入角位置命令寄存器。
(2)CAN总线通信初始化、CAN总线数据发送及配置键盘中断、驱动显示模块。
软件总体设计流程图如图2所示。流程图包括系统初始化、单位周期内角增量测量、计算方位、俯仰角位置命令和CAN总线数据通信。
3 实验分析
普通电位器的调节精度和稳定性较差,并且受到电源电路的纹波影响,使得电位器输出模拟电信号的纹波较大,在±30 mV之间。而AD976A的转换精度是0.3 mV,这样得到的16位数字量不停跳变,难以达到功能要求。所以将转换的数字量取高8位表示角增量?驻θ,牺牲A/D采集转换精度来换取稳定、不跳变的数字量。
虽然表示单位周期角增量的范围降低到-256~+255,测得采样周期是5 ms,但它可以提供的角速度命令最高可达280°/s,在角位置伺服跟踪系统中已满足最高速度要求。所以本设计方案克服了普通电位器调节精度差和电源纹波大的影响。
图3(a)是用加减法计数器设计的角位置命令。图3(b)是设计出的16位数字式手柄控制器用示波器测试角增量变化和角位置命令数字量D/A转换后的曲线图。角位置命令是0000H,电压是-5 V,当角位置命令连续变化到FFFFH时,电压是+5 V,超过此位置电压又重新回到-5 V,即在0000H。角位置变化曲线的斜率即是角速度。
从图中角位置变化曲线看出,用此方案设计的手柄控制器只能实现角速度恒定的角位置命令变化。比较两图可以分析得出,本文设计的手柄控制器不仅可以输出任意角位置量,还可输出连续变化的跟踪角速度。
本文依据角速度积分原理,选用高性能增强型单片机与高速率的转换芯片,设计出一种新型数字式手柄控制器。在角位置数字伺服控制系统中,既能输出任意角位置命令,又能实现跟踪角速度命令的连续可变。具有结构简单、集成度高、系统抗电磁干扰能力强、数字量输出稳定等优点。并且应用先进的CAN总线技术,优化了通信平台,为进一步拓展手柄控制功能和实现网络化伺服系统的控制与管理奠定基础。适于在雷达跟踪、周视监控等领域广泛应用。
参考文献
[1] 卢志刚,吴杰,吴潮.数字伺服控制系统与设计[M].北京:机械工业出版社,2007.
[2] 丛爽,李泽湘.实用运动控制技术[M].北京:电子工业出版社,2006.
[3] 周立功.LPC900系列单片机及应用技术[M].北京:北京航空航天大学出版社,2004.
[4] 李正军.现场总线及其应用技术[M].北京:机械工业出版社,2005.