找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5675|回复: 1
收起左侧

详解如何用STM32调整舵机角度

[复制链接]
ID:592405 发表于 2019-7-30 11:04 | 显示全部楼层 |阅读模式
在编写用PWM来控制舵机转动的32程序中,因为找不到如何让它转动适当的角度,所以询问了学长,知道了舵机转动0度代表它的占空比是2.5%,转动180度代表它的占空比是12.5%。
即设arr(自动重装载值)为x时。
转动角度所对应的值=(x+1)*(1-占空比)(将PWM极性设置为TIM_OCPolarity_High时)
程序如下:

int main(void)
{

        delay_init(); //延时函数初始化
        LED_Init();        //LED端口初始化
        TIM2_PWM_Init(1999,719); //不分频,PWM频率=72000000/720/2000=50hz        
        while(1)
        {        
                TIM_SetCompare2(TIM2,1950); //对应0度                2.5%
                    delay_ms(1000);        
                TIM_SetCompare2(TIM2, 1900); //对应45度                5%               
            delay_ms(1000);
                TIM_SetCompare2(TIM2, 1850); //对应90度                7.5%
                   delay_ms(1000);
                TIM_SetCompare2(TIM2, 1800); //对应135度                10%
                delay_ms(1000);
                TIM_SetCompare2(TIM2,1750); //对应180度                12.5%
                delay_ms(1000);
        }
}
转动角度所对应的值=(x+1)*占空比(将PWM极性设置为TIM_OCPolarity_Low时),程序如下:

int main(void)
{
        delay_init(); //延时函数初始化
        LED_Init();        //LED端口初始化
        TIM2_PWM_Init(1999,719); //不分频,PWM频率=72000000/720/2000=50hz        
        while(1)
        {        
                TIM_SetCompare2(TIM2,250); //对应180度          12.5%
                    delay_ms(1000);        
                TIM_SetCompare2(TIM2, 200); //对应135度        10%
            delay_ms(1000);
                TIM_SetCompare2(TIM2, 150); //对应90度        7.5%
            delay_ms(1000);
                TIM_SetCompare2(TIM2, 100); //对应45度        5%
                delay_ms(1000);
                TIM_SetCompare2(TIM2,50); //对应0度                2.5%
                delay_ms(1000);
        }
}用词如有不妥,请及时指出,多谢



评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:441949 发表于 2019-11-15 18:11 来自手机 | 显示全部楼层
更确切的描述是脉宽即脉冲宽度决定角度奥,有的舵机可能支持不仅仅50hz的信号,但脉宽1.5ms定义为中心角度是行业通用的。而且不同舵机转动范围不同,有90-180-270,用占空比定义会造成一些不便
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表