摘 要:通過理論與技術分析設計了單片機變頻調(diào)速控制系統(tǒng)并對其進行了模擬仿真。
關鍵詞:變頻調(diào)速;單片機;提升機;電動機
1 系統(tǒng)硬件的設計實現(xiàn)
1.1 系統(tǒng)總體設計
單片機變頻調(diào)速系統(tǒng)的硬件是單片機控制系統(tǒng)、變頻器電路、數(shù)/模轉(zhuǎn)換電路、信號檢測電路和電源電路等部分組成。
單片機不斷地執(zhí)行預定程序,將數(shù)字信號通過D/A轉(zhuǎn)換,放大后傳至變頻器,再通過V/F變換即可通過變頻器調(diào)節(jié)動機的轉(zhuǎn)速及頻率。通過光碼測速系統(tǒng),將電機的運動狀態(tài)以電脈的方式傳給單片機,經(jīng)過內(nèi)部運算可以自動判別提升機的狀態(tài)。
1.2 單片機控制系統(tǒng)的設計
單片機控制系統(tǒng)由AT89C51、復位電路、時鐘電路、鍵盤電路和顯示電路構成。
時鐘電路是采用內(nèi)部方式,即在AT89C51的XTAL1和XTAL2端外接石英晶體作為定時元件,內(nèi)部反相放大器自激振蕩,產(chǎn)生時鐘。此處選用的石英頻率為12MHz,小電容為22pF,則得到的時鐘頻率為6MHz。
復位電路接成按鈕式的,從RST引腳接入AT89C51。復位信號時高電平有效,并且高電平有效的持續(xù)時間應為24個振蕩周期以上。復位以后,07H寫入棧指針SP,PO口~P3口均置1,程序計數(shù)PC和其他特殊功能寄存器SFR全部清零。
鍵盤是由若干個按鍵組成的開關矩陣,它是一種廉價的輸入設備。本次設計需要6個按鍵,由于I/O口線足夠使用,因此用P1口就可以直接滿足要求,無需使用特殊設計,直接將按鍵接到P1口的引腳上,以組成獨立連接式按鍵接口電路。按鍵輸入采用低電平有效,上拉電阻保證了按鍵斷開時,I/O口線有確定的高電平。鍵的定義為,K1用于手動,K2用于自動,K3用于爬行,K4用于加速,K5用于勻速,K6用于減速。
顯示電路中使用6片74HC595,第一片用于連接數(shù)碼管公共端,起到循環(huán)掃描點亮各位數(shù)碼管的作用,第二片用于給2個兩位數(shù)碼管送數(shù)據(jù),顯示主、副井提升機的數(shù)字深度,第三片用于給其中一個四位數(shù)碼管送電機轉(zhuǎn)動的頻率數(shù)據(jù),第四片用于給另一個四位數(shù)碼管送電機轉(zhuǎn)動的速度數(shù)據(jù),第五、六片用于給發(fā)光柱送數(shù)據(jù),顯示主、副井提升機的模擬深度。
1.3 數(shù)/模轉(zhuǎn)換電路
在數(shù)模轉(zhuǎn)換電路中,AT89C51的P0口既作地址線又作數(shù)據(jù)線,首先輸出地址,選通DAC0832,然后P0口線上將出現(xiàn)數(shù)據(jù)送到DAC0832,就可以將數(shù)字量轉(zhuǎn)化為模擬量輸出,再經(jīng)放大器LF356信息放大輸出給變頻器,從而調(diào)節(jié)電機的轉(zhuǎn)速。
把DAC0832接成單脈沖工作方式,使輸入寄存器處于鎖存狀態(tài),ILE接+5V,/WR1接CPU寫信號/WR,/CS接CPU的P2.0,DAC寄存器處于不鎖存狀態(tài),所以將/WR2和/XFER直接接地。通常AGND和DGND都接在一起,接到數(shù)字地上。由于DAC0832內(nèi)部有8位數(shù)據(jù)輸入寄存器,可以用來鎖存CPU輸出的數(shù)據(jù),因此,CPU的數(shù)據(jù)總線可直接接到DAC0832的數(shù)據(jù)輸入線DI0~DI7上。因為DAC0832Iout1和Rfb端之間已有一個15K歐姆的內(nèi)部反饋電阻,所以這里就將運算放大器的輸出端Uout和Rfb端短接起來。
通過這種方式連接,可以求出最后的輸出電壓OUTV0=-VREF*D*/256,取VREF為-5V,則OUTV0=D*/51.2,其中,D*為輸入到DAC0832中的數(shù)字量。
1.4 信號檢測電路
采用光電式碼盤,它是一種非接觸性光電傳感器,具有測量準確度高、響應速度快、可靠性高和使用壽命長等優(yōu)點。典型的光電式碼盤有TLP507A和TLP800。
設計時,使用兩個計數(shù)器T0和T1,它們的作用目的不同。在自動程序中,T0主要用于狀態(tài)之間切換,在每個狀態(tài)里的計數(shù)初值不同,以便于限定各個狀態(tài)的運行時間,當某個狀態(tài)的計數(shù)溢出,就會在相應的中斷服務程序中改變標志位并重新賦計數(shù)初值,用于計數(shù)下一個狀態(tài);T1采用方式2的自動重裝計數(shù)功能,每計數(shù)32個脈沖就要中斷一次用于改變深度;在手動程序中,T0用作保護功能,開始賦初值用于計數(shù)407個脈沖,如果在操作的過程中,T0計數(shù)到了407個脈沖而操作人員還沒有開啟爬行狀態(tài),則程序會自動進入T0的中斷服務程序中,封鎖鍵盤,禁止手動再鍵盤,強制電動機進入爬行狀態(tài),直至停止,然后才打開鍵盤,用作判斷下一步要采用手動還是自動方式。
2 系統(tǒng)軟件的設計實現(xiàn)
2.1 主控制模塊設計
P0和P2口作為地址線,用于選擇DAC0832,P0口作為數(shù)據(jù)線將數(shù)據(jù)輸入到DAC0832,P1口用于鍵盤輸入,P2.7、P3.0和P3.1接到74HC595上,用于鎖存待顯數(shù)據(jù),P3.2用于接收鍵盤信息,P3.4和P3.5用于計數(shù)從光碼盤送入的脈沖。
2.2 鍵盤模塊設計
此模塊外部中斷控制方式,只要有鍵閉合,就會自動向CPU請求中斷,CPU即響應鍵盤輸入的中斷,就會轉(zhuǎn)向INT0中斷服務程序,在中斷服務程序中識別哪一個鍵處于閉合狀態(tài),然后執(zhí)行相應的處理程序。
2.3 顯示模塊設計
在程序中定義了20個字節(jié)的緩沖區(qū),其中第0個字節(jié)~第3個字節(jié)用于存儲發(fā)光柱的低位,第4個字節(jié)~第7個字節(jié)用于存儲發(fā)光柱的高位,第8個字節(jié)~第11個字節(jié)用于存儲要顯示的電動機的轉(zhuǎn)速,第12個字節(jié)~第15個字節(jié)用于存儲頻率數(shù)據(jù),第16個字節(jié)~第19個字節(jié)用于存儲深度數(shù)據(jù)。對于74HC595來說,要先將待顯的數(shù)據(jù)鎖存,然后再發(fā)送命令讓數(shù)據(jù)顯示出來,也就可以達到串入并出的效果。
[參考文獻]
[1]馬忠梅,籍順心,等.單片機的C語言應用程序設計.北京:北京航空航天大學出版社,2005.
[2]朱善軍,孫新亞,等.單片機接口技術與應用.北京:清華大學出版社 2005.