我們這里用到的超聲波測距模塊,一般是用于arduino智能小車自動避障的。經(jīng)常見到的應(yīng)用是使用單片機或者stm32和這種模塊結(jié)合進(jìn)行開發(fā)的。
我們使用LOTO示波器可以更直觀和快速的看到超聲波測量距離模塊的工作波形和結(jié)果。使用LOTO示波器測量超聲波距離測量模塊,可以直接省去了單片機編程環(huán)節(jié),讓測試更快速和直觀。
對于LOTO示波器而言,如果你手里的是帶有DE2擴展接口的型號,就直接把線纜接在DE2上,如果是只有DE1接口的型號,就把線纜接在DE1上。目前而言,帶有DE2接口的型號是肯定支持這個模塊的,只有DE1接口型號中,OSC482系列是肯定可以的。
這根線纜很簡單,是根據(jù)LOTO的擴展口的定義把電源和iO引腳引出來制作的。
這個超聲波距離測量傳感器只需要很少幾根線,一根3.3V/5v的電源,一根地線,一根IO線作為觸發(fā)就可以了。還有一個輸出引腳是距離輸出,我們直接用示波器探頭接就可以了。
loto示波器定義的DE-15擴展口上 14引腳是5V,15引腳是GND。DE-15有3個可以被上位機軟件控制的GPIO,我們使用其中的一個作為模塊的觸發(fā)輸入即可。我們使用引腳3的IO2。
我們把示波器的兩個通道,分別用探頭接到模塊的觸發(fā)輸入和它的距離測量輸出,這樣我們就能同時觀察輸入和輸出的波形了。
超聲波模塊距離測量的原理很簡單,只要在它的輸入引腳發(fā)送一個低電平到高電平的跳變,持續(xù)10微秒以上,再跳變到底電平,模塊就會被觸發(fā)進(jìn)行測量距離。
我們手動操作示波器的上位機軟件來控制IO口的觸發(fā)變化,那么它的高電平持續(xù)時間是遠(yuǎn)遠(yuǎn)大于10微秒的,所以是可行的。
模塊的輸入被觸發(fā)了以后,它的內(nèi)部會做一系列的操作,這個我們就不用管了,我們只要等待它的距離輸出結(jié)果就可以了。
測量完成模塊的輸出引腳會出現(xiàn)一個高電平,高電平的寬度就代表著實際距離前方障礙物的距離。我們只需要捕捉這個高電平寬度,就可以利用轉(zhuǎn)換公式將電平寬度轉(zhuǎn)換成距離。
這種用LOTO示波器接超聲波模塊測量距離的方法,可以用在智能檢測應(yīng)用的二次開發(fā)中。
我們先隨便設(shè)置一個時間檔位,比如1毫秒,通道A我們接的是模塊的輸入信號,通道B接的是模塊的輸出信號。輸入信號是我們手動控制的IO口,是一個3.3V邏輯的GPIO,所以通道A的檔位我們選擇1V/DIV就可以。因為我們給模塊供電是5V的,所以模塊的輸出電平是5V的,我們可以使用探頭的X10檔,然后軟件設(shè)置使用0.2V/DIV。兩個通道都使用直流耦合。