舵機,是指在自動駕駛儀中操縱飛機舵面(操縱面)轉動的一種執行部件。分有:①電動舵機,由電動機、傳動部件和離合器組成。接受自動駕駛儀的指令信號而工作,當人工駕駛飛機時,由于離合器保持脫開而傳動部件不發生作用。②液壓舵機,由液壓作動器和旁通活門組成。當人工駕駛飛機時,旁通活門打開,由于作動器活塞兩邊的液壓互相連通而不妨害人工操縱。此外,還有電動液壓舵機,簡稱“電液舵機”。 舵機的大小由外舾裝按照船級社的規范決定,選型時主要考慮扭矩大小。如何審慎地選擇經濟且合乎需求的舵機,也是一門不可輕忽的學問。本文首先介紹了舵機工作原理,其次闡述了舵機控制原理及舵機的追隨特性,最后介紹了舵機的控制方法和舵機對速度的控制。
舵機工作原理 舵機的伺服系統由可變寬度的脈沖來進行控制,控制線是用來傳送脈沖的。脈沖的參數有最小值,最大值,和頻率。一般而言,舵機的基準信號都是周期為20ms,寬度為1.5ms。這個基準信號定義的位置為中間位置。舵機有最大轉動角度,中間位置的定義就是從這個位置到最大角度與最小角度的量完全一樣。最重要的一點是,不同舵機的最大轉動角度可能不相同,但是其中間位置的脈沖寬度是一定的,那就是1.5ms。如下圖:
pIYBAFsOFyiAJfesAAAfRAqPUjo235.jpg (7.82 KB, 下載次數: 62)
下載附件
2019-7-18 19:07 上傳
角度是由來自控制線的持續的脈沖所產生。這種控制方法叫做脈沖調制。脈沖的長短決定舵機轉動多大角度。例如:1.5毫秒脈沖會到轉動到中間位置(對于180°舵機來說,就是90°位置)。當控制系統發出指令,讓舵機移動到某一位置,并讓他保持這個角度,這時外力的影響不會讓他角度產生變化,但是這個是由上限的,上限就是他的最大扭力。除非控制系統不停的發出脈沖穩定舵機的角度,舵機的角度不會一直不變。 當舵機接收到一個小于1.5ms的脈沖,輸出軸會以中間位置為標準,逆時針旋轉一定角度。接收到的脈沖大于1.5ms情況相反。不同品牌,甚至同一品牌的不同舵機,都會有不同的最大值和最小值。一般而言,最小脈沖為1ms,最大脈沖為2ms。如下圖:
o4YBAFsOFvmAGZKRAAAyxtCKNeM979.jpg (12.69 KB, 下載次數: 61)
下載附件
2019-7-18 19:07 上傳
舵機控制原理 控制信號由接收機的通道進入信號調制芯片,獲得直流偏置電壓。它內部有一個基準電路,產生周期為20ms,寬度為1.5ms的基準信號,將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負輸出到電機驅動芯片決定電機的正反轉。當電機轉速一定時,通過級聯減速齒輪帶動電位器旋轉,使得電壓差為0,電機停止轉動。 舵機的控制一般需要一個20ms左右的時基脈沖,該脈沖的高電平部分一般為0.5ms-2.5ms范圍內的角度控制脈沖部分,總間隔為2ms。以180度角度伺服為例,那么對應的控制關系是這樣的: 0.5ms--------------0度; 1.0ms------------45度; 1.5ms------------90度; 2.0ms-----------135度; 2.5ms-----------180度; 舵機的追隨特性 假設現在舵機穩定在A點,這時候CPU發出一個PWM信號,舵機全速由A點轉向B點,在這個過程中需要一段時間,舵機才能運動到B點。 保持時間為Tw 當Tw≥△T時,舵機能夠到達目標,并有剩余時間; 當Tw≤△T時,舵機不能到達目標; 理論上:當Tw=△T時,系統最連貫,而且舵機運動的最快。 實際過程中w不盡相同,連貫運動時的極限△T比較難以計算出來。 當PWM信號以最小變化量即(1DIV=8us)依次變化時,舵機的分辨率最高,但是速度會減慢。
o4YBAFsOFwiAGwpeAAAem3YlIBM963.jpg (7.65 KB, 下載次數: 60)
下載附件
2019-7-18 19:07 上傳
舵機的控制方法 舵機一般用單片機或者數字電路控制。舵機工作主要跟控制線的高電平持續時間有關系,一般按0.5ms(毫秒)劃分,如果持續時間為0.5ms,1ms,1.5ms,2ms,2.5ms時,舵機會轉過不同的角度。 舵機的控制一般需要一個20ms左右的時基脈沖,該脈沖的高電平部分一般為0.5ms~2.5ms范圍內的角度控制脈沖部分。以180度角度伺服為例,那么對應的控制關系是為:脈沖 設置為 0.5ms旋轉角度為0度;脈沖 設置為 1.0ms旋轉角度為45度;脈沖 設置為 1.5ms旋轉角度為90度;脈沖 設置為 2.0ms旋轉角度為135度;脈沖 設置為 2.5ms旋轉角度為180度。
pIYBAFsOF1GAErEkAAAQtSmNJYo655.jpg (4.18 KB, 下載次數: 60)
下載附件
2019-7-18 19:07 上傳
舵機的速度控制 對于180度舵機: 舵機的轉動速度取決于起始角度和目標角度的差,差別越大轉得越快,當接近時就放慢角度。所以沒有專門的函數控制轉速。但在大角度轉動時,你可以用程序把它設成幾個小角度遞進,這樣可以放慢速度。也通過delay進行慢速,但快速的話只有加高電壓了 。 對于360度舵機: write()或者writeMicroseconds()的參數決定舵機的速度,但也可以通過delay()或者delayMicroseconds()來減速。
|