陳松+王文杰+汪偉偉
摘 要: 聲音導向系統在搜尋生命痕跡中具有重要的現實意義,可以通過聲強傳感器獲知待救人員的地址位置。目前聲音導向小車主要類型有:通過語音識別來控制小車,通過發射接收聲波信號的時間間隔判斷位置、控制小車。這些智能車硬件和軟件設計較為復雜。這里以AT89C51單片機為核心,以駐級話筒作為聲強傳感器,用L298N作為電機驅動芯片,設計制作了一種聲音導引系統,并使用軟件進行仿真。單片機根據傳感器接收到的聲強信號判斷聲源位置,控制電機的運轉,使小車運動到目標位置。使用Proteus 7.8軟件給出了仿真方案和仿真結果,可以實現追蹤聲源目標的功能。該設計提出了新的方案,系統設計結構簡單可靠,性能良好。
關鍵詞: 聲音導引; 智能小車; AT89C51; Proteus
中圖分類號: TN911?34 文獻標識碼: A 文章編號: 1004?373X(2014)18?0101?04
Design and simulation of voise guidance car
CHEN Song1; WANG Wen?jie2; WANG Wei?wei2
(1. College of Mechanical and Electrical Engineering, Anhui Jianzhu University, Hefei 230601, China;
2. China No.15 Metallurgical Construction Group Co., Ltd. Wuhan 430075, China)
Abstract: Sound guidance system has important practical significance in search for life, which can get the address location of personnel waiting for rescue by means of sound intensity sensor. The sound guidance cars main types are as follows: the car which is controlled by voice recognition, and the car which determines the position and is controlled by the intervals of transceiving acoustic wave signals. The hardware design and software design of these two types smart cars are very complicated. In this paper, a sound guidance system with single chip processor as the core, a microphone as sound intensity sensor and L298N as a motor driver chip is designed. The car moves to the target location according to the sound intensity signal received by the sensor to determine the sound source position and control the motor running. The simulation verification was done. Simulation scheme and simulation result are given by software Proteus7.8, which can achieve the function of sound source tracking. A new scheme is put forward in this design. The system structure is simple, reliable, and its performance is perfect.
Keywords: sound guidance; smart car; AT89C51; Proteus
0 引 言
近年來,國內外地震、礦難、火災等自然或非自然的災害頻頻發生。聲音導引系統的研究在搜尋生命痕跡中具有重要的現實意義,救助者可以通過聲音傳感器獲知生命的地址位置,進而利用各種定位技術尋找被困人員。目前聲音導向小車主要類型有兩種:一種是通過語音芯片識別人的命令來控制小車[1];另一種是在小車周圍放置多個聲波接收與發射裝置,通過小車發射接收聲波信號的時間間隔判斷位置,控制小車[2]。這些智能車的硬件與軟件設計較為復雜。
本文提出了全新的方案,對聲音導向小車進行設計,使得此聲音導向系統具有以下功能:判斷聲音的來源方向,可通過LCD顯示小車將要行駛的方向,對電動機進行控制使小車朝向聲源行駛。實現對聲源位置進行探測、并對目標進行跟蹤的功能。最后通過proteus軟件仿真運行。
通過運用嵌入式設計仿真與開發平臺Proteus,用戶可以將Keil,GNU以及IAR等編譯器編譯好的目標代碼加載到芯片中。在Proteus軟件包含大量元件庫,可以查看多種調試信息,在仿真中還可以觀察各元件的狀態。先通過Proteus仿真和驗證,再移植到相應的硬件電路,這種方式可以減小開發費用,縮短開發周期,值得推廣[3]。
1 系統的總體方案設計
本系統設計的目的是應用傳感器實現對聲音信號的檢測,從而對目標進行定位,并控制電機運行,使小車向著目標前進。
本系統的設計大致分為聲強檢測模塊、單片機、顯示模塊、電機等部分,總體結構如圖1所示。
圖1 系統結構框圖
聲強檢測模塊:放置在小車左、右、后三個位置,接收指定通頻帶內聲音信號,并進行比較。單片機控制模塊:控制器選用AT89C51單片機,用于接收聲音檢測模塊送來的電信號,對信號進行分析,控制電機和顯示模塊。電機驅動模塊:控制兩個電機的正轉,反轉,最終實現小車的左轉,右轉,前進,后退。LCD顯示模塊:顯示小車的行進方向,便于觀察仿真結果。
2 硬件設計
2.1 單片機控制模塊設計
控制模塊以AT89C51為核心,AT89C51是一種低功耗高性能的8位單片機,片內帶有一個4 KB的FLASH在線可編擦除只讀存儲器,它采用了Atmel公司的高密度非易失性存儲器技術。
在眾多的51系列單片機中,選擇Atmel公司的AT89C51,因為它不僅與MCU?51系列單片機指令與管腳完全兼容,而且它將通用CPU和在線可編程FLASH集成在一個芯片上。這種單片機對開發設備的要求很低,開發時間也大大縮短[4]。
設計中使用P0口作為LCD液晶顯示信號口,P1.0, P1.1 和P1.2作為駐極體話筒傳感器的信號輸入口,使用P2.0~P2.3作為電動機控制信號輸出口。
2.2 數據采集模塊設計
數據采集模塊以駐極體話筒為主要元件,駐極體薄膜上分布有自由電荷,在電容器的兩極板之間就有了感應電荷。當聲波引起駐極體薄膜振動而產生位移時,改變了電容器兩極板之間的距離,從而引起電容器的容量發生變化,引起電容器兩端電壓U的變化,從而輸出電信號,實現聲電信號的轉換[5]。駐極體話筒體積小,結構簡單,電聲性能好,價格低廉,應用非常廣泛。
整個數據采集模塊由三個駐極體話筒組成,如圖2所示。當駐極體膜片遇到聲波振動時,引起電容兩端的電場發生變化,從而產生了隨聲波變化而變化的交變電壓。在設計仿真中由于Proteus沒有駐極話筒這個元件,所以使用滑動變阻器來代替?;瑒幼冏杵鞯牟煌柚荡媛曇舻膹娙?。
用放大器組成的求和電路來求出這兩個變阻器電壓的平均值,然后再用平均值分別與兩個變阻器的電壓值比較,從而判斷出哪一方向的聲音強。用第三個滑動變阻器表示小車尾部聲強傳感器接收的信號,和平均值比較,來判斷小車前面和后面哪個方向聲音強。
圖2 聲強檢測模塊
2.3 LCD顯示模塊設計
選用LCD1602字符型液晶模塊,顯示小車運行狀態。液晶模塊內部的字符發生存儲器存儲了160個不同的點陣字符圖形,包括數字、英文字母的大小寫、常用的符號、和日文假名等,可以同時顯示32個字符。各引腳與單片機連接方式如圖3所示。RS管腳用于數據/命令選擇,R/W管腳用于讀/寫選擇。E管腳用于輸入使能命令。D0~D7為數字傳輸端口。
圖3 液晶顯示模塊
2.4 電機驅動模塊設計
L298N是SGS公司的產品,內部包含4通道邏輯驅動電路。可以方便的驅動兩個直流電機或一個兩相步進電機。
L298可驅動兩個直流電動機,OUT1,OUT2之間,OUT3,OUT4之間可分別接電動機。第5,7,10,12腳接輸入控制電平,控制電機的正反轉。EnA,EnB接控制使能端,控制電機的啟停。
裝置由AT89C51單片機通過P2口(P2.0,P2.1,P2.2, P2.3)輸出控制信號,送到驅動芯片L298N,控制電機轉動。電動機運行狀態表如表所示。In1和In2為輸入信號,EnA為使能信號。
電機驅動L298和電動機的連接電路圖[6]見圖4。
表1 電動機狀態表
圖4 電機驅動電路
3 軟件設計
本系統應用軟件功能實現功能如下:接收聲音信號,分析處理;通過液晶顯示電機工作狀態;通過驅動芯片控制電機的轉動。
程序流程圖如圖5所示。
根據系統設計要求,結合上述硬件設計,軟件設計可以分為以下幾個部分:主程序,LCD顯示程序,數據采集程序,電動機驅動程序等幾個部分。本設計使用軟件KeilC編寫程序。
對于LCD顯示子程序,首先要設置其驅動程序,對顯示的起始行,列地址,讀取狀態字和數據讀/寫等指令進行設置。
當有信號輸入時,單片機對信號識別判斷,對電動機驅動輸出相應的控制信號,實現小車左轉,右轉,直行,后退等操作。
圖5 程序流程圖
判斷P1.0,P1.1,P1.2的狀態,如果為都為高電平,則液晶顯示器顯示直行,兩個電機同時正轉;如果P1.2為低,則液晶顯示器顯示后退,兩個電機同時反轉;如果P1.0,P1.2為高,P1.1為低,則液晶顯示器顯示左轉,左邊電機正轉,右邊電機停止;如果P1.0為低,P1.1、 P1.2為高,則液晶顯示器顯示右轉,右邊電機正轉,左邊電機停止。
4 聲音導向系統的軟件仿真
本設計用Proteus 7.8繪出仿真硬件電路圖,用KeilC編寫程序,生產Hex文件,輸入單片機電路,然后進行仿真模擬。
由于仿真軟件中沒有駐極話筒,在仿真過程中通過滑動變阻器來提供仿真所需的電壓信號。單擊仿真的開始按鈕,將進入仿真狀態,如圖6所示。調整滑動變阻器,即模仿聲音從不同方向傳來的情況,液晶顯示器就會顯示小車的運動情況。
5 總 結
本課題從一個全新的角度設計了一種聲音導向系統,既不需要語音識別模塊,也不需要聲波發射模塊,系統簡單可靠。
設計方案是通過比較車首和車尾共3個聲強探測器接收的聲強信號,判斷小車和目標的相對位置,確定小車的行進方向。使用Proteus 7.8軟件給出了仿真方案和仿真結果,可以實現追蹤聲源目標的功能。
本文已申請專利;姓名:陳松;名稱:一種聲強導向小車;專利號:ZL201320438353.0,實用新型專利;授權公告日:2014年01月08日。
參考文獻
[1] 高明.基于聲音定位的自動循跡小車的控制算法研究[J].電腦知識與技術,2012(4):2329?2333.
[2] 李濟川.嵌入式語音識別及聲控小車設計[J].電子質量,2003(11):11?12.
[3] 楊宏.基于Proteus與單片機的步進電機控制設計[J].現代電子技術,2010,33(5):104?106.
[4] 葛笑寒,張倩.基于AT89C51單片機的智能節水控制[J].科技信息,2010(10):139?140.
[5] 趙洪.駐極體話筒的結構、原理與正確使用[J].電子制作,2003,(11):47?49.
[6] 孫緒才.L298N在直流電機PWM調速系統中的應用[J].濰坊學院學報,2009(4):19?22.
本系統的設計大致分為聲強檢測模塊、單片機、顯示模塊、電機等部分,總體結構如圖1所示。
圖1 系統結構框圖
聲強檢測模塊:放置在小車左、右、后三個位置,接收指定通頻帶內聲音信號,并進行比較。單片機控制模塊:控制器選用AT89C51單片機,用于接收聲音檢測模塊送來的電信號,對信號進行分析,控制電機和顯示模塊。電機驅動模塊:控制兩個電機的正轉,反轉,最終實現小車的左轉,右轉,前進,后退。LCD顯示模塊:顯示小車的行進方向,便于觀察仿真結果。
2 硬件設計
2.1 單片機控制模塊設計
控制模塊以AT89C51為核心,AT89C51是一種低功耗高性能的8位單片機,片內帶有一個4 KB的FLASH在線可編擦除只讀存儲器,它采用了Atmel公司的高密度非易失性存儲器技術。
在眾多的51系列單片機中,選擇Atmel公司的AT89C51,因為它不僅與MCU?51系列單片機指令與管腳完全兼容,而且它將通用CPU和在線可編程FLASH集成在一個芯片上。這種單片機對開發設備的要求很低,開發時間也大大縮短[4]。
設計中使用P0口作為LCD液晶顯示信號口,P1.0, P1.1 和P1.2作為駐極體話筒傳感器的信號輸入口,使用P2.0~P2.3作為電動機控制信號輸出口。
2.2 數據采集模塊設計
數據采集模塊以駐極體話筒為主要元件,駐極體薄膜上分布有自由電荷,在電容器的兩極板之間就有了感應電荷。當聲波引起駐極體薄膜振動而產生位移時,改變了電容器兩極板之間的距離,從而引起電容器的容量發生變化,引起電容器兩端電壓U的變化,從而輸出電信號,實現聲電信號的轉換[5]。駐極體話筒體積小,結構簡單,電聲性能好,價格低廉,應用非常廣泛。
整個數據采集模塊由三個駐極體話筒組成,如圖2所示。當駐極體膜片遇到聲波振動時,引起電容兩端的電場發生變化,從而產生了隨聲波變化而變化的交變電壓。在設計仿真中由于Proteus沒有駐極話筒這個元件,所以使用滑動變阻器來代替。滑動變阻器的不同阻值代替聲音的強弱。
用放大器組成的求和電路來求出這兩個變阻器電壓的平均值,然后再用平均值分別與兩個變阻器的電壓值比較,從而判斷出哪一方向的聲音強。用第三個滑動變阻器表示小車尾部聲強傳感器接收的信號,和平均值比較,來判斷小車前面和后面哪個方向聲音強。
圖2 聲強檢測模塊
2.3 LCD顯示模塊設計
選用LCD1602字符型液晶模塊,顯示小車運行狀態。液晶模塊內部的字符發生存儲器存儲了160個不同的點陣字符圖形,包括數字、英文字母的大小寫、常用的符號、和日文假名等,可以同時顯示32個字符。各引腳與單片機連接方式如圖3所示。RS管腳用于數據/命令選擇,R/W管腳用于讀/寫選擇。E管腳用于輸入使能命令。D0~D7為數字傳輸端口。
圖3 液晶顯示模塊
2.4 電機驅動模塊設計
L298N是SGS公司的產品,內部包含4通道邏輯驅動電路??梢苑奖愕尿寗觾蓚€直流電機或一個兩相步進電機。
L298可驅動兩個直流電動機,OUT1,OUT2之間,OUT3,OUT4之間可分別接電動機。第5,7,10,12腳接輸入控制電平,控制電機的正反轉。EnA,EnB接控制使能端,控制電機的啟停。
裝置由AT89C51單片機通過P2口(P2.0,P2.1,P2.2, P2.3)輸出控制信號,送到驅動芯片L298N,控制電機轉動。電動機運行狀態表如表所示。In1和In2為輸入信號,EnA為使能信號。
電機驅動L298和電動機的連接電路圖[6]見圖4。
表1 電動機狀態表
圖4 電機驅動電路
3 軟件設計
本系統應用軟件功能實現功能如下:接收聲音信號,分析處理;通過液晶顯示電機工作狀態;通過驅動芯片控制電機的轉動。
程序流程圖如圖5所示。
根據系統設計要求,結合上述硬件設計,軟件設計可以分為以下幾個部分:主程序,LCD顯示程序,數據采集程序,電動機驅動程序等幾個部分。本設計使用軟件KeilC編寫程序。
對于LCD顯示子程序,首先要設置其驅動程序,對顯示的起始行,列地址,讀取狀態字和數據讀/寫等指令進行設置。
當有信號輸入時,單片機對信號識別判斷,對電動機驅動輸出相應的控制信號,實現小車左轉,右轉,直行,后退等操作。
圖5 程序流程圖
判斷P1.0,P1.1,P1.2的狀態,如果為都為高電平,則液晶顯示器顯示直行,兩個電機同時正轉;如果P1.2為低,則液晶顯示器顯示后退,兩個電機同時反轉;如果P1.0,P1.2為高,P1.1為低,則液晶顯示器顯示左轉,左邊電機正轉,右邊電機停止;如果P1.0為低,P1.1、 P1.2為高,則液晶顯示器顯示右轉,右邊電機正轉,左邊電機停止。
4 聲音導向系統的軟件仿真
本設計用Proteus 7.8繪出仿真硬件電路圖,用KeilC編寫程序,生產Hex文件,輸入單片機電路,然后進行仿真模擬。
由于仿真軟件中沒有駐極話筒,在仿真過程中通過滑動變阻器來提供仿真所需的電壓信號。單擊仿真的開始按鈕,將進入仿真狀態,如圖6所示。調整滑動變阻器,即模仿聲音從不同方向傳來的情況,液晶顯示器就會顯示小車的運動情況。
5 總 結
本課題從一個全新的角度設計了一種聲音導向系統,既不需要語音識別模塊,也不需要聲波發射模塊,系統簡單可靠。
設計方案是通過比較車首和車尾共3個聲強探測器接收的聲強信號,判斷小車和目標的相對位置,確定小車的行進方向。使用Proteus 7.8軟件給出了仿真方案和仿真結果,可以實現追蹤聲源目標的功能。
本文已申請專利;姓名:陳松;名稱:一種聲強導向小車;專利號:ZL201320438353.0,實用新型專利;授權公告日:2014年01月08日。
參考文獻
[1] 高明.基于聲音定位的自動循跡小車的控制算法研究[J].電腦知識與技術,2012(4):2329?2333.
[2] 李濟川.嵌入式語音識別及聲控小車設計[J].電子質量,2003(11):11?12.
[3] 楊宏.基于Proteus與單片機的步進電機控制設計[J].現代電子技術,2010,33(5):104?106.
[4] 葛笑寒,張倩.基于AT89C51單片機的智能節水控制[J].科技信息,2010(10):139?140.
[5] 趙洪.駐極體話筒的結構、原理與正確使用[J].電子制作,2003,(11):47?49.
[6] 孫緒才.L298N在直流電機PWM調速系統中的應用[J].濰坊學院學報,2009(4):19?22.
本系統的設計大致分為聲強檢測模塊、單片機、顯示模塊、電機等部分,總體結構如圖1所示。
圖1 系統結構框圖
聲強檢測模塊:放置在小車左、右、后三個位置,接收指定通頻帶內聲音信號,并進行比較。單片機控制模塊:控制器選用AT89C51單片機,用于接收聲音檢測模塊送來的電信號,對信號進行分析,控制電機和顯示模塊。電機驅動模塊:控制兩個電機的正轉,反轉,最終實現小車的左轉,右轉,前進,后退。LCD顯示模塊:顯示小車的行進方向,便于觀察仿真結果。
2 硬件設計
2.1 單片機控制模塊設計
控制模塊以AT89C51為核心,AT89C51是一種低功耗高性能的8位單片機,片內帶有一個4 KB的FLASH在線可編擦除只讀存儲器,它采用了Atmel公司的高密度非易失性存儲器技術。
在眾多的51系列單片機中,選擇Atmel公司的AT89C51,因為它不僅與MCU?51系列單片機指令與管腳完全兼容,而且它將通用CPU和在線可編程FLASH集成在一個芯片上。這種單片機對開發設備的要求很低,開發時間也大大縮短[4]。
設計中使用P0口作為LCD液晶顯示信號口,P1.0, P1.1 和P1.2作為駐極體話筒傳感器的信號輸入口,使用P2.0~P2.3作為電動機控制信號輸出口。
2.2 數據采集模塊設計
數據采集模塊以駐極體話筒為主要元件,駐極體薄膜上分布有自由電荷,在電容器的兩極板之間就有了感應電荷。當聲波引起駐極體薄膜振動而產生位移時,改變了電容器兩極板之間的距離,從而引起電容器的容量發生變化,引起電容器兩端電壓U的變化,從而輸出電信號,實現聲電信號的轉換[5]。駐極體話筒體積小,結構簡單,電聲性能好,價格低廉,應用非常廣泛。
整個數據采集模塊由三個駐極體話筒組成,如圖2所示。當駐極體膜片遇到聲波振動時,引起電容兩端的電場發生變化,從而產生了隨聲波變化而變化的交變電壓。在設計仿真中由于Proteus沒有駐極話筒這個元件,所以使用滑動變阻器來代替?;瑒幼冏杵鞯牟煌柚荡媛曇舻膹娙酢?/p>
用放大器組成的求和電路來求出這兩個變阻器電壓的平均值,然后再用平均值分別與兩個變阻器的電壓值比較,從而判斷出哪一方向的聲音強。用第三個滑動變阻器表示小車尾部聲強傳感器接收的信號,和平均值比較,來判斷小車前面和后面哪個方向聲音強。
圖2 聲強檢測模塊
2.3 LCD顯示模塊設計
選用LCD1602字符型液晶模塊,顯示小車運行狀態。液晶模塊內部的字符發生存儲器存儲了160個不同的點陣字符圖形,包括數字、英文字母的大小寫、常用的符號、和日文假名等,可以同時顯示32個字符。各引腳與單片機連接方式如圖3所示。RS管腳用于數據/命令選擇,R/W管腳用于讀/寫選擇。E管腳用于輸入使能命令。D0~D7為數字傳輸端口。
圖3 液晶顯示模塊
2.4 電機驅動模塊設計
L298N是SGS公司的產品,內部包含4通道邏輯驅動電路??梢苑奖愕尿寗觾蓚€直流電機或一個兩相步進電機。
L298可驅動兩個直流電動機,OUT1,OUT2之間,OUT3,OUT4之間可分別接電動機。第5,7,10,12腳接輸入控制電平,控制電機的正反轉。EnA,EnB接控制使能端,控制電機的啟停。
裝置由AT89C51單片機通過P2口(P2.0,P2.1,P2.2, P2.3)輸出控制信號,送到驅動芯片L298N,控制電機轉動。電動機運行狀態表如表所示。In1和In2為輸入信號,EnA為使能信號。
電機驅動L298和電動機的連接電路圖[6]見圖4。
表1 電動機狀態表
圖4 電機驅動電路
3 軟件設計
本系統應用軟件功能實現功能如下:接收聲音信號,分析處理;通過液晶顯示電機工作狀態;通過驅動芯片控制電機的轉動。
程序流程圖如圖5所示。
根據系統設計要求,結合上述硬件設計,軟件設計可以分為以下幾個部分:主程序,LCD顯示程序,數據采集程序,電動機驅動程序等幾個部分。本設計使用軟件KeilC編寫程序。
對于LCD顯示子程序,首先要設置其驅動程序,對顯示的起始行,列地址,讀取狀態字和數據讀/寫等指令進行設置。
當有信號輸入時,單片機對信號識別判斷,對電動機驅動輸出相應的控制信號,實現小車左轉,右轉,直行,后退等操作。
圖5 程序流程圖
判斷P1.0,P1.1,P1.2的狀態,如果為都為高電平,則液晶顯示器顯示直行,兩個電機同時正轉;如果P1.2為低,則液晶顯示器顯示后退,兩個電機同時反轉;如果P1.0,P1.2為高,P1.1為低,則液晶顯示器顯示左轉,左邊電機正轉,右邊電機停止;如果P1.0為低,P1.1、 P1.2為高,則液晶顯示器顯示右轉,右邊電機正轉,左邊電機停止。
4 聲音導向系統的軟件仿真
本設計用Proteus 7.8繪出仿真硬件電路圖,用KeilC編寫程序,生產Hex文件,輸入單片機電路,然后進行仿真模擬。
由于仿真軟件中沒有駐極話筒,在仿真過程中通過滑動變阻器來提供仿真所需的電壓信號。單擊仿真的開始按鈕,將進入仿真狀態,如圖6所示。調整滑動變阻器,即模仿聲音從不同方向傳來的情況,液晶顯示器就會顯示小車的運動情況。
5 總 結
本課題從一個全新的角度設計了一種聲音導向系統,既不需要語音識別模塊,也不需要聲波發射模塊,系統簡單可靠。
設計方案是通過比較車首和車尾共3個聲強探測器接收的聲強信號,判斷小車和目標的相對位置,確定小車的行進方向。使用Proteus 7.8軟件給出了仿真方案和仿真結果,可以實現追蹤聲源目標的功能。
本文已申請專利;姓名:陳松;名稱:一種聲強導向小車;專利號:ZL201320438353.0,實用新型專利;授權公告日:2014年01月08日。
參考文獻
[1] 高明.基于聲音定位的自動循跡小車的控制算法研究[J].電腦知識與技術,2012(4):2329?2333.
[2] 李濟川.嵌入式語音識別及聲控小車設計[J].電子質量,2003(11):11?12.
[3] 楊宏.基于Proteus與單片機的步進電機控制設計[J].現代電子技術,2010,33(5):104?106.
[4] 葛笑寒,張倩.基于AT89C51單片機的智能節水控制[J].科技信息,2010(10):139?140.
[5] 趙洪.駐極體話筒的結構、原理與正確使用[J].電子制作,2003,(11):47?49.
[6] 孫緒才.L298N在直流電機PWM調速系統中的應用[J].濰坊學院學報,2009(4):19?22.