EDA365电子论坛网

标题: DSP和ARM控制的音圈电机驱动控制器 [打印本页]

作者: 道法自然    时间: 2022-1-6 13:58
标题: DSP和ARM控制的音圈电机驱动控制器
为满足项目在控制性能和通信方式等方面的要求,提出了一种基于浮点DSP和ARM的音圈电机双核驱动控制器硬件结构,用于实现激光定位和扫描用音圈电机的位置伺服控制。根据DSP和ARM的特点,对其进行功能划分和详细的设计。
* ~" `' K4 w/ {9 N% Z! y  h1 系统硬件结构( L2 _4 j+ t) c0 a9 V# \* x3 i
驱动控制器采用DSP+ARM的结构,与信号采集电路和功率驱动电路配合共同完成音圈电机的驱动控制。选用ti公司的32位浮点型DSP TMS320F28335作为主处理器,最高工作频率为150 MHz;选用ST公司的32位互联型产品ARM核STM32F107作为协处理器,最高工作频率为72 MHz。选用高性能的集成H桥芯片LMD182000,结合其外围电路构成功率驱动电路部分。选用集成芯片,一方面可以简化电路的设计;另一方面还可以提高电路设计的可靠性。位置信号检测选用光耀博晨公司的20位绝对式旋转编码器BCE105AK25M,分辨率为7.5角秒。系统的硬件结构图如图1所示。$ c* N" O! Y& V# p+ `
6 y" `1 j7 v) D" H* W
2 系统设计. ^5 @2 B3 b) u; A
根据系统的要求以及DSP和ARM各自的特点,为了充分利用其资源,对系统进行了详细的功能划分和模块化设计。; H" `" n" G7 i1 F' |
2.1 系统功能划分
- p" W( o  t' y0 A7 _2 o7 X! Y2 v本课题来源于“地下金属矿设备精确定位与智能导航”项目,拟通过二维激光定位和导航基站对地下金属矿设备进行精确定位和导航,音圈电机用于二维基站俯仰方向激光的定位和扫描。系统除了要完成音圈电机的驱动控制,还需要完成水平方向电机的位置环控制算法,并与地下金属矿设备(以下简称上位机)之间进行以太网数据交换。课题中,音圈电机的型号为VARS002203200A,主要参数如下:总行程为32°,最大输出转矩为0.22 N·m,最大电流为1.4 A,最大电压为15.5 V。; E$ q' b9 f: i3 l- j0 T( x
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所示。
% m# k6 X; O6 j
/ R- b1 k/ l! ?8 m0 R
2.2 ARM功能设计) d: J! k3 u0 y0 ?2 Q8 g8 i
根据2.1节中的功能划分,来介绍ARM部分功能模块的设计。
; p$ L& r1 q% k+ r4 m: m) d2.2.1 PWM模块设计
# Z1 v' V7 N# ~& J4 dSTM320F107[6]具有一个16位的可产生电机控制PWM波的定时器,能设置死区时间,同时还能进行急停处理,因此采用STM320F107定时器模块的增减计数器、比较寄存器和比较器来实现PWM波的产生。为了防止功率驱动电路中上下管直通造成电源短路,可以通过配置定时器模块的死区寄存器,在PWM信号中加入死区,使同相的上下桥臂驱动信号错开一个死区时间,防止功率器件短路。PWM模块与LMD182000功率驱动电路配合使用,即可完成音圈电机的驱动。功率驱动芯片LMD182000只需要来自ARM的3个信号驱动控制信号,分别是PWM信号、方向信号、刹车信号。
, W- r# D- _. n4 o. @: M; q' D2.2.2 通信接口模块设计
  U' [: `9 f7 E% P串行外设接口[7](SPI)是TMS320F28335中一个高速同步的串行输入/输出接口,允许可编程位长的串行位流以可编程的位传输率移入或移出设备。DSP和ARM之间采用SPI进行数据交换,连接方式如图3所示。
& |! H0 p; v" p8 @% @8 S1 c2 y

7 _0 d$ x7 o3 W" X; n0 C8 a8 w! PSPI可以工作于主控制器模式,也可以工作于从控制器模式,工作模式决定了SPICLK信号的来源。系统中设计DSP为主控制器,控制SPICLK(时钟)信号引脚,为整个串行通信
; _7 e! ?9 X  y1 r8 k' B8 p! F4 y网络提供串行时钟,可以在任何时刻启动数据传送。数据将从SPISIMO(从控制器输入,主控制器输出)引脚输出,并锁存SPISOMI(主控制器输入,从控制器输出)引脚输入的数据。而SPISTE引脚作为从SPI控制器的片选控制信号,主控制器发送数据给从控制器之前将SPISTE引脚置为低电平,待数据发送完毕后再将SPISTE引脚置为高电平。为实现系统与其他数字设备之间的数据传输和交换,还设计了CAN、100 Mbps以太网接口等。
& C2 D0 A  {( C+ V/ ^2.2.3 电机限位和过流保护
6 I: U; u& v4 U6 g6 ^考虑到系统运行安全,需要对系统进行限位和过流保护设计,本设计通过软件监控来实现保护。过流保护,即把每次采样的电流和允许的最大电流值进行比较,当采样值大于最大电流值时,对功率电路进行管理。有两种处理方法:其一,直接封锁PWM信号,关断功率电路的各功率管,并给出过流指示;其二,功率驱动芯片LMD182000自带刹车功能,只需通过ARM使能LMD182000的刹车引脚,便可使功率管处于关断状态,然后给出过流指示。限位保护,即把每次采集到的实时值和目标指令值分别与设定极限值比较,若实时位置超出设定极限值,且目标指令值在极限值之内,则利用位置环使其跟随目标值。若目标指令值超出设定极限值,则把极限值设为新的目标指令值。
/ p' f4 H4 \6 |7 ~8 x2.3 DSP软件设计
1 u9 a7 _, i1 _  ^$ w& Y按照系统的功能划分,主要的控制和通信功能已由ARM来完成,DSP主要完成系统初始化、通信、位置控制算法。DSP的软件设计遵循自上而下的思路,按功能划分了软件模块。DSP程序包括:主程序、系统初始化子程序、定时器T0中断服务程序等。5 n. f' {1 w; ~& m- `+ h; h5 N
2.3.1 DSP主程序8 I+ O! I4 K+ |' B* O  j
DSP主程序主要完成系统的初始化、定时器中断配置、启动定时器、等待定时器中断。系统初始化包括时钟初始化、外设初始化、中断服务程序初始化等。当定时器中断产生时,程序转向执行中断,完成位置控制算法。
" Y+ C: X" `' Z+ b$ J9 }! q( q定时器时间即位置控制算法的调节周期,根据实时位置的采样周期来确定。定时器时间若设置过短,频繁的调节会造成系统的不稳定;若过长,则无法达到好的调节效果,本实验中定时器时间选择为采样周期的4倍。主程序流程图如图4所示。
" h2 d$ V; G, ^. \
7 P. X4 L2 i5 A+ k
2.3.2 定时器T0 中断程序
0 N+ Z  [" G1 @( I+ l定时器T0中断程序主要完成位置环的计算。根据课题中音圈电机系统的特点,位置环采用积分分离式比例和积分(PI)控制算法[810],为减小累计误差对系统的影响,采用增量式PI控制。
* f" q4 W' I7 ~4 {0 U位置调节器的输出可表示为:
0 z7 h: w+ K/ w3 p' \& ^/ \- X

0 R* u- m; \2 k# P/ O' l1 O其中KP、KI分别为位置调节器的比例、积分系数;en为第n次采样的偏差;β=1e(k)≤ε0e(k)>ε为积分项的开关系数,ε为根据实际情况设定的积分分离阈值。( E3 [1 O, v. }- V7 H3 c
当电机的实际位置与给定期望位置的误差小于一定值时,再恢复积分校正环节,以便消除系统的稳态误差,保证伺服电机位置控制的精度。" ^5 t/ T( c& G
3 实验结果! b0 }$ h4 J/ }8 B5 q
DSP+ARM双核控制器硬件电路经过测试可用,并在控制器上实现了相关控制算法,验证了算法的可行性,系统响应速度快,稳态精度高。据统计,稳态精度能达到30 s。图5为阶跃响应实验曲线。图6表明,系统受到外界干扰后能迅速恢复到原平衡位置,抗干扰能力强。
  ]) x7 `. m+ d- n* r5 Z# v/ a/ C
$ C6 m, |  T1 i. R+ g
1 T; x6 ~" x5 X+ A7 O" a% R/ {
结语3 n. |# g- G. C/ E
本文提出了一种基于浮点DSP和ARM的音圈电机驱动控制器,完成了用于激光定位和扫描的音圈电机位置伺服控制。实验结果表明,系统具有较好的稳、动态性能以及抗干扰能力,可以满足系统的要求。通过功能的合理划分,实现了资源的合理配置;ARM的运用,大大简化了硬件设计,分担了DSP的计算任务,保证了控制系统的实时性。

8 p9 `0 x! F! j  b
作者: muzitongxue    时间: 2022-1-6 15:06
集成芯片可以提高电路设计的可靠性
作者: CLBuu    时间: 2022-1-6 15:17
可以通过配置定时器模块的死区寄存器,防止功率器件短路
作者: showmaker    时间: 2022-1-6 15:59
PWM信号中加入死区可以防止功率器件短路




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2