W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
伺服電機(jī)是一種有輸出軸的小型設(shè)備。通過向伺服發(fā)送編碼信號,可以將該軸定位到特定的角度位置。只要編碼信號存在于輸入線上,伺服將保持軸的角位置。如果編碼信號改變,則軸的角位置改變。實際上,伺服用于無線電控制的飛機(jī)中來定位控制面,如升降舵和方向舵。它們還用于無線電控制的汽車,木偶,當(dāng)然還有機(jī)器人。
伺服在機(jī)器人中非常有用。電機(jī)體積小,內(nèi)置控制電路,相對于它們尺寸來說非常強(qiáng)大。標(biāo)準(zhǔn)伺服如Futaba S-148具有42盎司/英寸的扭矩,這對于其尺寸來說是堅固的。它還吸取與機(jī)械負(fù)載成比例的功率。因此,輕負(fù)載伺服不會消耗太多能量。
伺服電機(jī)的內(nèi)膽如下圖所示。你可以看到控制電路,電機(jī),一組齒輪和外殼。你還可以看到連接到外部的3根電線。一個是接電源(+5伏),一個接地,而白線是控制線。
伺服電機(jī)有一些控制電路和一個連接到輸出軸上的電位器(一個可變電阻,也稱為電位器)。在上圖中,電位器可以在電路板的右側(cè)看到。該電位器允許控制電路監(jiān)視伺服電機(jī)的當(dāng)前角度。
如果軸處于正確的角度,則電機(jī)關(guān)閉。如果電路發(fā)現(xiàn)角度不正確,則會轉(zhuǎn)動電機(jī)直到處于所需的角度。伺服的輸出軸能夠在180度左右的地方移動。通常情況下,它是在210度范圍內(nèi)的某個地方,然而,這取決于制造商。正常伺服用于控制0至180度的角運(yùn)動。由于主輸出齒輪上的機(jī)械止動裝置,機(jī)械上它無法轉(zhuǎn)動更遠(yuǎn)。
施加到電機(jī)上的功率與其需要行進(jìn)的距離成比例。因此,如果軸需要轉(zhuǎn)動較大的距離,電機(jī)將以全速運(yùn)轉(zhuǎn)。如果只需要少量轉(zhuǎn)動,電機(jī)將以較低的速度運(yùn)轉(zhuǎn)。這稱為比例控制。
控制線用于傳達(dá)角度。該角度由施加到控制線的脈沖持續(xù)時間確定。這稱為脈沖編碼調(diào)制。伺服期望每20毫秒(0.02秒)看到一個脈沖。脈沖的長度將決定電機(jī)轉(zhuǎn)動的距離。例如,1.5毫秒脈沖將使電機(jī)轉(zhuǎn)到90度位置(通常稱為中性位置)。如果脈沖短于1.5毫秒,則電機(jī)將軸轉(zhuǎn)到更接近0度。如果脈沖長于1.5毫秒,則軸轉(zhuǎn)接近180度。
你將需要以下組件:
按照電路圖進(jìn)行連接,如下圖所示。
在計算機(jī)上打開Arduino IDE軟件。使用Arduino語言進(jìn)行編碼控制你的電路。通過單擊“New”打開一個新的草圖文件。
/* 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); }
伺服電機(jī)有三個端子:電源,接地和信號。電源線通常為紅色,應(yīng)連接到Arduino上的5V引腳。接地線通常為黑色或棕色,應(yīng)連接到ULN2003 IC(10-16)的一個端子。為了保護(hù)你的Arduino板免受損壞,你將需要一些驅(qū)動IC來處理這些。這里我們使用ULN2003 IC來驅(qū)動伺服電機(jī)。信號引腳通常為黃色或橙色,應(yīng)連接到Arduino引腳9。
分壓器是串聯(lián)電路中的電阻器,其將輸出電壓縮放到施加的輸入電壓的特定比例。下面是電路圖:
Vout是輸出電位,取決于施加的輸入電壓(Vin)和電阻(R1和R2)。這意味著流過R1的電流也將流過R2而不被分流。在上述等式中,隨著R的值改變,Vout相對于輸入電壓Vin而縮放。
通常,電位器是一個分壓器,它可以根據(jù)可變電阻的值而使用旋鈕來縮放電路的輸出電壓。它有三個引腳:GND,Signal和+5V,如下圖所示:
通過更改電位器的NOP位置,伺服電機(jī)將改變其角度。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: