張群和
(深圳第二高級(jí)技工學(xué)校,廣東 深圳 518000)
目前絕大多數(shù)的貨運(yùn)電梯采用PLC為核芯控制器件。貨運(yùn)電梯運(yùn)行的時(shí)間長(zhǎng)了,PLC有可能損壞。由于目前市場(chǎng)上的PLC的單價(jià)比較高,造成貨運(yùn)電梯的成本很高。AT89C51單片機(jī)可靠性高并且價(jià)格底廉,是一種可行的、靈活性、價(jià)廉的設(shè)備改造方案。貨運(yùn)電梯控制系統(tǒng)改造本文采用51系列單片機(jī)AT89C51。
近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)在實(shí)時(shí)檢測(cè)和自動(dòng)控制的應(yīng)用系統(tǒng)中,作為一個(gè)核芯部件來(lái)使用。
本系統(tǒng)采用ATMEL公司的51系列單片機(jī)AT89C51作為主控芯片。
AT89C51如圖1所示,具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。(見(jiàn)圖1)
圖1 實(shí)物圖AT89C51
貨運(yùn)電梯控制系統(tǒng)由七部分組成:控制臺(tái)電路、電梯間電路模塊、電梯內(nèi)電路模塊、樓層檢測(cè)模塊、MCU控制模塊、電動(dòng)機(jī)驅(qū)動(dòng)模塊、報(bào)警模塊等。貨運(yùn)電梯的控制面板,箱內(nèi)樓層控制面板,箱外樓層控制面板。
圖2 AL298N驅(qū)動(dòng)模塊實(shí)物及接線圖
采用ATMEL公司的單片機(jī)芯片AT89C51,電容C3按鍵RESET構(gòu)成上電復(fù)位和手動(dòng)復(fù)位電路。晶體振蕩器選12MHz,C1、C2為30p瓷片電容,與晶體振蕩器構(gòu)成時(shí)鐘電路。
按鍵與單片機(jī)的P1.0-P1.5分別相連,指示燈通過(guò)P0.0-P0.5來(lái)控制。其中 上 拉 電 阻 有 R52、R55、R56、R59、R60和R62,用來(lái)保證按鍵未按下時(shí),端口P1.0~P1.5為高電位。當(dāng)按鍵被按下時(shí),端口P1.0~P1.5通過(guò)按鍵接地,使得P1.0~P1.5變?yōu)榈碗娖?。電容C51~C56的作用是消除抖動(dòng)和抗干擾。單片機(jī)P1口均與各樓層電梯間的升降選擇按鍵連接,P1口的P1.0—P1.2連接上升按鍵,P1口的P1.3~P1.5連接下降按鍵。每個(gè)發(fā)光二極管通過(guò)一只阻值為470Ω的限流電阻接電源(VCC)。發(fā)光二極管與PO口的P0.0~P0.5連接,每個(gè)上升、下降按鍵都與對(duì)應(yīng)的發(fā)光二極管配合,作為指示燈。
3.3.2 電梯箱內(nèi)電路
電梯內(nèi)的乘客用戶使用電梯箱內(nèi)電路,四個(gè)目標(biāo)樓層選擇按鍵F1、F2、F3、F4和四個(gè)與之配合的發(fā)光二極管作為指示燈。按鍵與P3口的P3.2~連接,指示燈與P2口的P2.0~P2.3相連。上拉電阻R11~R14和電容C41~C14的作用同上。
3.3.3 控制臺(tái)電路
控制臺(tái)電路的電源指示燈采用發(fā)光二極管,用以顯示供電是否正常。采用共陰極數(shù)碼管來(lái)顯示當(dāng)前樓層,采用CD4511作譯碼器,LE接VCC,譯碼器處于鎖存狀態(tài)。經(jīng)R31~R37(阻值為470Ω)對(duì)數(shù)碼管限流?!癉OWN、UP”兩只發(fā)光管用來(lái)顯示電梯運(yùn)行的方向。上下指示燈分別接單片機(jī)的P0.7和P0.6。START和STOP鍵鍵分別接單片機(jī)的P1.6和P1.7,
3.3.4 樓層檢測(cè)
光電傳感器電路中,D1,T1組成紅外發(fā)射-接受對(duì)管,D1通電后發(fā)出紅外信號(hào),光槽若未擋住,T1將導(dǎo)通,比較器LM339輸出低電平,光槽光線若被擋,T1截止,LM339輸出高電平。電梯行至樓層標(biāo)志處光槽光線被電梯遮擋,所帶來(lái)的電平變化發(fā)送到單片機(jī)P3.6計(jì)數(shù)即可實(shí)現(xiàn)樓層檢測(cè)。
3.3.5 H型驅(qū)動(dòng)電路
直流電動(dòng)機(jī)H型驅(qū)動(dòng)電路主要是用來(lái)控制直流電動(dòng)機(jī)的轉(zhuǎn)動(dòng)方向,通過(guò)改變直流電動(dòng)機(jī)兩端的電壓可以控制電動(dòng)機(jī)的轉(zhuǎn)動(dòng)方向。采用L298N驅(qū)動(dòng),實(shí)物及接線圖,如圖2所示,可根據(jù)PWM調(diào)節(jié)脈寬進(jìn)行電機(jī)調(diào)速和正反轉(zhuǎn)。電機(jī)M1用于貨運(yùn)電梯帶動(dòng)電梯門的開關(guān),電機(jī)M2用于貨運(yùn)電梯上升和下降。(見(jiàn)圖2)
3.3.6 電梯報(bào)警電路
當(dāng)電梯運(yùn)行過(guò)程中出現(xiàn)故障停止,P3.0輸出高電平,蜂鳴器報(bào)警。用戶在電梯中如果遇到緊急情況也可按“HELP”(圖中SW-PE按鍵)直接報(bào)警求救。
電梯報(bào)警電路利用兩個(gè)常用三極管CS9013,此電路與單片機(jī)P3.0相連,其中R為限流電阻。
貨運(yùn)電梯程序編寫用匯編語(yǔ)言來(lái)編寫,以51單片機(jī)為核心實(shí)現(xiàn)控制來(lái)完成。
軟件模塊化設(shè)計(jì)。通過(guò)調(diào)用不同功能的子程序,來(lái)實(shí)現(xiàn)復(fù)雜的功能控制。這樣便于調(diào)試、修改。主流程圖如圖3所示。(見(jiàn)圖3)
(1)電機(jī)控制
本文設(shè)計(jì)只對(duì)貨運(yùn)電梯運(yùn)行狀況的簡(jiǎn)單模擬,對(duì)電機(jī)驅(qū)動(dòng)這部分要求不是很嚴(yán)格,只需要實(shí)現(xiàn)電機(jī)的正反轉(zhuǎn)就可以了,所以選擇直流電動(dòng)機(jī)H型驅(qū)動(dòng)電路,當(dāng)用戶提出上升要求時(shí),單片機(jī)P2.7輸出為高電平,電機(jī)正轉(zhuǎn)上升,反之電機(jī)反轉(zhuǎn)下降。當(dāng)?shù)竭_(dá)目標(biāo)樓層時(shí),電動(dòng)機(jī)停止。程序詳見(jiàn)附錄主程序清單。
(2)樓層檢測(cè)
圖3 系統(tǒng)主流程圖
樓層檢測(cè)電路利用光電傳感器檢測(cè)樓層,電梯行至樓層標(biāo)志處(裝有光電傳感器)時(shí),光槽光線被遮擋,引其電平變化,通過(guò)P3.6發(fā)送到單片機(jī)中R4計(jì)數(shù),可實(shí)現(xiàn)樓層檢測(cè)。并實(shí)時(shí)的,通過(guò)RXD和TXD,送到74HC164數(shù)碼管顯示當(dāng)前樓層數(shù)。程序詳見(jiàn)附錄主程序清單。
在軟件調(diào)試中,采用偉福仿真軟件來(lái)調(diào)試。先分別調(diào)試各個(gè)功能程序,再對(duì)整個(gè)程序進(jìn)行調(diào)試,以便修改錯(cuò)誤碼。具體的調(diào)試方法如下:
將各個(gè)功能程序錄入,先檢查程序有無(wú)明顯錯(cuò)誤,保存過(guò)后編譯程序,當(dāng)有錯(cuò)誤時(shí)就根據(jù)提示加以修改,當(dāng)各個(gè)功能程序編譯完成后,再對(duì)整個(gè)程序全速執(zhí)行,查看程序有哪些地方出現(xiàn)錯(cuò)誤,對(duì)應(yīng)錯(cuò)誤提示逐步調(diào)整程序,糾正錯(cuò)誤直到程序正確。
貨運(yùn)電梯的硬件仿真,采用的是ProteusPRO6.7SP3,它是目前最好的模擬單片機(jī)外圍器件的工具,它可以仿真 51系列的單片機(jī)系統(tǒng)。
首先利用Proteus中的器件庫(kù)完成電路的連接。單擊仿真按鈕,按下Start,系統(tǒng)開始運(yùn)行,當(dāng)按下F1—F4及各樓層按鍵,貨運(yùn)電梯都能完成用戶的請(qǐng)求,實(shí)現(xiàn)了貨運(yùn)電梯運(yùn)行的模擬運(yùn)行。
[1]周堅(jiān).單片機(jī)輕松入門[M].北京:北京航天航空大學(xué)出版社,2006.