|
第一:舵機基本簡介* F, Q6 a6 P; Y2 V" q
* O0 ]" L+ V4 \
在電子開發(fā)過程中,舵機是比較常用的電子元器件,價格也比較便宜,非常好找。金屬齒要比塑料齒要貴些,數(shù)字舵機比模擬舵機要貴些。
$ q- N1 ?2 l' U: v0 V* C; S4 u( x; Q8 T4 k( C# ~
舵機基本原理與使用方法-1.jpg (280.9 KB, 下載次數(shù): 0)
下載附件
保存到相冊
2022-6-16 14:17 上傳
. [0 q0 F& |9 y: _1 h. R( w( n0 `4 H" u6 [1 I
$ n, u. Y3 F% ]8 a* ^9 o5 g% O6 |" }# C' V; H: d
第二:舵機的作用9 c) `# G/ I& o v
在機器人電控系統(tǒng)中,舵機控制效果是性能的重要影響因素。舵機可以在微機電系統(tǒng)中作為基本的輸出執(zhí)行機構(gòu),其簡單的控制和輸出使得單片機系統(tǒng)非常容易與之對接。" d$ A- u' |# L n' M
1 X( Y& u. w! Z# J+ H- q
舵機基本原理與使用方法-2.jpg (74.63 KB, 下載次數(shù): 1)
下載附件
保存到相冊
2022-6-16 14:17 上傳
0 w; A9 L) u# \9 \: Z$ f% {; Q
8 r( W4 B1 `/ e9 o) R5 H5 D6 A 舵機是一種位置(角度)伺服的驅(qū)動器,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。目前,在高檔遙控玩具,如飛機、潛艇模型,遙控機器人中已經(jīng)得到了普遍應(yīng)用。( [4 n7 T' K" c0 M0 U8 l
主要用于需要輸出某一控制角度的場合,舵機可以根據(jù)控制信號來輸出指定的角度,常見的有0-90°、0-180°、0-360°,舵機除了能夠輸出最大角度不同之外,價格和性能參數(shù)沒有任何區(qū)別(同一型號而言)。
* ?0 y# P$ Q9 f8 P# B
* K0 p+ f6 ]# d0 n
3 Z, c% S& u2 n( g7 k& O+ s第三:數(shù)字舵機和模擬舵機的區(qū)別是什么?模擬舵機和數(shù)字舵機接口是否通用?: b* L7 D7 P. _- s: o; f
數(shù)字舵機(Digital Servo)和模擬舵機(Analog Servo)在基本的機械結(jié)構(gòu)方面是完全一樣的,主要由馬達、減速齒輪、控制電路等組成,而數(shù)字舵機和模擬舵機的最大區(qū)別則體現(xiàn)在控制電路上,數(shù)字舵機的控制電路比模擬舵機的多了微處理器和晶振。不要小看這一點改變,它對提高舵機的性能有著決定性的影響。+ z. z6 y! D6 q5 m X
①處理接收機的輸入信號的方式。
8 o) |: I2 D C% [+ G; R/ V& k②控制舵機馬達初始電流的方式,減少無反應(yīng)區(qū)(對小量信號無反應(yīng)的控制區(qū)域),增加分辨率以及產(chǎn)生更大的固定力量。8 K) |6 W1 @6 h( l" Z* r. I
③實際應(yīng)用不同,數(shù)字舵機在位置準確度方面要高于模擬舵機。在同樣標稱1.6公斤的舵機面前數(shù)字舵機在實際表現(xiàn)中會感覺更加“力氣大”而模擬舵機就會“肉”點。模擬舵機由于控制芯片是模擬電路,所以即便是相同型號的舵機會存在小小的性能差異,而數(shù)字舵機在一致性方面就非常好。8 A/ D k+ z8 w2 e
0 e( U5 v* W! Y& Q- E
' z/ I0 Z) s7 I
第四:舵機的工作原理
& m6 k. Z4 e' X, n' |: q( v4 l 舵機主要是由外殼、電路板、驅(qū)動馬達、減速器與位置檢測元件所構(gòu)成。其工作原理是由接收機發(fā)出訊號給舵機,經(jīng)由電路板上的 IC驅(qū)動無核心馬達開始轉(zhuǎn)動,透過減速齒輪將動力傳至擺臂,同時由位置檢測器送回訊號,判斷是否已經(jīng)到達定位。位置檢測器其實就是可變電阻,當(dāng)舵機轉(zhuǎn)動時電阻值也會隨之改變,此時由檢測電阻值便可知轉(zhuǎn)動的角度。一般的伺服馬達是將細銅線纏繞在三極轉(zhuǎn)子上,當(dāng)電流流經(jīng)線圈時便會產(chǎn)生磁場,與轉(zhuǎn)子外圍的磁鐵產(chǎn)生排斥作用,進而產(chǎn)生轉(zhuǎn)動的作用力。依據(jù)物理學(xué)原理,物體的轉(zhuǎn)動慣量與質(zhì)量成正比,因此要轉(zhuǎn)動質(zhì)量愈大的物體,所需的作用力也愈大。舵機為求轉(zhuǎn)速快、耗電小,于是將細銅線纏繞成極薄的中空圓柱體,形成一個重量極輕的無極中空轉(zhuǎn)子,并將磁鐵置於圓柱體內(nèi),這就是空心杯馬達。! _" \0 K* D/ e4 m
" q Z( d3 m7 C" C H
# Q. ^4 l) i% y3 X/ K) s, O0 D下面咱們針對具體型號,比如SG90模擬舵機和MG90S數(shù)字舵機,來看看這兩者之間的區(qū)別。+ O8 y M) K3 o8 R8 ^1 z# ]
首先,引腳都是兼容的三根線排列一致,分別是GND(棕色)、VCC(紅色)、PWM(黃色),控制方式也是一樣的PWM時序,具體對應(yīng)角度如下:
4 }; \1 s$ Z8 b3 i$ U. I
$ N6 Q# K) Z; s& U% U
舵機基本原理與使用方法-3.jpg (55.54 KB, 下載次數(shù): 0)
下載附件
保存到相冊
2022-6-16 14:17 上傳
; F- x9 Q3 i/ v
% C% f2 r: a+ K! u& N
這里要注意,PWM波的頻率不能太高,大約50HZ,即周期0.02s,20ms左右,(為了方便大家使用,筆者已經(jīng)將驅(qū)動程序整理好,供大家點擊下載舵機驅(qū)動程序)
1 K( H' k o9 b& L+ i. I+ L( I* s3 e( C- ] ^1 i% N, H- @( _
- E, O, N( l2 t( {$ E8 [. R5 s2 m所以如果要用12C5A60S2的PCA產(chǎn)生PWM波的話輸出頻率最低只能達到10khz左右,還是太高,無法驅(qū)動舵機,因此需要使用定時器來實現(xiàn)。實際波形像下面這樣:
0 c) a. q( d7 D0 M* A; `6 S$ g% m8 V6 e6 Z+ c! R' o
舵機基本原理與使用方法-4.jpg (190.31 KB, 下載次數(shù): 0)
下載附件
保存到相冊
2022-6-16 14:17 上傳
) y) q H6 n7 e) s7 k6 b* l. `
0 c: G' ^% X; l" W, z4 M) Y8 h2 } N4 }7 O
! `- O! G1 Q% d* T% A. s
; L8 |5 E2 x3 W! g; F
為了更加形象地了解pwm波形和輸出角度的對應(yīng)關(guān)系,我們來看一張動圖,非常形象:; |; S: g7 ]+ i2 {, u% @# X
- H+ z8 d9 _+ r
舵機基本原理與使用方法-5.jpg (49.16 KB, 下載次數(shù): 0)
下載附件
保存到相冊
2022-6-16 14:17 上傳
& b/ n3 w7 O, t% K4 i: u( f$ L, _, A
# X; y6 M, y5 ~1 W/ A
1 w+ B& m, P( ?
因為要考慮能耗問題,所以關(guān)于SG90模擬舵機和MG90S數(shù)字舵機工作電流可以分為幾種狀態(tài)。
/ O9 R* R" {/ S" g① 舵機上電,無pwm控制信號- M) _. m" l0 c% g
此時舵機不工作,靜態(tài)電流均為4mA左右,舵機不會自動復(fù)位,完全不動作。: z6 C+ }2 E5 M2 S9 ^5 x) }
② 舵機上電,有pwm控制信號,舵機工作在輸出到指定角度的過程中
% x# u% O! ^" W. J2 E) }+ K此時舵機工作,需要消耗大約300mA的工作電流。
8 X% C' A: Q7 ]( j+ P③舵機上電,有pwm控制信號,舵機已工作至指定角度" R6 Q! j& W) E1 q
此時,舵機主要工作是維持指定角度,如果無外力抗拒,則消耗電流較小,SG90大約需要5mA,MG90S大約需要8mA左右。當(dāng)然如果有外力抗拒的話則輸出電流增大以抗拒外力。- s& C7 k2 I4 y6 j+ |% g
W6 E$ }) B4 u% j+ f- D. Q
' I. C6 z2 \ d" a& B
第五:舵機是否需要驅(qū)動電路?
: l9 k, [. o5 z# x& @( D' J9 n) P一般來講,舵機不需要特別的驅(qū)動電路,因為舵機內(nèi)部已經(jīng)有驅(qū)動電路了,一般單片機IO口輸出的PWM波都可以驅(qū)動舵機。下圖是12C5A60S2驅(qū)動舵機的電路圖(p1.2沒用到)。5 u$ c" W7 Z' Z. ^: r7 ~
4 @2 c3 Z! c7 j" }! `$ Q; C
舵機基本原理與使用方法-6.jpg (23.25 KB, 下載次數(shù): 1)
下載附件
保存到相冊
2022-6-16 14:17 上傳
% c: n! `. m# J$ I; J
' t7 t) T* {0 A: E" H' ]
5 N; H: X+ w" L: w. g9 [
1 a5 [1 E; M7 E0 s; m* @( m+ W! O第六:舵機代碼實現(xiàn)參考
2 R) d4 X" K8 a$ R8 }: l/ Z8 c. R6 `( V& y, C: \: ~
4 K4 t0 e! `( e7 M& Y/ Y
7 N. i- W5 O) K/ g6 l W' \, y
; I1 v+ {+ P5 k, ~
D g, K& k2 Q6 o
; m/ J4 L" L/ V2 J6 C1 O4 F4 O7 r, v4 E9 w$ Z7 T; X/ _- v$ t8 J
% N8 z; l7 Q4 ^+ f7 D
g* r% M8 {8 b9 `! y5 R
( F3 c" ]9 @$ {( O' k; i' z& A+ R/ v0 D6 ~
3 j' D, G* B# K+ Q+ k" g* u: M$ ?* I2 {# |: \2 ?
9 I& o+ I5 }) s) I0 f; m2 f/ Q/ s: k a. v: V
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); }; D) V/ l7 }' }! s8 B; \$ p! Q0 y/ c
9 `; |! ~5 n/ |) ]
0 @( b/ U# C. m3 u- E4 Q
$ w. l# D, P3 r J2 h* H/ a. o8 b" v總結(jié):舵機是常用的傳感器器件,一般需要采用一個20ms的時基脈沖,該脈沖的高電平部分一般為0.5ms-2.5ms范圍內(nèi)的角度控制,總間隔為2ms。多實踐,方能走的更遠。 |
|