logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

STM32平衡车开发日记— MPU6050欧拉角解算(互补滤波)

要点说明1陀螺仪积分会漂移零偏被 dt 无限放大,1 分钟歪 30°不是梦2加速度计不漂但抖运动加速度混入,高频毛刺严重3互补滤波取长补短陀螺仪管动态 + 加速度计拽静态,α=0.952384用atan2不用atan象限正确、范围 [-180°,+180°]、x=0 不炸5Roll 要取反芯片 Y 轴方向与右手定则反号6PERIODIC保证精确 dt定时器宏简化代码,无需手动计时。

#stm32
STM32平衡车开发日记 — 编码器T法测速(附3个隐蔽Bug排查实录) —基于铁头山羊教程

C 语言整数除法的坑int / int结果还是int,很多初学者在这栽跟头。写完公式回头检查一下每个的左右操作数类型。变量类型要匹配函数返回值uint64_t的函数赋给uint16_t的变量,编译器不会报错(只会有隐式截断),但运行时必然出问题。用 volatile 修饰中断共享变量:ISR 和主循环都可能访问的变量必须加volatile,否则编译器优化可能导致主循环读到过期值。VOFA 是个好工

#stm32
到底了