OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2897|回复: 1

关于舵机的角度计算

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2018-6-5
在线时间
1 小时
发表于 2018-6-5 13:20:33 | 显示全部楼层 |阅读模式
2金钱
我看不懂case0~4中angle的计算是怎么得来的 为什么要那样算 请问有人能帮忙解答一下吗 谢谢!
void SetJointAngle(u8 ID, float angle)
{
    switch(ID)
    {
        case 0:                                      //-90°~90°   
            angle=angle+90.0;                     
            angle=(u16)(50.0*angle/9.0+249.0);     
            TIM_SetCompare1(TIM3,angle);        
            break;
                                                 //0°~180°
        case 1:
            angle=(u16)(4.175*angle+409.25);
            TIM_SetCompare2(TIM3,angle);         
            break;


        case 2:                                    //-150°~0°
            angle=-angle;
            angle=(u16)(4.175*angle+480.0);
            TIM_SetCompare1(TIM4,angle);
            break;

        case 3:
            angle=-180-angle;
            angle=-angle;
            angle=(u16)(4.175*angle+315.0);


            TIM_SetCompare2(TIM4,angle);
            break;
                                              //-90°~90°
        case 4:
            angle=90.0+angle;
            angle=(u16)(249.0+50.0*angle/9.0);
            TIM_SetCompare3(TIM4,angle);            
            break;


        default: break;
    }   
}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6679
金钱
6679
注册时间
2015-8-25
在线时间
1036 小时
发表于 2018-6-5 18:28:11 | 显示全部楼层
你去了解下舵机的控制原理:这个舵机不一定要这样子算的,https://blog.csdn.net/zgb4052892 ... 89108?locationNum=3
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-30 13:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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