角度傳感器介紹和測(cè)量機(jī)理 角度
傳感器,顧名思義,是用來檢測(cè)角度的。它的身體中有一個(gè)孔,可以配合樂高的軸。當(dāng)連結(jié)到RCX上時(shí),軸每轉(zhuǎn)過1/16圈,角度
傳感器就會(huì)計(jì)數(shù)一次。往一個(gè)方向轉(zhuǎn)動(dòng)時(shí),計(jì)數(shù)增加,轉(zhuǎn)動(dòng)方向改變時(shí),計(jì)數(shù)減少。計(jì)數(shù)與角度
傳感器的初始位置有關(guān)。當(dāng)初始化角度
傳感器時(shí),它的計(jì)數(shù)值被設(shè)置為0,如果需要,你可以用編程把它重新復(fù)位。
金屬探測(cè)器 |
電導(dǎo)度計(jì) |
露點(diǎn)儀 |
探傷儀 |
溫度探頭 |
無紙記錄儀 |
泄露氣體檢測(cè)儀 |
粉塵計(jì) |
流量計(jì) |
風(fēng)速計(jì) |
其它儀器 |
驗(yàn)電筆 |
測(cè)厚儀 |
電源供應(yīng)器 |
相序表 |
氧氣檢測(cè) |
轉(zhuǎn)速表 |
鉗子 |
電池測(cè)試儀 |
折射計(jì) 通過計(jì)算旋轉(zhuǎn)的角度,你可以很容易的測(cè)出位置和速度。當(dāng)在機(jī)器人身上連接上輪子(或通過齒輪傳動(dòng)來移動(dòng)機(jī)器人)時(shí),可以依據(jù)旋轉(zhuǎn)的角度和輪子圓周數(shù)來推斷機(jī)器人移動(dòng)的距離。然后就可以把距離轉(zhuǎn)換成速度,你也可以用它除以所用時(shí)間。實(shí)際上,計(jì)算距離的基本方程式為:
距離=速度×?xí)r間 由此可以得到:
速度=距離/時(shí)間
如果把角度
傳感器連接到馬達(dá)和輪子之間的任何一根傳動(dòng)軸上,必須將正確的傳動(dòng)比算入所讀的數(shù)據(jù)。舉一個(gè)有關(guān)計(jì)算的例子。在你的機(jī)器人身上,馬達(dá)以3:1的傳動(dòng)比與主輪連接。角度
傳感器直接連接在馬達(dá)上。所以它與主動(dòng)輪的傳動(dòng)比也是3:1。也就是說,角度
傳感器轉(zhuǎn)三周,主動(dòng)輪轉(zhuǎn)一周。角度
傳感器每旋轉(zhuǎn)一周計(jì)16個(gè)單位,所以16*3=48個(gè)增量相當(dāng)于主動(dòng)輪旋轉(zhuǎn)一周。現(xiàn)在,我們需要知道齒輪的圓周來計(jì)算行進(jìn)距離。幸運(yùn)地是,每一個(gè)LEGO齒輪的輪胎上面都會(huì)標(biāo)有自身的直徑。我們選擇了體積最大的有軸的輪子,直徑是81.6CM(樂高使用的是公制單位),因此它的周長(zhǎng)是81.6×π=81.6×3.14≈256.22CM,F(xiàn)在已知量都有了:齒輪的運(yùn)行距離由48除角度所記錄的增量然后再乘以256。我們總結(jié)一下。稱R為角度
傳感器的分辨率(每旋轉(zhuǎn)一周計(jì)數(shù)值),G是角度
傳感器和齒輪之間的傳動(dòng)比率。我們定義I為輪子旋轉(zhuǎn)一周角度
傳感器的增量。即:
I=G×R
在例子中,G為3,對(duì)于樂高角度
傳感器來說,R一直為16.因此,我們可以得到:
I=3×16=48
每旋轉(zhuǎn)一次,齒輪所經(jīng)過的距離正是它的周長(zhǎng)C,應(yīng)用這個(gè)方程式,利用其直徑,你可以得出這個(gè)結(jié)論。
C=D×π
在我們的例子中:
C=81.6×3.14=256.22
最后一步是將
傳感器所記錄的數(shù)據(jù)-S轉(zhuǎn)換成輪子運(yùn)動(dòng)的距離-T,使用下面等式:
T=S×C/I
如果光電
傳感器讀取的數(shù)值為296,你可以計(jì)算出相應(yīng)的距離:
T=296×256.22/48=1580 距離(T)的單位與輪子直徑單位是相同的.
實(shí)際上,在程序不僅僅會(huì)用到乘法和除法的數(shù)學(xué)運(yùn)算,還有更多的需要多留心(有關(guān)內(nèi)容我們將在第12章進(jìn)行進(jìn)一步的討論)。
使用角度
傳感器來控制你的輪子可以間接的發(fā)現(xiàn)障礙物。原理非常簡(jiǎn)單:如果馬達(dá)運(yùn)轉(zhuǎn),而齒輪不轉(zhuǎn),說明你的機(jī)器已經(jīng)被障礙物給擋住了。此技術(shù)使用起來非常簡(jiǎn)單,而且非常有效;唯一要求就是運(yùn)動(dòng)的輪子不能在地板上打滑(或者說打滑次數(shù)太多),否則你將無法檢測(cè)到障礙物。如果是一個(gè)空轉(zhuǎn)的齒輪連接到馬達(dá)上就可以避免這個(gè)問題,這個(gè)輪子不是由馬達(dá)驅(qū)動(dòng)而是通過裝置的運(yùn)動(dòng)帶動(dòng)它:在驅(qū)動(dòng)輪旋轉(zhuǎn)的過程中,如果惰輪停止了,說明你碰到障礙物了。
在許多情況下角度
傳感器是非常有用的:控制手臂,頭部和其它可移動(dòng)部位的位置。值的注意的是,當(dāng)運(yùn)行速度太慢或太快時(shí),RCX在精確的檢測(cè)和計(jì)數(shù)方面會(huì)受到影響。事實(shí)上,問題并不是出在RCX身上,而是它的操作系統(tǒng),如果速度超出了其指定范圍,RCX就會(huì)丟失一些數(shù)據(jù)。Steve Baker用實(shí)驗(yàn)證明過,轉(zhuǎn)速在每分鐘50到300轉(zhuǎn)之間是一個(gè)比較合適的范圍,在此之內(nèi)不會(huì)有數(shù)據(jù)丟失的問題。然而,在低于12rpm或超過1400rm的范圍內(nèi),就會(huì)有部分?jǐn)?shù)據(jù)出現(xiàn)丟失的問題。而在12rpm至50rpm或者300rpm至1400rpm的范圍內(nèi)時(shí),RCX也偶會(huì)出現(xiàn)數(shù)據(jù)丟失的問題。