采用C504單片機(jī)的變頻調(diào)速系統(tǒng)介紹
變頻調(diào)速在控制中的應(yīng)用愈來愈廣泛,傳統(tǒng)的變頻調(diào)速控制是用普通的單片機(jī)系統(tǒng)來實(shí)現(xiàn),電路復(fù)雜、編程麻煩,本系統(tǒng)采用C504專用控制單片機(jī)來實(shí)現(xiàn)變頻調(diào)速。
1C504功能簡述
C504是西門子公司的8?Bit專用微控制器,它兼容51系列單片機(jī),其顯著特點(diǎn)是:具有一個專用于產(chǎn)生PWM信號的16位捕捉/比較單元(Capture/CompareUnit,簡稱CCU),4個8?Bit通用輸入/輸出口,其中P1口既可作為4路模擬輸入,也可作為6路PWM輸出,這就給變頻調(diào)速控制提供了PWM波驅(qū)動信號,無需外加PWM波產(chǎn)生電路,或使用復(fù)雜的軟件編程方式。
C504的PWM波產(chǎn)生原理是:通過向CCU中的周期寄存器、控制寄存器、方式選擇寄存器和初始化寄存器寫入命令字,把晶振時鐘信號經(jīng)預(yù)分頻單元,變?yōu)橐欢ㄖ芷诘拿}沖,再經(jīng)捕捉定時器,把時鐘脈沖轉(zhuǎn)化為一定周期的三角波或鋸齒波,再經(jīng)比較器進(jìn)行比較,將輸入信號調(diào)制成不同脈寬的方波脈沖,經(jīng)接口控制單元向外輸出六路方波脈沖,當(dāng)改變?nèi)齻€比較器和周期寄存器的賦值時,就改變了PWM波的脈寬和周期,從而實(shí)現(xiàn)調(diào)頻和調(diào)脈寬的控制。
2硬件系統(tǒng)
硬件系統(tǒng)如圖1所示。C504是該系統(tǒng)的核心,實(shí)現(xiàn)系統(tǒng)的控制和6路PWM波的產(chǎn)生。27256EPROM作為程序存儲器,74AS573作為地址鎖存器,8255可編程并行接口芯片、ULN2803及74LS245,組成鍵盤與顯示電路。通過鍵盤進(jìn)行轉(zhuǎn)速和轉(zhuǎn)向的設(shè)置,顯示器顯示工作狀態(tài)和頻率。IPM是一個智能功率模塊,具有過壓、欠壓、過流自動保護(hù)功能,并輸出故障指示信號,內(nèi)設(shè)有驅(qū)動電路和光電隔離電路,直接由C504的P1.2~P1.7輸出的六路PWM波驅(qū)動,具有抗干擾性能強(qiáng)的特點(diǎn)。它是一個自關(guān)斷三相全控逆變橋,直接用來控制需調(diào)速的三相電動機(jī)。
整個系統(tǒng)外圍元件少,宜于編程和開發(fā),體積小,推廣使用非常方便,具有非常高的性能/價格比。
3軟件系統(tǒng)
本系統(tǒng)利用C504微控制器芯片內(nèi)的CCU單元,可以較為簡便地產(chǎn)生三相SPWM波,去驅(qū)動IPM直接來控制三相感應(yīng)式電動機(jī)。在設(shè)計軟件時,基于時間優(yōu)化的原則,所有的控制任務(wù)使用高效的算法,只需很短的CPU計算時間。
整個軟件系統(tǒng)采用模塊化結(jié)構(gòu),包括主程序(見圖2)、用戶設(shè)置子程序(見圖3)、鍵盤檢測子程序、狀態(tài)及故障監(jiān)控子程序和CCU中斷服務(wù)程序(見圖4)??紤]到開發(fā)周期和控制效率兩方面的問題,在開發(fā)中使用C51和匯編語言混合編程。
主程序完成系統(tǒng)初始化和控制任務(wù)。系統(tǒng)初始化包括:在RAM中建立完整的正弦表,CCU初始化、中斷系統(tǒng)初始化和8255初始化(包括鍵盤、顯示電路)。具體流程如圖2所示。用戶設(shè)置子程序設(shè)有密碼保護(hù),主要接收用戶通過鍵盤輸入的“旋轉(zhuǎn)方向”和“轉(zhuǎn)速”,并將設(shè)定值存入RAM中,流程如圖3。狀態(tài)與故障監(jiān)控子程序可將當(dāng)前電動機(jī)的“轉(zhuǎn)向”和“轉(zhuǎn)速”,以及IPM的故障代碼,遇到嚴(yán)重故障可以自動停機(jī)。鍵盤檢測和顯示子程序比較簡單,在此不再贅述。
圖1硬件系統(tǒng)圖
圖2變頻調(diào)速系統(tǒng)主程序 圖3用戶設(shè)置子程序
圖4CCU中斷服務(wù)子程序
CCU中斷服務(wù)程序是軟件系統(tǒng)的關(guān)鍵部分,使用匯編語言編程。通過比較定時器1的溢出中斷,系統(tǒng)每50μs調(diào)用一次中斷服務(wù)程序,周期性地更新CCU比較寄存器中的賦值。該任務(wù)耗時15μs左右,約占用30%的CPU運(yùn)算時間,程序簡練,執(zhí)行效率很高。如果轉(zhuǎn)速增加或減小時也可以按一定的速率改變轉(zhuǎn)速,同時為了避免當(dāng)轉(zhuǎn)速低于1Hz時向電動機(jī)輸出DC電流,會自動關(guān)閉CCU輸出。這時,該任務(wù)耗時30μs左右,約占用60%的CPU運(yùn)算時間,為實(shí)現(xiàn)閉環(huán)控制提供了時間。流程如圖4所示。