伺服電機是一種有輸出軸的小型設備,通過向伺服發(fā)送編碼信號,可以將該軸定位到特定的角度位置。只要編碼信號存在于輸入線上,伺服將保持軸的角位置。如果編碼信號改變,則軸的角位置改變。實際上,伺服用于無線電控制的飛機中來定位控制面,如升降舵和方向舵。它們還用于無線電控制的汽車、木偶,當然還有機器人。
電機體積小,內置控制電路,相對于它們的尺寸來說非常強大。標準伺服如Futaba S-148具有42盎司/英寸的扭矩,這對于其尺寸來說是堅固的。它還吸取與機械負載成比例的功率。因此,輕負載伺服不會消耗太多能量。
伺服電機的內膽。你可以看到控制電路、電機、一組齒輪和外殼。你還可以看到連接到外部的3根電線。一個是接電源(+5伏),一個是接地,而白線是控制線。
伺服電機的工作
伺服電機有一些控制電路和一個連接到輸出軸上的電位器(一個可變電阻,也稱為電位器)。電位器可以在電路板的右側看到,該電位器允許控制電路監(jiān)視伺服電機的當前角度。
如果軸處于正確的角度,則電機關閉。如果電路發(fā)現(xiàn)角度不正確,則會轉動電機直到處于所需的角度。伺服的輸出軸能夠在180度左右的地方移動。通常情況下,它是在210度范圍內的某個地方,然而,這取決于制造商。正常伺服用于控制0至180度的角運動。由于主輸出齒輪上的機械止動裝置,機械上它無法轉動更遠。
施加到電機上的功率與其需要行進的距離成比例。因此,如果軸需要轉動較大的距離,電機將以全速運轉。如果只需要少量轉動,電機將以較低的速度運轉。這稱為比例控制。
如何溝通伺服應該轉動的角度?
控制線用于傳達角度。該角度由施加到控制線的脈沖持續(xù)時間確定,這稱為脈沖編碼調制。伺服期望每20毫秒(0.02秒)看到一個脈沖。脈沖的長度將決定電機轉動的距離。例如,1.5毫秒脈沖將使電機轉到90度位置(通常稱為中性位置)。如果脈沖短于1.5毫秒,則電機將軸轉到更接近0度。如果脈沖長于1.5毫秒,則軸轉到接近180度。
必需的組件
你將需要以下組件:
* 1 × Arduino UNO板
* 1 × 伺服電機
* 1 × ULN2003驅動IC
* 1 × 10kΩ電阻
程序
按照電路圖進行連接。
草圖
在計算機上打開Arduino IDE軟件,使用Arduino語言進行編碼控制你的電路。通過單擊“New”打開一個新的草圖文件。
Arduino代碼
/* Controlling a servo position using a potentiometer (variable resistor) */
#include <Servo.h>
Servo myservo; // create servo object to control a servo
int potpin = 0; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
val = analogRead(potpin);
// reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 0, 180);
// scale it to use it with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
delay(15);
}
代碼說明
伺服電機有三個端子:電源、接地和信號。電源線通常為紅色,應連接到Arduino上的5V引腳。接地線通常為黑色或棕色,應連接到ULN2003 IC(10-16)的一個端子。為了保護你的Arduino板免受損壞,你將需要一些驅動IC來處理這些。這里我們使用ULN2003 IC來驅動伺服電機。信號引腳通常為黃色或橙色,應連接到Arduino引腳9。
連接電位器
分壓器是串聯(lián)電路中的電阻器,其將輸出電壓縮放到施加的輸入電壓的特定比例,下面是電路。
Vout是輸出電位,取決于施加的輸入電壓(Vin)和電阻(R1和R2)。這意味著流過R1的電流也將流過R2而不被分流。在上述等式中,隨著R的值改變,Vout相對于輸入電壓Vin而縮放。
通常,電位器是一個分壓器,它可以根據(jù)可變電阻的值而使用旋鈕來縮放電路的輸出電壓。它有三個引腳:GND,Signal和+5V。
結果
通過更改電位器的NOP位置,伺服電機將改變其角度。