基于AT89C52的超聲波測距儀的設計方案
在顯示模塊選擇時有兩種,一種是用液晶顯示屏,其具有輕薄短小,分辨率高,可顯示漢字等各種符號的優(yōu)點。但一般需要利用控制芯片創(chuàng)建字符庫,編程工作量大;一種則是選用數碼管,數碼管具有低電耗、壽命長、易于維護的特點,同時精度比較高,稱量快,精確可靠,編程容易,操作簡單。缺點是不能實現漢字及多數據多行顯示。綜合考慮本次設計中選擇了3位數碼管顯示。用PNP型三極管驅動數碼管,并連接到單片機AT89C52的P0口上作位選。雖然顯示上沒有液晶顯示屏那么完全,但是也能夠完整直觀地顯示出需要的結果。圖5為超聲波測距硬件設計的顯示電路。
圖5 超聲波測距顯示電路
2.4 溫度補償電路設計
本系統(tǒng)中,選擇使用溫度芯片DS18B20作為溫度傳感器。DS18B20支持"一線總線"接口,測量溫度范圍為-55~125℃,在-10~85℃范圍內,精度為±0.5℃?,F場溫度直接以"一線總線"的數字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現場溫度測量。DS18B20引腳說明如表2所示。
表2 DS18B20引腳說明
DS18B20是在一根I/O線上讀寫數據,因此,對讀寫的數據位有著嚴格的時序要求。DS18B20有嚴格的通信協(xié)議來保證各位數據傳輸的正確性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。
溫度補償電路的設計如圖6所示,數據輸入/輸出腳連接到單片機的P0.1腳,電源接口接入+5 V的電壓,外加5.6 kΩ的上拉電阻,因為DS18B20是單總線溫度傳感器,數據線是漏極開路,如果DS18B20沒接電源,則需要數據線強上拉,給DS18B20供電;如果DS18B20接有電源,則需要一個上拉即可穩(wěn)定的工作。由于DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉換電路集成在形如一只三極管的集成電路內,檢測的溫度值在內部進行轉換,溫度測量結果直接以數字信號輸出,單片機對由DS18B20輸出的信號進行讀取,經過軟件對溫度數字值實現處理。
圖6 溫度補償電路
2.5 主電路原理圖
該系統(tǒng)主電路原理圖如圖7所示,單片機采用89C52系列,單片機使用外部時鐘源,外接6MHZ的晶振,由P0.0口直接輸出40 KHZ的驅動信號給放大電路。接收到回波后,經由CX20106的濾波,產生中斷信號,并由p3.2口輸出進行中斷。顯示電路采用簡單實用的3位數碼管,連接單片機AT89C52的P0口,而三極管連接P2口,作數碼管的位選。工作時,首先將系統(tǒng)初始化,啟動計時器。并由P0.0腳發(fā)出40KHZ的驅動信號,同時打開INT0中斷,并且開始等待接收到的回波和中斷信號,若接收到回波(單片機接收到中斷信號),計時器停止計時,保存時間信息,并且根據溫度補償計算出當前環(huán)境下的聲速,計算出當前待測距離后儲存,并調用顯示子程序。測出距離后結果將以十進制BCD碼方式傳送到LED顯示,然后再發(fā)超聲波脈沖重復測量過程。
圖7 超聲波測距主電路圖
3 結論
經過實測,本測距儀能夠迅速的測出250 m以內的短距離障礙物,在30-200 cm范圍內,誤差能控制在1 cm以內,本設計具有簡單實用,能耗低,成本低等特點。經過實際測試,發(fā)現系統(tǒng)的精度能滿足普通需求,若需要進一步提高精度,可采用精度更高但系統(tǒng)更加復雜的雙頻超聲波測距的方法。
參考文獻:
[1].DS18B20datasheethttp://www.dzsc.com/datasheet/DS18B20_819975.html.
[2].AT89C52datasheethttp://www.dzsc.com/datasheet/AT89C52_1064535.html.
[3].CX20106Adatasheethttp://www.dzsc.com/datasheet/CX20106A_html.
[4].CX20106datasheethttp://www.dzsc.com/datasheet/CX20106_1135440.html.
[5].BCDdatasheethttp://www.dzsc.com/datasheet/BCD_1225719.html.
評論