风力摆控制系统(B题) - 图文

更新时间:2024-04-18 09:51:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

风力摆控制系统(B题)

摘要

本系统由STM32单片机控制模块、姿态采集模块、风力摆模块、液晶显示模块、人机交互系统以及风力摆机械结构组成。MPU6050 采集风力摆姿态角,单片机处理姿态角数据后通过PID精确算法调节直流风机以控制风力摆。本系统实现了风力摆在仅受直流风机为动力控制下快速起摆、画线、恢复静止的功能,并能准确画圆,且受风力影响后能够快速恢复画圆状态,具有很好的鲁棒性。另外,本系统具有良好的人机交互界面,各参数及测试模式可由按键输入并通过液晶显示,使得测试时操作更加方便。

关键词: 姿态采集 STM32单片机 PID算法 人机交互

1、 方案论证

本风力摆控制系统主要包括单片机控制模块、电源模块、姿态采集模块、风力摆模块、液晶显示模块、人机交互系统以及风力摆机械结构组成。风力摆由万向节连接碳杆再连接风机组成。位于碳杆最下方的姿态采集模块不断采集风力摆当前姿态角,并返回单片机。单片机控制液晶显示姿态角数据并处理数据后通过控制 PWM波占空比控制风机转速,实现对风力摆的控制。本系统结构框图如图1所示。

姿态采集模块 单片机系统 风力摆模块 人机交互系统 液晶显示模块 图1 系统结构框图

1.1 风力摆运动控制方案的选择与论证

方案一:采用2只直流风机作为动力系统。采用2只风机并排同向而立,分别位于摆杆两侧,通过控制风机转速控制风力摆使激光笔画线画圆。此方案风力摆负载轻,但风力摆摆动过程中状态微调和施加阻力使之快速静止不易实现。

方案二:采用3只直流风机作为动力系统。三只风机为等边三角形三边,相背而立,互成120°夹角。此方案相对于方案二在控制风力摆转动过程中状态微调方面有提升,但自成三角形,相邻两风机夹角过大,依旧不利于精确控制风力摆状态。

方案三:采用4只直流风机作为动力系统。四只风机相背呈正方体四周站立。通过控制四只风机转速控制风力摆当前状态。此方案风力摆负载最重,但对于控制风力摆状态最为精确,且动力最足。

综合上述比较,考虑系统的快速工作以及精确控制,本系统采用方案三,使用四只空心杯电机接螺旋桨制成的直流风机作为动力执行系统。

1.2 角度测量方案的选择与论证

方案一:选用双轴倾角传感器模块LE-60-OEMLE-60-OEM,测量重力加速度变化,转为倾角变化,可测量双向。具有稳定性高、低功耗、结构简单等优点。但响应速度为只有5Hz,只可以测量风力摆与水平方向的夹角。且操作复杂,软件处理难度大。

1

方案二:采用三维角度传感器MPU6050。MPU6050采样频率最高可达几kHz,满足系统对速度的要求。MPU6050姿态测量稳定度为0.01°,此精度下直线距离误差可以忽略。且其内置可编程的卡尔曼滤波器,采用最优化自回归数据处理算法,保证了对风力摆当前姿态角的精确测量。

综合比较以上两个方案,本系统选择方案二。

1.3 单片机的选择与论证

在1.2论证中,因确定使用三维角度传感器这种对处理速度要求较高的外设,故使用处理速度较快的STM32系列单片机STM32F103ZET6。

1.4 控制算法的选择

方案一:采用模糊控制算法,模糊控制有许多良好的特性,它不需要事先知道对象的数学模型,具有系统响应快、超调小、过渡过程时间短等优点,但编程复杂,数据处理量大。

方案二:采用PID算法,按比例、积分、微分的函数关系,进行运算,将其运算结果用以输出控制。优点是控制精度高,且算法简单明了。对于本系统的控制已足够精确,节约了单片机的资源和运算时间。

综合比较以上两个方案,本系统选择方案二。

2、 测控方法 2.1 风力摆状态测量

姿态采集模块不断采集风力摆当前姿态角并发送至单片机,单片机对比姿态角信息与初始状态时滚转角与俯仰角数据,分析风机当前朝向,从而得知风力摆当前状态。

2.2 风力摆运动控制的分析

使用四只风机作为动力驱动系统。设风机给风力摆的推力依次为为F1、F2、F3、F4。如图2-1所示。

根据空气动力学原理,轴流风机产生的轴向推力与其单位时间内风流量成正比,即与其风机转速和其表面积乘积成正比。由于所选取四只风机物理特征完全一致,故风机产生的推力F只与输入的PWM波占空比有关。因此控制输入PWM波占空比即可控制风机推力大小。又由做功计算公式W=P*t知风机工作时间也是影响风力摆状态的决定因素。所以为实现对风力摆状态的精确、高速控制,必须掌握好输入风机PWM占空比和风机工作时间。

风力摆直线运动时,通过调节PWM波占空比控制四只风机产生合力在垂直

2

运动方向分力为0。如图2-2,设所画直线长度为2X,风力摆顶端离地距离为L,则滚转角?为:

(nX/L) ??arcta (公式1)

设定风力摆摆动滚转角阀值为?,调节风机工作时间和PID参数,则风力摆将按

照设定的摆动角度、画线长度运动到指定状态。图示分析如图2-2所示。

风力摆画圆时,等同于风力摆做圆周运。由 sin2α+sin2(π/2-α)=1 知圆周运动可等价于x轴、y轴上相差 π/2 相位差的正弦波合成的运动。即控制相对立的两组风机各自稳定的运动,通过调试找到合适的关系使之合成稳定的圆周运动。

图2-1 风力摆受力分析

图2-2 直线运动分析

2.3 控制算法的分析

本系统采用 PID 算法来控制风机转动的速度。风机开始工作后,姿态采集模块不断采集当前风力摆姿态角状态,并与之前的状态比较,使得风力摆的运动状态逐渐趋向于平稳。PID 算法控制器由舵机转动角度比例 P、角度误差积分I 和角度微分 D 组成。

其输入 e (t)与输出 U (t)的关系为:

t?1de(t)?U(t)?P*?e(t)??e(t)dt?D*?Idt0?? (公式2)

它的传递函数为:

G(s)?

U(s)1???P*?1??D*s? E(s)?I*s? (公式3)

风力摆转动角度比例 P:对风力摆角速度进行比例调整,即对舵机转动速度调整。比例越大,调节速度越快。但不能过大,过大可能造成四风机因工作状态

3

突变而使摆杆不稳定。

角度误差积分 I: 使系统消除稳态误差,提高无差度。加入积分调节可使系统稳定性下降,动态响应变慢。本系统追求更快更稳完成对风力摆的控制,因此,本系统对积分调节的需要就非常弱。即保证在不需要时系统不会受到影响。

角度微分 D:微分作用反映风力摆角度的变化率,即角速度。具有预见性,能预见偏差变化的趋势因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。在微分时间选择合适情况下,减少调节时间。

3、系统设计

3.1 系统程序流程设计

本系统采用三个独立按键输入各参数及测试模式,系统开机启动进入系统初始化界面,按下指定按键后进入菜单选择界面,菜单选择界面有6个功能,分别对应题目基本要求和发挥部分6点,通过按键可以选择进入相应的功能,功能执行完毕后系统回到菜单选择界面,继续等待按键输入执行相应的功能。系统程序流程图如图3所示。

开始

系统界面

N 菜单键按下 YN 菜单界面

本要求1

基本要求2

功能键按下 Y 基本要求3 基本要求4

发挥部分1

发挥部分2

图3 系统程序流程图

4

3.2 姿态采集模块电路设计

为高精度、高速率采集风力摆当前姿态角,姿态采集系统采用高精度陀螺加速度计MPU6050。MPU6050将测量的模拟量转化为可输出的数字量,通过DMP处理器读取测量数据然后通过串口输出至单片机。MPU6050接5V电源输入,XDA/XCL用于外接I2C接口传感器。SDA、SCL连接到单片机,INT产生中断信号,连接至单片机。AD0接地。其电路设计如图4所示。

图4 姿态采集模块电路设计

3.3 风机驱动电路设计

考虑到四只风机带动风力摆摆动过程中,要求对摆杆精确控制,对电机驱动能力要求较高,故本设计采用双 H 桥芯片 L298N 作为电机驱动芯片,其工作电压高,最高工作电压可达 46V;输出电流大,瞬间峰值电流可达 3A,持续工作电流为 2A;额定功率 25W,内含两个 H 桥的高电压大电流全桥式驱动器,很好的实现了对空心杯电机的驱动控制。具体电路设计如图5所示.

图5 风机驱动电路图

5

4、 系统测试 4.1 测试仪器

(1)秒表 (2)量角器

(3)方向角度图纸 (4)数字风速仪

4.2 测试方案及结果

4.2.1 驱动风力摆工作,使激光笔稳定地在地面画出一条长度不短于50cm 的

直线段,来回五次,记录其由开始摆动至稳定画出不短于50cm直线的时间及最大偏差距离。测试结果如表1所示。

表1 风力摆画长于50cm直线测试

第一次测试 第二次测试 第三次测试 时间 2.9s 2.6s 2.5s 误差1 0.5cm 0.5cm 0.6cm 误差2 0.2cm 0.6cm 0.4cm 误差3 0.5cm 0.4cm 0.2cm 误差4 0.6cm 0.2cm 0.3cm 误差5 0.2cm 0.3cm 0.1cm 4.2.2 设置风力摆画线长度,驱动风力摆工作,记录其由开始摆动至稳定画出

设定长度直线的时间及在画不同长度直线时的最大偏差距离。测试结果如表2所示。

表2 风力摆画不同长度直线测试

划线 长度 时间(s)/误差(cm) 30cm 40cm 50cm 60cm 测试1 测试2 测试3 测试4 测试5 1.8/0.3 2.2/0.6 3.0/0.5 2.9/0.4 2.0/0.5 2.0/0.5 3.2/0.9 2.9/0.7 1.9/0.4 2.1/0.4 2.9/0.9 3.1/0.6 1.9/0.3 2.1/0.6 2.8/1.1 3.2/0.4 1.8/0.5 2.0/0.7 3.1/1.2 2.1/0.4 4.2.3 设置风力摆自由摆时角度,驱动风力摆工作,画出不短于20cm直线,

记录其由开始摆动至画线长度稳定大于20cm的时间及在画不同角度直线时的最

6

大偏差距离。测试结果如表3所示。

表3 风力摆画不同角度直线测试

划线 角度 时间(s)/误差(cm) 0° 90° 180° 270° 测试1 测试2 测试3 测试4 测试5 2.4/0.3 2.6/0.6 2.6/0.5 2.7/0.4 2.5/0.5 2.3/0.5 2.2/0.9 2.8/0.7 2.4/0.4 2.5/0.4 2.6/0.9 2.7/0.6 2.6/0.3 2.6/0.6 2.4/1.1 2.6/0.4 2.5/0.5 2.6/0.7 2.6/1.2 2.5/0.4 4.2.4 将风力摆拉起一定角度放开,驱动风力摆工作,测试风力摆制动达到

静止状态所用时间。测试结果如表4所示。

表4 风力摆恢复静止测试

拉起30° 拉起35° 拉起40° 拉起45° 时间(1) 2.2s 2.8s 0.0s 3.4s 时间(2) 2.6s 2.5s 2.6s 2.8s 时间(3) 2.9s 3.1s 3.2s 3.5s 时间(4) 2.4s 3.0s 3.0s 2.9s 时间(5) 3.3s 3.0s 3.1s 3.2s 4.2.5 以风力摆静止时激光笔的光点为圆心,设置风力摆画圆半径,驱动风力

摆用激光笔在地面画圆,记录其画三次圆所用时间以及最大偏差距离,重复测试三次。改变圆半径再次测试,重复以上操作四次。测试结果如表5所示。

4.2.6 在4.2.5的基础上,使用一台60W台扇在距离风力摆1m距离处向其吹

5s后静止,记录风力摆回复画圆状态时间。测试结果如表5所示。

表5 风力摆画圆测试

7

时间(1) 偏差距离(1) 恢复时间(1) 时间(2) 偏差距离(2) 恢复时间(2) 时间(3) 偏差距离(3) 恢复时间(3) 半径15cm 6.2s 1.2cm 4.0s 6.3s 1.5cm 4.2s 6.3s 1.2cm 4.5s 半径20cm 6.8s 1.6cm 4.4s 6.9s 2.0cm 3.3s 6.6s 1.5cm 4.2s 半径25cm 6.9s 1.3cm 3.8s 7.2s 2.2cm 3.5s 6.8s 2.0cm 3.3s 半径30cm 7.2s 1.6cm 3.6s 6.8s 1.5cm 3.8s 7.9s 2.3cm 3.8s 半径35cm 7.0s 1.8cm 3.3s 7.5s 2.1cm 3.9s 7.6s 2.2cm 3.2s 5、总结

本系统经过调试,最终很好的实现了题目中的各项要求。基础部分,本系统在各种要求下画直线时误差稳定小于±1cm,拉起后恢复静止平均时间小于3s钟。发挥部分,本系统能够画出设定半径的圆,误差小于±1.5cm,且受风扇影响后,通常5s钟即可恢复之前画圆状态,能够圆满完成甚至超越题目的基本和发挥部分要求。同时本系统设计选材得当,经济简洁,可控性强。

6、 参考文献

[1] 全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品选编(2007)[M]北京:北京理工大学出版社,2008.

[2] 康华光,陈大钦.电子技术基础模拟部分(第 4 版),高等教育出版社,2003.4. [3] 康华光,邹寿彬.电子技术基础数字部分(第 4 版),高等教育出版社,2000.7. [4]第五届全国大学生电子设计竞赛获奖作品选编(2001)北京:北京理工大学出版社,2006.

[5]黄智伟. 全国大学生电子设计竞赛培训教程[M].北京:电子工业出版社,2005. [6]汪文,陈林. 单片机原理及其应用[M].湖北:华中科技大学出版社,2006.

8

本文来源:https://www.bwwdw.com/article/vvhp.html

Top