STM32/STM8技术论坛
登录
直播中
是你驱使我
8年用户
18经验值
擅长:电源/新能源
私信
关注
[资料]
STM32和mpu6050搭建的飞控系统 模拟i2c代码
STM32
MPU6050
I2C
STM32
库实现的模拟i2c代码(注释好像因为编码问题跪了):
2.PID控制算法
由于简单的线性控制不可能满足四轴飞行器这个灵敏的系统,引入PID控制器来更好的纠正系统。
简介:PID实指“比例propor
ti
onal”、“积分integral”、“微分derivative”,这三项构成PID基本要素。每一项完成不同任务,对系统功能产生不同的影响。
以Pitch为例:
error为期望角减去实时角度得到的误差;
iState为积分i参数对应累积过去时间里的误差总和;
if语句限定iState范围,繁殖修正过度;
微分d参数为当前姿态减去上次姿态,估算当前速度(瞬间速度);
总调整量为p,i,d三者之和;
这样,P代表控制系统的响应速度,越大,响应越快。
I:用来累积过去时间内的误差,修正P无法达到的期望姿态值(静差);
D:加强对机体变化的快速响应,对P有抑制作用。
PID各参数的整定需要综合考虑控制系统的各个方面,才能达到最佳效果。
3.输出PWM信号
PID计算完成之后,便可以通过STM32自带的定时资源很容易的调制出四路pwm信号,采用的电调pwm格式为50Hz,高电平持续时间0.5ms-2.5ms;
我以1.0ms-2.0ms为每个电机的油门行程,这样,1ms的宽度均匀的对应电调的从最低到最高转速。
至此,一个用STM32和mpu6050搭建的飞控系统就算实现了。
回帖
(1)
王至
2018-8-16 22:41:54
谢谢,不错的资料,谢谢楼主的分享
谢谢,不错的资料,谢谢楼主的分享
举报
更多回帖
rotate(-90deg);
回复
相关帖子
STM32
MPU6050
I2C
mpu6050
和
stm32
的一些坑
2022-02-10
1291
树莓派
I2C
读写
MPU6050
不同方式效率对比分析哪个好
2022-02-10
938
I2C
总线读取
MPU6050
的方法
2022-02-10
441
如何通过
MPU6050
测温来进行
I2C
的验证
2022-02-10
433
STM32-I2C
总线通信与
MPU6050
的相关资料分享
2022-02-10
476
STM32F103C
8T6最小
系统
板怎样做才能通过
I2C
读取
MPU6050
的数据呢
2021-12-14
1922
请问
mpu6050
I2C
接口怎么连接HMC5883L和MS5611?
2019-04-30
3660
MPU6050
I2C
读取值很小
2019-04-15
827
stm32
i2c
mpu6050
波特率
2016-03-22
4297
基于
STM32
的硬件
I2C
读取
MPU6050
数据
2015-05-27
68906
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分