loto示波器實踐——超聲波測距模塊 我們這里用到的超聲波測距模塊,一般是用于arduino智能小車自動避障的。經常見到的應用是使用單片機或者stm32和這種模塊結合進行開發的。 我們使用LOTO示波器可以更直觀和快速的看到超聲波測量距離模塊的工作波形和結果。使用LOTO示波器測量超聲波距離測量模塊,可以直接省去了單片機編程環節,讓測試更快速和直觀。 對于LOTO示波器而言,如果你手里的是帶有DE2擴展接口的型號,就直接把線纜接在DE2上,如果是只有DE1接口的型號,就把線纜接在DE1上。目前而言,帶有DE2接口的型號是肯定支持這個模塊的,只有DE1接口型號中,OSC482系列是肯定可以的。 這根線纜很簡單,是根據LOTO的擴展口的定義把電源和iO引腳引出來制作的。 這個超聲波距離測量傳感器只需要很少幾根線,一根3.3V/5v的電源,一根地線,一根IO線作為觸發就可以了。還有一個輸出引腳是距離輸出,我們直接用示波器探頭接就可以了。 loto示波器定義的DE-15擴展口上 14引腳是5V,15引腳是GND。DE-15有3個可以被上位機軟件控制的GPIO,我們使用其中的一個作為模塊的觸發輸入即可。我們使用引腳3的IO2。 我們把示波器的兩個通道,分別用探頭接到模塊的觸發輸入和它的距離測量輸出,這樣我們就能同時觀察輸入和輸出的波形了。 超聲波模塊距離測量的原理很簡單,只要在它的輸入引腳發送一個低電平到高電平的跳變,持續10微秒以上,再跳變到底電平,模塊就會被觸發進行測量距離。 我們手動操作示波器的上位機軟件來控制IO口的觸發變化,那么它的高電平持續時間是遠遠大于10微秒的,所以是可行的。 模塊的輸入被觸發了以后,它的內部會做一系列的操作,這個我們就不用管了,我們只要等待它的距離輸出結果就可以了。 測量完成模塊的輸出引腳會出現一個高電平,高電平的寬度就代表著實際距離前方障礙物的距離。我們只需要捕捉這個高電平寬度,就可以利用轉換公式將電平寬度轉換成距離。 這種用LOTO示波器接超聲波模塊測量距離的方法,可以用在智能檢測應用的二次開發中。 我們先隨便設置一個時間檔位,比如1毫秒,通道A我們接的是模塊的輸入信號,通道B接的是模塊的輸出信號。輸入信號是我們手動控制的IO口,是一個3.3V邏輯的GPIO,所以通道A的檔位我們選擇1V/DIV就可以。因為我們給模塊供電是5V的,所以模塊的輸出電平是5V的,我們可以使用探頭的X10檔,然后軟件設置使用0.2V/DIV。兩個通道都使用直流耦合。 我們使用示波器的觸發功能來捕獲模塊的觸發輸入。我們將觸發電平設置在0~3.3V之間即可,用下降沿觸發。 我們在軟件的擴展標簽頁里設置IO口控制為IO輸出,并且把IO2設置成低電平輸出狀態。這樣就都設置完畢了,我們可以開是在IO2輸出一個高電平觸發信號了。 我們先輸出高電平,然后輸出低電平,來觸發模塊開始測量距離。 我們看到已經觸發到了信號了,藍色的是通道A的IO2觸發信號,黃色的就是模塊的距離輸出電平信號。 黃色波形的高電平寬度就代表著被測量到的距離。 在LOTO示波器上有多種方式對這個時間寬度結果進行測量。我們可以拖動標尺測量,也可以用鼠標框選一個測量區域自動計算出時間跨度,也可以在波形的跳動邊沿放置浮動光標顯示時刻數值,也可以打開自動多點測量功能,讓系統自動標記跳變邊沿并直接自動顯示跳變邊沿之間的時間差值。 我們用擋板放在超聲波模塊前面不同的距離處,可以測到不同的高電平寬度的輸出信號。 相關測試過程的演示視頻可以參考: B站: https://www.bilibili.com/video/BV1wp4y187jB 西瓜:https://www.ixigua.com/6947962707840598541 |