<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用SRF05和ATtiny85的超聲波測距儀

tr12345 ? 來源:tr12345 ? 作者:tr12345 ? 2022-07-25 09:39 ? 次閱讀

超聲波測距儀是各種現實生活和機器人應用中的有用工具,例如避障和距離測量系統。超聲波測距儀通過發射 40 kHz 的超聲波脈沖來測量距離,該脈沖在空氣中傳播直到它擊中物體,然后測量反射信號的延遲并向其他單元發送適當的命令。

我使用了 SRF05 超聲波傳感器和 ATtiny85 微控制器。距離數據顯示在 128 × 64 OLED 屏幕上,以厘米和英寸為單位。此外,水平條形圖提供了距離的視覺估計。MCU 代碼是使用 Arduino IDE 開發的。

為了設計原理圖和 PCB,我使用了 Altium Designer 22 和 SamacSys 組件庫(Altium 插件)。為了獲得高質量的 PCB,我將 Gerber 發送到 PCBWay,并使用 ComponentSearchEngine.com 購買了原始組件。為了檢查電路的電流消耗,我使用了 Sigilent SDM3045X 萬用表。

規格

  • 輸入電壓:6–24 VDC
  • 電流消耗:24毫安
  • 檢測范圍:2–400 cm(見正文)
  • 距離數據:厘米、英寸、條形圖
  • 顯示:128×64黃藍OLED

電路分析

圖1為超聲波測距儀裝置示意圖。很明顯,該電路由四個主要部分組成:傳感器、電源、MCU和顯示器。我分別解釋每個部分。

pYYBAGLdZ0OAfZm5AAG3a-y3xqk777.jpg

圖1:超聲波測距儀示意圖(來源:Altium)

SRF05超聲波傳感器

我在電路中使用了 SRF05 超聲波模塊。市場上有多種SRF05模塊;我使用了圖 2 中所示的那個。

模塊的質量可能會有所不同,因此無法保證最大檢測范圍。其中一些有藍色阻焊層,一些是綠色的;此外,不同的制造商提供這樣的模塊。

根據 SRF05 模塊數據表:“SRF05 是 SRF04 的進化步驟,旨在提高靈活性、擴大范圍并進一步降低成本。因此,SRF05 與 SRF04 完全兼容。射程從 3 米增加到 4 米。一種新的操作模式(將模式引腳接地)允許 SRF05 使用單個引腳來觸發和回波,從而節省控制器上寶貴的引腳。當模式引腳未連接時,SRF05 使用單獨的觸發和回波引腳運行,如 SRF04。SRF05 在回波脈沖之前包含一個小延遲,以便為較慢的控制器(例如 Basic Stamp 和 Picaxe)提供時間來執行它們的脈沖命令?!?/font>

pYYBAGLdZ0eAXY2BAAHf3ZtZMoo223.jpg

圖 2:SRF05 超聲波模塊(藍色阻焊層)

電源

電源的主要部件是 TS2937CW50 1穩壓器(REG1)。它是一個 5V SOT-223 LDO 穩壓器。根據 TS2937 數據表:“TS2937 固定電壓單片微功率穩壓器專為廣泛的應用而設計。該器件是電池供電應用的絕佳選擇。此外,靜態電流在壓降時略有增加,從而延長了電池壽命。該系列固定電壓穩壓器具有極低的接地電流(典型值 200uA)和極低的壓降輸出電壓(典型值在輕負載時為 60mV,在 500mA 時為 600mV)。這包括 2% 的嚴格初始容差、0.05% 典型值的極好線路調節以及非常低的輸出溫度系數?!?/font>

FB1 和 C5 降低輸入電壓噪聲。D1 是一個藍色 0805 LED,用于指示電源連接是否正確,R2 限制 D1 的電流。C4 和 C6 用于降低 5V 電源軌的噪聲。P1 是一個 XH-2P 母連接器,用于將電源線連接到電路板。

微控制器

IC1 是一個 ATtiny85 MCU,2這是電路的核心。我選擇了這款芯片的貼片封裝。根據 Tiny85 數據表:“ATtiny25/45/85 提供以下特性:2/4/8K 字節系統內可編程閃存、128/256/512 字節 EEPROM、128/256/256 字節 SRAM、6 個通用用途 I/O 線、32 個通用工作寄存器、一個 8 位定時器/計數器(帶比較模式)、一個 8 位高速定時器/計數器、通用串行接口、內部和外部中斷、一個 4 通道、10-位 ADC、帶內部振蕩器的可編程看門狗定時器和三種軟件可選的省電模式。空閑模式停止 CPU,同時允許 SRAM、定時器/計數器、ADC、模擬比較器和中斷系統繼續工作。掉電模式保存寄存器內容,禁用所有芯片功能,直到下一次中斷或硬件復位。ADC 降噪模式會停止 CPU 和除 ADC 之外的所有 I/O 模塊,以最大限度地減少 ADC 轉換期間的開關噪聲。該器件采用 Atmel 的高密度非易失性存儲器技術制造。片上 ISP 閃存允許程序存儲器通過 SPI 串行接口、傳統的非易失性存儲器編程器或運行在 AVR 內核上的片上引導代碼在系統內重新編程?!?/font>

C1、C2 和 C3 是去耦電容,用于降低噪聲。R1 是一個上拉電阻,用于避免不必要地觸發 MCU 的 RESET 引腳。

OLED顯示屏

該顯示器由一個 0.96 英寸 128 × 64 OLED 模塊和一個 SSD1306 控制器芯片組成。模塊的數據/命令接口為 I2C。圖 3 顯示了該模塊的圖片。I2C 由需要使用兩個電阻上拉的 SDA 和 SCL 線組成。該模塊已經實現了上拉,因此無需在線路上添加更多電阻。

poYBAGLdZ0uASyNeAADhHfAkFbA032.jpg

圖 3:設備的 OLED 顯示屏(0.96 英寸,128 × 64,I2C)

PCB布局

圖 4 顯示了電路的 PCB 布局。它是兩層PCB,所有組件都是SMD。顯示器應位于 PCB 上方幾毫米處,以保持組件與顯示器背面之間的距離,以避免短路。PCB 設計緊湊且易于使用。

pYYBAGLdZ02AdCcXAAGymPsE-u4293.jpg

圖 4:超聲波測距儀的 PCB 布局(來源:Altium)

當我決定為這個項目設計原理圖和 PCB 時,我意識到我的元件庫存儲中沒有 REG1 3和 IC2 4的元件庫。因此,像往常一樣,我選擇了 IPC 級 SamacSys 組件庫,并使用免費的 SamacSys 工具和服務安裝了缺少的庫(原理圖符號、PCB 封裝、3D 模型)。導入庫有兩種方法:您可以訪問 ComponentSearchEngine.com 并手動下載和導入庫,或者您可以使用 SamacSys CAD 插件并自動將庫導入/安裝到設計環境中。圖 5 顯示了所有支持的電子設計 CAD 軟件。5很明顯,所有著名的球員都得到支持。我使用 Altium Designer,因此我使用 SamacSys Altium 插件安裝了缺少的庫(圖 6)。6圖 7 顯示了電路板的 3D 視圖和 PCB 的兩個裝配圖。

pYYBAGLdZ1GAGyzLAADhmTTGpLw153.jpg

圖 5:SamacSys 插件支持的所有電子設計 CAD 軟件

poYBAGLdZ1WAfJPmAAFSYtHsZZQ274.jpg

圖 6:SamacSys Altium 插件中的選定組件庫

poYBAGLdZ1eAeVYZAAGqnXGD8rY413.jpg

圖 7:PCB 的 3D 視圖和兩個裝配圖

代碼

MCU的代碼編寫如下。您需要安裝 ATtinyCore Board Manager 7并從菜單中選擇 ATtiny25/45/85(無引導加載程序)(圖 8)。然后選擇芯片為 ATtiny85 并選擇 8MHz(內部)作為時鐘源(圖 9)。

然后你需要安裝 NewPing 8和 Tiny4KOLED 9庫。之后,只需轉到“Sketch”菜單并選擇“Export compiled binary”(圖 10)。您可以在與您的代碼相同的文件夾中找到已編譯的 HEX 文件。只需使用 AVR ISP 編程器(例如 USBasp 或其他)使用 PCB 背面的可用引腳(GND、RESET、MISO、MOSI、SCK)對芯片進行編程。按照程序對熔絲位進行編程,如圖 11 所示。斷開編程器和電路板上的電線,僅此而已。





 uS =  ;







 ;
 CM =  , IN =  ;
 cnt =  ;


   {
 oled.begin(、 ) 、tiny4koled_init_128x64br);
 奧萊德.on();
 oled.setCursor(  ,  );
 oled.setFont(FONT8X16);
 oled.clear();
 oled.print(  );
}


   {
 uS = sonar.ping();
 CM = sonar.convert_cm(uS) + CM;
 IN = sonar.convert_in(uS) + IN;
 cnt++;
 (cnt ==  )
 {
  oled.setCursor(  ,  );
  oled.print(CM /  );
  (CM /  <  )
? ? {
? ? ? oled.setCursor(  ,  );
? ? ? oled.print(  );
? ? }
? ? {
? ? ? oled.setCursor(  ,  );
? ? ? oled.print(  );
? ? }


? ? oled.setCursor(  ,  );
? ? oled.print(IN /  );
? ? (IN /  <  )
? ? {
? ? ? oled.setCursor(  ,  );
? ? ? oled.print(  );
? ? }
? ? {
? ? ? oled.setCursor(  ,  );
? ? ? oled.print(  );
? ? }


? ? (CM /  )
? ? {


? ? ?  :
? ? ? ? oled.setCursor(  ,  );
? ? ? ? oled.print(  );
? ? ? ? ;
? ? ?   ... :
? ? ? ? oled.setCursor(  ,  );
? ? ? ? oled.print( 

pYYBAGLdZ1uASwonAAEyEwQ4l2M705.jpg

圖 8:從菜單中選擇合適的芯片系列(ATtiny25/45/85 [no bootloader])

poYBAGLdZ1-ASOSgAAE0hD0u_kI878.jpg

圖 9:ATtiny85 時鐘源選擇(8 MHz,內部)

pYYBAGLdZ2OAMVCAAADIqOEUELk414.jpg

圖 10:在哪里可以找到和導出 HEX 文件(草圖菜單)

poYBAGLdZ2eAWt5uAADz7rTITS0063.jpg

圖 11:如何使用 AVR ISP 編程器對電路板進行編程

組裝和測試

圖 12 顯示了組裝好的 PCB。我在顯示器和 PCB 之間放了一塊雙面膠帶,以避免任何可能的短路。從圖片中可以清楚地看到,OLED屏幕上的文字非常鮮艷生動。

poYBAGLdZ2uAXk4vAAJMLGa5nf8107.jpg

圖 12:超聲波測距儀的組裝 PCB

如果您計劃使用電池為電路板供電,則設備的電流消耗很重要。所以我使用了 Siglent SDM3045X 臺式萬用表10,測得電流為 24 mA。圖 13 顯示了萬用表屏幕。

pYYBAGLdZ22AYIjZAADyBgHLvCM926.jpg

圖 13:超聲波測距儀電路的電流消耗

材料清單

圖 14 顯示了該項目的材料清單。

pYYBAGLdZ3KARm7JAAE0XAVxzNk762.jpg

圖 14:物料清單

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2534

    文章

    48633

    瀏覽量

    742817
  • 超聲波
    +關注

    關注

    63

    文章

    2842

    瀏覽量

    137032
  • 測距儀
    +關注

    關注

    0

    文章

    104

    瀏覽量

    18322
收藏 人收藏

    評論

    相關推薦

    超聲波測距儀研究

    根據聲波反射原理,應用單片機(AT89S52)技術和UCM40T超聲波傳感器設計了一種超聲波測距儀。硬件部分主要由控制模塊、超聲波發射模塊、
    發表于 03-04 15:38

    超聲波測距儀的設計

    超聲波測距儀的設計。
    發表于 11-15 21:58

    基于單片機的超聲波測距儀的設計參考論文

    基于單片機的超聲波測距儀的設計參考論文
    發表于 07-06 12:26

    超聲波測距儀方案

    超聲波測距儀方案
    發表于 07-16 17:01

    動手制作超聲波測距儀

    動手制作超聲波測距儀
    發表于 08-18 16:02

    數字超聲波測距儀的詳細剖析

    第十章 數字超聲波測距儀(SR-04超聲波測距模塊+四位數碼管)(Arduino邊做邊學:從點亮Led到物聯網)
    發表于 06-04 10:54

    如何去實現一種HY-SRF05超聲波測距模塊呢

    超聲波測距模塊有何作用?超聲波測距模塊HY-SRF05有哪些引腳?如何去實現一種HY-SRF05
    發表于 11-08 06:21

    HC-SRF05超聲波測距模塊的原理是什么

    測距原理HC-SRF05超聲波測距模塊可提供2cm-400cm的非接觸式距離感測功能,測距精度可達高到3mm;模塊包括
    發表于 12-01 06:09

    基于SRF05ATtiny85超聲波測距儀

    描述使用 SRF05ATtiny85超聲波測距儀超聲波測距儀是各種現實生活和機器人應用
    發表于 06-23 08:49

    電子設計應用超聲波測距儀的設計

    電子設計應用超聲波測距儀的設計電子設計應用超聲波測距儀的設計電子設計應用超聲波測距儀的設計電子設
    發表于 12-16 17:46 ?11次下載

    HY-SRF05超聲波測距程序

    HY-SRF05超聲波測距程序。
    發表于 04-28 11:45 ?0次下載

    dfrobotSRF05 超聲波傳感器簡介

    SRF05一款高性能的雙探頭超聲波,其探測距離為1厘米-4米。
    的頭像 發表于 12-10 14:27 ?2102次閱讀
    dfrobotSRF<b class='flag-5'>05</b> <b class='flag-5'>超聲波</b>傳感器簡介

    基于SRF05ATtiny85實現的超聲波測距儀設計

    超聲波測距儀是各種現實生活和機器人應用中的有用工具,例如避障和距離測量系統。超聲波測距儀通過發射一個 40KHz 的超聲波脈沖來測量距離,該
    的頭像 發表于 04-11 17:02 ?2301次閱讀
    基于<b class='flag-5'>SRF05</b>和<b class='flag-5'>ATtiny85</b>實現的<b class='flag-5'>超聲波</b><b class='flag-5'>測距儀</b>設計

    使用SRF05ATtiny85超聲波測距儀

    電子發燒友網站提供《使用SRF05ATtiny85超聲波測距儀.zip》資料免費下載
    發表于 07-04 11:23 ?1次下載
    使用<b class='flag-5'>SRF05</b>和<b class='flag-5'>ATtiny85</b>的<b class='flag-5'>超聲波</b><b class='flag-5'>測距儀</b>

    探究SRF05ATtiny85超聲波測距儀

    超聲波測距儀是各種現實生活和機器人應用中的有用工具,例如避障和距離測量系統。超聲波測距儀通過發射一個 40KHz 的超聲波脈沖來測量距離,該
    的頭像 發表于 03-16 10:03 ?849次閱讀
    探究<b class='flag-5'>SRF05</b>和<b class='flag-5'>ATtiny85</b>的<b class='flag-5'>超聲波</b><b class='flag-5'>測距儀</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>