罗颖 ,张维存 ,刘立
(1.北京科技大学 自动化学院,北京100083;2.北京科技大学 机械工程学院)
DSP和ARM的音圈电机伺服控制系统设计*
罗颖1,张维存1,刘立2
(1.北京科技大学 自动化学院,北京100083;2.北京科技大学 机械工程学院)
给出了一种基于数字信号处理器DSP和嵌入式ARM微处理器的双核架构,采用典型的直流PWM功率驱动电路,构成数字化的音圈电机伺服控制系统的设计方法。DSP主要完成系统初始化、位置环算法计算等;ARM主要完成PWM波产生、A/D采集、以太网通信、与DSP之间的数据交换等。实验结果表明,系统能够满足设计要求。
DSP;ARM;音圈电机;伺服控制
自从1966年美国首次将音圈电机[1](Voice Coil Motor,VCM)用于磁盘机之后,音圈电机便开始进入相关的应用领域。国内从20世纪70年代起,也逐步开始研究音圈直线电机在某些领域的应用,音圈电机的驱动控制器从传统的模拟控制器[2-3]逐步向数字控制器发展。现在电机数字控制器广泛采用数字信号处理器(Digital Signal Processor,DSP),并合一些外围电路来完成电机控制。根据应用场合和要求的不同,出现了一些新的数字控制器设计思想。参考文献[4]给出了一种基于DSP和FPGA的音圈电机数字控制器设计方法,用于驱动电液伺服阀;参考文献[5]给出一种基于FPGA的音圈电机驱动器设计方法,用于摆臂干涉仪中。
为满足项目在控制性能和通信方式等方面的要求,提出了一种基于浮点DSP和ARM的音圈电机双核驱动控制器硬件结构,用于实现激光定位和扫描用音圈电机的位置伺服控制。根据DSP和ARM的特点,对其进行功能划分和详细的设计。
驱动控制器采用DSP+ARM的结构,与信号采集电路和功率驱动电路配合共同完成音圈电机的驱动控制。选用TI公司的32位浮点型DSP TMS320F28335作为主处理器,最高工作频率为150 MHz;选用ST公司的32位互联型产品ARM核STM32F107作为协处理器,最高工作频率为72 MHz。选用高性能的集成H桥芯片LMD182000,结合其外围电路构成功率驱动电路部分。选用集成芯片,一方面可以简化电路的设计;另一方面还可以提高电路设计的可靠性。位置信号检测选用光耀博晨公司的20位绝对式旋转编码器BCE105AK25M,分辨率为7.5角秒。系统的硬件结构图如图1所示。
图1 硬件结构图
根据系统的要求以及DSP和ARM各自的特点,为了充分利用其资源,对系统进行了详细的功能划分和模块化设计。
2.1 系统功能划分
本课题来源于“地下金属矿设备精确定位与智能导航”项目,拟通过二维激光定位和导航基站对地下金属矿设备进行精确定位和导航,音圈电机用于二维基站俯仰方向激光的定位和扫描。系统除了要完成音圈电机的驱动控制,还需要完成水平方向电机的位置环控制算法,并与地下金属矿设备(以下简称上位机)之间进行以太网数据交换。课题中,音圈电机的型号为VARS0022-032-00A,主要参数如下:总行程为32°,最大输出转矩为0.22 N·m,最大电流为1.4 A,最大电压为15.5 V。
TMS320F28335是32位浮点型数字处理器,指令周期约为6.67 ns,适合复杂高速的计算。STM32F107是意法半导体的互联型系列微控制器产品,集成了很多高性能工业标准接口。其中,包括两个12位A/D(模数)转换器、1个以太网10/100 Mbps MAC模块 、3个SPI接口。系统中DSP主要完成系统初始化、位置控制算法,ARM主要完成PWM波产生、A/D采集控制、电流环计算、以太网通信、电机限位和过流保护,以及DSP之间的数据交换等。从DSP的角度,ARM可以看做是其协处理器。系统控制功能划分图如图2所示。
图2 控制功能划分图
2.2 ARM功能设计
根据2.1节中的功能划分,来介绍ARM部分功能模块的设计。
2.2.1 PWM模块设计
STM320F107[6]具有一个16位的可产生电机控制PWM波的定时器,能设置死区时间,同时还能进行急停处理,因此采用STM320F107定时器模块的增减计数器、比较寄存器和比较器来实现PWM波的产生。为了防止功率驱动电路中上下管直通造成电源短路,可以通过配置定时器模块的死区寄存器,在PWM信号中加入死区,使同相的上下桥臂驱动信号错开一个死区时间,防止功率器件短路。PWM模块与LMD182000功率驱动电路配合使用,即可完成音圈电机的驱动。功率驱动芯片LMD182000只需要来自ARM的3个信号驱动控制信号,分别是PWM信号、方向信号、刹车信号。
2.2.2 通信接口模块设计
串行外设接口[7](SPI)是TMS320F28335中一个高速同步的串行输入/输出接口,允许可编程位长的串行位流以可编程的位传输率移入或移出设备。DSP和ARM之间采用SPI进行数据交换,连接方式如图3所示。
图3 通信接口模块图
SPI可以工作于主控制器模式,也可以工作于从控制器模式,工作模式决定了SPICLK信号的来源。系统中设计DSP为主控制器,控制SPICLK(时钟)信号引脚,为整个串行通信网络提供串行时钟,可以在任何时刻启动数据传送。数据将从SPISIMO(从控制器输入,主控制器输出)引脚输出,并锁存SPISOMI(主控制器输入,从控制器输出)引脚输入的数据。而SPISTE引脚作为从SPI控制器的片选控制信号,主控制器发送数据给从控制器之前将SPISTE引脚置为低电平,待数据发送完毕后再将SPISTE引脚置为高电平。为实现系统与其他数字设备之间的数据传输和交换,还设计了CAN、100 Mbps以太网接口等。
2.2.3 电机限位和过流保护
考虑到系统运行安全,需要对系统进行限位和过流保护设计,本设计通过软件监控来实现保护。过流保护,即把每次采样的电流和允许的最大电流值进行比较,当采样值大于最大电流值时,对功率电路进行管理。有两种处理方法:其一,直接封锁PWM信号,关断功率电路的各功率管,并给出过流指示;其二,功率驱动芯片LMD182000自带刹车功能,只需通过ARM使能LMD182000的刹车引脚,便可使功率管处于关断状态,然后给出过流指示。限位保护,即把每次采集到的实时值和目标指令值分别与设定极限值比较,若实时位置超出设定极限值,且目标指令值在极限值之内,则利用位置环使其跟随目标值。若目标指令值超出设定极限值,则把极限值设为新的目标指令值。
2.3 DSP软件设计
按照系统的功能划分,主要的控制和通信功能已由ARM来完成,DSP主要完成系统初始化、通信、位置控制算法。DSP的软件设计遵循自上而下的思路,按功能划分了软件模块。DSP程序包括:主程序、系统初始化子程序、定时器T0中断服务程序等。
2.3.1 DSP主程序
图4 主程序流程图
DSP主程序主要完成系统的初始化、定时器中断配置、启动定时器、等待定时器中断。系统初始化包括时钟初始化、外设初始化、中断服务程序初始化等。当定时器中断产生时,程序转向执行中断,完成位置控制算法。定时器时间即位置控制算法的调节周期,根据实时位置的采样周期来确定。定时器时间若设置过短,频繁的调节会造成系统的不稳定;若过长,则无法达到好的调节效果,本实验中定时器时间选择为采样周期的4倍。主程序流程图如图4所示。
2.3.2 定时器T0中断程序
定时器T0中断程序主要完成位置环的计算。根据课题中音圈电机系统的特点,位置环采用积分分离式比例和积分(PI)控制算法[8-10],为减小累计误差对系统的影响,采用增量式PI控制。
位置调节器的输出可表示为:
ΔPn=Pn-Pn-1=KP(en-en-1)+βKIen
当电机的实际位置与给定期望位置的误差小于一定值时,再恢复积分校正环节,以便消除系统的稳态误差,保证伺服电机位置控制的精度。
DSP+ARM双核控制器硬件电路经过测试可用,并在控制器上实现了相关控制算法,验证了算法的可行性,系统响应速度快,稳态精度高。据统计,稳态精度能达到30 s。图5为阶跃响应实验曲线。图6表明,系统受到外界干扰后能迅速恢复到原平衡位置,抗干扰能力强。
图5 阶跃响应实验曲线
图6 外加扰动实验曲线
[1] 兴连国,周惠兴,候书林,等.音圈电机研究及应用综述[J].微电机,2011, 44(8): 82-87.
[2] Lin J S,Chen C L. Buck/boost Servo Amplifier for Direct-drive-valve Actuation[J]. IEEE Trans Aero and Electron Sys, 1995, 31(3): 960-967.
[3] Oboe R, Antonello R, Capreti'a P. Realization of an Adaptive Voltage Driver for Voice Coil Motor[J]. Microsystem Technologies, 2005,11(8): 663-675.
[4] 王大彧,郭宏.采用DSP和FPGA直驱阀用音圈电机驱动控制系统[J].电机与控制学报,2011,15(4):8-12.
[5] 周丽莞,周永鹏.基于FPGA的摆臂伺服控制系统设计[J].电子技术应用,2013,39(11):78-82.
[6] 沈建良,贾玉坤,周芬芬.STM32F10X系列ARM微控制器入门与提高[M].北京:北京航空航天大学出版社,2013.
[7] 刘陵顺,高艳丽,张树团,等.TMS320F28335 DSP原理及开发编程[M].北京:北京航空航天大学出版社,2011.
[8] 周保,张安年,余成林,等.基于复合控制的位置伺服系统控制方案[J].电机与控制应用,2008,35(3):22-28.
[9] Shen Jingchung, Jywe Wenyue, Lu Qunzhong, et al. Control of a High Precision Positioning Stage[C]. IEEE Conference on Industrial Electronics and Applications, 2011: 932-934.
[10] Kazuya Sato, Hideki Honda, Aki Hayakawa, et al. Adaptive PI Control Method for Positioning Control using Linear Slider Feed-forward Control Approach[C]//Proceedings of the 2002 IEEE International Conference on Control Applications, 2002: 588-592.
罗颖(研究生),研究方向为直流无刷电机的驱动及控制;张维存(副教授),研究方向为自适应控制系统的稳定性、收敛性分析及设计方法;刘立(教授),研究方向为设备故障诊断、汽车电子及自动化。
Voice Coil Motor Servo Control System Based on DSP and ARM
Luo Ying1,Zhang Weicun1, Liu Li2
(1.School of Automation and Electrical Engineering,University of Science and Technology Beijing, Beijing 100083, China;2.School of Mechanical and Engineering, University of Science and Technology Beijing)
The paper designs a digital voice coil motor control system,which is based on DSP and ARM,combining with the typical PWM direct current power drive circuit.In the system,DSP is mainly used for system initialization and position loop algorithm calculating,ARM is used for generating PWM signal, A/D sampling, ethernet communication, and switching data with DSP.At last,experimental results show that the system can meet the requirements of the design.
DSP;ARM;voice coil motor;servo control
国家高技术研究发展计划(863计划)(2011AA060408)。
TP368.1
A
士然
2014-08-04)