電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 2668|回復(fù): 0
收起左側(cè)

舵機(jī)基本原理與使用方法

[復(fù)制鏈接]

657

主題

1025

帖子

5598

積分

四級會員

Rank: 4

積分
5598
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2022-6-16 13:32:28 | 只看該作者 |只看大圖 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
第一:舵機(jī)基本簡介
7 [& M0 g2 X4 |# Z" c0 X4 |
2 S2 l, {! D7 k4 w9 \    在電子開發(fā)過程中,舵機(jī)是比較常用的電子元器件,價格也比較便宜,非常好找。金屬齒要比塑料齒要貴些,數(shù)字舵機(jī)比模擬舵機(jī)要貴些。, Z. |+ c4 G+ L: K# O

5 S' t- t& M' ~9 n ( ~& A( Z1 i# ]) ~) Z& [

8 s! b+ q% c5 B
( Z) A, F4 B- z- S$ p( Q% {# s0 X1 @! J0 R0 [: p
第二:舵機(jī)的作用
! q* [3 L& C$ n, T+ E      在機(jī)器人電控系統(tǒng)中,舵機(jī)控制效果是性能的重要影響因素。舵機(jī)可以在微機(jī)電系統(tǒng)中作為基本的輸出執(zhí)行機(jī)構(gòu),其簡單的控制和輸出使得單片機(jī)系統(tǒng)非常容易與之對接。
$ Z2 K' p$ a  O6 W! a7 D4 J( T' z1 j% e1 I& u8 Y7 `0 S2 C

9 T2 [  L1 s% o4 ^) K+ {5 x5 [
6 @. Z5 z* P4 a  l8 [$ P4 y    舵機(jī)是一種位置(角度)伺服的驅(qū)動器,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。目前,在高檔遙控玩具,如飛機(jī)、潛艇模型,遙控機(jī)器人中已經(jīng)得到了普遍應(yīng)用。
& O2 G# }; f, T, k1 \5 S主要用于需要輸出某一控制角度的場合,舵機(jī)可以根據(jù)控制信號來輸出指定的角度,常見的有0-90°、0-180°、0-360°,舵機(jī)除了能夠輸出最大角度不同之外,價格和性能參數(shù)沒有任何區(qū)別(同一型號而言)。  h0 @+ z7 m, U0 p+ F& ]
' j8 T0 s* k) T) F0 t
' k. C' y4 g7 b2 {5 c. }
第三:數(shù)字舵機(jī)和模擬舵機(jī)的區(qū)別是什么?模擬舵機(jī)和數(shù)字舵機(jī)接口是否通用?
+ y# |5 T  Y6 l9 K    數(shù)字舵機(jī)(Digital Servo)和模擬舵機(jī)(Analog Servo)在基本的機(jī)械結(jié)構(gòu)方面是完全一樣的,主要由馬達(dá)、減速齒輪、控制電路等組成,而數(shù)字舵機(jī)和模擬舵機(jī)的最大區(qū)別則體現(xiàn)在控制電路上,數(shù)字舵機(jī)的控制電路比模擬舵機(jī)的多了微處理器和晶振。不要小看這一點(diǎn)改變,它對提高舵機(jī)的性能有著決定性的影響。
. b* N: o9 M# u①處理接收機(jī)的輸入信號的方式。
- ]7 C' j' o* C( K8 h  H②控制舵機(jī)馬達(dá)初始電流的方式,減少無反應(yīng)區(qū)(對小量信號無反應(yīng)的控制區(qū)域),增加分辨率以及產(chǎn)生更大的固定力量。
! X8 s$ {& J1 N0 m9 `4 H1 I: R③實(shí)際應(yīng)用不同,數(shù)字舵機(jī)在位置準(zhǔn)確度方面要高于模擬舵機(jī)。在同樣標(biāo)稱1.6公斤的舵機(jī)面前數(shù)字舵機(jī)在實(shí)際表現(xiàn)中會感覺更加“力氣大”而模擬舵機(jī)就會“肉”點(diǎn)。模擬舵機(jī)由于控制芯片是模擬電路,所以即便是相同型號的舵機(jī)會存在小小的性能差異,而數(shù)字舵機(jī)在一致性方面就非常好。5 d5 ?: ^2 X6 F7 f

6 @& M# ^4 }: v& l/ B* c
4 y+ u# d! J3 y; K5 D第四:舵機(jī)的工作原理' c. ]3 ]6 M' c# S- W, y
    舵機(jī)主要是由外殼、電路板、驅(qū)動馬達(dá)、減速器與位置檢測元件所構(gòu)成。其工作原理是由接收機(jī)發(fā)出訊號給舵機(jī),經(jīng)由電路板上的 IC驅(qū)動無核心馬達(dá)開始轉(zhuǎn)動,透過減速齒輪將動力傳至擺臂,同時由位置檢測器送回訊號,判斷是否已經(jīng)到達(dá)定位。位置檢測器其實(shí)就是可變電阻,當(dāng)舵機(jī)轉(zhuǎn)動時電阻值也會隨之改變,此時由檢測電阻值便可知轉(zhuǎn)動的角度。一般的伺服馬達(dá)是將細(xì)銅線纏繞在三極轉(zhuǎn)子上,當(dāng)電流流經(jīng)線圈時便會產(chǎn)生磁場,與轉(zhuǎn)子外圍的磁鐵產(chǎn)生排斥作用,進(jìn)而產(chǎn)生轉(zhuǎn)動的作用力。依據(jù)物理學(xué)原理,物體的轉(zhuǎn)動慣量與質(zhì)量成正比,因此要轉(zhuǎn)動質(zhì)量愈大的物體,所需的作用力也愈大。舵機(jī)為求轉(zhuǎn)速快、耗電小,于是將細(xì)銅線纏繞成極薄的中空圓柱體,形成一個重量極輕的無極中空轉(zhuǎn)子,并將磁鐵置於圓柱體內(nèi),這就是空心杯馬達(dá)。; M: M( `3 c9 M8 t2 I% H, y8 W: R

9 }9 ?% v( H& M) W; [/ Q0 ?  _8 v
下面咱們針對具體型號,比如SG90模擬舵機(jī)和MG90S數(shù)字舵機(jī),來看看這兩者之間的區(qū)別。
7 `9 p* ?1 _7 M4 _: H3 S! }4 O$ {( Z首先,引腳都是兼容的三根線排列一致,分別是GND(棕色)、VCC(紅色)、PWM(黃色),控制方式也是一樣的PWM時序,具體對應(yīng)角度如下:
/ ~/ r, K& T. s
& h: ^/ ^& c0 s  a , g4 h' C5 K9 f4 m) }$ f) R. `
8 V) K! m) h9 O! s" j" L
    這里要注意,PWM波的頻率不能太高,大約50HZ,即周期0.02s,20ms左右,(為了方便大家使用,筆者已經(jīng)將驅(qū)動程序整理好,供大家點(diǎn)擊下載舵機(jī)驅(qū)動程序)+ e+ Z. Z; m  N) X

- W- X/ P1 y8 U6 y- w1 o
, f% i1 p( _# M) q( {: E所以如果要用12C5A60S2的PCA產(chǎn)生PWM波的話輸出頻率最低只能達(dá)到10khz左右,還是太高,無法驅(qū)動舵機(jī),因此需要使用定時器來實(shí)現(xiàn)。實(shí)際波形像下面這樣:- }# v8 t) v" A" E& [
5 V+ N1 T$ H9 ^3 R3 h' Z: \8 {5 s
0 {3 o  D! R* {& ?, {

8 a8 d3 v5 F" H8 x2 K8 H# ~$ D1 i. W/ L& e
+ C5 d$ b: I+ A/ h0 @5 _  o# O
( c9 r( S5 h, R& C7 ~  i' Y. z
為了更加形象地了解pwm波形和輸出角度的對應(yīng)關(guān)系,我們來看一張動圖,非常形象:: w9 b( T$ W# ~% B+ D" y! h; b1 j# d
0 D) p, ^! p8 {& F5 `

1 D1 E" g- x& r! F9 Q/ S& A
% Z& R4 N' D& ~' _6 p9 Y
3 G* f0 z! u5 e- d6 S- |# |- L' @  a8 l# b
因?yàn)橐紤]能耗問題,所以關(guān)于SG90模擬舵機(jī)和MG90S數(shù)字舵機(jī)工作電流可以分為幾種狀態(tài)。! y, x7 v: F+ n- ^  D9 c0 Z9 |
① 舵機(jī)上電,無pwm控制信號# C0 b8 \* L. K/ A
此時舵機(jī)不工作,靜態(tài)電流均為4mA左右,舵機(jī)不會自動復(fù)位,完全不動作。
& u2 y# _- p9 q0 C" _( _3 @② 舵機(jī)上電,有pwm控制信號,舵機(jī)工作在輸出到指定角度的過程中% r8 A+ Q6 u* x1 b4 P
此時舵機(jī)工作,需要消耗大約300mA的工作電流。
: ?6 k0 Y- @0 [4 ?  G0 {③舵機(jī)上電,有pwm控制信號,舵機(jī)已工作至指定角度
! Z3 t: z4 G& p! e7 m% N此時,舵機(jī)主要工作是維持指定角度,如果無外力抗拒,則消耗電流較小,SG90大約需要5mA,MG90S大約需要8mA左右。當(dāng)然如果有外力抗拒的話則輸出電流增大以抗拒外力。' k% K5 s9 C' p1 I: U) n
. R" @6 W7 r* n: Z) J" h

! M4 D% }/ e! T/ L" ]第五:舵機(jī)是否需要驅(qū)動電路?3 K' f- W: N# B2 G9 _0 n& ]
一般來講,舵機(jī)不需要特別的驅(qū)動電路,因?yàn)槎鏅C(jī)內(nèi)部已經(jīng)有驅(qū)動電路了,一般單片機(jī)IO口輸出的PWM波都可以驅(qū)動舵機(jī)。下圖是12C5A60S2驅(qū)動舵機(jī)的電路圖(p1.2沒用到)。
) D6 P5 \" ~, M1 J+ G' o" _; z% Y
- w6 p' R" ^9 v3 l

; Q" i: N# r& L2 B5 t9 f& \) A7 u; G' S. ?. P" s& C* f
4 j. k# p1 I: d& O# Q- w6 ]: ?
第六:舵機(jī)代碼實(shí)現(xiàn)參考
* B& T7 `& j, M! s8 V" w: k6 N/ s; c

) a+ @8 c% g4 Q' b8 D; P- h. M5 t' s1 L, x3 r

0 }  z: l9 B" V5 T/ C' i$ v: Y" J4 f7 _9 B6 a) @
1 c) d- Z3 p* S& J4 D2 b! q

$ I2 q8 u: N7 I$ n* M- L2 R9 W2 n, t- I3 F1 R8 D/ ^
9 [: V2 b8 p. E& `
5 z, a# @, _. `" ^7 D+ V0 _

; b0 M5 m1 a0 K0 J+ D1 ]1 |$ C$ R, y7 ~
9 w1 W% {$ S3 R7 C( L
7 ]- J. D' p9 S9 ], b
. \( A2 O2 b6 X7 ?
pwm_init(PWM1_P11, 50, 0);    while(1)  {   pwm_duty(PWM1_P11, 250);  //0°    delay_ms(1000);    pwm_duty(PWM1_P11, 500); //45°    delay_ms(1000);      pwm_duty(PWM1_P11, 750); //90°    delay_ms(1000);    pwm_duty(PWM1_P11, 1000); //135°    delay_ms(1000);    pwm_duty(PWM1_P11, 1250); //180°    delay_ms(1000);    }0 z' G% H- ^0 }6 i- K( V
& b" v' l1 x. G
$ ?3 s8 Z% }9 y2 |  c" _; m
) I' h' }! ^( L( c6 C# p, _
總結(jié):舵機(jī)是常用的傳感器器件,一般需要采用一個20ms的時基脈沖,該脈沖的高電平部分一般為0.5ms-2.5ms范圍內(nèi)的角度控制,總間隔為2ms。多實(shí)踐,方能走的更遠(yuǎn)。
回復(fù)

使用道具 舉報

發(fā)表回復(fù)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表