使用芯片:STM32 F103 C8T6
开源一款 MPU6050姿态手势控制二自由度云台 的设计程序与硬件清单,文章会贴出基本原理所需学习的文章连接,测试效果,元件清单,工程下载。
之前有做过二自由度机械臂的开发,但材料过于复杂,程序还未完善,这次简化清单,完善了程序发出来,二次开发与可复刻性变强了,整体材料费可以降得比较低:
目录
实物图与介绍:
程序工程下载:
演示视频:
材料清单:
接线:
基础原理学习:
MPU6050姿态角的解算:
舵机PWM配置:
OLED显示的一些原理:
注意点:
实物图与介绍:
这是个通过MPU6050陀螺仪控制的二自由度云台,OLED显示横滚角与俯仰角以及温度信息,激光头可以标识走过的路径,控制了开发成本,稳定性一般,陀螺仪数据置信度方面,使用了一阶互补滤波。
程序工程下载:
https://download.csdn.net/download/qq_64257614/88297818
演示视频:
MPU6050姿态手势控制:二自由度云台
材料清单:
元器件 | 个数 | 实物参考图 |
STM32F103C8T6最小系统板 | 1 | |
MG996R舵机 | 2 | |
MP24825A稳压芯片 | 1 | |
0.96寸OLED | 1 | |
激光笔 | 1 | (略) |
MPU6050陀螺仪 | 1 | |
杜邦线 | 若干 | (略) |
电源 | 1 | (电源注意选择 7~30V) |
接线:
/*
OLED显示: SCL:PB6 SDA:PB7
MPU6050 : SCL:PA2 SDA:PA3
底座舵机: Signal: PA7
头部舵机: Signal: PA6
*/
其中舵机与单片机可以接在MP24825A稳压芯片上供电以及信号线转接(舵机信号线可以通过稳压模块上的S-S对应口转接给单片机),注意这是稳压芯片,需要接电源。
基础原理学习:
MPU6050姿态角的解算:
难点在数据抖动,数据置信度提升,读懂IIC通信地址,移植IIC软件模拟时序代码,这都十分耗费时间:STM32 F103C8T6学习笔记6:IIC通信__驱动MPU6050 6轴运动处理组件—一阶互补滤波_
STM32 F103C8T6学习笔记6:IIC通信__驱动MPU6050 6轴运动处理组件—一阶互补滤波_NULL指向我的博客-CSDN博客
舵机PWM配置:
单片机定时器三个通道输出PWM控制舵机旋转,PWM频率固定,通过改变占空比来调整角度 ,主要是理解频率与占空比,定时器时钟树配置,定时器选择时钟源,定时器分频重载值的选定,计算定时器定时溢出频率:
STM32 F103C8T6学习笔记5:定时器输出不同占空比PWM驱动舵机旋转角度_NULL指向我的博客-CSDN博客
OLED显示的一些原理:
STM32 F103C8T6学习笔记8:0.96寸单色OLED显示屏显示字符_NULL指向我的博客-CSDN博客
STM32 F103C8T6学习笔记9:0.96寸单色OLED显示屏—自由取模显示—显示汉字与图片_NULL指向我的博客-CSDN博客
注意点:
1.舵机在安装时需要结合程序,确定其0度位置、转动方向 后再安装,先写个简单的转动函数实测哪个位置比较好了在安装。
2.MPU6050朝向要正确,否则出现倒转反转情况,具体手持朝向可以看我视频