DSP在无刷直流电机控制中的应用简介
扫描二维码
随时随地手机看文章
1 概述
本文采用TI公司推出的240XDSP作为无刷直流电机全数字控制核心,组成的伺服系统只需要很少的系统元件。TMS320F240X是美国TI公司推出的高性能16位数字信号处理器(DSP),是专门为电机的数字化控制而设计的。这种DSP包括一个定点DSP内核及一系列微控制器外围电路,将数字信号处理的运算能力与面向电机的高效控制能力集于一体,可以实现用软件取代模拟器件,方便地修改控制策略,修正控制参数,兼具故障检测、自诊断和与上位机通信等功能。
2 硬件介绍
TMS320LF2407A的内核是TMS320C2XX(图1),内部采用了哈佛结构,流水线作业,在20MHz的时钟频率下,指令周期仅为50ns,且多数指令都能在一个指令周期内完成。其中央算术逻辑部分包括32位中央算术逻辑单元(CALU),32位累加器,CALU的输入/输出数据定标移位器,16位×16位乘法器,乘积定标移位器,数据地址发生逻辑(包括8个辅助寄存器和1个辅助寄存器算术单元(ARAU),程序地址发生逻辑。当处理器连续工作时,还能同时执行:a、经由串行口的数据接收和发送;b、内部定时器减数;c、产生三相脉宽调制(PWM)波形;d、采集4个模拟信号;e、看门狗定时器减数。它还包含有其它系列的DSP芯片所没有的双10位模数转换器、基于PWM控制的管理器(6个比较单元、12路PWM输出、2路光电编码器接口的编码单元)。其PWM波形生成单元包含可编程死区控制,可输出非对称PWM波形、对称PWM波形和空间矢量PWM波形。LF2407是x240x系列DSP中唯一能够扩展外部存储器,也是其中控制功能最强、片上设施最完备的一个型号,广泛的用于代码开发、系统仿真以及实际系统中。
图1 TMS320Lx240x系列DSP控制器总体结构
3 DSP控制流程
图2是用TMS320LF2407A实现三相无刷直流电动机调速的控制和驱动电路。本设计采用TMS320LF2407A微控制器为系统控制器核心,以功率MOSFET场效应管为功率变换元件,任意时刻电机只有两相导通来控制换流元件,采用PWM方式来控制电机的转矩和转速。在这里,三个位置间隔120O分布的霍尔传感器H1,H2,H3经整形隔离电路后分别与TMS320LF2407A的三个捕捉引脚CAP1,CAP2,CAP3相连,通过产生捕捉中断来给出换相时刻,同时给出位置信息。
图2 用TMS320LF2407A实现三相无刷直流电动机调速的控制和驱动[!--empirenews.page--]
从理论上来看,直流无刷电动机的速度和转矩控制主要依据如下的转矩和反电动势工程计算方程
其中,N为直流无刷电动机定子每相线圈数, 为转子的长度,r为转子的内径,B为转子的磁通密度, 为电动机的角速度,i为相电流,L为相感抗, 为转子的位置,R为相阻抗。
从方程可以看到,反电动势与电动机的转速成比例,而转矩与相电流也几乎势成比例的。根据这些特点,在方案中采用了图3所示的控制策略。给定转速与速度反馈形成偏差,经速度调节后产生电流参考量,它与电流反馈量的偏差经电流调节后形成PWM占空比的控制量,实现电动机的速度控制。电流的反馈是通过检测电阻上的压降来实现的。速度反馈是通过霍尔传感器输出的位置量,经过计算得到的。位置传感器输出的位置量还用于控制换相。
图3 三相无刷直流电动机的速度和电流控制
4 软件控制
系统采用PWM控制算法,电机输入直流电流且每一时刻只有两个功率管导通,从2407来的PWM控制信号直接连至驱动器,驱动器的输出再连至功率MOSFET管的控制极。2407的CPU时钟频率是20MHz,PWM频率是20kHz。[!--empirenews.page--]
4.1相电流检测
TMS320LF2407A接受到电阻上放大的压降信号后,经由A/D转换后得到电流信号。在转换结束时,A/D模块向CPU发送一个中断请求信号,等待CPU处理。每隔50us,DSP控制器对相电流进行采样,从而实现20kHz的电流调节环。根据电流误差,PID控制器在每个PWM周期开始时对PWM脉冲的占空比进行调节。
4.2转子位置和速度检测
掌握好恰当的换相时刻,可以减小转矩的波动。位置检测不但用于换相控制,而且还用于产生速度控制量。
位置信号是通过3个霍尔传感器得到的。他们的输出信号相差1200。每个机械转有6次换相,通过将DSP设置为双沿触发捕捉中断功能,可以获得正确的换相时刻。通过将DSP的捕捉口CAP1~CAP3设置为I/O口,并检测该口的电平状态,来的到具体的捕捉中断。
位置信号还可以用于产生速度控制量。只要测得两次换相的时间间隔 ,就可以根据下式计算出两次换相时间的平均角速度。
两次换相的时间间隔可以通过捕捉中断发生时读定时器2的T2CNT寄存器的值来获得。
4.3电流和速度调节
相电流的调节可以通过调节载频为20kHz的PWM信号的脉冲宽度来实现。
Ierror="Iref" - Imea
cyclenew=cycleold+IerrorK
如果cyclenew>=Timer_period, 那么cyclenew=Timer_period
如果cyclenew>Timer_period,那么cyclenew=0
其中Iref—用户想要的参考电流;
Imea——实际测得的相电流;
Ierror——要调节的相电流误差;
速度调节采用PI算法,以获得最佳的动态效果。计算公式如下:
式中Iref-速度调节输出;
ek -第k次速度偏差;
Kp -速度比例系数;
Ki -速度积分系数;
T -速度调节周期;
试验证明能产生很好的三相PWM控制波形。图5为产生的PWM波形。
图5 利用DSP控制三相无刷直流电动机产生的PWM波形
前面所叙述的系统初始化、位置信号检测、PWM信号输出等软件模块,可以实现一个基本的具有位置传感器的三相直流无刷电动机速度控制系统。然而为了建立一个更完善的系统,还需要增加一些功能模块,如调节电动机转速的控制模块、保存系统运行数据的数据记录模块等,TMS320LF2407与pc机之间采用的通讯是采用RS-485进行半双工的接口电路。由于pc机提供的是RS233接口,需要RS-32和RS-85间进行接口转换。
5 结束语
本文作者创新点:将工业控制中普遍使用的PI算法在DSP上实现PWM波形输出,由于单片机自身性能的限制,已难以满足高速度,高精确的电机控制要求,而用DSP则很好的实现用于直流无刷电机控制的PWM波形输出。