基于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)速。
本文引用地址:http://m.butianyuan.cn/article/172968.htm1C504功能簡述
C504是西門子公司的8Bit專用微控制器,它兼容51系列單片機(jī),其顯著特點(diǎn)是:具有一個(gè)專用于產(chǎn)生PWM信號的16位捕捉/比較單元(Capture/CompareUnit,簡稱CCU),4個(gè)8Bit通用輸入/輸出口,其中P1口既可作為4路模擬輸入,也可作為6路PWM輸出,這就給變頻調(diào)速控制提供了PWM波驅(qū)動信號,無需外加PWM波產(chǎn)生電路,或使用復(fù)雜的軟件編程方式。
C504的PWM波產(chǎn)生原理是:通過向CCU中的周期寄存器、控制寄存器、方式選擇寄存器和初始化寄存器寫入命令字,把晶振時(shí)鐘信號經(jīng)預(yù)分頻單元,變?yōu)橐欢ㄖ芷诘拿}沖,再經(jīng)捕捉定時(shí)器,把時(shí)鐘脈沖轉(zhuǎn)化為一定周期的三角波或鋸齒波,再經(jīng)比較器進(jìn)行比較,將輸入信號調(diào)制成不同脈寬的方波脈沖,經(jīng)接口控制單元向外輸出六路方波脈沖,當(dāng)改變?nèi)齻€(gè)比較器和周期寄存器的賦值時(shí),就改變了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是一個(gè)智能功率模塊,具有過壓、欠壓、過流自動保護(hù)功能,并輸出故障指示信號,內(nèi)設(shè)有驅(qū)動電路和光電隔離電路,直接由C504的P1.2~P1.7輸出的六路PWM波驅(qū)動,具有抗干擾性能強(qiáng)的特點(diǎn)。它是一個(gè)自關(guān)斷三相全控逆變橋,直接用來控制需調(diào)速的三相電動機(jī)。
整個(gè)系統(tǒng)外圍元件少,宜于編程和開發(fā),體積小,推廣使用非常方便,具有非常高的性能/價(jià)格比。
3軟件系統(tǒng)
本系統(tǒng)利用C504微控制器芯片內(nèi)的CCU單元,可以較為簡便地產(chǎn)生三相SPWM波,去驅(qū)動IPM直接來控制三相感應(yīng)式電動機(jī)。在設(shè)計(jì)軟件時(shí),基于時(shí)間優(yōu)化的原則,所有的控制任務(wù)使用高效的算法,只需很短的CPU計(jì)算時(shí)間。
整個(gè)軟件系統(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)鍵部分,使用匯編語言編程。通過比較定時(shí)器1的溢出中斷,系統(tǒng)每50μs調(diào)用一次中斷服務(wù)程序,周期性地更新CCU比較寄存器中的賦值。該任務(wù)耗時(shí)15μs左右,約占用30%的CPU運(yùn)算時(shí)間,程序簡練,執(zhí)行效率很高。如果轉(zhuǎn)速增加或減小時(shí)也可以按一定的速率改變轉(zhuǎn)速,同時(shí)為了避免當(dāng)轉(zhuǎn)速低于1Hz時(shí)向電動機(jī)輸出DC電流,會自動關(guān)閉CCU輸出。這時(shí),該任務(wù)耗時(shí)30μs左右,約占用60%的CPU運(yùn)算時(shí)間,為實(shí)現(xiàn)閉環(huán)控制提供了時(shí)間。流程如圖4所示。
評論