>
首页 » 业界动态 » 无刷直流伺服电机的DSP控制

无刷直流伺服电机的DSP控制

作者:彭军,杜复旦,管伯良  时间:2006-12-21 19:21  来源:
摘要:TI公司的TMS320F240 DSP集高性能的DSP内核和丰富的微控制器外设功能于一身,为控制系统运用提供了一个理想的解决方案。本文采用此DSP实现了一个永磁无刷直流电机的伺服控制系统的解决方案,并从硬件和软件两方面详细介绍控制系统的实现方法。

关键词:DSP(Digital Signal Processor);无刷直流电机;驱动器;PWM

引言

对永磁无刷直流电机的控制经历了从模拟控制电路到以单片机为核心的数字控制电路的发展过程,但都存在内在的缺陷。前者由于采用模拟器件容易老化而且对温度变化敏感;后者虽然克服模拟器件的内在缺陷,但运算速度慢,难以实现现代工业对电机实时控制的要求 。

DSP 在电机控制方面的应用是一个新领域。在DSP问世之前,设计者进行传统的电机控制主要使用2种组合:用便宜的控制器控制昂贵的直流有刷电机或用复杂的控制器控制交流电机。自DSP出现以来,电机控制就是DSP主要应用领域之一。特别是随着控制理论的发展和高性能控制器的需求,一般的单片机或多片微处理器都不能满足复杂而先进的控制算法,使得DSP成为这种应用场合的首选器件。本文以美国德州仪器公司公司的TMS320F240DSP为例介绍DSP在这方面的应用。

美国德州仪器公司的芯片是电机控制设计者接触到的第一片专门为电机控制应用而优化的工业用单片DSP控制器,这一高集成化产品将高性能的DSP内核和丰富的微控制器外设功能集于一身,为控制系统应用提供了一个理想的解决方案,使TMS320F240系列DSP成为传统的微控制单元(MCUS)和昂贵的多片设计的一种廉价的替代产品。与其它方案相比,它提供了更好的电机性能,更低的功耗,更高的可靠性及静音运行。此控制器不但具有高速信号处理和数字控制功能所必需的体系结构,而且有为电机控制应用提供单片解决方案所必需的外围设备。它不但具有强大的数字处理器的特点:

20MIPS的速度(即每秒24万条指令的速度)使F240DSP控制器可以提供远远超过传统的16位微控制器和微处理器的性能。
32位累加器,16K*16 FLASH ROM,544*16的 RAM,3个定时器,外部存储器接口模块(EMIF),16位地址总线,16位数据总线。

而且还具有电机控制的独特资源:

12路脉宽调制(PWM)输出,2路10位8通道A/D
可编程死区控制单元,四个捕获单元(captures/QEP),其中两个有正交编码器脉冲接口功能。
28个独立可编程的多路复用I/O引脚,串行通讯接口(SCI),串行外部设备接口(SPI)。

控制回路设计

主回路控制系统硬件设计
这个控制系统采用TMS320F240微控制器为系统控制器核心,以功率MOSFET场效应管(IRF2807)作为功率变换元件,以任意时刻电机只有两相导通来控制换流元件,采用PWM方式控制电机的转矩和转速。整个系统的功率板如图1所示,其中粗箭头表示电机两个导通相中直流电的流向。
考虑到系统输入的功率较大,采用可提供12V电压的开关电源给无刷直流电动机和前置驱动器供电。直流无刷电机电子开关线路用来控制电动机定子上各相绕组通电的顺序和时间,主要由功率逻辑开关单元和位置传感器信号处理单元两个部分组成。功率逻辑开关单元是控制电路的核心,其功能是电源的功率以一定的逻辑关系分配给直流无刷电动机定子上各相绕组,以便使电机产生持续不断的转矩。

本设计方案的驱动电路采用三相全控桥控制方式。功率MOSFET管是采用国际整流公司(International Rectifier)的IRFP2807,并采用IR2131S作为全控桥的前置输入电路,来自TMS320F240的PWM输出信号未经缓冲直接送入预驱动器。预驱动装置的输出信号经30Ω电阻直接送到功率开关管。上半桥的相对地被续流电容执行。该硬件配置允许硬冲击和软冲击操作。所有为保证电源装置安全的元件均已提供:关闭、错误、清错、电流跟踪、电源极性接反保护二极管、峰值电流保护变阻器。电流感应使用廉价的分流电阻器,由电阻器产生的电压突变直接反映到TMS320F240(见图1)。刹车特性由另外一个场效应管和一个功率电阻完成的。最后,电源板还为位置传感器如霍尔传感器和增量式编码器等提供电源。

系统采用PWM控制算法,电机输入直流电流且每一时刻有两相导通,所以任一时刻只有两个功率开关流过电流。从TMS320F240来的PWM控制信号直接连至前置驱动器。前置驱动器的输出再通过一个电阻直接连至功率MOSFET管的控制极。系统采用硬斩波方式。CPU CLOCK=20MHZ,PWM周期=20KHZ。


检测回路设计

电流检测
电流检测采用价格便宜的分流电阻来进行。分流电阻安装在功率驱动桥的下端与功放板地线之间。其选定的阻值具有在功放板达到允许的最大电流时激活IR2131S内置的过流保护功能。分流电阻上的电压降在通过双ADC模块进行模数转换之前应放大一定的倍数,以覆盖整个模数转换范围,转换结束后产生一个中断标志(DSP控制内核的中断INT6),从而开始执行中断服务子程序。当ADC输入为30A时对应的输出值为3FFh,当输入值为0A时对应的输出值为0h。

相电流每50μS检测一次,构成频率为20KHz的电流环。根据每次的电流测量值在PWM周期开始时确定新的PWM占空比。注意这一点,在关闭状态时,不管转换器处于硬斩波还是软斩波状态,分流电阻无电流流过。图2显示了在软斩波模式下流经分流电阻的电流及在关闭操作时流经M2吸收二极管和维持M4关断的下降电流(所以在软斩波模式的关闭全过程中不会有电流被分流电阻观察到)。这意味着在一个PWM任务的中间时间启动电流转换的必要。TMS320F240的事件管理器可以通过启动定时器1周期匹配来实现这一操作。

图2 软斩波模式下分流电阻上的下降电流

在硬斩波模式下,在关闭的过程中M1和M4都不提供电流,所以衰减的相电流从地经分流电阻通过M2、M3吸收二极管后经过电容回到地。在此模式下,我们有可能看到当出现负电压突变时有按指数衰减的相电流流经分流电阻。考虑到电源板和控制板均不支持负电压,有必要在开启的过程中测量电流。

磁极位置检测
磁极位置检测由三霍尔效应传感器完成。该传感器由我们设计的电路板供电。传感器的输出端直接连到TMS320F240的捕获单元。该单元由软件进行初始化捕获单元的四个输入(只有3个是需要的)的不同于QEP。选定时器2为状态捕获单元的时间基准,并将它设为连续上升计数模式。由于设置最大定时时间可以得到最底的转度,故将T2PER(定时器2定时长度)寄存器设为0XFFFEh,预定标器设为128。上述设定值允许最低转速达24r/min(cpu clock=20MHz)。霍尔传感器输出三个脉宽为180 度的相互重叠的信号,得到6个强制换相点,检测到传感器输出信号的上升沿和下降沿后,产生相应的中断信号并执行中断服务程序(事件管理器的中断组C)。中断子程序首先决定测到的是什么边缘即是哪一相,然后开始计算探测到的相边从开始到结束的消失时间,然后整流器提供电机运转的相位,这样就能得到磁极的位置。

速度检测
速度反馈从位置传感器的输出信号中获得。正如上面提到的那样,电机的转子每转一圈可以得到六个换相信号。也就是说,两个换相信号之间相差60度电角度。速度可以写为:
△θ/△Τ
θ是继续角度,因为霍尔效应传感器的位置相对电机是固定不变的,所以两个换相信号之间的机械角度变量是常数,因此速度的检测只是简单的除法,通过计算两个检测信号之间的时差就可以计算出速度。在带扩展算法的F240 DSP控制器,执行除法克服其浮点特性是可能的。但在应用中,一个16位的除法是足够的。另外,速度增加,忽略做除法后的余数而引起的误差会变小。

速度调节
每隔62.5 ms,速度调节环调节就执行一次,这个频率能根据使用的需要速度值而修改。在这个控制软件设计中,基准速度是直接写进存储空间的。也可以从外部的电位计通过AD通道或PC机的RS232通讯接口得到基准参考速度。新的基准参考直流电流是以速度的误差,且通过数字PI算法计算得出的:
Idcrefk=Idcrefk-1 + Kp(Ek-Ek-1)+KiTEk-1
这里的Idcref是速度调节器的输出,Kp是比例增益,Ki是积分增益,而T是速度采样周期。采样周期等于0.0625,也就是说是2的-4方。从数字角度看乘数KiT,其意义是在把它加到其他量上之前,积分项右移了4次。参看下面的对于其他速度环的采样频率的管理.速度环代码中的所有变量存放在堆栈,使用的堆栈指针是辅助寄存器AR2,且堆栈的入口地址是0x0300h。速度环变量堆栈如表1所示。

电流调节
电流的调节是由通过变动占空比的PWM(固定频率20KHZ)信号来实现的。而PWM的宽度则是由测量得到的相电流和希望得到的基准电流之间进行比较来决定的。参看下面的公式:
Ierror = Iref –Imeasured
Duty_cycle (new)=duty_cycle (old) + Ierror * K
If Duty_cycle (new) ≥ Timer_period
Then
Duty_cycle (new) = Timer_period
If Duty_cycle (new) ≤ 0
Then
Duty_cycle (new) = 0

表1:速度环变量堆栈


这里K是比例增益,K的大小是由电动机的参数和DC总线的电压和电流决定的。比例增益K能使用下列过程确定。设S为一个PWM周期中允许的步幅数值,设Δi是一个PWM的占空比发生100%变化时相电流的改变,K定义为:K=S/Δi。参数Δi的设定依赖于电机的参数和转换器的类型。

启动操作
处于零速度的状态时控制软件必须首先决定它该为哪相供给相电流,所以最初代码读三个霍尔效应传感器的输出次序,且给合适的一对相提供电压。这个操作使得电动机的转子开始转动,加电压的一对相在每个霍尔效应传感器的输出边缘发生改变。保持输入电流不变一直到第一个速度环的进入。使用者可能想立刻更新基准电流,在这种情况下, 在变量初始化过程中仅设定速度环频率变量中的 speed-count这个变量。

PWM策略和产生
这里应用的电动机是直流无刷电动机需要用两相处于打开状态构成直流通路。也就是说一相把电流输入电动机,另一相是电流返回到电源的通路,第三相是空出的(见图1)。所以在任何时候,只有两个电源开关管传导电流,设M1和M4是这样的一对开关。有两种方法使想要的电流输入正确的两相:硬斩波和软斩波。就软斩波来说,M4电源开关管在全部60度交换期间是一直关闭的,而M1则是根据电流环输出的占空比来开关的。硬斩波使M1和M4根据相同的脉动模式进行开关操作。TMS320F240是支持这两种斩波模式操作。

软斩波模式下,CPUCLOCK=20MHz,PWM周期=20KHz,PWM的占空比=comp,使能开关管M1和M4。程序如下:
LACC COMP
LDP #0E8h
SPLK #0F3Dh,ACTR
SACLCMPR1
SPLK#0000,CMPR2
SPLK #0000,CMPR3
硬斩波模式下,CPUCLOCK=20MHz,PWM周期=20KHz,PWM的占空比=comp,使能开关管M1和M4。程序如下:
LACCCOMP
LDP #0E8h
SPLK#0F7Dh,ACTR
SACLCMPR1
SACLCMPR2
SPLK#0000,CMPR3

控制系统软件设计

整个系统的软件由主程序和中断服务程序组成。
主程序主要完成事件管理系统的初始化、变量的初始化及对IR2131器件的初始化。图3为主程序流程图。


图3 主程序流程图

中断程序主要包括串行口中断,捕获中断,ADC转换结束中断和PDPINT中断。
在串行口中断中,主要完成与主机的信息传输、反馈当前的工作状态,根据主机的命令启动或制动电机等。
捕获中断主要用于得到当前的转子的位置,并调整输出相序。
ADC中断在每次PWM周期发生后一段时间发生,可以通过ADC转换的数值经过计算后得到当前的相电流值,进行电流环的调节。每经过设定次数的电流环调节,就进行一次速度环调节,保证系统按要求运行。程序流程图如图4所示。

图4 ADC中断服务程序流程图

在功率器件发生过载保护时,会有PDPINT中断发生,在中断服务程序中,停止PWM信号的 产生和输出,并设置错误标志。

结术语

DSP有许多专用的外围设备和高的性能特性,使其成为了电机控制系统最好的芯片之一,随着对DSP功能的不断开发,在电机控制上将取代单片机而获得巨大的发展。本文从硬件和软件两方面,介绍了DSP在永磁无刷直流电机的伺服控制系统的应用解决方案,提供了一硬件平台,可以实现现代诸多控制理论和算法的评估;软件方面,提供了DSP在电机控制的实现方法,具有很广泛的应用价值。

相关推荐

CEVA凭借90%的市场份额继续领导DSP IP市场

CEVA  DSP  2012-05-30

欧胜推出带有语音处理器DSP的下一代音频中枢

欧胜  DSP  2012-05-07

飞兆与包尔英特的专利之争:初步裁定结果

飞兆  PWM  2012-05-03

Tensilica HiFi音频/语音DSP迎来又一里程碑

Tensilica  DSP  2012-04-25

Tensilica授权瑞萨电子ConnX BBE16 DSP IP核

Tensilica  DSP  2012-04-18

思科拟拓展服务 确保企业员工个人设备安全

思科  驱动器  2012-03-21
在线研讨会
焦点