为满足项目在控制性能和通信方式等方面的要求,提出了一种基于浮点DSP和ARM的音圈电机双核驱动控制器硬件结构,用于实现激光定位和扫描用音圈电机的位置伺服控制。根据DSP和ARM的特点,对其进行功能划分和详细的设计。
1 系统硬件结构
驱动控制器采用DSP ARM的结构,与信号采集电路和功率驱动电路配合共同完成音圈电机的驱动控制。选用TI公司的32位浮点型DSP TMS320F28335作为主处理器,ZG工作频率为150 MHz;选用ST公司的32位互联型产品ARM核STM32F107作为协处理器,ZG工作频率为72 MHz。选用高性能的集成H桥芯片LMD182000,结合其外围电路构成功率驱动电路部分。选用集成芯片,一方面可以简化电路的设计;另一方面还可以提高电路设计的可靠性。位置信号检测选用光耀博晨公司的20位JD式旋转编码器BCE105AK25M,分辨率为7.5角秒。系统的硬件结构图如图1所示。
2 系统设计
根据系统的要求以及DSP和ARM各自的特点,为了充分利用其资源,对系统进行了详细的功能划分和模块化设计。
2.1 系统功能划分
本课题来源于“地下金属矿设备JQ定位与智能导航”项目,拟通过二维激光定位和导航基站对地下金属矿设备进行JQ定位和导航,音圈电机用于二维基站俯仰方向激光的定位和扫描。系统除了要完成音圈电机的驱动控制,还需要完成水平方向电机的位置环控制算法,并与地下金属矿设备(以下简称上位机)之间进行以太网数据交换。课题中,音圈电机的型号为VARS002203200A,主要参数如下:总行程为32?,ZD输出转矩为0.22 N?m,ZD电流为1.4 A,ZD电压为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 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所示。
SPI可以工作于主控制器模式,也可以工作于从控制器模式,工作模式决定了SPICLK信号的来源。系统中设计DSP为主控制器,控制SPICLK(时钟)信号引脚,为整个串行通信
网络提供串行时钟,可以在任何时刻启动数据传送。数据将从SPISIMO(从控制器输入,主控制器输出)引脚输出,并锁存SPISOMI(主控制器输入,从控制器输出)引脚输入的数据。而SPISTE引脚作为从SPI控制器的片选控制信号,主控制器发送数据给从控制器之前将SPISTE引脚置为低电平,待数据发送完毕后再将SPISTE引脚置为高电平。为实现系统与其他数字设备之间的数据传输和交换,还设计了CAN、100 Mbps以太网接口等。
2.2.3 电机限位和过流保护
考虑到系统运行安全,需要对系统进行限位和过流保护设计,本设计通过软件监控来实现保护。过流保护,即把每次采样的电流和允许的ZD电流值进行比较,当采样值大于ZD电流值时,对功率电路进行管理。有两种处理方法:其一,直接封锁PWM信号,关断功率电路的各功率管,并给出过流指示;其二,功率驱动芯片LMD182000自带刹车功能,只需通过ARM使能LMD182000的刹车引脚,便可使功率管处于关断状态,然后给出过流指示。限位保护,即把每次采集到的实时值和目标指令值分别与设定极限值比较,若实时位置超出设定极限值,且目标指令值在极限值之内,则利用位置环使其跟随目标值。若目标指令值超出设定极限值,则把极限值设为新的目标指令值。
2.3 DSP软件设计
按照系统的功能划分,主要的控制和通信功能已由ARM来完成,DSP主要完成系统初始化、通信、位置控制算法。DSP的软件设计遵循自上而下的思路,按功能划分了软件模块。DSP程序包括:主程序、系统初始化子程序、定时器T0中断服务程序等。
2.3.1 DSP主程序
DSP主程序主要完成系统的初始化、定时器中断配置、启动定时器、等待定时器中断。系统初始化包括时钟初始化、外设初始化、中断服务程序初始化等。当定时器中断产生时,程序转向执行中断,完成位置控制算法。
定时器时间即位置控制算法的调节周期,根据实时位置的采样周期来确定。定时器时间若设置过短,频繁的调节会造成系统的不稳定;若过长,则无法达到好的调节效果,本实验中定时器时间选择为采样周期的4倍。主程序流程图如图4所示。
2.3.2 定时器T0 中断程序
定时器T0中断程序主要完成位置环的计算。根据课题中音圈电机系统的特点,位置环采用积分分离式比例和积分(PI)控制算法[8?10],为减小累计误差对系统的影响,采用增量式PI控制。
位置调节器的输出可表示为:
其中KP、KI分别为位置调节器的比例、积分系数;en为第n次采样的偏差;β=1e(k)≤ε0e(k)>ε为积分项的开关系数,ε为根据实际情况设定的积分分离阈值。
当电机的实际位置与给定期望位置的误差小于一定值时,再恢复积分校正环节,以便消除系统的稳态误差,保证伺服电机位置控制的JD。
3 实验结果
DSP ARM双核控制器硬件电路经过测试可用,并在控制器上实现了相关控制算法,验证了算法的可行性,系统响应速度快,稳态JD高。据统计,稳态JD能达到30 s。图5为阶跃响应实验曲线。图6表明,系统受到外界干扰后能迅速恢复到原平衡位置,抗干扰能力强。
结语
本文提出了一种基于浮点DSP和ARM的音圈电机驱动控制器,完成了用于激光定位和扫描的音圈电机位置伺服控制。实验结果表明,系统具有较好的稳、动态性能以及抗干扰能力,可以满足系统的要求。通过功能的合理划分,实现了资源的合理配置;ARM的运用,大大简化了硬件设计,分担了DSP的计算任务,保证了控制系统的实时性。