欧美午夜欧美,台湾成人av,久久av一区,最近看过的日韩成人

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 基礎(chǔ)入門 >> 伺服電機與控制 >> 正文

秒懂舵機角度控制原理,伺服電機控制

作者:佚名    文章來源:本站原創(chuàng)    點擊數(shù):    更新時間:2019-05-30

舵機是什么?

舵機實物圖,伺服電機實物圖 

伺服電機通常被稱為舵機,它是一種帶有輸出軸的小裝置。當我們向伺服器發(fā)送一個控制信號時,輸出軸就可以轉(zhuǎn)到特定的位置。只要控制信號持續(xù)不變,伺服機構(gòu)就會保持軸的角度位置不改變。如果控制信號發(fā)生變化,輸出軸的位置也會相應(yīng)發(fā)生變化。日常生活中,舵機常被用于遙控飛機、遙控汽車、機器人等領(lǐng)域。

舵機在機器人領(lǐng)域非常有用。因為舵機有內(nèi)置的控制電路,它們的尺寸雖然很小,但輸出力夠大。像Futaba S-148這樣的標準舵機能提供 0.3牛/米的扭矩,相對于它的外形大小來說這已經(jīng)足夠強大了。同時,舵機消耗的能量與機械負荷成正比。因此,一個輕載的舵機系統(tǒng)不會消耗太多的能量。

舵機的內(nèi)部結(jié)構(gòu)

伺服電機拆解結(jié)構(gòu)詳解 

舵機的內(nèi)部結(jié)構(gòu)如上圖所示。你可以看到控制電路,馬達,一組齒輪和外殼。

伺服電機的接線圖解 

當然還包括電源線(+5V,紅色),地線(GND黑色)和PWM控制線(黃色或白色)。

舵機的工作原理

伺服電機的控制信號與動作的動畫圖 

舵機內(nèi)部的控制電路,電位計(可變電阻器)和電機均被連接到電路板上,如內(nèi)部結(jié)構(gòu)圖的右邊部分。控制電路通過電位計可監(jiān)控舵機的當前角度。

如果軸的位置與控制信號相符,那么電機就會關(guān)閉。如果控制電路發(fā)現(xiàn)這個角度不正確,它就會控制馬達轉(zhuǎn)動,直到它達到指定的角度。舵機角度根據(jù)制造商的不同而有所不同。比如,一個180度的舵機,它可以在0度至180度之間運動。由于限位裝置被安裝在主輸出裝置上,超出這個范圍機械結(jié)構(gòu)就不能再轉(zhuǎn)動了。

舵機的輸出功率與它所需要轉(zhuǎn)動的距離成正比。如果輸出軸需要轉(zhuǎn)動很長的距離,馬達就會全速運轉(zhuǎn),如果它只需要短距離轉(zhuǎn)動,馬達就會以較慢的速度運行,這叫做速度比例控制。

如何讓舵機轉(zhuǎn)到指定角度?

伺服電機舵機的控制信號動畫圖 

控制線用于傳輸角度控制信號。這個角度是由控制信號脈沖的持續(xù)時間決定的,這叫做脈沖編碼調(diào)制(PCM)。舵機的控制一般需要一個20ms左右的時基脈沖,該脈沖的高電平部分一般為0.5ms-2.5ms范圍,總間隔為2ms。脈沖的寬度將決定馬達轉(zhuǎn)動的距離。例如:1.5毫秒的脈沖,電機將轉(zhuǎn)向90度的位置(通常稱為中立位置,對于180°舵機來說,就是90°位置)。如果脈沖寬度小于1.5毫秒,那么電機軸向朝向0度方向。如果脈沖寬度大于1.5毫秒,軸向就朝向180度方向。以180度舵機為例,對應(yīng)的控制關(guān)系是這樣的:

0.5ms————-0度;

1.0ms————45度;

1.5ms————90度;

2.0ms———–135度;

2.5ms———–180度;

用Arduino UNO 控制舵機

測試的硬件條件:
• 1 × Arduino UNO.
• 1 × 舵機.
• 1 × ULN2003 驅(qū)動IC(用于防止直接通過Arduino驅(qū)動舵機造成問題.)
• 1 × 10 KΩ 電阻.
按照下圖所示進行連接,如圖所示:

用Arduino UNO 控制舵機 

打開Arduino IDE,新建一個文件。

打開Arduino IDE 

/* 使用可變電位計控制舵機轉(zhuǎn)動 */
#include
Servo myservo; // 創(chuàng)建一個 servo object
int potpin = 0; // analog pin 用來連接電位計
int val; // val存儲analog pin的值
void setup() {
myservo.attach(9); // 連接舵機控制信號(黃或白)至 pin 9
}
void loop() {
val = analogRead(potpin);
// 讀出可變電位計的值 (范圍 0 - 1023)
val = map(val, 0, 1023, 0, 180);
// 按舵機角度進行設(shè)置 (范圍 0 - 180)
myservo.write(val); //根據(jù)val值設(shè)置舵機位置
delay(15);
}

連線注意:舵機有三個引腳(電源、GND和信號)。電源線通常是紅色的,應(yīng)該連接到Arduino控制板上的5V針腳;GND地線通常是黑色或棕色的,應(yīng)該連接到ULN2003 IC上10-16針的任意一個;信號線通常是黃色或白色的,應(yīng)該連接到Arduino 9號引腳。

可變電位計

可變電位計實物圖 

可變電位計是一個分壓器,它可以根據(jù)可變電阻的值來調(diào)整電路的輸出電壓,電阻是通過旋鈕來控制的。它有三個引腳:GND,信號, +5 V,如下圖所示

以上工作就緒并上傳代碼后,正常情況下當我們旋轉(zhuǎn)可變電位計,舵機將對應(yīng)改變其角度位置。

Tags:舵機,角度控制,伺服電機  
責(zé)任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網(wǎng)友評論
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
主站蜘蛛池模板: 商南县| 金川县| 洮南市| 吉木萨尔县| 滨州市| 延寿县| 桐梓县| 五常市| 八宿县| 汉中市| 万荣县| 泰宁县| 吴川市| 沅江市| 盖州市| 永仁县| 三河市| 西峡县| 延长县| 越西县| 永胜县| 敖汉旗| 安义县| 三台县| 徐闻县| 瑞昌市| 凤庆县| 安福县| 陵水| 凤冈县| 郓城县| 中超| 雷山县| 象山县| 柞水县| 盐边县| 肃北| 乌鲁木齐县| 安阳县| 弥勒县| 孝昌县|