ATmega16的語(yǔ)音型超聲波測距儀的設計
摘要:介紹一種以單片機ATmega16為核心的超聲波測距儀。該測距儀利用單片機ATmega16的輸入捕獲功能,測量超聲波從發(fā)射探頭發(fā)射至接收探頭接收所經(jīng)過(guò)的時(shí)間;采用DS18B20測量環(huán)境溫度,補償溫度的變化對超聲波傳播速度的影響,提高測量精度;利用語(yǔ)音芯片ISD4004播報測量結果等語(yǔ)音信息。給出了測距儀的關(guān)鍵硬件電路、測量時(shí)間的輸入捕獲中斷子程序和錄音/放音子程序。測試結果表明,該測距儀測量精度高,語(yǔ)音播報清晰、流暢。
關(guān)鍵詞:單片機;超聲波測距;語(yǔ)音芯片;溫度補償
引言
用超聲波測量距離是一種非常實(shí)用的非接觸測量方法,廣泛應用于物料液面測量、機器人定位、汽車(chē)防撞系統等領(lǐng)域。傳統的超聲波測距方法是用單片機的一個(gè)定時(shí)器和一個(gè)外部中斷來(lái)測量超聲波從發(fā)射探頭發(fā)射到被接收探頭接收所經(jīng)過(guò)的時(shí)間t,再根據超聲波測量距離的公式S=vt/2進(jìn)行計算,得到距離S。這種方法除了多占用單片機的一個(gè)外部中斷源外,還會(huì )使測量時(shí)間t的誤差增大,降低測量精度。本文介紹了一種用AVR單片機ATmega16作為核心控制器的距離儀,該測距儀利用ATmega16輸入捕獲功能實(shí)現時(shí)間t的精確測量;用溫度傳感器DS18B20檢測周?chē)h(huán)境的溫度,補償溫度變化對超聲波傳播速度的影響,提高測量精度;用語(yǔ)音芯片ISD4004實(shí)現測距結果等語(yǔ)音信息的播報功能。
1 總體設計方案
測距儀的總體設計方案如圖1所示。系統以AVR單片機ATmega16作為核心控制器,負責控制和協(xié)調各模塊電路的工作。超聲波發(fā)射模塊發(fā)射40 kHz的超聲波信號,超聲波接收模塊對接收到的回波信號進(jìn)行放大、濾波、比較,形成下降沿。溫度傳感器DS18B20負責對環(huán)境溫度進(jìn)行檢測,補償溫度變化對超聲波傳播速度的影響。顯示電路采用YM12864中文液晶顯示器,顯示當前溫度和距離等信息。語(yǔ)音電路采用ISD4004語(yǔ)音芯片,該芯片采用SPI通信接口,可以方便地與ATmega16單片機進(jìn)行通信,實(shí)時(shí)播報測量距離等語(yǔ)音信息。
2 硬件電路
2.1 超聲波發(fā)射模塊
超聲波發(fā)射模塊電路如圖2所示。由ATmega16的PB3發(fā)送10μs的高電平至SN8P2501B的P2.2,當P2.2檢測到高電平時(shí),從P2.3輸出低電平,三極管Q1飽和導通,MAX3232接通電源,SN8P2501B內部的定時(shí)器產(chǎn)生8個(gè)40 kHz的脈沖信號,由P2.4和P2.5推挽輸出,經(jīng)MAX3232升壓后推動(dòng)超聲波換能器發(fā)送超聲波信號。然后P2.3輸出高電平,三極管Q1截止,關(guān)斷MAX3232的電源,停止發(fā)射超聲波信號。
2.2 超聲波接收模塊
超聲波接收模塊電路如圖3所示。從超聲波發(fā)射探頭發(fā)出的超聲波信號遇障礙物后返回,被接收探頭接收并轉換成微弱的電信號,經(jīng)集成運算放大器TL074放大、濾波、比較后,產(chǎn)生下降沿,觸發(fā)SN8P2501B的P2.2引腳產(chǎn)生中斷,在中斷程序中將P2.1置高電平。高電平持續的時(shí)間即為超聲波從發(fā)射探頭發(fā)射遇到障礙物后返回,并被接收探頭接收所經(jīng)過(guò)的時(shí)間。
手機電池相關(guān)文章:手機電池修復
評論