完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
材料清单:
降压模块 OLED 屏幕 按键 舵机 开发板 MPU-6050 实验概述: 将MPU-6050采集到的数据转换成欧拉角,并用OLED 屏幕显示;三轴云台与MPU-6050之间形成闭环控制系统,达成一个简单的平衡系统 舵机控制 舵机主要由可变宽度的脉冲来进行控制,控制线是用来传送脉冲的。脉冲的参数有最小值,最大值,和频率。一般而言,舵机的基准信号都是周期为20ms,宽度为1.5ms。这个基准信号定义的位置为中间位置(也就是90°)。舵机有最大转动角度,中间位置的定义就是从这个位置到最大角度与最小角度的量完全一样。 因此,控制舵机主要是使用单片机产生一个频率为50HZ的pwm波,再通过控制占空比来控制舵机转动的角度。转动角度与占空比的关系如图: MPU-6050 这是一些常用的寄存器 #define SMPLRT_DIV 0x19 //采样率分频,典型值:0x07(125Hz) */ #define CONFIG 0x1A // 低通滤波频率,典型值:0x06(5Hz) */ #define GYRO_CONFIG 0x1B // 陀螺仪自检及测量范围,典型值:0x18(不自检,2000deg/s) */ #define ACCEL_CONFIG 0x1C // 加速计自检、测量范围及高通滤波频率,典型值:0x01(不自检,2G,5Hz) */ #define ACCEL_XOUT_H 0x3B // 存储最近的X轴、Y轴、Z轴加速度感应器的测量值 */ #define ACCEL_XOUT_L 0x3C #define ACCEL_YOUT_H 0x3D #define ACCEL_YOUT_L 0x3E #define ACCEL_ZOUT_H 0x3F #define ACCEL_ZOUT_L 0x40 #define TEMP_OUT_H 0x41 // 存储的最近温度传感器的测量值 */ #define TEMP_OUT_L 0x42 #define GYRO_XOUT_H 0x43 // 存储最近的X轴、Y轴、Z轴陀螺仪感应器的测量值 */ #define GYRO_XOUT_L 0x44 #define GYRO_YOUT_H 0x45 #define GYRO_YOUT_L 0x46 #define GYRO_ZOUT_H 0x47 #define GYRO_ZOUT_L 0x48 #define PWR_MGMT_1 0x6B // 电源管理,典型值:0x00(正常启用) */ #define WHO_AM_I 0x75 //IIC地址寄存器(默认数值0x68,只读) */ 我使用的是正点原子的dmp姿态结算来读取角度。 连接MPU-6050的时候最好不要用杜邦线!!!把线头拆开用铜丝缠一下,不然很容易初始化不成功。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1379 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1369 浏览 1 评论
795 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
569 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1412 浏览 2 评论
1762浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
493浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
429浏览 3评论
416浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
395浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-2 03:01 , Processed in 0.947751 second(s), Total 48, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号