18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 基礎入門 >> 伺服電機與控製 >> 正文

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

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2019-05-30

舵機是什麽?

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

伺服電機通常被稱為(wei) 舵機,它是一種帶有輸出軸的小裝置。當我們(men) 向伺服器發送一個(ge) 控製信號時,輸出軸就可以轉到特定的位置。隻要控製信號持續不變,伺服機構就會(hui) 保持軸的角度位置不改變。如果控製信號發生變化,輸出軸的位置也會(hui) 相應發生變化。日常生活中,舵機常被用於(yu) 遙控飛機、遙控汽車、機器人等領域。

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

舵機的內部結構

伺服電機拆解結構詳解 

舵機的內(nei) 部結構如上圖所示。你可以看到控製電路,馬達,一組齒輪和外殼。

伺服電機的接線圖解 

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

舵機的工作原理

伺服電機的控製信號與(yu) 

舵機內(nei) 部的控製電路,電位計(可變電阻器)和電機均被連接到電路板上,如內(nei) 部結構圖的右邊部分。控製電路通過電位計可監控舵機的當前角度。

如果軸的位置與(yu) 控製信號相符,那麽(me) 電機就會(hui) 關(guan) 閉。如果控製電路發現這個(ge) 角度不正確,它就會(hui) 控製馬達轉動,直到它達到指定的角度。舵機角度根據製造商的不同而有所不同。比如,一個(ge) 180度的舵機,它可以在0度至180度之間運動。由於(yu) 限位裝置被安裝在主輸出裝置上,超出這個(ge) 範圍機械結構就不能再轉動了。

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

如何讓舵機轉到指定角度?

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

控製線用於(yu) 傳(chuan) 輸角度控製信號。這個(ge) 角度是由控製信號脈衝(chong) 的持續時間決(jue) 定的,這叫做脈衝(chong) 編碼調製(PCM)。舵機的控製一般需要一個(ge) 20ms左右的時基脈衝(chong) ,該脈衝(chong) 的高電平部分一般為(wei) 0.5ms-2.5ms範圍,總間隔為(wei) 2ms。脈衝(chong) 的寬度將決(jue) 定馬達轉動的距離。例如:1.5毫秒的脈衝(chong) ,電機將轉向90度的位置(通常稱為(wei) 中立位置,對於(yu) 180°舵機來說,就是90°位置)。如果脈衝(chong) 寬度小於(yu) 1.5毫秒,那麽(me) 電機軸向朝向0度方向。如果脈衝(chong) 寬度大於(yu) 1.5毫秒,軸向就朝向180度方向。以180度舵機為(wei) 例,對應的控製關(guan) 係是這樣的:

0.5ms————-0度;

1.0ms————45度;

1.5ms————90度;

2.0ms———–135度;

2.5ms———–180度;

用Arduino UNO 控製舵機

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

用Arduino UNO 控製舵機 

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

打開Arduino IDE 

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

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

可變電位計

可變電位計實物圖 

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

以上工作就緒並上傳(chuan) 代碼後,正常情況下當我們(men) 旋轉可變電位計,舵機將對應改變其角度位置。

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

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁麵
下到頁底
晶體管查詢