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