舵機是什麽?
伺服電機通常被稱為(wei) 舵機,它是一種帶有輸出軸的小裝置。當我們(men) 向伺服器發送一個(ge) 控製信號時,輸出軸就可以轉到特定的位置。隻要控製信號持續不變,伺服機構就會(hui) 保持軸的角度位置不改變。如果控製信號發生變化,輸出軸的位置也會(hui) 相應發生變化。日常生活中,舵機常被用於(yu) 遙控飛機、遙控汽車、機器人等領域。
舵機在機器人領域非常有用。因為(wei) 舵機有內(nei) 置的控製電路,它們(men) 的尺寸雖然很小,但輸出力夠大。像Futaba S-148這樣的標準舵機能提供 0.3牛/米的扭矩,相對於(yu) 它的外形大小來說這已經足夠強大了。同時,舵機消耗的能量與(yu) 機械負荷成正比。因此,一個(ge) 輕載的舵機係統不會(hui) 消耗太多的能量。
舵機的內部結構
舵機的內(nei) 部結構如上圖所示。你可以看到控製電路,馬達,一組齒輪和外殼。
當然還包括電源線(+5V,紅色),地線(GND黑色)和PWM控製線(黃色或白色)。
舵機的工作原理
舵機內(nei) 部的控製電路,電位計(可變電阻器)和電機均被連接到電路板上,如內(nei) 部結構圖的右邊部分。控製電路通過電位計可監控舵機的當前角度。
如果軸的位置與(yu) 控製信號相符,那麽(me) 電機就會(hui) 關(guan) 閉。如果控製電路發現這個(ge) 角度不正確,它就會(hui) 控製馬達轉動,直到它達到指定的角度。舵機角度根據製造商的不同而有所不同。比如,一個(ge) 180度的舵機,它可以在0度至180度之間運動。由於(yu) 限位裝置被安裝在主輸出裝置上,超出這個(ge) 範圍機械結構就不能再轉動了。
舵機的輸出功率與(yu) 它所需要轉動的距離成正比。如果輸出軸需要轉動很長的距離,馬達就會(hui) 全速運轉,如果它隻需要短距離轉動,馬達就會(hui) 以較慢的速度運行,這叫做速度比例控製。
如何讓舵機轉到指定角度?
控製線用於(yu) 傳(chuan) 輸角度控製信號。這個(ge) 角度是由控製信號脈衝(chong) 的持續時間決(jue) 定的,這叫做脈衝(chong) 編碼調製(PCM)。舵機的控製一般需要一個(ge) 20ms左右的時基脈衝(chong) ,該脈衝(chong) 的高電平部分一般為(wei) 0.5ms-2.5ms範圍,總間隔為(wei) 2ms。脈衝(chong) 的寬度將決(jue) 定馬達轉動的距離。例如:1.5毫秒的脈衝(chong) ,電機將轉向90度的位置(通常稱為(wei) 中立位置,對於(yu) 180°舵機來說,就是90°位置)。如果脈衝(chong) 寬度小於(yu) 1.5毫秒,那麽(me) 電機軸向朝向0度方向。如果脈衝(chong) 寬度大於(yu) 1.5毫秒,軸向就朝向180度方向。以180度舵機為(wei) 例,對應的控製關(guan) 係是這樣的:
0.5ms————-0度;
1.0ms————45度;
1.5ms————90度;
2.0ms———–135度;
2.5ms———–180度;
用Arduino UNO 控製舵機
測試的硬件條件:
• 1 × Arduino UNO.
• 1 × 舵機.
• 1 × ULN2003 驅動IC(用於(yu) 防止直接通過Arduino驅動舵機造成問題.)
• 1 × 10 KΩ 電阻.
按照下圖所示進行連接,如圖所示:
打開Arduino IDE,新建一個(ge) 文件。
/* 使用可變電位計控製舵機轉動 */ #include Servo myservo; // 創建一個(ge) servo object int potpin = 0; // analog pin 用來連接電位計 int val; // val存儲(chu) analog pin的值 void setup() { myservo.attach(9); // 連接舵機控製信號(黃或白)至 pin 9 } void loop() { val = analogRead(potpin); // 讀出可變電位計的值 (範圍 0 - 1023) val = map(val, 0, 1023, 0, 180); // 按舵機角度進行設置 (範圍 0 - 180) myservo.write(val); //根據val值設置舵機位置 delay(15); }
連線注意:舵機有三個(ge) 引腳(電源、GND和信號)。電源線通常是紅色的,應該連接到Arduino控製板上的5V針腳;GND地線通常是黑色或棕色的,應該連接到ULN2003 IC上10-16針的任意一個(ge) ;信號線通常是黃色或白色的,應該連接到Arduino 9號引腳。
可變電位計
可變電位計是一個(ge) 分壓器,它可以根據可變電阻的值來調整電路的輸出電壓,電阻是通過旋鈕來控製的。它有三個(ge) 引腳:GND,信號, +5 V,如下圖所示
以上工作就緒並上傳(chuan) 代碼後,正常情況下當我們(men) 旋轉可變電位計,舵機將對應改變其角度位置。