您的位置:控制工程论坛网论坛 » 电机与运动控制 » 基于DSP的无刷直流电机调速系统

jshfq

jshfq   |   当前状态:在线

总积分:17995  2024年可用积分:0

注册时间: 2007-08-06

最后登录时间: 2013-11-04

空间 发短消息加为好友

基于DSP的无刷直流电机调速系统

jshfq  发表于 2008/6/24 17:44:16      1612 查看 0 回复  [上一主题]  [下一主题]

手机阅读









基于DSP的无刷直流电机调速系统

 
摘  要:本文在详细介绍了基于DSP(TMS320F2812)和专用控制集成芯片(MC33035)的基础上, 综合运用了PID算法和滤波算法对无刷直流电机调速系统进行了研究,并给出了该控制系统的实际硬件电路设计和软件控制策略。实验结果表明,本控制系统运行稳定、控制算法合理、控制精度高,有着很强的应用推广价值。 


关键词: 无刷直流电机, DSP, TMS320F2812, MC33035


引言


  无刷直流电动机从上世纪70年代末开始引起了从事电机及驱动系统学者的重视。电机的驱动控制结构有很多形式,近年来国外学者多集中于对直流电机的转矩波动及其控制问题上进行研究。以单片机为核心组成的数字控制电路调速控制能力强,但只能实现系统的外环数字控制,而DSP则可以实现全数字化的控制。


  TMS320C28x系列是TI公司最新推出的32位定点DSP芯片,它既具有数字信号处理能力,又具有强大的时间管理能力和嵌入式控制功能,特别适用于大批量数据处理的测控场合[1]。


  在无刷直流机速度控制系统中,为使调试者实时了解系统的运行信息,需实时采集电机转速、电枢电流等信息,并进行数据分析和加工处理[2]。控制过程复杂,控制算法计算量较大,因此本系统选择了数据处理能力较强的DSP芯片TMS320F2812作为控制核心,再结合MC33035专用控制集成芯片,设计并制作了一个无刷直流电机调速器。


1 系统结构


  本系统针对的是高速无刷直流电机,原则上本系统对电机转速的上限没有限定,实验时使用的电机最高转速为5万转,电机功率为5kw。


  系统设计时为方便用户操作设计了通信和JOG(手动)两种模式。通信模式使用户在电脑前就可以方便地对电机进行操作,设置电机的最高转速、加速度以及显示电机当前的实际转速等;而在没有电脑时,用户也可以通过JOG模式对电机进行键盘操作,用以设定电机的转速。


  资助基金:国家自然科学基金(70271001)


  本系统设计控制的无刷直流电机采用霍尔元件作为位置反馈机制,从反馈的脉冲信号中获得位置信息和转速情况。控制核心DSP根据采集到的实际转速,修正控制转速,实现系统对电机转速的闭环控制。此外,系统从电机的驱动器件IGBT处获得电流信息。通过综合这三个信息,使得整个电机调速系统安全、稳定、可靠地工作。


  整个系统由控制、驱动、显示及电源四部分组成, 结构框图如图1所示:



点击看大图


2 系统硬件设计


  硬件原理框图如图2所示。



点击看大图


图2 硬件原理框图


  各部分之间信号线的连接通过光耦隔离,光耦两端连接如图3所示。这里采用的光耦是TLP521,它的隔离电压是2500V。在本系统中,驱动部分的最高电压是300V,2500V可以保证系统工作的绝对安全。图3中光耦是按正逻辑连接的,即输入1,输出也是1。除TLP521外,在通信线的连接处使用了几颗高速光耦6N127。





图3 光耦连接图


  2.1 控制部分


  控制部分的核心器件是TMS320F2812,制作时使用了一块ICETEK-2812-B板(带有2812的DSP开发板),除带DSP外,还有一颗电源管理芯片,将外接5V转为3.3V为系统供电。


  2812从电机处采集转速、电流反馈信号和位置反馈信号,DSP综合这三个信号输出对外的控制信号。从驱动部分反馈的过流信号是一个0、1信号,DSP在工作时始终监视这一信号,一旦监视到1,即表示电机过载,则立即给出一个让电机停止转动的信号,以免损坏电机和调速器。


  DSP输出的转速控制信号是一个数字量,用D/A将此数字量转换成电压量给MC33035用以调速。系统中选用了12位的串行D/A(TLV5616),后加一级放大(LM358),使输出电压可根据不同电机的要求进行放大。


  TMS320F2812与PC间的通信是通过485总线完成的。在工业控制中,485总线应用非常普遍,传输距离远而且性能稳定,所以本系统选择485总线进行传输。


  2.2 驱动部分


  驱动部分的控制核心是MC33035,驱动器件是IR2183和IRGP50B60PD1。MC33035作为驱动部分的控制核心,根据电机霍尔反馈的位置信号,分辨出电机转子的位置,以控制IGBT的开关。


  虽然IGBT具有优越的通态特性,但要将IGBT瞬间完全关断仍不容易。调试时发现,IGBT关断时的一点点毛刺,就会导致电机发热甚至烧坏。这就要求在电路设计上采取相应的措施,如在IR2183输出端与IGBT连接的地方串接一电阻等;在PCB布板走线时更要严格注意,布局要对称。


  电机转速的调节是MC33035的11脚(误差信号放大器同向输入端)接受控制部分给出的控制电压,根据此电压的不同,内部产生脉宽调制(PWM)信号,控制3个下侧驱动输出,通过改变输出脉冲宽度来改变IGBT导通时间的长短,从而调节电机的转速。


  2.3 显示部分


  显示部分的主控元件是AT89C51,显示部分与驱动部分之间通过AT89C51和2812的串行口(即用通信方式)传递指令。同时显示部分所需的5V电源由控制部分提供。


  这里转速的采集是用AT89C51的计数端去采集霍尔输出的脉冲信号,将此信号换算成频率后送七段数码管显示,在此AT89C51担当了一个频率计的功能。


  系统让用户通过键盘输入转速,而不是通过电位器调节。因为电位器输出的是一个模拟量,通过2812内部集成的A/D来采集这个电压量时并不稳定,会略微地漂移,这种略微的漂移会导致转速较大的波动。为了避免这种波动,本系统使用了全数字量的键盘,AT89C51从键盘读入数字量,然后将此量通过通信口传给2812,以实现全数字无级调速控制。


3 系统软件设计


  系统软件设计思想是通过不断采集电机转速,与给出的速度指令相比较后,利用PID算法,同时综合滤波算法,不断修正速度误差,直到采集到的电机转速与系统给定的转速相同,程序就认为系统已经入锁了。系统控制时始终监视电机电流和位置反馈,一旦出现异常,就启动相应的报警机制,并让电机停止转动。


  程序软件框图如图4所示:





图4 软件框图


  实际速度的测量是程序每隔20ms从霍尔元件反馈处读脉冲,读到一个脉冲就记一转,共采样10次记一个周期,即程序统计200ms内的脉冲数来计算电机的实际转速。按照这种计算方法,系统产生的误差是75转/分,已完全满足高速电机的误差要求。


  为了电机工作安全,系统除了设置过流保护外,还为用户设置了电机最大速度越限报警,系统程序在工作时,会不断与这个最大速度比较,一旦检测到电机实际转速超过用户给定的最大转速,立刻会超速报警,同时让电机停止转动。


  控制部分与PC以及显示部分的通信都采用以下的通信协议:


  19200 bps,8 bit,1 start,1 stop,无奇偶校验


  此外,对于电机的冷却装置,系统预留了相应的信号接口,可根据实际需要,外接相应冷却装置,用以提高电机的安全性能。


4 系统操作界面


  根据本系统的功能设计了如图5所示的操作界面:



点击看大图


图5 操作界面


  操作界面根据实际的操作需要,进行了人性化设计,并设计了速度监测曲线,方便用户观察电机转速的稳定度。此外,用户通过操作界面可以方便地进行参数设置和更改。


5 结论


  本电机调速系统经实际测试,控制精度高、运行稳定可靠,带载时的控制精度也在75转偏差内,与理论值接近,实际调试时进行过载及超速等实验,系统反应灵敏,控制过程安全可靠。本系统使用了功能强大的DSP(TMS320F2812)芯片,系统扩展空间大,可根据实际应用需要进行扩展。


  本文作者创新点:①本调速系统综合了TMS32F812和MC33035;②电机转速的人工输入使用了全数字量的键盘;③控制系统用485总线与PC进行通信;④所有信号线的连接处用光耦完全隔离,使各部分之间不相互影响,保证工作的绝对安全。

1楼 0 0 回复