用pwm波控制舵机mg996

2019-08-14 16:54发布

我的程序将控制舵机占空比设置在2ms,程序跑时舵机不动,但是一直都抖,程序仅仅设置了pwm,然后while(1)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
sunnyhuang
1楼-- · 2019-08-14 22:21
Anyint 发表于 2017-8-8 01:04
楼主控制舵机动,需要不同的占空比奥,一般舵机中值是7.5的占空比,50Hz,20ms,大概1.5ms是中值吧,然后就 ...

循环改变占空比还是没用,一直抖动,就是不转。

int main(void)
{               

       
        delay_init();                     //延时函数初始化          
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);          //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
        uart_init(115200);         //串口初始化为115200
        LED_Init();                             //LED端口初始化
        TIM2_PWM_Init(1999,719);         //不分频。PWM频率=72000000/900=80Khz
                
           while(1)
        {
                                                                         
                            TIM_SetCompare2(TIM2,1850);
                     delay_ms(500);
                      TIM_SetCompare2(TIM2,1950);
                     delay_ms(500);
        }         
}
sunnyhuang
2楼-- · 2019-08-15 00:23
Anyint 发表于 2017-8-8 20:09
这个所谓的中值,看你最大给的pwm占空比是多少,然后才能确定中值大概是多少,我之前上面说的那些都是示 ...

没咋懂,我看网上20ms周期给1.5ms高电平算是零度,0.5——2.5之间都对应一个角度,而且我也是外接电源,5v,用学生电源是100mA左右,学生电源和单片机共地,调整角度的时候还给了百ms级的延时,没动劲,我们组昨天也才开始研究这个舵机,遇到的一样的问题。明天电子竞赛开始,关键时刻舵机还没弄出来,有点伤
拖沓天王没有塔
3楼-- · 2019-08-15 02:25
能把你的程序发我参考参考吗    我的舵机也一直没写对
Anyint
4楼-- · 2019-08-15 04:28
楼主控制舵机动,需要不同的占空比奥,一般舵机中值是7.5的占空比,50Hz,20ms,大概1.5ms是中值吧,然后就是改变不同的占空比使得这个高电平在1.5ms的时间左右的变化,舵机就能动(ps:你可以用函数信号发生器做实验试试)。
旺仔奶豆
5楼-- · 2019-08-15 06:50
 精彩回答 2  元偷偷看……
sunnyhuang
6楼-- · 2019-08-15 09:47
旺仔奶豆 发表于 2017-8-8 10:59
增加两个角度之间的差距试试  还有占空比最好不要设置到两端 靠中间点

不行a,你有没有例程

一周热门 更多>