劉瑞 鄭琳 楊豐華
沈陽工學(xué)院信息與控制學(xué)院
基于單片機(jī)的升降機(jī)控制及報警系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
劉瑞 鄭琳 楊豐華
沈陽工學(xué)院信息與控制學(xué)院
本文通過單片機(jī)對步進(jìn)電機(jī)的控制,用C語言編寫出相應(yīng)的程序,通過相應(yīng)的按鍵控制電機(jī),并將工作狀態(tài)通過液晶顯示器顯示出來。從而實(shí)現(xiàn)步進(jìn)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)、調(diào)速、開始停止,通過紅外光電開關(guān)實(shí)現(xiàn)報警功能。這樣系統(tǒng)的模擬升降機(jī)的運(yùn)行控制。
步進(jìn)電機(jī) 單片機(jī) 驅(qū)動機(jī)構(gòu) 紅外開關(guān) 轉(zhuǎn)動
在硬件設(shè)計(jì)上,選擇兩塊萬用板,分別作為發(fā)送端和接收端。其中,發(fā)送端主要有顯示屏,鍵盤等設(shè)備,顯示器及時顯示步進(jìn)電機(jī)的工作狀態(tài),鍵盤作為外部中斷源,設(shè)置了正轉(zhuǎn)、反轉(zhuǎn)、變速等運(yùn)行狀態(tài),相當(dāng)于具有顯示功能的遙控裝置。接收端主要有步進(jìn)電機(jī)和紅外報警裝置,本系統(tǒng)用步進(jìn)電機(jī)代替升降機(jī)的電機(jī),通過步進(jìn)電機(jī)的轉(zhuǎn)動和變速模擬升降機(jī)的上升、下降和變速。紅外報警裝置主要是為了檢測障礙物,發(fā)出警報并且作用于步進(jìn)電機(jī)使之停止運(yùn)行。
單片機(jī)控制模塊是由STC89C52最小系統(tǒng)組成,包括STC89C52單片機(jī)、晶振電路和復(fù)位電路組成。由于單片機(jī)電流太小不可以直接驅(qū)動步進(jìn)電機(jī),直接增大步進(jìn)電機(jī)的電流會損壞單片機(jī),因此需要在步進(jìn)電機(jī)和單片機(jī)之間加裝一個放大電流的器件來驅(qū)動步進(jìn)電機(jī)。因此選擇ULN2003A來驅(qū)動步進(jìn)電機(jī)。
本系統(tǒng)使用LCD1602字符型液晶顯示模塊顯示步進(jìn)電機(jī)的運(yùn)行距離。LCD的控制端口RS、R/W、E分別與單片機(jī)的P2.4、P2.5、P2.6相連。
本系統(tǒng)采用E18D80NK,一種集發(fā)射與接收于一體的光電傳感器。發(fā)射光經(jīng)過調(diào)制后發(fā)出,接收頭對反射光進(jìn)行解調(diào)輸出。避免了可見光的對其的干擾。當(dāng)紅外光電開關(guān)在相應(yīng)距離內(nèi)檢測到障礙物,紅外光電開關(guān)有高電平變?yōu)榈碗娖?,蜂鳴器發(fā)出警報。
nRF24L01是工作在2.4GHz~2.5GHz的ISM頻段的單片無線收發(fā)器芯片。
本系統(tǒng)采用編程較為簡單的獨(dú)立式按鍵,每個按鍵占用一個I/O端口。
單片機(jī)工作時首先要對系統(tǒng)進(jìn)行初始化,且LCD1602也要進(jìn)行初始化,對各變量、各端口初始化。
初始化后,LCD1602進(jìn)入主界面,系統(tǒng)會進(jìn)入循環(huán)部分。進(jìn)入循環(huán)部分后,單片機(jī)會不斷檢查是否有按鍵按下,如果沒有按鍵按下,就繼續(xù)檢查;如果檢測到有按鍵按下,則通過nRF24L01將信號傳輸給接收模塊,執(zhí)行相應(yīng)的程序。
將接收機(jī)的接收地址以及將要發(fā)送的數(shù)據(jù)按時序順序依次送入NRF24L01;配置CONFIG寄存器,使之進(jìn)入發(fā)送模式;CE置高通過微控制器(至少10us),激發(fā)NRF24L01進(jìn)行Enhanced ShockBurstTM發(fā)射;供電于射頻前端;打包射頻數(shù)據(jù)(包括加字頭和CRC校驗(yàn)碼);發(fā)射數(shù)據(jù)包;完成發(fā)射,NRF24L01狀態(tài)為空閑。
步進(jìn)電機(jī)的轉(zhuǎn)動主要是按一定的時間順序給給電機(jī)的各繞組有規(guī)律的連續(xù)不斷的通入電流,步進(jìn)電機(jī)才會轉(zhuǎn)動。根據(jù)電流的通入順序和頻率,步進(jìn)電機(jī)實(shí)現(xiàn)正轉(zhuǎn)反轉(zhuǎn)以及調(diào)速。在這個過程中,時間間隔是通過定時器中斷一定次數(shù)產(chǎn)生的。所以,定時器中斷程序的任務(wù)就是判斷電機(jī)的運(yùn)行方向,發(fā)送下一個脈沖,保存當(dāng)前的狀態(tài)。
首先是NRF24L01通信,起初先測試該模塊是否能進(jìn)行通信。
對發(fā)送端硬件來說,從左到右的6個按鍵分別是正向加速、正向減速、反向加速、反向減速、開始和切換。紅外報警設(shè)備則設(shè)置為20cm報警距離,當(dāng)距離內(nèi)有障礙物時報警并停止運(yùn)轉(zhuǎn),障礙物消失,報警聲停止,電機(jī)繼續(xù)轉(zhuǎn)動。打開電源,顯示器點(diǎn)亮。按下開始按鍵后,再按下正向加速鍵,電機(jī)轉(zhuǎn)動,且顯示器上顯示速度和移動。當(dāng)紅外報警裝置在可感應(yīng)距離內(nèi)測到障礙物,紅外報警發(fā)出警報,并且電機(jī)停止運(yùn)轉(zhuǎn)。
采用單片機(jī)作為控制核心,利用其強(qiáng)大的功能,將顯示電路、控制電路等有機(jī)的結(jié)合在一起。同時利用nRF24L01作為無線收發(fā)設(shè)備實(shí)現(xiàn)兩塊不同萬用板的通信。構(gòu)成一個統(tǒng)一的、操作方便的簡單系統(tǒng)。
通過系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)了本設(shè)計(jì)的預(yù)期目標(biāo),完成了任務(wù)。具體功能如下:完成率整個系統(tǒng)的硬件設(shè)計(jì)和軟件編程,能通過按鍵控制,無線控制另一塊萬用板上的電機(jī)的轉(zhuǎn)速控制,能夠?qū)崿F(xiàn)步進(jìn)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)、變速;能夠?qū)崿F(xiàn)告警功能,通過光電開關(guān)實(shí)現(xiàn)對障礙物的報警,并使電機(jī)停止轉(zhuǎn)動。
[1]曾慶波,張玉萍,崔妍等.單片機(jī)應(yīng)用技術(shù)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2010:2-61
[2]劉寶延等.步進(jìn)電機(jī)及其驅(qū)動控制系統(tǒng)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1997:29-41
[3]高軍禮,盧卓權(quán)等.步進(jìn)電機(jī)一體化控制系統(tǒng)的設(shè)計(jì)[J].微計(jì)算機(jī)信息,2007,4-1:68-70
[4]樓然苗.51系列單片機(jī)設(shè)計(jì)實(shí)例[M].北京航空航天大學(xué)出版社,2006:30-56
劉瑞、楊豐華,男,沈陽工學(xué)院,學(xué)生。
鄭琳(通訊作者),女,遼寧人,沈陽工學(xué)院,教師,講師,碩士學(xué)位。