2011年全国大学生电子设计高职组的帆板控制系统(F题)

本文介绍了使用STM32进行帆板控制系统的PID调节,通过控制风扇转速调节风力,改变帆板转角。详细讲解了PID的工作原理,提供了PID的公式和代码实现,并分享了角度传感器的AD转换、中值滤波以及PWM配置。此外,还讨论了定时器配置的重要性,确保采样时间和计算精度。
摘要由CSDN通过智能技术生成

这道题总的来说是比较简单的,在这里只做到控制帆板到指定位置。
怎么样通过对风扇转速的控制,来调节风力大小,来改变帆板转角。也就是说给你一个角度值,你用风扇吹到那个角度值。控制风力大小,这个就需要控制PWM的大小了。如果我们知道吹到哪个角度值,所需要的PWM是多大,不就可以了吗?
这是我整理的角度值所对应的PWM
结果非常尴尬,60度的PWM试不出来,这个是因为装置的结构决定,导致它在这个角度非常不稳定,不好试出来这个PWM。

在这里插入图片描述
这个时候应该怎么办?这个就需要PID调节了,这个相当于,PID帮我们试出来这个PWM应该是多大。
我们需要了解什么是PID
这里我推荐一个视频,外国的视频,目前我看过最好的,非常清晰,B站上的。
我们知道什么是PID了,他的公式是什么呢。
下面推荐看一下这个CSDN的一个博主讲的,非常不错,了解公式是怎么来的。
我们现在把他的公式变成代码
在这里插入图片描述
在这里插入图片描述
Kp、Ki、Kd都是PID的系数。
红色相当于第一部分的比例,现在的误差
黄色相当于第二部分的积分,误差的累积。
蓝色相当于第三部分的微分,现在的误差减去上一个误差。
绿色相当于我们的公式了,就是把他们加起来。
非常好理解,这个是绝对式PID,我们现在看一下,另一种—增量式PID
在这里插入图片描述
在这里插入图片描述
Kp、Ki、Kd都是PID的系数。
红色相当于第一部分的比例,现在的误差减去上一个误差。
黄色相当于第二部分的积分,现在的误差。误差的累积。
蓝色相当于第三部分的微分,现在的误差减去两倍上一个误差,加上上个别的误差。
绿色相当于我们的公式了,就是把他们加起来。
我们从公式上看,增量式PID只需要现在的误差,上次的,上上次的,没有像绝对式那样误差的积分,个人觉得增量是比较合适的,发现绝对式不太好调参数,我觉得都可以试一下吧。
在这里插入图片描述
现在看一下我们的PID执行函数
红色是我们的当前值和目标值。
黄色是PID系数。
蓝色是要执行的PID算法。
绿色就把计算的PID值输出。
这样子的话,我们接下来需要做的是采集当前角度值和做好PWM的输出。
怎么采集角度值呢?
使用角度传感器

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值