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