崔海霞
【摘 要】本設計實現了一種基于51單片機的按鍵操作控制和溫度檢測顯示系統,通過溫度傳感器采集溫度數據并且通過顯示模塊顯示出來,通過對按鍵的操作,自動控制轉向電機轉向,改變行駛方向。
【關鍵詞】智能小車;單片機
一、總體設計方案
本設計采用直流電機,電機專用驅動芯片L298N進行電機驅動控制,主控芯片為STC89C52,控制器部分采用簡單按鍵,溫度數據的采集采用DS18B20溫度傳感器模塊,顯示部分采用1602液晶。智能小車是一個運用傳感器、單片機、信號處理、電機驅動及自動控制等技術來實現環境感和自動行駛為一體的高新技術綜合體,它在軍事、民用和科學研究等方面已獲得了應用。
(一)方案論證
1.小車驅動部分
方案一:小車的電機驅動部分采用自己搭建的9012三極管電路來實行小車的驅動,9012三極管電路具有電路簡單,操作方便的等特點。
方案二:小車的電機驅動部分采用L298N芯片直流電機驅動模塊,該模塊具有較大的驅動帶載能力,驅動部分端子供電范圍Vs:+5V~+35V,并且另外自帶了5V、3V的輸出端口。
方案論證:本設計為2輪驅動的小車,對于小車驅動部分要求能夠有較大的帯載能力,并且在小車的實際設計過程中,需要不同的輸出電壓來提供給小車的各個模塊。因此綜上所述采用方案二,小車的電機驅動部分使用L298N芯片直流電機驅動模塊。
2.溫度顯示部分
方案一:溫度的顯示通過數碼管顯示,數碼管驅動簡單,但是所能顯示的字符數量有限有局限性。
方案二:用液晶來顯示溫度傳感器采集到的溫度,雖然操作比數碼管要復雜一點,但是功能比數碼管要強大很多,能夠顯示各種各樣的字符。
方案論證:本設計是要顯示溫度,并且要顯示需要顯示英文字符,數碼管無法滿足要求,因此采用1602液晶來做顯示模塊。
二、系統硬件構成
(一)系統硬件組成
小車部分由電源電路,單片機最小系統,顯示電路,無線電木塊,報警電路,超聲波電路等電路模塊組成。
(二)STC89C52RC簡介
設計采用最常用的STC89C52單片機,由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的STC89C52是一種高效微控制器。STC89C52單片機為很多嵌入式系統提供了一種靈活性高且價廉的方案。
(三)液晶顯示電路
該設計的顯示部分采用LCD1602來顯示超聲波測距模塊測得的距離。對于現實電路我們可以采用數碼管,也可以采用液晶顯示。液晶顯示相對于數碼管顯示電路更簡潔,顯示更明了,故我們采用液晶顯示電路。液晶又分字符型和點陣型,我們使用的液晶是字符型液晶。LCD1602自帶字符庫,不需要查找代碼,英文字符可直接使用。液晶電路使用時,如果發現液晶不亮可以調節連接液晶的電位器,調節液晶的亮度。
(四)L298N芯片直流電機驅動模塊
該模塊由L298N作為雙H橋直流電機驅動芯片,驅動部分端子供電范圍Vs:+5V~+35V。如果在模塊上取電壓供電,則模塊供電范圍為Vs:+7V~+35V。模塊的驅動不封峰值電流Io為2A。
(五)遙控部分獨立按鍵電路
遙控部分的獨立按鍵與單片機的接口設置為P1.2、P1.3、P1.4、P1.5,分別控制小車的前進、后退、左轉彎、右轉彎。獨立按鍵采用低電平觸發,即當按下按鍵時給單片機一個低電平信號,單片機隨后做出相應的處理,當按鍵松開時,單片機接收到一個高電平信號,單片機隨后繼續做出相應處理。控制部分的獨立按鍵電路如圖1所示。
三、軟件的設計與說明
(一)軟件設計
遙控部分主程序流程圖如圖2所示。程序從主函數開始執行,獨立按鍵模塊初始化,同時在主函數中定義單片機口對應的按鍵按下時所發出的函數值。接下來判斷是否有按鍵按下,如果有按鍵按下,則發送相應的按鍵對應的函數值,接著判斷是否又有按鍵按下。如果未發現按鍵按下則在主函數中循環判斷是否有按鍵按下。
(二)溫度檢測顯示部分主程序流程圖
小車部分主程序流程圖如圖3所示。程序從主函數開始執行,液晶顯示模塊初始化,按鍵模塊初始化。各個模塊初始化完畢后,單片機判斷是否接受到了DS18B20采集的數據信號,如果接收到信號,處理相應的數值,如果沒有接收到新的數值則返回繼續判斷是否接受到新的信號。接收到信號后,單片機對應的對液晶的讀寫進行命令。
四、總結
通過合理的硬件設計和軟件編程實現了小車的智能控制,此款小車具有按鍵控制前后左右的功能,溫度采集功能,液晶顯示功能。
【參考文獻】
[1] 黨宏社.智能車輛系統發展及其關鍵技術概述[J].公路交通科技,2002.(4)
[2] 林敏.簡易數字化語音存儲與回放系統[J].儀表技術,2008,28(9):13-18.
[3] 余祖俊.微機監測與控制應用系統設計, 北方交通大學出版社,2001.12
[4] 溫志明.運動控制系統分析與應用[J],國防工業出版社,2008.2
[5] 鮑麗星,陳曉爭.一種高精度信號源的設計[J].南京航空航天大學,2008,16(4):588-590.