基于DSP在無刷直流電機控制中的應(yīng)用
1 概述
本文采用TI公司推出的240XDSP作為無刷直流電機全數(shù)字控制核心,組成的伺服系統(tǒng)只需要很少的系統(tǒng)元件。TMS320F240X是美國TI公司推出的高性能16位數(shù)字信號處理器(DSP),是專門為電機的數(shù)字化控制而設(shè)計的。這種DSP包括一個定點DSP內(nèi)核及一系列微控制器外圍電路,將數(shù)字信號處理的運算能力與面向電機的高效控制能力集于一體,可以實現(xiàn)用軟件取代模擬器件,方便地修改控制策略,修正控制參數(shù),兼具故障檢測、自診斷和與上位機通信等功能。
2 硬件介紹
TMS320LF2407A的內(nèi)核是TMS320C2XX(圖1),內(nèi)部采用了哈佛結(jié)構(gòu),流水線作業(yè),在20MHz的時鐘頻率下,指令周期僅為50ns,且多數(shù)指令都能在一個指令周期內(nèi)完成。其中央算術(shù)邏輯部分包括32位中央算術(shù)邏輯單元(CALU),32位累加器,CALU的輸入/輸出數(shù)據(jù)定標(biāo)移位器,16位×16位乘法器,乘積定標(biāo)移位器,數(shù)據(jù)地址發(fā)生邏輯(包括8個輔助寄存器和1個輔助寄存器算術(shù)單元(ARAU),程序地址發(fā)生邏輯。當(dāng)處理器連續(xù)工作時,還能同時執(zhí)行:a、經(jīng)由串行口的數(shù)據(jù)接收和發(fā)送;b、內(nèi)部定時器減數(shù);c、產(chǎn)生三相脈寬調(diào)制(PWM)波形;d、采集4個模擬信號;e、看門狗定時器減數(shù)。它還包含有其它系列的DSP芯片所沒有的雙10位模數(shù)轉(zhuǎn)換器、基于PWM控制的管理器(6個比較單元、12路PWM輸出、2路光電編碼器接口的編碼單元)。其PWM波形生成單元包含可編程死區(qū)控制,可輸出非對稱PWM波形、對稱PWM波形和空間矢量PWM波形。LF2407是x240x系列DSP中唯一能夠擴展外部存儲器,也是其中控制功能最強、片上設(shè)施最完備的一個型號,廣泛的用于代碼開發(fā)、系統(tǒng)仿真以及實際系統(tǒng)中。
圖1 TMS320Lx240x系列DSP控制器總體結(jié)構(gòu)
3 DSP控制流程
圖2是用TMS320LF2407A實現(xiàn)三相無刷直流電動機調(diào)速的控制和驅(qū)動電路。本設(shè)計采用TMS320LF2407A微控制器為系統(tǒng)控制器核心,以功率MOSFET場效應(yīng)管為功率變換元件,任意時刻電機只有兩相導(dǎo)通來控制換流元件,采用PWM方式來控制電機的轉(zhuǎn)矩和轉(zhuǎn)速。在這里,三個位置間隔120O分布的霍爾傳感器H1,H2,H3經(jīng)整形隔離電路后分別與TMS320LF2407A的三個捕捉引腳CAP1,CAP2,CAP3相連,通過產(chǎn)生捕捉中斷來給出換相時刻,同時給出位置信息。
圖2 用TMS320LF2407A實現(xiàn)三相無刷直流電動機調(diào)速的控制和驅(qū)動[!--empirenews.page--]
從理論上來看,直流無刷電動機的速度和轉(zhuǎn)矩控制主要依據(jù)如下的轉(zhuǎn)矩和反電動勢工程計算方程
其中,N為直流無刷電動機定子每相線圈數(shù), 為轉(zhuǎn)子的長度,r為轉(zhuǎn)子的內(nèi)徑,B為轉(zhuǎn)子的磁通密度, 為電動機的角速度,i為相電流,L為相感抗, 為轉(zhuǎn)子的位置,R為相阻抗。
從方程可以看到,反電動勢與電動機的轉(zhuǎn)速成比例,而轉(zhuǎn)矩與相電流也幾乎勢成比例的。根據(jù)這些特點,在方案中采用了圖3所示的控制策略。給定轉(zhuǎn)速與速度反饋形成偏差,經(jīng)速度調(diào)節(jié)后產(chǎn)生電流參考量,它與電流反饋量的偏差經(jīng)電流調(diào)節(jié)后形成PWM占空比的控制量,實現(xiàn)電動機的速度控制。電流的反饋是通過檢測電阻上的壓降來實現(xiàn)的。速度反饋是通過霍爾傳感器輸出的位置量,經(jīng)過計算得到的。位置傳感器輸出的位置量還用于控制換相。
圖3 三相無刷直流電動機的速度和電流控制
4 軟件控制
系統(tǒng)采用PWM控制算法,電機輸入直流電流且每一時刻只有兩個功率管導(dǎo)通,從2407來的PWM控制信號直接連至驅(qū)動器,驅(qū)動器的輸出再連至功率MOSFET管的控制極。2407的CPU時鐘頻率是20MHz,PWM頻率是20kHz。[!--empirenews.page--]
4.1相電流檢測
TMS320LF2407A接受到電阻上放大的壓降信號后,經(jīng)由A/D轉(zhuǎn)換后得到電流信號。在轉(zhuǎn)換結(jié)束時,A/D模塊向CPU發(fā)送一個中斷請求信號,等待CPU處理。每隔50us,DSP控制器對相電流進行采樣,從而實現(xiàn)20kHz的電流調(diào)節(jié)環(huán)。根據(jù)電流誤差,PID控制器在每個PWM周期開始時對PWM脈沖的占空比進行調(diào)節(jié)。
4.2轉(zhuǎn)子位置和速度檢測
掌握好恰當(dāng)?shù)膿Q相時刻,可以減小轉(zhuǎn)矩的波動。位置檢測不但用于換相控制,而且還用于產(chǎn)生速度控制量。
位置信號是通過3個霍爾傳感器得到的。他們的輸出信號相差1200。每個機械轉(zhuǎn)有6次換相,通過將DSP設(shè)置為雙沿觸發(fā)捕捉中斷功能,可以獲得正確的換相時刻。通過將DSP的捕捉口CAP1~CAP3設(shè)置為I/O口,并檢測該口的電平狀態(tài),來的到具體的捕捉中斷。
位置信號還可以用于產(chǎn)生速度控制量。只要測得兩次換相的時間間隔 ,就可以根據(jù)下式計算出兩次換相時間的平均角速度。
兩次換相的時間間隔可以通過捕捉中斷發(fā)生時讀定時器2的T2CNT寄存器的值來獲得。
4.3電流和速度調(diào)節(jié)
相電流的調(diào)節(jié)可以通過調(diào)節(jié)載頻為20kHz的PWM信號的脈沖寬度來實現(xiàn)。
Ierror="Iref" - Imea
cyclenew=cycleold+IerrorK
如果cyclenew>=Timer_period, 那么cyclenew=Timer_period
如果cyclenew>Timer_period,那么cyclenew=0
其中Iref—用戶想要的參考電流;
Imea——實際測得的相電流;
Ierror——要調(diào)節(jié)的相電流誤差;
速度調(diào)節(jié)采用PI算法,以獲得最佳的動態(tài)效果。計算公式如下:
式中Iref-速度調(diào)節(jié)輸出;
ek -第k次速度偏差;
Kp -速度比例系數(shù);
Ki -速度積分系數(shù);
T -速度調(diào)節(jié)周期;
試驗證明能產(chǎn)生很好的三相PWM控制波形。圖5為產(chǎn)生的PWM波形。
圖5 利用DSP控制三相無刷直流電動機產(chǎn)生的PWM波形
前面所敘述的系統(tǒng)初始化、位置信號檢測、PWM信號輸出等軟件模塊,可以實現(xiàn)一個基本的具有位置傳感器的三相直流無刷電動機速度控制系統(tǒng)。然而為了建立一個更完善的系統(tǒng),還需要增加一些功能模塊,如調(diào)節(jié)電動機轉(zhuǎn)速的控制模塊、保存系統(tǒng)運行數(shù)據(jù)的數(shù)據(jù)記錄模塊等,TMS320LF2407與pc機之間采用的通訊是采用RS-485進行半雙工的接口電路。由于pc機提供的是RS233接口,需要RS-32和RS-85間進行接口轉(zhuǎn)換。
5 結(jié)束語
本文作者創(chuàng)新點:將工業(yè)控制中普遍使用的PI算法在DSP上實現(xiàn)PWM波形輸出,由于單片機自身性能的限制,已難以滿足高速度,高精確的電機控制要求,而用DSP則很好的實現(xiàn)用于直流無刷電機控制的PWM波形輸出。