標(biāo)題:
stm32與51控制舵機(jī)108度來(lái)回運(yùn)動(dòng)的源程序與原理(動(dòng)態(tài)圖片演示)
[打印本頁(yè)]
作者:
黑哈哈
時(shí)間:
2018-4-25 15:47
標(biāo)題:
stm32與51控制舵機(jī)108度來(lái)回運(yùn)動(dòng)的源程序與原理(動(dòng)態(tài)圖片演示)
通過(guò)stm32實(shí)現(xiàn)舵機(jī)108度來(lái)回運(yùn)動(dòng)
根據(jù)工作原理,舵機(jī)的具體控制方法就是需要一個(gè)20ms左右的時(shí)基脈沖,
該脈沖的高電平部分一般為0.5ms~2.5ms范圍內(nèi)的角度控制脈沖部分。
脈沖寬度從0.5ms~2.5ms,相對(duì)應(yīng)舵盤(pán)的位置為0~180度,呈線性變化。
***************一般舵機(jī)脈沖寬度20ms,高電平寬度與角度對(duì)應(yīng)關(guān)系***********
0.5ms————0度;
1.0ms————45度;
1.5ms————90度;
2.0ms————135度;
2.5ms————180度;
根據(jù)上面的原理,我們知道單片機(jī)只要產(chǎn)生20ms的脈沖信號(hào),通過(guò)改變高電平時(shí)間從0.5ms到2.5ms變化,就能使舵機(jī)轉(zhuǎn)動(dòng)到對(duì)應(yīng)的角度
舵機(jī)控制原理動(dòng)態(tài)圖片演示:
Servo.gif
(112.72 KB, 下載次數(shù): 85)
下載附件
2018-4-25 19:05 上傳
stm32單片機(jī)源程序如下:
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "pwm.h"
int main(void)
{
delay_init(); //延時(shí)函數(shù)初始化
LED_Init(); //初始化與LED連接的硬件接口
TIM1_PWM_Init(199,7199);//不分頻。PWM頻率===(7200*200)/72000000=0.02=20ms
while(1)
{
TIM_SetCompare1(TIM1,195);
delay_ms(500);
TIM_SetCompare1(TIM1,190);
delay_ms(500);
TIM_SetCompare1(TIM1,185);
delay_ms(500);
TIM_SetCompare1(TIM1,180);
delay_ms(500);
TIM_SetCompare1(TIM1,175);
delay_ms(500);
TIM_SetCompare1(TIM1,170);
delay_ms(500);
TIM_SetCompare1(TIM1,175);
delay_ms(500);
TIM_SetCompare1(TIM1,180);
delay_ms(500);
TIM_SetCompare1(TIM1,185);
delay_ms(500);
}
}
復(fù)制代碼
51單片機(jī):
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit pwm=P0^0;
sbit key7=P3^7;
uchar count=0;
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void Timer0_Init()
{
TMOD=0x01;
TH0=(65536-200)/256;
TL0=(66636-200)%256;
EA=1;
ET0=1;
TR0=0;
}
void Timer0()interrupt 1
{
TH0=(65536-200)/256;
TL0=(66636-200)%256;
if(count<30)
pwm=1;
else
pwm=0;
count++;
if(count==100)
{
TR0=0;
count=0;
}
}
void keyscan()
{
if(key7==0)
{
delayms(10);
if(key7==0)
{
while(!key7);
TR0=1;
}
}
}
void main()
{
Timer0_Init();
……………………
…………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
0.jpg
(34.71 KB, 下載次數(shù): 61)
下載附件
2018-4-25 19:05 上傳
所有資料51hei提供下載:
PWM舵機(jī).zip
(3.04 MB, 下載次數(shù): 126)
2018-4-25 15:46 上傳
點(diǎn)擊文件名下載附件
舵機(jī)程序
下載積分: 黑幣 -5
作者:
1246698540
時(shí)間:
2019-3-10 20:03
感謝分享
作者:
wangjiexiang
時(shí)間:
2019-8-4 15:14
謝謝分享
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1