找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2742|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

自?shī)首詷?lè) 超聲波測(cè)距模塊DIY筆記

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
前言
上一節(jié)我們已經(jīng)大致瀏覽下目前銷售的超聲波測(cè)距模塊同時(shí)設(shè)計(jì)了自己的分析電路,這次由于我買的電子元件都到了,所以就動(dòng)手實(shí)驗(yàn)了下!至寫該筆記時(shí)已經(jīng)設(shè)計(jì)出超聲波接收模塊和超聲波發(fā)射模塊,同時(shí)存在超聲波發(fā)射模塊功率太小的問(wèn)題,下面主要做該過(guò)程的總結(jié)!

一、嘗試找出一個(gè)簡(jiǎn)單的超聲波接收電路:
>_<" 首先根據(jù)我現(xiàn)有的電子元件,最終找到一個(gè)比較適合的簡(jiǎn)單設(shè)計(jì)方法:這里用一個(gè)芯片CX20106A也就是上一節(jié)我說(shuō)的這種方案簡(jiǎn)單但是不利于理解超聲波接收部分的具體細(xì)節(jié)!但是為了方便設(shè)計(jì),我還是選擇了用這個(gè)芯片,下面是我做時(shí)候用的電路圖。其中1uF和3.3uF是電解電容。該電路最終實(shí)現(xiàn)當(dāng)接收到40Khz的超聲波時(shí)OUTPUT角輸出低電平~


>_<" 由于設(shè)備簡(jiǎn)陋我這里用了個(gè)51單片機(jī)的插槽用來(lái)當(dāng)面包板!把上面的電子元件搭了起來(lái)(如下圖上:大的電路板是這個(gè)模塊,小的是51單片機(jī)最小系統(tǒng))。讓OUTPUT連接單片機(jī)的P1.1,單片機(jī)不斷檢查該引腳的電平并將數(shù)值通過(guò)串口發(fā)送給電腦。(別看說(shuō)的這么簡(jiǎn)單,就從上面到當(dāng)前這一步是要用很長(zhǎng)時(shí)間的,包括選擇元件、設(shè)計(jì)電路圖、學(xué)習(xí)CX20106A芯片....還有一不小心把電路連錯(cuò),燒掉一個(gè)芯片....說(shuō)多了都是淚。
>_<" 當(dāng)把上述電路連接好啟動(dòng),并把買來(lái)的超聲波模塊啟動(dòng)(用來(lái)發(fā)送超聲波,因?yàn)檫沒(méi)有做好發(fā)送模塊,就先用買來(lái)的完整的試試,反正能產(chǎn)生40KHz的超聲波),當(dāng)最終在上位機(jī)無(wú)數(shù)的11中發(fā)現(xiàn)0的時(shí)候,心情無(wú)比激動(dòng),然后收拾一下回寢室!(哈哈,昨天是連續(xù)7天唯一一天沒(méi)通宵的,但是也回去的不早呢~決定從今天開(kāi)始恢復(fù)正常生活,所以把總結(jié)提前寫了)

二、焊接接收部分電路板:
>_<" 這里就直接上圖:(第一幅是半成品,后面的線路還沒(méi)連接~,第二幅圖是連接好的成品~由于我發(fā)現(xiàn)手上的靜電什么的會(huì)影響測(cè)量的結(jié)果,在后面又把該模塊用膠帶包裹了一下!)
>_<" 最終用設(shè)計(jì)好的模塊代替上面看到的亂糟糟的面包板上的電路也實(shí)現(xiàn)了接收超聲波,下面是抓到的0.即低電平信號(hào)~表示接收到超聲波了~

三、接收部分設(shè)計(jì):
>_<" 參照上一節(jié)的知識(shí),發(fā)現(xiàn)發(fā)送部分就是個(gè)簡(jiǎn)單的40KHz的方波發(fā)生器+功率放大電路+發(fā)送頭~出于好奇我直接不用功率放大器直接把發(fā)送頭接到52單片機(jī)上,用2個(gè)引腳并利用定時(shí)器產(chǎn)生相同的40KHz的方波,然后把其中一路的信號(hào)經(jīng)過(guò)一個(gè)與非門改裝的非門將信號(hào)反轉(zhuǎn),這樣2路信號(hào)送的發(fā)送頭就是2被原矩形波的矩形波了~這個(gè)思路是從下面的圖的思路里學(xué)來(lái)的~再下面的代碼是產(chǎn)生2路40Khz矩形波的52單片機(jī)代碼。
  1. #include<reg52.h> //包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義

  2. sbit Send0=P1^0;    //定義端口
  3. sbit Send1=P1^1;    //定義端口


  4. /*------------------------------------------------
  5. 定時(shí)器初始化子程序
  6. ------------------------------------------------*/
  7. void Init_Timer0(void)
  8. {
  9.     TMOD |= 0x01;      //使用模式1,16位定時(shí)器,使用"|"符號(hào)可以在使用多個(gè)定時(shí)器時(shí)不受影響
  10.     TH0=0x1f;          //給定初值
  11.     TL0=0xf4;
  12.     EA=1;            //總中斷打開(kāi)
  13.     ET0=1;           //定時(shí)器中斷打開(kāi)
  14.     TR0=1;           //定時(shí)器開(kāi)關(guān)打開(kāi)
  15. }
  16. /*------------------------------------------------
  17. 主程序
  18. ------------------------------------------------*/
  19. main()
  20. {
  21.     Init_Timer0();
  22.     Send0=1;
  23.     Send1=1;
  24.     while(1);
  25. }
  26. /*------------------------------------------------
  27. 定時(shí)器中斷子程序
  28. ------------------------------------------------*/
  29. void Timer0_isr(void) interrupt 1 using 1
  30. {
  31.     TH0=0x1f;          //重新賦值
  32.     TL0=0xf4;
  33.     Send0=~Send0;
  34.     Send1=~Send1;
  35. }
復(fù)制代碼
然后我發(fā)現(xiàn)上述的發(fā)射功率很小,幾乎只能在距離10cm之內(nèi)才能收到信號(hào),所以就再用一個(gè)CD4011BE四路或非門改造成四路非門(我忘了買四路非門的74HC04了,于是只能用CD4011BE改造了),然后照著上面的發(fā)送電路原理圖的連接方式連接好:



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



小結(jié):
從昨天晚上在自制的面包板上把接收部分的電路搞通,調(diào)試正確,到上午把接收部分制作成模塊,再到現(xiàn)在嘗試發(fā)送模塊,時(shí)間過(guò)得真快,雖然很想再通宵一下,但是既然決定恢復(fù)正常,就忍耐下吧...明天繼續(xù)研究!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表