回覆列表
  • 1 # 使用者1220686403821

    角度感測器

    開放分類:機器人、感測器、測速、角度測量、避障

    角度感測器,顧名思義,是用來檢測角度的。它的身體中有一個孔,可以配合樂高的軸。當連結到RCX上時,軸每轉過1/16圈,角度感測器就會計數一次。往一個方向轉動時,計數增加,轉動方向改變時,計數減少。計數與角度感測器的初始位置有關。當初始化角度感測器時,它的計數值被設定為0,如果需要,你可以用程式設計把它重新復位。

    透過計算旋轉的角度,你可以很容易的測出位置和速度。當在機器人身上連線上輪子(或透過齒輪傳動來移動機器人)時,可以依據旋轉的角度和輪子圓周數來推斷機器人移動的距離。然後就可以把距離轉換成速度,你也可以用它除以所用時間。實際上,計算距離的基本方程式為:

    距離=速度×時間

    由此可以得到:

    速度=距離/時間

    如果把角度感測器連線到馬達和輪子之間的任何一根傳動軸上,必須將正確的傳動比算入所讀的資料。舉一個有關計算的例子。在你的機器人身上,馬達以3:1的傳動比與主輪連線。角度感測器直接連線在馬達上。所以它與主動輪的傳動比也是3:1。也就是說,角度感測器轉三週,主動輪轉一週。角度感測器每旋轉一週計16個單位,所以16*3=48個增量相當於主動輪旋轉一週。現在,我們需要知道齒輪的圓周來計算行進距離。幸運地是,每一個LEGO齒輪的輪胎上面都會標有自身的直徑。我們選擇了體積最大的有軸的輪子,直徑是81.6CM(樂高使用的是公制單位),因此它的周長是81.6×π=81.6×3.14≈256.22CM。現在已知量都有了:齒輪的執行距離由48除角度所記錄的增量然後再乘以256。我們總結一下。稱R為角度感測器的解析度(每旋轉一週計數值),G是角度感測器和齒輪之間的傳動比率。我們定義I為輪子旋轉一週角度感測器的增量。即:

    I=G×R

    在例子中,G為3,對於樂高角度感測器來說,R一直為16.因此,我們可以得到:

    I=3×16=48

    每旋轉一次,齒輪所經過的距離正是它的周長C,應用這個方程式,利用其直徑,你可以得出這個結論。

    C=D×π

    在我們的例子中:

    C=81.6×3.14=256.22

    最後一步是將感測器所記錄的資料-S轉換成輪子運動的距離-T,使用下面等式:

    T=S×C/I

    如果光電感測器讀取的數值為296,你可以計算出相應的距離:

    T=296×256.22/48=1580距離(T)的單位與輪子直徑單位是相同的.

    使用角度感測器來控制你的輪子可以間接的發現障礙物。原理非常簡單:如果馬達運轉,而齒輪不轉,說明你的機器已經被障礙物給擋住了。此技術使用起來非常簡單,而且非常有效;唯一要求就是運動的輪子不能在地板上打滑(或者說打滑次數太多),否則你將無法檢測到障礙物。如果是一個空轉的齒輪連線到馬達上就可以避免這個問題,這個輪子不是由馬達驅動而是透過裝置的運動帶動它:在驅動輪旋轉的過程中,如果惰輪停止了,說明你碰到障礙物了。

    在許多情況下角度感測器是非常有用的:控制手臂,頭部和其它可移動部位的位置。值的注意的是,當執行速度太慢或太快時,RCX在精確的檢測和計數方面會受到影響。事實上,問題並不是出在RCX身上,而是它的作業系統,如果速度超出了其指定範圍,RCX就會丟失一些資料。SteveBaker用實驗證明過,轉速在每分鐘50到300轉之間是一個比較合適的範圍,在此之內不會有資料丟失的問題。然而,在低於12rpm或超過1400rm的範圍內,就會有部分資料出現丟失的問題。而在12rpm至50rpm或者300rpm至1400rpm的範圍內時,RCX也偶會出現資料丟失的問題。

  • 中秋節和大豐收的關聯?
  • 青豆茄子的做法步驟圖,青豆茄子怎麼做好吃?