當(dāng)前位置: 首頁(yè) > 工業(yè)控制產(chǎn)品 > 運(yùn)動(dòng)控制 > 伺服電機(jī)
發(fā)布日期:2022-10-09 點(diǎn)擊率:417
本文將討論以下內(nèi)容:
(單擊以下鏈接,跳到您所需的部分)
什么是伺服電機(jī)?
它們?nèi)绾喂ぷ鳎浚ɑ掘?qū)動(dòng)方法和技術(shù))
如何為應(yīng)用選擇伺服電機(jī)
使用 Arduino 平臺(tái)
什么是伺服電機(jī),它們的用途是什么,它們由什么組成,以及它們?nèi)绾喂ぷ鳎?/p>
伺服電機(jī)是一種根據(jù)控制信號(hào)確定軸轉(zhuǎn)動(dòng)位置的電機(jī),通常用于通過(guò)調(diào)整襟翼來(lái)控制遙控飛機(jī),進(jìn)行無(wú)人機(jī)飛行定位,在流量控制中用于閥門控制,或用于連續(xù)驅(qū)動(dòng)機(jī)器人的輪子。它們可用來(lái)定位或調(diào)整任何您所能想到的東西。伺服電機(jī)包括一個(gè)直流電機(jī)、一個(gè)控制電路、幾個(gè)扭力齒輪以及一個(gè)塑料外殼(見(jiàn)圖 1)。
圖 1:Parallax 的伺服電機(jī) 900-00005-ND,圖中露出的直流電機(jī)和齒輪用于轉(zhuǎn)動(dòng)電位計(jì),從而為控制 IC 提供反饋以對(duì)軸進(jìn)行定位。其中一個(gè)齒輪上有個(gè)凹槽,可限制只旋轉(zhuǎn) 180 度。如要進(jìn)行連續(xù)旋轉(zhuǎn),可以去掉這個(gè)凹槽。
伺服電機(jī)通過(guò)利用脈沖寬度調(diào)制 (PWM) 信號(hào)按順時(shí)針或逆時(shí)針?lè)较颍ň唧w取決于信號(hào)的脈沖寬度)旋轉(zhuǎn)軸,來(lái)對(duì)軸位置進(jìn)行控制。通常,1 ms 脈沖寬度會(huì)按順時(shí)針?lè)较蛐D(zhuǎn)軸,2 ms 脈沖寬度會(huì)按逆時(shí)針?lè)较蛐D(zhuǎn)軸。要將軸定位在 ? 位置(或中間位置),通常使用 1.5 ms 脈沖。每個(gè)脈沖之間將需要 20 ms 間隔。下圖 2 顯示每個(gè)位置的定時(shí)。
圖 2:不同軸位置的 PWM 定時(shí)
圖 3:Parallax 的規(guī)格書(shū)中所示的布線連接。
確定您需要的是有限旋轉(zhuǎn)(最大 180 度)還是連續(xù)旋轉(zhuǎn)。您還應(yīng)注意應(yīng)用所需的軸扭矩以及旋轉(zhuǎn)速度(以每分鐘轉(zhuǎn)數(shù) RPM 表示)。
如果您正在構(gòu)建一個(gè)移動(dòng)物體(如機(jī)器人),通常需使用連續(xù)旋轉(zhuǎn)伺服系統(tǒng)來(lái)驅(qū)動(dòng)輪子。另一方面,對(duì)于定位飛機(jī)模型的襟翼以進(jìn)行飛行控制、水閥、開(kāi)關(guān)或輔助機(jī)器人手臂所用的手柄等應(yīng)用,可以使用有限旋轉(zhuǎn)伺服系統(tǒng)。
圖 4:Parallax 的高速伺服電機(jī) 900-00025-ND(提供 150 RPM @ 6 VDC 的連續(xù)旋轉(zhuǎn))
下圖列出了一些可用的伺服系統(tǒng)模型。更多詳細(xì)信息及更多產(chǎn)品,請(qǐng)單擊此鏈接。
有限旋轉(zhuǎn)或連續(xù)旋轉(zhuǎn)Digi-Key 零件編號(hào)扭矩 - 額定值 (oz.-in)RPM直流工作電壓長(zhǎng)/寬/高英寸尺寸(毫米)有限900-00005-ND38限制為 180°4-62.2/0.8/1.6 (56/19/41)連續(xù)旋轉(zhuǎn)900-00008-ND38504-62.2/0.8/1.6 (56/19/41)連續(xù)旋轉(zhuǎn)900-00025-ND221806-82.2/0.8/1.6 (56/19/41)有限1568-1320-ND16.6限制為 160°4.8-60.91/0.46/1.14 (23/11.74/29)連續(xù)旋轉(zhuǎn)1528-1496-ND44.52564.8-62.1/0.8/1.5 (55/20/37)連續(xù)旋轉(zhuǎn)1597-1197-ND25.21004.8-60.90/0.452/0.94 (23/11.5/24) |
(如果您不熟悉 Arduino,可訪問(wèn)此文章鏈接了解更多信息)
最常用的一款 Arduino 板稱為“UNO”。還有幾個(gè)常用版本是我們分銷的產(chǎn)品,來(lái)自第三方 供應(yīng)商,例如 Adafruit、SparkFun、Seeed、DFRobot 等。我個(gè)人最喜歡的是來(lái)自 SparkFun 的 Red Board,這款產(chǎn)品在原始“UNO”板的基礎(chǔ)上新增了一些出色的改進(jìn)。我還使用過(guò) Adafruit 的“Flora”,它是一款性價(jià)比高且易于使用的圓形電路板。要查看 Digi-Key 的所有 Arduino 板,請(qǐng)單擊此鏈接。
圖 5:左側(cè)是 Arduino UNO,右側(cè)是 SparkFun 的 Red Board (UNO)。
如果您已熟悉如何 Arduino 板,可以跳過(guò)下面這一段:
我對(duì) Arduino 的描述如下:這是一款 IC 芯片和/或電路板,可在 Arduino IDE 這一常見(jiàn)的 IDE(集成開(kāi)發(fā)環(huán)境)中使用標(biāo)準(zhǔn) C 語(yǔ)言。您可以在 Arduino IDE 中創(chuàng)建代碼/軟件(即草圖),使主 IC 芯片(在常用電路板中為 ATMEGA328 微控制器)激活 I/O 引腳來(lái)執(zhí)行某些操作。您可以在 IDE 中的屏幕上獲得關(guān)于 IC 如何處理數(shù)據(jù)的反饋(使用串行命令),這類似于使用 Windows 超級(jí)終端模式查看來(lái)自外界的串行反饋。互聯(lián)網(wǎng)上提供了大量在線支持以及諸多書(shū)籍和示例代碼。Arduino 一直在更新其 IDE,所以請(qǐng)確保下載了最新版本。它們有許多示例代碼和功能庫(kù),因此電路板可以充分發(fā)揮其作用。正如其稱呼一樣,Arduino 板具有標(biāo)準(zhǔn)的引腳布局,而且還開(kāi)發(fā)出了一種稱為“盾板”的標(biāo)準(zhǔn)版,可以為電路板添加不同的功能——這里是 Digi-Key 提供的各種電路板的鏈接。
我們來(lái)看一下如何使用 Red Board 驅(qū)動(dòng)伺服電機(jī):
首先,下載最新版本的 Arduino IDE,并啟動(dòng)該程序。然后連接 Red Board。
該電路板使用 mini-B 轉(zhuǎn) A USB 電纜進(jìn)行供電,連接后請(qǐng)將您的草圖或編寫(xiě)的代碼下載到板載 MCU。在此示例中,使用了稱為“Servo- Sweep”的標(biāo)準(zhǔn)庫(kù)實(shí)例來(lái)驅(qū)動(dòng)伺服系統(tǒng)(見(jiàn)圖 6)。
圖 6:Servo Sweep 程序所在位置。
#include
Servo myservo; // create servo object to control a servo
// twelve servo objects can be created on most boards
int pos = 0; // variable to store the servo position
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
for (pos = 0; pos <= 180; pos += 1) // goes from 0 degrees to 180 degrees
// in steps of 1 degree
{
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
for (pos = 180; pos >= 0; pos -= 1) // goes from 180 degrees to 0 degrees
{
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}
圖 7:掃描程序的代碼。此程序是由 Scott Fitzgerald 通過(guò) BARRAGAN 修改而來(lái)的(如上述代碼所示)。
然后,將 USB 電纜插入電路板,并在 IDE 左上角的“Tools”下選擇“Arduino UNO”板。在同一菜單中,選擇“Port”,以驗(yàn)證程序是否選中了電路板所連接的 COM 端口。最后,單擊左上角的下載按鈕(指向右側(cè)的小箭頭)。幾秒鐘后,Red Board 的一些 LED 會(huì)閃爍(表示正在將已編譯程序下載到該電路板)。
然后,將伺服電機(jī)連接到一個(gè)單獨(dú)的電源,其地線與電路板的地線需連在一起(USB 電源只能驅(qū)動(dòng)這么多的電流,這時(shí)伺服系統(tǒng)有點(diǎn)噪音,其感應(yīng)脈沖會(huì)對(duì)電路板產(chǎn)生不利影響)。
要控制電機(jī),需要將 PWM 輸入連接到電路板上。通過(guò)查看上面的代碼,我們可以知道要將 PWM 輸出連接到引腳 9。通過(guò)上圖 3,使用白色引線或中間導(dǎo)線,將其連接到電路板的引腳 9。
現(xiàn)在可以開(kāi)始運(yùn)行程序了。程序首先按順時(shí)針?lè)较虮M可能將軸歸零,然后按逆時(shí)針?lè)较蚓徛龗呙?180 度,之后又按順時(shí)針?lè)较驓w零。使用示波器可以測(cè)量程序所產(chǎn)生的 PWM 脈沖寬度。我們會(huì)發(fā)現(xiàn) 90 度時(shí)為 1.5 ms,0 度或順時(shí)針擺動(dòng)時(shí)接近 600 μs。180 度或逆時(shí)針擺動(dòng)時(shí),PWM 脈沖接近 2.2 ms。說(shuō)明該程序運(yùn)行良好,您可以更改一些值來(lái)查看各種效果,例如更改鎖定位置,或者將延遲更改為較小的值以加快掃描速度。
上一篇: 索爾維全系列Solef?PV