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