周丹,曾宇航
(1.西南科技大學,綿陽621010;2.重慶大學)
電機在國民經(jīng)濟生產(chǎn)中有著舉足輕重的地位,為了使電機適應不同的工況,需要開發(fā)電機控制系統(tǒng)對其轉(zhuǎn)速轉(zhuǎn)矩等進行有效快速的控制。但是傳統(tǒng)的電機控制系統(tǒng)開發(fā)是一個復雜而繁瑣的過程,本文介紹一種相對簡單的電機控制系統(tǒng)開發(fā)流程。利用MATLAB/Simulink搭建異步電機的矢量控制模型完成控制參數(shù)的調(diào)整,在MATLAB環(huán)境下將已建好的控制模型配合TI DSP芯片完成控制模型的仿真開發(fā)和代碼生成,最后根據(jù)整個模型繪制電路板,完成硬件電路,驗證仿真模型及生成代碼的正確性與系統(tǒng)的可行性。
根據(jù)圖1所示的轉(zhuǎn)速負反饋單閉環(huán)直流調(diào)速系統(tǒng)靜態(tài)結(jié)構(gòu)圖,構(gòu)造出直流電機轉(zhuǎn)速負反饋單閉環(huán)直流調(diào)速系統(tǒng)的模型。
圖1 轉(zhuǎn)速負反饋單閉環(huán)直流調(diào)速系統(tǒng)靜態(tài)結(jié)構(gòu)圖
由于在實際硬件設計中,可以用光電碼盤直接測算轉(zhuǎn)速,所以無需將轉(zhuǎn)速轉(zhuǎn)換為電壓,直接將測算轉(zhuǎn)速作為反饋量與給定轉(zhuǎn)速相對比,完成整個調(diào)節(jié)過程,構(gòu)造的仿真模型略——編者注。
完成仿真模型的構(gòu)建后進行仿真試驗,檢驗模型的轉(zhuǎn)速調(diào)節(jié)能力和抗干擾能力,包括恒轉(zhuǎn)矩變轉(zhuǎn)速調(diào)節(jié)仿真和恒轉(zhuǎn)速變轉(zhuǎn)矩調(diào)節(jié)仿真。仿真結(jié)果分別如圖2和3所示。
(1)恒轉(zhuǎn)矩變轉(zhuǎn)速仿真
轉(zhuǎn)矩給定為30 N/m,初始轉(zhuǎn)速為500 rpm,到2 s時階躍至1000 rpm,到4 s時再次階躍到500 rpm。
(2)恒轉(zhuǎn)速變轉(zhuǎn)矩仿真
圖2 恒轉(zhuǎn)矩變轉(zhuǎn)速仿真結(jié)果
圖3 恒轉(zhuǎn)速變轉(zhuǎn)矩仿真結(jié)果
轉(zhuǎn)速給定為500 rpm,初始轉(zhuǎn)矩為30 N/m,到2 s時階躍至300 N/m,到4 s時再次階躍到30 N/m。
根據(jù)以上仿真結(jié)果可知,系統(tǒng)具有較好的調(diào)節(jié)速度和準確度,但是由于是單閉環(huán)調(diào)速系統(tǒng),紋波系數(shù)較大,不過用于驗證和演示,其波動范圍尚在可接受范圍內(nèi),所以可以根據(jù)此模型構(gòu)建MATLAB代碼自動生成模型并進行硬件實驗驗證。
為實現(xiàn)MATLAB自動生成CCS代碼,首先要完成MATLAB對于CCS的路徑配置和相關的必要配置,首先在MATLAB命令行窗口里面輸入指令:xmakefilesetup,進入配置界面,配置步驟如圖4所示。
Tool Directories配置完成后,根據(jù)電腦軟件安裝檢驗每一項路徑是否正確,若默認設置不正確,可點擊configuration旁的new按鈕新建自己的設置,完成設置后單擊ok按鈕,關閉窗口。
完成上述步驟后,在MATLAB中輸入check EnvSetup('ccsv5','f28027','check'),會出現(xiàn)6個配置表,全部配置完成后如下所示:
圖4 CCS版本選擇及路徑配置
這樣便表示配置成功,如果無法實現(xiàn)自動配置,則根據(jù)每一項中的變量和對應地址,在計算機中手動添加系統(tǒng)變量即可。
整個控制系統(tǒng)要實現(xiàn)轉(zhuǎn)速采集,當前采集轉(zhuǎn)速作為反饋量與給定轉(zhuǎn)速進行比較,通過Pin1模塊進行PI調(diào)節(jié),控制輸出PWM的占空比來調(diào)節(jié)輸出電壓,達到控制轉(zhuǎn)速的要求??刂葡到y(tǒng)程序執(zhí)行流程圖如圖5所示。
圖5 控制系統(tǒng)程序執(zhí)行流程圖
根據(jù)圖5所示的程序執(zhí)行流程圖搭建調(diào)速系統(tǒng)C代碼生成模型,模型略——編者注。模型中,以I/O口模塊作為光電碼盤計數(shù)輸入口,通過MATLAB Function完成計數(shù)和計數(shù)采樣時間判斷,在采樣周期結(jié)束時,觸發(fā)Function-Call Subsystem1將計數(shù)值轉(zhuǎn)換成轉(zhuǎn)速,與給定轉(zhuǎn)速對比完成輸出PWM的脈寬調(diào)節(jié),從而達到調(diào)節(jié)轉(zhuǎn)速的目的。由于在MATLAB的TI C2000中采用ePWM模塊的中斷作為定時器比較方便,所以選擇ePWM作為中斷源,每0.001 s觸發(fā)一次中斷,進入中斷完成中斷計數(shù),計數(shù)500次(0.5 s)為一個采樣周期。
上述模型構(gòu)建選擇simulation/Model configuration Parameters完成最后的配置。圖6和圖7中圈出為需要設置的地方,其余選項默認即可。
圖6 Solver配置
圖7中Target selection中需要配置的3個選項根據(jù)個人所需和使用的DSP型號完成配置;Toolchain需要根據(jù)使用的CCS版本配置,完成以上所有配置后,選擇simulink中的bulid model完成代碼自動生成。
圖7 Code Generation配置
根據(jù)代碼生成模型構(gòu)建硬件電路:GPIO口選用了GPIO02,PWM輸出選擇的是ePWM1A,20分度的光電碼盤完成測速,L298N作為電機驅(qū)動,電機電源選擇7.2 V直流電源。硬件電路原理圖略——編者注。
首先按照圖8新建工程文件,并將MATLAB生成的文件夾中所有的.asm、.c、.h文件復制到工程中,并根據(jù)生成代碼所需頭文件配置頭文件路徑,如圖9所示。
圖8 新建工程文件
完成以上步驟后,編譯代碼并燒錄,即可驗證代碼的正確性。
圖10所示為電機轉(zhuǎn)速波形圖,此圖為CCS連接到DSP上運行時所顯示的DSP采集的轉(zhuǎn)速。在某一時刻突增負載,之后保持一段時間后減去負載,可以看出調(diào)速系統(tǒng)響應十分迅速,同時轉(zhuǎn)速波形與仿真波形都有較大的紋波系數(shù),不過仍在可接受范圍之內(nèi)。
圖9 頭文件配置添加
為了驗證DSP采集轉(zhuǎn)速的準確性,使用了另外一塊TMS320F28027編程采集轉(zhuǎn)速,并用數(shù)碼管顯示,兩者比對證明了生成的DSP代碼是正確的。驗證轉(zhuǎn)速數(shù)碼管顯示略——編者注。通過程序燒錄后的實驗驗證,證明了MATLAB建模生成C代碼的正確性和可行性。
圖10 電機轉(zhuǎn)速波形圖
本文介紹一種新的電機控制系統(tǒng)的開發(fā)流程,講解使用MATLAB結(jié)合CCS完成TI系列DSP的開發(fā)過程,這種開發(fā)過程相較于以往需先查閱芯片數(shù)據(jù)手冊、然后人工編程完成開發(fā),省去了代碼編寫的過程,大大縮短了開發(fā)周期。不過需要對MATLAB比較了解,并且在代碼生成模型的搭建中要有正確清晰的邏輯,才能保證生成代碼正確可行。如果掌握了這種開發(fā)方式,能為今后的學習工作帶來很多的便利。
編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。
[1]周淵深.交直流調(diào)速系統(tǒng)與MATLAB仿真[M].北京:中國電力出版社,2007.
[2]劉杰,周宇博.基于模型的設計:MSP430/F28027/F28335DSP篇[M].北京:國防工業(yè)出版社,2011.
[3]克尼漢.C程序設計語言[M].2版.寶文,譯.北京:機械工業(yè)出版社,2004.
[4]TI公司.TMS320F28027使用手冊,2012.