[自娛自樂] 2、超聲波測距模塊DIY筆記(二)


 

前言

上一節我們已經大致瀏覽下目前銷售的超聲波測距模塊同時設計了自己的分析電路,這次由於我買的電子元件都到了,所以就動手實驗了下!至寫該筆記時已經設計出超聲波接收模塊和超聲波發射模塊,同時存在超聲波發射模塊功率太小的問題,下面主要做該過程的總結!

 

一、嘗試找出一個簡單的超聲波接收電路:

>_<" 首先根據我現有的電子元件,最終找到一個比較適合的簡單設計方法:這里用一個芯片CX20106A也就是上一節我說的這種方案簡單但是不利於理解超聲波接收部分的具體細節!但是為了方便設計,我還是選擇了用這個芯片,下面是我做時候用的電路圖。其中1uF和3.3uF是電解電容。該電路最終實現當接收到40Khz的超聲波時OUTPUT角輸出低電平~

>_<" 由於設備簡陋我這里用了個51單片機的插槽用來當面包板!把上面的電子元件搭了起來(如下圖上:大的電路板是這個模塊,小的是51單片機最小系統)。讓OUTPUT連接單片機的P1.1,單片機不斷檢查該引腳的電平並將數值通過串口發送給電腦。(別看說的這么簡單,就從上面到當前這一步是要用很長時間的,包括選擇元件、設計電路圖、學習CX20106A芯片....還有一不小心把電路連錯,燒掉一個芯片....說多了都是淚!)

 

>_<" 當把上述電路連接好啟動,並把買來的超聲波模塊啟動(用來發送超聲波,因為還沒有做好發送模塊,就先用買來的完整的試試,反正能產生40KHz的超聲波),當最終在上位機無數的11中發現0的時候,心情無比激動,然后收拾一下回寢室!(哈哈,昨天是連續7天唯一一天沒通宵的,但是也回去的不早呢~決定從今天開始恢復正常生活,所以把總結提前寫了)

 

二、焊接接收部分電路板:

>_<" 這里就直接上圖:(第一幅是半成品,后面的線路還沒連接~,第二幅圖是連接好的成品~由於我發現手上的靜電什么的會影響測量的結果,在后面又把該模塊用膠帶包裹了一下!)

>_<" 最終用設計好的模塊代替上面看到的亂糟糟的面包板上的電路也實現了接收超聲波,下面是抓到的0.即低電平信號~表示接收到超聲波了~

 

三、接收部分設計:

>_<" 參照上一節的知識,發現發送部分就是個簡單的40KHz的方波發生器+功率放大電路+發送頭~出於好奇我直接不用功率放大器直接把發送頭接到52單片機上,用2個引腳並利用定時器產生相同的40KHz的方波,然后把其中一路的信號經過一個與非門改裝的非門將信號反轉,這樣2路信號送的發送頭就是2被原矩形波的矩形波了~這個思路是從下面的圖的思路里學來的~再下面的代碼是產生2路40Khz矩形波的52單片機代碼。

 1 #include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
 2 
 3 sbit Send0=P1^0;    //定義端口
 4 sbit Send1=P1^1;    //定義端口
 5 
 6 
 7 /*------------------------------------------------
 8 定時器初始化子程序
 9 ------------------------------------------------*/
10 void Init_Timer0(void)
11 {
12     TMOD |= 0x01;      //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響             
13     TH0=0x1f;          //給定初值
14     TL0=0xf4;
15     EA=1;            //總中斷打開
16     ET0=1;           //定時器中斷打開
17     TR0=1;           //定時器開關打開
18 }
19 /*------------------------------------------------
20 主程序
21 ------------------------------------------------*/
22 main()
23 {
24     Init_Timer0();
25     Send0=1;
26     Send1=1;
27     while(1);
28 }
29 /*------------------------------------------------
30 定時器中斷子程序
31 ------------------------------------------------*/
32 void Timer0_isr(void) interrupt 1 using 1
33 {
34     TH0=0x1f;          //重新賦值
35     TL0=0xf4;
36     Send0=~Send0;
37     Send1=~Send1;
38 }

>_<" 然后我發現上述的發射功率很小,幾乎只能在距離10cm之內才能收到信號,所以就再用一個CD4011BE四路或非門改造成四路非門(我忘了買四路非門的74HC04了,於是只能用CD4011BE改造了),然后照着上面的發送電路原理圖的連接方式連接好:

>_<" 雖然加上了上面的放大模塊,結果效果還是不理想,也只是才能測量距離10CM左右!很郁悶呢~先貼一下當前的全部圖:目前正在查找大功率發射的解決方案,先給個我查到的鏈接:http://wenku.baidu.com/link?url=m90yWM1cX3h8IwvJs3uD7YqiHtcACQZE0K8UPfMemj99io_7I0FOJ6xNc8ypbqlsoF1gKzvcfxBhcx7qmVbHcyLSztRZf4Suwz-9UYyv1IW接下來的就明天再說吧~今天收獲不小,總算把接收模塊給搞定了,給自己鼓勵下!

 

小結:

從昨天晚上在自制的面包板上把接收部分的電路搞通,調試正確,到上午把接收部分制作成模塊,再到現在嘗試發送模塊,時間過得真快,雖然很想再通宵一下,但是既然決定恢復正常,就忍耐下吧...明天繼續研究!

 

相關鏈接:

上一節鏈接:http://www.cnblogs.com/zjutlitao/p/4014855.html

超聲波發射接收電路:文庫連接   下載好的文檔鏈接

74HC04四非門芯片資料:http://baike.baidu.com/view/3445995.htm?fr=aladdin

CD4011BE思路與非門芯片資料:文庫鏈接  下載好的文檔

值得一看的超聲波模塊原理:http://www.360doc.com/content/13/0907/07/12109864_312762526.shtml

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM