基于AT89C52單片機的超聲波測距儀的設計
2.4 溫度補償電路設計
本系統(tǒng)中,選擇使用溫度芯片DS18B20作為溫度傳感器。DS18B20支持“一線總線”接口,測量溫度范圍為-55~125℃,在-10~85℃范圍內,精度為±0.5℃?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量。DS18B20引腳說明如表2所示。本文引用地址:http://www.ex-cimer.com/article/172003.htm
DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴格的時序要求。DS18B20有嚴格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。
溫度補償電路的設計如圖6所示,數(shù)據(jù)輸入/輸出腳連接到單片機的P0.1腳,電源接口接入+5 V的電壓,外加5.6 kΩ的上拉電阻,因為DS18B20是單總線溫度傳感器,數(shù)據(jù)線是漏極開路,如果DS18B20沒接電源,則需要數(shù)據(jù)線強上拉,給DS18B20供電;如果DS18B20接有電源,則需要一個上拉即可穩(wěn)定的工作。由于DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉換電路集成在形如一只三極管的集成電路內,檢測的溫度值在內部進行轉換,溫度測量結果直接以數(shù)字信號輸出,單片機對由DS18B20輸出的信號進行讀取,經過軟件對溫度數(shù)字值實現(xiàn)處理。
2.5 主電路原理圖
該系統(tǒng)主電路原理圖如圖7所示,單片機采用89C52系列,單片機使用外部時鐘源,外接6MHZ的晶振,由P0.0口直接輸出40 KHZ的驅動信號給放大電路。接收到回波后,經由CX20106的濾波,產生中斷信號,并由p3.2口輸出進行中斷。顯示電路采用簡單實用的3位數(shù)碼管,連接單片機AT89C52的P0口,而三極管連接P2口,作數(shù)碼管的位選。工作時,首先將系統(tǒng)初始化,啟動計時器。并由P0.0腳發(fā)出40KHZ的驅動信號,同時打開INT0中斷,并且開始等待接收到的回波和中斷信號,若接收到回波(單片機接收到中斷信號),計時器停止計時,保存時間信息,并且根據(jù)溫度補償計算出當前環(huán)境下的聲速,計算出當前待測距離后儲存,并調用顯示子程序。測出距離后結果將以十進制BCD碼方式傳送到LED顯示,然后再發(fā)超聲波脈沖重復測量過程。
3 結論
經過實測,本測距儀能夠迅速的測出250 m以內的短距離障礙物,在30—200 cm范圍內,誤差能控制在1 cm以內,本設計具有簡單實用,能耗低,成本低等特點。經過實際測試,發(fā)現(xiàn)系統(tǒng)的精度能滿足普通需求,若需要進一步提高精度,可采用精度更高但系統(tǒng)更加復雜的雙頻超聲波測距的方法。
評論