色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

基于SRF05和ATtiny85實現(xiàn)的超聲波測距儀設(shè)計

科技觀察員 ? 來源:Hesam Moshiri, Anson Bao ? 作者:Hesam Moshiri, Anson ? 2022-04-11 17:02 ? 次閱讀

超聲波測距儀是各種現(xiàn)實生活和機器人應(yīng)用中的有用工具,例如避障和距離測量系統(tǒng)。超聲波測距儀通過發(fā)射一個 40KHz 的超聲波脈沖來測量距離,該脈沖在空氣中傳播直到它擊中一個物體,然后它測量反射信號的延遲并向其他單元發(fā)送適當?shù)拿睢?/p>

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

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

規(guī)格

輸入電壓:6-24VDC

電流消耗:24mA

檢測范圍:2-400cm(見正文)

距離數(shù)據(jù):厘米、英寸、條形圖

顯示:128*64-黃藍OLED

下載 Gerbers

電路分析

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

pYYBAGJT7pGAdOeHAAXXRSptXB8246.png

圖1-超聲波測距儀(Altium)示意圖

SRF05超聲波傳感器

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

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

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

poYBAGJT7o2AT4rHAAZCEelAxXo045.png

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

電源供應(yīng)

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

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

微控制器

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

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

OLED顯示器

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

poYBAGJT7oeARf4CAAX4aNJ-NT0616.png

圖 3-設(shè)備OLED顯示屏(0.96”, 128*64, I2C)

PCB布局

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

pYYBAGJT7oOAEsTZAAXn04v_TNo582.png

圖 4-超聲波測距儀(Altium)的PCB布局

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

poYBAGJT7n-ABQ9NAATffsDWZYs347.png

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

pYYBAGJT7nqAVo1BAAKF7GCTsUk381.png

圖 7-PCB板的3D視圖和兩個組裝圖

#include
#include


unsigned long uS = 0;


#define TRIGGER_PIN 3
#define ECHO_PIN 4
#define MAX_DISTANCE 41


NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
unsigned int CM = 0, IN = 0;
unsigned char cnt = 0;


void setup() {
oled.begin(128, 64, sizeof(tiny4koled_init_128x64br), tiny4koled_init_128x64br);
oled.on();
oled.setCursor(0, 1);
oled.setFont(FONT8X16);
oled.clear();
oled.print("ULS Range Finder");
}


void loop() {
uS = sonar.ping();
CM = sonar.convert_cm(uS) + CM;
IN = sonar.convert_in(uS) + IN;
cnt ++;
if (cnt == 10)
{
oled.setCursor(0, 2);
oled.print(CM / 10);
if (CM / 10 < 10)
{
oled.setCursor(9, 2);
oled.print(" Centimeter ");
} else
{
oled.setCursor(17, 2);
oled.print(" Centimeter");
}


oled.setCursor(0, 4);
oled.print(IN / 10);
if (IN / 10 < 10)
{
oled.setCursor(9, 4);
oled.print(" Inches ");
} else
{
oled.setCursor(17, 4);
oled.print(" Inches");
}


switch (CM / 10)
{


case 0:
oled.setCursor(0, 6);
oled.print(" [out of range] ");
break;
case 1 ... 4:
oled.setCursor(0, 6);
oled.print("== ");
break;
case 5 ... 9:
oled.setCursor(0, 6);
oled.print("==== ");
break;
case 10 ... 14:
oled.setCursor(0, 6);
oled.print("===== ");
break;
case 15 ... 19:
oled.setCursor(0, 6);
oled.print("======= ");
break;
case 20 ... 24:
oled.setCursor(0, 6);
oled.print("========= ");
break;
case 25 ... 29:
oled.setCursor(0, 6);
oled.print("=========== ");
break;
case 30 ... 34:
oled.setCursor(0, 6);
oled.print("============= ");
break;
case 35 ... 39:
oled.setCursor(0, 6);
oled.print("=============== ");
break;
case 40 ... 41:
oled.setCursor(0, 6);
oled.print("================");
break;
}


CM = 0;
IN = 0;
cnt = 0;
}
delay(10);
}

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

然后您需要安裝 NewPing [8] 和 Tiny4KOLED [9] 庫。之后,只需轉(zhuǎn)到“Sketch”菜單并選擇“Export compiled binary”(圖 10)。就是這樣。您可以在與您的代碼相同的文件夾中找到已編譯的 HEX 文件。只需使用 AVR ISP 編程器(例如 USBasp 或其他)使用 PCB 背面的可用引腳(GND、RESET、MISO、MOSI、SCK)對芯片進行編程。按照程序?qū)?a target="_blank">保險絲位進行編程,如圖 11 所示。從板上斷開編程器和電線,就是這樣:-)。

代碼

pYYBAGJT7nWAVDUqAAOwQ_DuiJc571.png

圖 8-從菜單中選擇合適的芯片系列(ATTiny25/45/85(無引導(dǎo)加載程序))

poYBAGJT7nCAUpynAASNlc2n5BY742.png

圖 9-ATtiny85 時鐘源選擇(8MHz,內(nèi)部)

pYYBAGJT7myAXpWZAALgRFVaDg8279.png

圖 10-找到和導(dǎo)出 HEX 文件(草圖菜單)

pYYBAGJT7meAHkFNAAK0uMxC9OE150.png

圖 11-使用 AVR ISP 編程器對電路板進行編程

組裝和測試

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

poYBAGJT7mOASOJNAAgLQ3oWoZY888.png

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

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

pYYBAGJT7l-AI873AAQMR1aL4gk942.png

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

材料清單

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

poYBAGJT7leAbSk_AAHd_fLOiK0727.png

圖 14-材料清單

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 超聲波
    +關(guān)注

    關(guān)注

    63

    文章

    3014

    瀏覽量

    138349
收藏 人收藏

    評論

    相關(guān)推薦

    超聲波測距儀研究

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

    超聲波測距儀的設(shè)計

    超聲波測距儀的設(shè)計。
    發(fā)表于 11-15 21:58

    數(shù)字超聲波測距儀的詳細剖析

    第十章 數(shù)字超聲波測距儀(SR-04超聲波測距模塊+四位數(shù)碼管)(Arduino邊做邊學(xué):從點亮Led到物聯(lián)網(wǎng))
    發(fā)表于 06-04 10:54

    如何去實現(xiàn)一種HY-SRF05超聲波測距模塊呢

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

    基于SRF05ATtiny85超聲波測距儀

    描述使用 SRF05ATtiny85超聲波測距儀超聲波測距儀是各種現(xiàn)實生活和機器人應(yīng)用
    發(fā)表于 06-23 08:49

    制作超聲波測距儀原理及實現(xiàn)

    超聲波測距儀通過測量超聲波發(fā)射到反射回來的時間差來測量與被測物體的距離。可以測量0.35-10m的距離。本款是國外不使用單片機的超聲波測距儀
    發(fā)表于 06-02 14:36 ?8572次閱讀
    制作<b class='flag-5'>超聲波</b><b class='flag-5'>測距儀</b>原理及<b class='flag-5'>實現(xiàn)</b>

    電子設(shè)計應(yīng)用超聲波測距儀的設(shè)計

    電子設(shè)計應(yīng)用超聲波測距儀的設(shè)計電子設(shè)計應(yīng)用超聲波測距儀的設(shè)計電子設(shè)計應(yīng)用超聲波測距儀的設(shè)計電子設(shè)
    發(fā)表于 12-16 17:46 ?11次下載

    超聲波測距儀的設(shè)計

    超聲波測距儀的設(shè)計,很好的學(xué)習資料,快來下載吧。
    發(fā)表于 03-23 17:35 ?0次下載

    HY-SRF05超聲波測距程序

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

    使用SRF05ATtiny85超聲波測距儀

    電子發(fā)燒友網(wǎng)站提供《使用SRF05ATtiny85超聲波測距儀.zip》資料免費下載
    發(fā)表于 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超聲波測距儀

    超聲波測距儀是各種現(xiàn)實生活和機器人應(yīng)用中的有用工具,例如避障和距離測量系統(tǒng)。超聲波測距儀通過發(fā)射 40 kHz 的超聲波脈沖來測量距離,該脈
    的頭像 發(fā)表于 07-25 09:39 ?2433次閱讀
    使用<b class='flag-5'>SRF05</b>和<b class='flag-5'>ATtiny85</b>的<b class='flag-5'>超聲波</b><b class='flag-5'>測距儀</b>

    使用Arduino的超聲波測距儀

    電子發(fā)燒友網(wǎng)站提供《使用Arduino的超聲波測距儀.zip》資料免費下載
    發(fā)表于 10-27 10:15 ?1次下載
    使用Arduino的<b class='flag-5'>超聲波</b><b class='flag-5'>測距儀</b>

    超聲波測距儀設(shè)計案例

    電子發(fā)燒友網(wǎng)站提供《超聲波測距儀設(shè)計案例.zip》資料免費下載
    發(fā)表于 11-29 14:43 ?0次下載
    <b class='flag-5'>超聲波</b><b class='flag-5'>測距儀</b>設(shè)計案例

    使用帶有Raspberry Pi的超聲波測距模塊構(gòu)建超聲波測距儀GUI

    電子發(fā)燒友網(wǎng)站提供《使用帶有Raspberry Pi的超聲波測距模塊構(gòu)建超聲波測距儀GUI.zip》資料免費下載
    發(fā)表于 12-26 10:40 ?0次下載
    使用帶有Raspberry Pi的<b class='flag-5'>超聲波</b><b class='flag-5'>測距</b>模塊構(gòu)建<b class='flag-5'>超聲波</b><b class='flag-5'>測距儀</b>GUI

    探究SRF05ATtiny85超聲波測距儀

    超聲波測距儀是各種現(xiàn)實生活和機器人應(yīng)用中的有用工具,例如避障和距離測量系統(tǒng)。超聲波測距儀通過發(fā)射一個 40KHz 的超聲波脈沖來測量距離,該
    的頭像 發(fā)表于 03-16 10:03 ?1065次閱讀
    探究<b class='flag-5'>SRF05</b>和<b class='flag-5'>ATtiny85</b>的<b class='flag-5'>超聲波</b><b class='flag-5'>測距儀</b>
    主站蜘蛛池模板: 亚洲成 人a影院青久在线观看| 亚洲AV久久无码精品九号| 我就去色色| 在线 无码 中文 强 乱| TIMI1TV天美传媒在线观看| 国产人人为我我为人人澡| 久久久影院亚洲精品| 色老汉网址导航| 樱花草动漫www| 国产成人无码WWW免费视频在线| 九色PORNY真实丨国产大胸| 人和拘一级毛片| 伊人久久国产精品| 国产高清精品自在久久| 老师小扫货水能么多叫出来| 天津相声广播在线收听| 最新国产三级在线不卡视频| 国产高清视频免费最新在线| 乱VODAFONEWIFI熟妇| 午夜国产精品视频在线| 98国产精品人妻无码免费| 国产呻吟久久久久久久92| 欧美九十老太另类| 一区二区三区无码高清视频| 高H高肉强J短篇NP| 恋夜影院支持安卓视频美女| 我解开了岳的乳第一个女人 | 忘忧草高清| 5G年龄确认我已满18免费| 国产午夜福利100集发布| 欧美疯狂做受xxxxx喷水| 在线播放一区| 国产综合在线视频| 色色色久久久免费视频| 97国产精品人妻无码免费| 金瓶梅 快播| 四虎一级片| 超碰视频在线观看| 蜜芽丅v新网站在线观看| 亚洲免费观看在线视频| 国产99久久九九精品无码不卡|