|
第一:舵機(jī)基本簡(jiǎn)介
/ M6 q3 ~% Z* v0 ~" o0 e
( A4 i( L7 U% p) Q/ ~ 在電子開(kāi)發(fā)過(guò)程中,舵機(jī)是比較常用的電子元器件,價(jià)格也比較便宜,非常好找。金屬齒要比塑料齒要貴些,數(shù)字舵機(jī)比模擬舵機(jī)要貴些。
1 U" r6 [* P# A2 D( D( Y6 `, \2 s
7 t# F( p6 m- R# u) q B- {. k/ ^
舵機(jī)基本原理與使用方法-1.jpg (280.9 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
2022-6-16 14:17 上傳
+ ~/ }- U0 t" m. g6 I
: I% L/ Y0 u4 w% ]
4 }8 u3 E P4 a6 u$ F1 ~ o# ]( p0 m7 j) ? U
第二:舵機(jī)的作用
) ~! d0 O1 T- z2 ? 在機(jī)器人電控系統(tǒng)中,舵機(jī)控制效果是性能的重要影響因素。舵機(jī)可以在微機(jī)電系統(tǒng)中作為基本的輸出執(zhí)行機(jī)構(gòu),其簡(jiǎn)單的控制和輸出使得單片機(jī)系統(tǒng)非常容易與之對(duì)接。
! C6 R8 k u l8 ~
2 O. @5 m% V+ @) p$ E* E! H
舵機(jī)基本原理與使用方法-2.jpg (74.63 KB, 下載次數(shù): 4)
下載附件
保存到相冊(cè)
2022-6-16 14:17 上傳
4 k. q* M" L8 t) j: D( o6 \% g/ l9 m! z
舵機(jī)是一種位置(角度)伺服的驅(qū)動(dòng)器,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。目前,在高檔遙控玩具,如飛機(jī)、潛艇模型,遙控機(jī)器人中已經(jīng)得到了普遍應(yīng)用。/ v; h/ X# @+ H" r/ D
主要用于需要輸出某一控制角度的場(chǎng)合,舵機(jī)可以根據(jù)控制信號(hào)來(lái)輸出指定的角度,常見(jiàn)的有0-90°、0-180°、0-360°,舵機(jī)除了能夠輸出最大角度不同之外,價(jià)格和性能參數(shù)沒(méi)有任何區(qū)別(同一型號(hào)而言)。% M2 u& l7 h5 ? D, n/ Q
- F! A1 j4 z$ T- ~ S% d3 K" w# {
! _2 ?! m6 h3 z% L. d/ W第三:數(shù)字舵機(jī)和模擬舵機(jī)的區(qū)別是什么?模擬舵機(jī)和數(shù)字舵機(jī)接口是否通用?
3 O8 N9 [8 G" w) B; _ 數(shù)字舵機(jī)(Digital Servo)和模擬舵機(jī)(Analog Servo)在基本的機(jī)械結(jié)構(gòu)方面是完全一樣的,主要由馬達(dá)、減速齒輪、控制電路等組成,而數(shù)字舵機(jī)和模擬舵機(jī)的最大區(qū)別則體現(xiàn)在控制電路上,數(shù)字舵機(jī)的控制電路比模擬舵機(jī)的多了微處理器和晶振。不要小看這一點(diǎn)改變,它對(duì)提高舵機(jī)的性能有著決定性的影響。
7 c- A( T s- Q8 k1 K①處理接收機(jī)的輸入信號(hào)的方式。% C# M0 [' J5 W
②控制舵機(jī)馬達(dá)初始電流的方式,減少無(wú)反應(yīng)區(qū)(對(duì)小量信號(hào)無(wú)反應(yīng)的控制區(qū)域),增加分辨率以及產(chǎn)生更大的固定力量。8 y6 k( y4 d, A% ]3 ]5 n5 K6 a
③實(shí)際應(yīng)用不同,數(shù)字舵機(jī)在位置準(zhǔn)確度方面要高于模擬舵機(jī)。在同樣標(biāo)稱1.6公斤的舵機(jī)面前數(shù)字舵機(jī)在實(shí)際表現(xiàn)中會(huì)感覺(jué)更加“力氣大”而模擬舵機(jī)就會(huì)“肉”點(diǎn)。模擬舵機(jī)由于控制芯片是模擬電路,所以即便是相同型號(hào)的舵機(jī)會(huì)存在小小的性能差異,而數(shù)字舵機(jī)在一致性方面就非常好。
: k; w7 g$ E3 Q" h6 D! V; B: `% o$ r3 q5 j, J$ A+ d1 W4 D6 V
3 X# N9 c M/ d. q) P* T
第四:舵機(jī)的工作原理
- @9 q7 ?& L$ } 舵機(jī)主要是由外殼、電路板、驅(qū)動(dòng)馬達(dá)、減速器與位置檢測(cè)元件所構(gòu)成。其工作原理是由接收機(jī)發(fā)出訊號(hào)給舵機(jī),經(jīng)由電路板上的 IC驅(qū)動(dòng)無(wú)核心馬達(dá)開(kāi)始轉(zhuǎn)動(dòng),透過(guò)減速齒輪將動(dòng)力傳至擺臂,同時(shí)由位置檢測(cè)器送回訊號(hào),判斷是否已經(jīng)到達(dá)定位。位置檢測(cè)器其實(shí)就是可變電阻,當(dāng)舵機(jī)轉(zhuǎn)動(dòng)時(shí)電阻值也會(huì)隨之改變,此時(shí)由檢測(cè)電阻值便可知轉(zhuǎn)動(dòng)的角度。一般的伺服馬達(dá)是將細(xì)銅線纏繞在三極轉(zhuǎn)子上,當(dāng)電流流經(jīng)線圈時(shí)便會(huì)產(chǎn)生磁場(chǎng),與轉(zhuǎn)子外圍的磁鐵產(chǎn)生排斥作用,進(jìn)而產(chǎn)生轉(zhuǎn)動(dòng)的作用力。依據(jù)物理學(xué)原理,物體的轉(zhuǎn)動(dòng)慣量與質(zhì)量成正比,因此要轉(zhuǎn)動(dòng)質(zhì)量愈大的物體,所需的作用力也愈大。舵機(jī)為求轉(zhuǎn)速快、耗電小,于是將細(xì)銅線纏繞成極薄的中空?qǐng)A柱體,形成一個(gè)重量極輕的無(wú)極中空轉(zhuǎn)子,并將磁鐵置於圓柱體內(nèi),這就是空心杯馬達(dá)。 k3 _. L- R8 D1 {7 T, V" \
7 z: g. Y/ c! E) `0 j! b. E! }6 i9 \/ o/ u$ G
下面咱們針對(duì)具體型號(hào),比如SG90模擬舵機(jī)和MG90S數(shù)字舵機(jī),來(lái)看看這兩者之間的區(qū)別。/ U# g7 ~' z6 O! G
首先,引腳都是兼容的三根線排列一致,分別是GND(棕色)、VCC(紅色)、PWM(黃色),控制方式也是一樣的PWM時(shí)序,具體對(duì)應(yīng)角度如下:( ]) S {$ A2 N4 M
) Q' V# I- i8 \
舵機(jī)基本原理與使用方法-3.jpg (55.54 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
2022-6-16 14:17 上傳
; f: U6 C) g/ \1 k# B) N8 A
# ]3 q0 z+ R3 N% `) ^. w
這里要注意,PWM波的頻率不能太高,大約50HZ,即周期0.02s,20ms左右,(為了方便大家使用,筆者已經(jīng)將驅(qū)動(dòng)程序整理好,供大家點(diǎn)擊下載舵機(jī)驅(qū)動(dòng)程序)
3 u7 m! s: Q* u% z. R- @& u7 V4 m/ f9 u- u0 Z+ n
. h: G% u3 o7 a
所以如果要用12C5A60S2的PCA產(chǎn)生PWM波的話輸出頻率最低只能達(dá)到10khz左右,還是太高,無(wú)法驅(qū)動(dòng)舵機(jī),因此需要使用定時(shí)器來(lái)實(shí)現(xiàn)。實(shí)際波形像下面這樣:9 ?/ Z. X8 }' l* K+ L4 A; A! E. W
# R6 D4 E; i; Q: j7 b
舵機(jī)基本原理與使用方法-4.jpg (190.31 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
2022-6-16 14:17 上傳
4 m% ?6 M" A8 u6 Q
6 |+ j. A! n6 f' i! b" K
+ Y) e+ E" }( I% _3 O8 d, {8 _. f( `
2 M( \; u% i( v$ `" i
為了更加形象地了解pwm波形和輸出角度的對(duì)應(yīng)關(guān)系,我們來(lái)看一張動(dòng)圖,非常形象:0 b( L1 ~) a' v$ j4 z5 q8 j c, |- j
2 s6 D- @: P( ?
舵機(jī)基本原理與使用方法-5.jpg (49.16 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
2022-6-16 14:17 上傳
) A2 f v( {5 k* U# i2 W+ p
2 g% I. }0 @' m* V: G2 z) U/ O
" u0 r0 \1 {" R( P2 q+ n* J k
& ~1 ^5 t1 q' a1 G W: B因?yàn)橐紤]能耗問(wèn)題,所以關(guān)于SG90模擬舵機(jī)和MG90S數(shù)字舵機(jī)工作電流可以分為幾種狀態(tài)。- r1 Z% @ O3 {
① 舵機(jī)上電,無(wú)pwm控制信號(hào)
, n+ c8 j1 K; a. S) J+ D9 L此時(shí)舵機(jī)不工作,靜態(tài)電流均為4mA左右,舵機(jī)不會(huì)自動(dòng)復(fù)位,完全不動(dòng)作。3 r y5 u+ H; O1 D; i1 v
② 舵機(jī)上電,有pwm控制信號(hào),舵機(jī)工作在輸出到指定角度的過(guò)程中
6 `: z1 p8 q P0 X8 M此時(shí)舵機(jī)工作,需要消耗大約300mA的工作電流。
u; E3 d3 W6 a# U: x" ~③舵機(jī)上電,有pwm控制信號(hào),舵機(jī)已工作至指定角度
9 w3 _6 b' b6 H8 V T; K. ]此時(shí),舵機(jī)主要工作是維持指定角度,如果無(wú)外力抗拒,則消耗電流較小,SG90大約需要5mA,MG90S大約需要8mA左右。當(dāng)然如果有外力抗拒的話則輸出電流增大以抗拒外力。: d3 O/ k" d, s4 t" j
0 T' B! P7 v; ]0 x
3 p3 y& f G& A7 V2 {6 n. i0 H2 r
第五:舵機(jī)是否需要驅(qū)動(dòng)電路?+ m& [& y2 a& s3 L
一般來(lái)講,舵機(jī)不需要特別的驅(qū)動(dòng)電路,因?yàn)槎鏅C(jī)內(nèi)部已經(jīng)有驅(qū)動(dòng)電路了,一般單片機(jī)IO口輸出的PWM波都可以驅(qū)動(dòng)舵機(jī)。下圖是12C5A60S2驅(qū)動(dòng)舵機(jī)的電路圖(p1.2沒(méi)用到)。
9 W. w8 c! I' O m+ `; h# w! j: o) Z, c+ t( x/ r, f9 A
舵機(jī)基本原理與使用方法-6.jpg (23.25 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
2022-6-16 14:17 上傳
9 `6 x% F- ~! K) X- ~8 b& Y: C# L* L
2 o4 u4 e G9 u) ^( c0 m& l$ C9 F% y* }7 A" J
第六:舵機(jī)代碼實(shí)現(xiàn)參考3 H: P: ?; o7 I) U
! @, ]. g$ I8 H1 Y
/ T8 S: |' m& P5 \
; i, [" ^$ G0 s- y1 S. M
0 J: S1 a l; l; C0 Z7 A0 B, I6 s' H# C$ v/ I; B9 p' i& S4 c$ p
% K" f. h: U9 s/ ~/ S5 ?& h
]4 c! n2 v* D$ F4 B1 h' Q' r4 g. H7 L; ?* q r5 W O0 c
1 F4 p3 l+ ~- i: [! x8 X/ s2 H
5 c H* _0 ?' Y S5 H# ?7 p
# m/ o2 `, v( s2 o, c) J3 I9 U
5 Y% y8 N; n4 B4 F
7 m' Q9 T4 Z' t7 }% ]4 W
7 ]% `5 @2 o; _7 a" |; p4 x( ~ m( }$ Q: U( s) l
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); }7 F& m* J; }" Z7 n8 s
! @5 w) Q* J) m1 l4 i. J
* J h: d3 q3 D9 a' x- X
% V) n- K% \8 t/ G總結(jié):舵機(jī)是常用的傳感器器件,一般需要采用一個(gè)20ms的時(shí)基脈沖,該脈沖的高電平部分一般為0.5ms-2.5ms范圍內(nèi)的角度控制,總間隔為2ms。多實(shí)踐,方能走的更遠(yuǎn)。 |
|