stm32 mpu6050 舵机云台支架跟随

硬件平台:stm32f103c8t6

传感器:mpu6050

源码+模块连接:链接

        最近的项目涉及到了运动控制,无刷电机,有刷电机,舵机,都在最近轮番登台。

        本身也是做电机控制的,对这些电机也都比较熟悉。

        在项目中用到了一个两轴舵机云台支架。感觉挺有趣,结合mpu6050传感器,做一个跟随角度运动的两轴云台。

 实验效果:

这个程序原理并不难,一共可以分三个步骤:

第一步:mpu6050 角度融合,利用DMP库采集实际的测量角度。

第二步:舵机控制

第三步:将mpu6050采集到的角度范围映射到舵机控制的数值范围

        mpu6050是IIC通信的,在这里我们用软件模拟iic协议,就是图片中的IIC.c那个文件,mpu6050.c那个文件是mpu6050初始化文件,这个文件需要配合数据手册来配置寄存器,也可以直接参考网上其它博客讲解的MPU6050的初始化配置。

        inv_mpu.c和inv_mpu_dmp_motion_driver.c这两个文件是DMP库,这个文件挺复杂的,里面感觉写的乱糟糟的,参与了角度获取和初始化,如果实在看不明白,可以直接把这些文件移植到你的工程中,毕竟只是取个角度而已。

        舵机控制在我之前的博客中有专题讲解,就是给一个50hz的pwm,在0.5ms-20ms的脉宽中控制角度。在这里不在讲解了。

         接下来是区间映射函数,这个函数还是挺好用的,可以在很多方面直接移植,完成区间映射的效果,达到事半功倍,这个是函数。具体用法参考一下工程吧,就不具体讲解了,不懂得话也可以给我留言。


float map(float value,float fromLow,float fromHigh,float toLow,float toHigh)
{
	return ((value-fromLow)*(toHigh-toLow)/(fromHigh-fromLow)+toLow);
}

        在测试的过程中发现云台会出现“赵四抽”的现象,用串口将角度数据打出后发现,是因为yaw的数值会发生跳动,传感器是我自己做的,怀疑焊接有虚焊,又焊一块,发现云台不在抽了,通过串口打出的角度数据也都比较平稳。

最后,希望大家实验顺利,学习愉快。

关注微信公众号:广乙电子(dlrcclub),有不懂得问题跟我说。

  • 12
    点赞
  • 144
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值