DSP和ARM的音圈电机伺服控制系统设计
引言
自从1966年美国首次将音圈电机(Voice Coil Motor,VCM)用于磁盘机之后,音圈电机便开始进入相关的应用领域。国内从20世纪70年代起,也逐步开始研究音圈直线电机在某些领域的应用,音圈电机的驱动控制器从传统的模拟控制器逐步向数字控制器发展。现在电机数字控制器广泛采用数字信号处理器(Digtal Signal Processor,DSP),并合一些外围电路来完成电机控制。根据应用场合和要求的不同,出现了一些新的数字控制器设计思想。参考文献给出了一种基于DSP和FPGA的音圈电机数字控制器设计方法,用于驱动电液伺服阀;参考文献给出一种基于FPGA的音圈电机驱动器设计方法,用于摆臂干涉仪中。
为满足项目在控制性能和通信方式等方面的要求,提出了一种基于浮点DSP和ARM的音圈电机双核驱动控制器硬件结构,用于实现激光定位和扫描用音圈电机的位置伺服控制。根据DSP和ARM的特点,对其进行功能划分和详细的设计。
1 系统硬件结构
驱动控制器采用DSP+ARM的结构,与信号采集电路和功率驱动电路配合共同完成音圈电机的驱动控制。选用TI公司的32位浮点型DSP TMS320F28335作为主处理器,最高工作频率为150 MHz;选用ST公司的32位互联型产品ARM核STM32F107作为协处理器,最高工作频率为72 MHz。选用高性能的集成H桥芯片LMD182000,结合其外围电路构成功率驱动电路部分。选用集成芯片,一方面可以简化电路的设计;另一方面还可以提高电路设计的可靠性。位置信号检测选用光耀博晨公司的20位绝对式旋转编码器BCE105AK25M,分辨率为7.5角秒。系统的硬件结构图如图1所示。
![](../img/eep/emb/emb-49637iibhnf3iapj.jpg)
2 系统设计
根据系统的要求以及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所示。
![](../img/eep/emb/emb-49638yngogrs23i0.jpg)
2.2 ARM功能设计
根据2.1节中的功能划分,来介绍ARM部分功能模块的设计。
2.2.1 PWM模块设计
STM320F107具有一个16位的可产生电机控制PWM波的定时器,能设置死区时间,同时还能进行急停处理,因此采用STM320F107定时器模块的增减计数器、比较寄存器和比较器来实现PWM波的产生。为了防止功率驱动电路中上下管直通造成电源短路,可以通过配置定时器模块的死区寄存器,在PWM信号中加入死区,使同相的上下桥臂驱动信号错开一个死区时间,防止功率器件短路。PWM模块与LMD182000功率驱动电路配合使用,即可完成音圈电机的驱动。功率驱动芯片LMD182000只需要来自ARM的3个信号驱动控制信号,分别是PWM信号、方向信号、刹车信号。
2.2.2 通信接口模块设计
串行外设接口(SPI)是TMS320F28335中一个高速同步的串行输入/输出接口,允许可编程位长的串行位流以可编程的位传输率移入或移出设备。DSP和ARM之间采用SPI进行数据交换,连接方式如图3所示。
![](../img/eep/emb/emb-49639so3icwr50es.jpg)
SPI可以工作于主控制器模式,也可以工作于从控制器模式,工作模式决定了SPICLK信号的来源。系统中设计DSP为主控制器,控制SPICLK(时钟)信号引脚,为整个串行通信网络提供串行时钟,可以在任何时刻启动数据传送。数据将从SPISIMO(从控制器输入,主控制器输出)引脚输出,并锁存SPISOMI(主控制器输入,从控制器输出)引脚输入的数据。而SPISTE引脚作为从SPI控制器的片选控制信号,主控制器发送数据给从控制器之前将SPISTE引脚置为低电平,待数据发送完毕后再将SPISTE引脚置为高电平。为实现系统与其他数字设备之间的数据传输和交换,还设计了CAN、100 Mbps以太网接口等。
2.2.3 电机限
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)