隋美麗,任小龍
(北京電子科技職業學院,北京 100176)
超聲波能量消耗緩慢、指向性強,在介質中傳播較遠的優點被廣泛使用[1],本設計采用AT89C52為主控芯片設計的基于超聲波的距離控制系統,與被測物體非接觸測量,可清晰、穩定的顯示測量結果。并通過步進電機實現測距系統的移動,進行距離的控制。
硬件電路包括單片機及顯示電路、超聲波發射接收電路、步進電機控制電路和溫度補償電路,系統框圖如圖1所示。超聲波傳感器,采用的型號為ULTD5N-350,工作電壓直流5V,工作電流1.5mA 工作頻率40HZ,測量范圍3cm-350cm,測量精度滿足設計要求。考慮到功能和成本選取了AT89C52單片機做主控單元。顯示器選用RT1602C液晶顯示器做顯示器件,可現實16字兩行顯示。步進電機采用1.8兩相混合式步進電機42H48A-1704S。超聲波的速度和溫度關系,采用DS18B20作為溫度傳感器采集數據,實現溫度補償。

圖1 超聲波測距系統組成框圖
AT89C52是8 位通用處理器[2],常用管腳有:振蕩器輸入輸出端口 XTAL1(19 腳)和XTAL2(18 腳),外接12MHz晶振。復位輸入端口RST/Vpd,通過外接電阻電容組成復位電路。供電端VSS(20腳)和VCC(40腳),接5V電源正負端。通用 I/O 腳 P0-P3,由軟件定義功能用途。AT89S52的管腳除了電源、復位、時鐘接入、用戶I/O口部分P3外,還有地址總線,數據總線和控制總線形式[3]。
超聲波測距系統的軟件設計主要由主程序、顯示子程序和溫度補償子程序組成,其中超聲波發射、超聲波接收程序和步進電機控制程序在主程序中,主程序用C語言實現。系統總體流程圖如圖2所示。

圖2 系統總體流程圖
LCD顯示器是利用信號和電壓改變液晶分子的轉動,改變光線的傳輸方向特性實現信息顯示。液晶顯示器具有性能穩定、重量輕、功耗低,顯示精準等特點得到了廣泛的應用。LCD使用之前須經過復位程序完成初始化,然后進行相應的功能設置,輸入方式設置,并通過開與關按鈕實現顯示設置,LCD顯示流程圖如圖3所示。
由于超聲波的聲速與環境溫度有關,在使用時,如果環境溫度變化較小,可認為聲速保持不變。但對于測距精度要求較高的系統,須采用一定溫度補償的方法進行校正。相應溫度下的距離可以根據聲速和超聲波的往返時間進行計算。不同環境溫度下聲速變化關系如表1所示,溫度補償子程序流程如圖4所示。

圖3 LCD顯示流程圖表1 溫度與聲速的關系

圖4 溫度檢測程序流程圖
系統經過上電前檢查和調試后進行了定點測試和距離控制測試,結果如表2和表3所示。經過多輪測試后,誤差均小于2cm,結果理想,符合設計要求。

表2 定點測試

表3 距離控制測試
以AT89C52單片機做主控單元,設計的超聲波的距離控制系統,通過步進電機控制測量距離,溫度傳感器進行溫度補償,并將顯示結果用LED的形式顯示出來,通過測試,發現該系統可以準確的進行定點測量和距離控制,滿足設計要求。
同時該系統測試處于理想狀態,在實際應用中會有很多的干擾因素,比如場環境干擾、時鐘脈沖頻率傳感器是否和測量件處于水平位置等,建議在實際應用時,需采用合理補償手段。