現(xiàn)在常用的舵機(jī)控制信號(hào)主要有 PWM 信號(hào)和串口總線信號(hào)兩種:其中PWM信號(hào)控制比較簡(jiǎn)單,但是功能只有一個(gè)即控制舵機(jī)轉(zhuǎn)動(dòng);串口總線信號(hào)控制則比較復(fù)雜,需要控制器有串口輸出功能,但是能實(shí)現(xiàn)較多的功能,除了可以控制舵機(jī)轉(zhuǎn)動(dòng)外還可以獲取舵機(jī)的各種信息以及對(duì)舵機(jī)進(jìn)行各種設(shè)置,具體需要配合相應(yīng)的協(xié)議文件使用。
以下描述怎么使用PWM
信號(hào)控制舵機(jī):
PWM 信號(hào):一種周期固定脈寬(高電平寬度)可變的連續(xù)電平信號(hào)。
PWM 信號(hào)產(chǎn)生方式有兩種:
第1種:由MCU的普通GPIO口輸出,分辨率較低,程序比較復(fù)雜,需要使用到定時(shí)器;
第2種:由MCU的硬件PWM輸出,分辨率較高,可以達(dá)到1us或更小,程序比較簡(jiǎn)單,須要MCU
具備硬件PWM功能;
在舵機(jī)控制中的 PWM 信號(hào)的參數(shù)一般為:周期=20ms,脈寬(高電平寬度)范圍=0.5ms~2.5ms。

舵機(jī)的轉(zhuǎn)動(dòng)角度由脈寬決定,例如某個(gè)舵機(jī)的總轉(zhuǎn)角為 180°,PWM脈寬范圍為0.5ms~2.5ms,那么
當(dāng)舵機(jī)接收到不同的脈寬信號(hào)時(shí)轉(zhuǎn)到對(duì)應(yīng)的位置:
注:信號(hào)脈寬和舵機(jī)角度是成線性關(guān)系的。
信號(hào)脈寬 | 舵機(jī)角度 |
0.5ms | 0° |
1.0ms | 45° |
1.5ms | 90° |
2.0ms | 135° |
2.5ms | 180° |

控制舵機(jī)轉(zhuǎn)動(dòng)效果:
1、 舵機(jī)鎖舵:
當(dāng)信號(hào)保持不變時(shí),舵機(jī)會(huì)保持在當(dāng)前位置,并且輸出的扭力會(huì)隨著負(fù)載大小不同而不同。
2、 舵機(jī)快速轉(zhuǎn)動(dòng):
當(dāng)信號(hào)改變時(shí),如信號(hào)從 1ms 變?yōu)?ms,舵機(jī)會(huì)從45°以最快速度轉(zhuǎn)到135°位置,這個(gè)速度會(huì)根據(jù)
舵機(jī)的本身性能以及負(fù)載大小有關(guān),一般會(huì)在規(guī)格書(shū)上標(biāo)注有空載時(shí)的最da轉(zhuǎn)速。
3、 舵機(jī)慢速轉(zhuǎn)動(dòng):
當(dāng)需要讓舵機(jī)慢慢轉(zhuǎn)動(dòng)時(shí),如舵機(jī)從 45°轉(zhuǎn)到135°位置需要耗時(shí)三秒,只需要計(jì)算出信號(hào)脈寬的變
化增量,在三秒的時(shí)間內(nèi)從 1ms 勻速增到2ms即可,增量越小則轉(zhuǎn)動(dòng)的效果越細(xì)膩。
程序例子:
一、由 MCU 的普通GPIO口輸出PWM:
#include 《reg51.h》
#define uchar unsigned char
#define uint unsigned int
sbit p10=P1^0;
uint aa;
void delay (uint z)
{
unsigned int x,a;
for(x=z;x>0;x--)
for(a=250;a>0;a--);
}
void timer0()interrupt 1 //定時(shí)器 1 為 0.1ms 一個(gè)周期, 輸出 1.5ms 脈寬信號(hào)
{
TH0=(65536-100)/256;
TL0=(65536-100)%256;
aa++;
if(aa>=200)aa=0;
if(aa<=15) //產(chǎn)生周期為 20ms,高電平為 1.5ms,
p10=1;
else
p10=0;
}
void init()
{
aa=0;
a=0;
p10=0;
TMOD=0x11;
TH0=(65536-100)/256;
TL0=(65536-100)%256;
EA=1;
ET0=1;
}
void main()
{
init();
TR0=1;
p10=1;
while(1)
{
}
}
二、由 MCU 的硬件 PWM 輸出 PWM 信號(hào):
Step1、初始化PWM功能,配置PWM時(shí)鐘為1us,周期為20000,占空比為0,信號(hào)電平為高電平有效。
Step2、當(dāng)需要改變信號(hào)時(shí),只需要在占空比寄存器中寫(xiě)入對(duì)應(yīng)的參數(shù)即可,如0.5ms則寫(xiě)入500,2.5ms則寫(xiě)入 2500.
-
PWM
+關(guān)注
關(guān)注
116文章
5530瀏覽量
219511 -
舵機(jī)
+關(guān)注
關(guān)注
17文章
298瀏覽量
41983 -
舵機(jī)控制
+關(guān)注
關(guān)注
3文章
46瀏覽量
22719 -
信號(hào)控制
+關(guān)注
關(guān)注
0文章
41瀏覽量
9354
發(fā)布評(píng)論請(qǐng)先 登錄
【嘉楠堪智K230開(kāi)發(fā)板試用體驗(yàn)】01 Studio K230開(kāi)發(fā)板Test1——舵機(jī)控制
是德示波器如何用數(shù)字通道快速定位PWM故障

舵機(jī)與電動(dòng)機(jī)的比較分析
舵機(jī)的類(lèi)型及其特點(diǎn)
【RA-Eco-RA4E2-64PIN-V1.0開(kāi)發(fā)板試用】+02+舵機(jī)控制+串口通訊
PWM信號(hào)生成方法 PWM調(diào)制原理講解
如何調(diào)試和測(cè)試PWM信號(hào) PWM和PWM信號(hào)產(chǎn)生器的區(qū)別
安信可Ai-WB2+舵機(jī)控制(SG90)

精準(zhǔn)掌控,從高德誠(chéng)智能舵機(jī)開(kāi)始
舵機(jī)在無(wú)人機(jī)中的應(yīng)用

評(píng)論