全国大学生电子设计竞赛报告 风力摆控制系统B题.docx
- 文档编号:10040821
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:15
- 大小:143.30KB
全国大学生电子设计竞赛报告 风力摆控制系统B题.docx
《全国大学生电子设计竞赛报告 风力摆控制系统B题.docx》由会员分享,可在线阅读,更多相关《全国大学生电子设计竞赛报告 风力摆控制系统B题.docx(15页珍藏版)》请在冰豆网上搜索。
全国大学生电子设计竞赛报告风力摆控制系统B题
2015年全国大学生电子设计竞赛
风力摆控制系统(B题)
【本科组】
2015年8月15日
摘 要
在当今的现代化社会,科技发展迅速,尤其是单片机技术的开发、发展以及应用,出现了众多基于单片机技术而研发的产品,为我们的生活提供了极大的方便。
本作品基于AT89S52单片机设计的风力摆控制系统,设计选用AT89S52单片机为主控芯片,由风力摆姿态检测、算法处理、直流风机控制和声音提示等部分组成,以完成风力摆控制的功能,设计的重点在于运动控制的准确性以及尽量缩短达到规定的运动状态的时间。
运用mpu6050六轴陀螺仪实时获取风力摆的运动姿态,保证了运动控制的准确性。
运用电机,保证风力摆拥有足够的动力。
C语言进行软件设计,增加了程序的可读性,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。
该系统布局合理,理论可行,实际运行较为平稳,控制精度较高,部分达到了题目基本部分的要求。
关键词:
风力摆控制; AT89S52;mpu6050六轴陀螺仪; 准确; 迅速
目录
摘要……………………………………………………..………………………….....1
一、系统方案1
1、控制器模块的论证与选择1
2、角度检测方法的论证与选择1
二、系统理论分析与计算1
1、卡尔曼滤波算法1
2、PID算法2
三、电路与程序设计2
1、电路的设计2
(1)系统总体框图2
(2)XXXX子系统框图与电路原理图2
(3)XXXX子系统框图与电路原理图2
(4)电源3
2、程序的设计3
(1)程序功能描述与设计思路3
(2)程序流程图3
四、测试方案与测试结果3
1、测试方案3
2、测试条件与仪器4
3、测试结果及分析4
(1)测试结果(数据)4
(2)测试分析与结论4
五、结论与心得4
六、参考文献4
附录1:
电路原理图5
附录2:
源程序6
风力摆控制系统(B题)
【本科组】
一、系统方案
本系统主要由单片机模块、风力驱动模块、LCD12864模块、mpu6050六轴陀螺仪传感器模块、电源模块组成,下面分别论证这几个模块的选择。
1、控制器模块的论证与选择
根据题目要求,控制器主要用于传感器信号的接收与辨认,控制电机转动,显示实时角度等。
对控制器的选择有以下两种方案:
方案一:
采用FPGA作为系统的控制器。
FPGA可以实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上,减小了体积,提高了稳定性,并且可应用EDA软件仿真、调试,易于进行功能扩展。
FPGA采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模实时系统的控制核心。
由检测模块输出的信号并行输入FPGA,FPGA通过程序设计控制监控系统作出相应的动作,但由于其集成度高,使其成本偏高,同时由于芯片的引脚较多,实物硬件电路板布线布线复杂,加重了电路设计和实际焊接的工作。
方案二:
采用ATMEL公司的AT89S52作为系统控制器的CPU方案。
单片机AT89S52是一种带8K字节内嵌可编程闪存的低功耗高性能的八位微控制器,看门狗定时器,双数据指针,3个16位定时/计数器,6个两级中断源结构,以及掉电模式下的自动保存功能,且软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制,符合本系统的要求。
综合以上两种方案,选择方案二。
2、角度检测方法(捕获摆杆的姿态反馈单片机)的论证与选择
方案一:
采用MMA7455加速度传感器检测平台倾角。
其核心为飞思卡尔公司的MMA7455L数字三轴加速度传感器,它体积小,工作可靠。
但其8位模式还是限制了其测量精度,在测量微小的角度变化上存在误差。
方案二:
采用电位器检测摆杆倾角。
用电阻分压方式可以实现电位器对角度变化的感应,但必须经过模数转换才能将信号传给处理器处理。
此时,电位器的灵敏度和模数转换器的精度都会对测量结果产生直接影响,误差一般很大。
方案三:
mpu6050六轴陀螺仪传感器。
mpu6050六轴陀螺仪传感器容易实现对角度的测量,而且灵敏度非常高,mpu6050六轴陀螺仪的角速度全格感测范围为±250、±500、±1000与±2000°/sec(dps),可准确追緃快速与慢速动作。
移除加速器与陀螺仪轴间敏感度,降低设定给予的影响与感测器的飘移。
数字运动处理(DMP:
DigitalMotionProcessing)引擎可减少复杂的融合演算数据、感测器同步化、姿势感应等的负荷。
内建之运作时间偏差与磁力感测器校正演算技术,免除了客户须另外进行校正的需求。
而且最大的特点是本身是最小最薄包装
图1mpu6050六轴陀螺仪传感器实物图图2mpu6050芯片
综合以上三种方案,选择方案三。
二、系统理论
1、卡尔曼滤波算法
现设线性时变系统的离散状态方程和观测方程为:
X(k)=F(k,k-1)·X(k-1)+T(k,k-1)·U(k-1)
Y(k)=H(k)·X(k)+N(k)
其中
X(k)和Y(k)分别是k时刻的状态矢量和观测矢量
F(k,k-1)为状态转移矩阵U(k)为k时刻动态噪声T(k,k-1)为系统控制矩阵
H(k)为k时刻观测矩阵N(k)为k时刻观测噪声
则卡尔曼滤波的算法流程为:
1.预估计X(k)^=F(k,k-1)·X(k-1)
2.计算预估计协方差矩阵
C(k)^=F(k,k-1)×C(k)×F(k,k-1)'+T(k,k-1)×Q(k)×T(k,k-1)'
Q(k)=U(k)×U(k)'
3.计算卡尔曼增益矩阵
K(k)=C(k)^×H(k)'×[H(k)×C(k)^×H(k)'+R(k)]^(-1)
R(k)=N(k)×N(k)'
4.更新估计
X(k)~=X(k)^+K(k)×[Y(k)-H(k)×X(k)^]
5.计算更新后估计协防差矩阵
C(k)~=[I-K(k)×H(k)]×C(k)^×[I-K(k)×H(k)]'+K(k)×R(k)×K(k)'
6.X(k+1)=X(k)~
C(k+1)=C(k)~
重复以上步骤
2、PID算法
比例,积分,微分的线性组合,构成控制量u(t),称为:
比例(Proportional)、积分(Integrating)、微分(Differentiation)控制,简称PID控制
图1
控制器公式
在实际应用中,可以根据受控对象的特性和控制的性能要求,灵活地采用不同的控制组合,构成比例(P)控制器
比例+积分(PI)控制器
比例+积分+微分(PID)控制器
式中
或
式中
控制系统中的应用
在单回路控制系统中,由于扰动作用使被控参数偏离给定值,从而产生偏差。
自动控制系统的调节单元将来自变送器的测量值与给定值相比较后产生的偏差进行比例、积分、微分(PID)运算,并输出统一标准信号,去控制执行机构的动作,以实现对温度、压力、流量、也为及其他工艺参数的自动控制。
比例作用P只与偏差成正比;积分作用I是偏差对时间的积累;微分作用D是偏差的变化率;
三、电路与程序设计
1、电路的设计
(1)系统总体框图
系统总体框图如图1所示,单片机控制电机驱动,是特定直流电机启动,再经过陀螺仪传感器将位置角度反馈给单片机,以实现控制方向的目的。
单片机
电机驱动
mpu6050六轴陀螺仪传感器
(摆杆)
直流电机
图1系统总体框图
(2)电源
电源由变压部分、滤波部分、稳压部分组成。
为整个系统提供
5V或者
12V电压,确保电路的正常稳定工作。
这部分电路比较简单,都采用三端稳压管实现,故不作详述。
2、程序的设计
在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。
数据处理包括:
数据的采集、数字滤波、标度变换等。
过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制生产。
(1)程序功能描述与设计思路
1、程序功能描述
读陀螺仪传感器角度并计算、控制L298n驱动、控制摆杆摆动状态、液晶显示、键盘控制、数据汇总并作出判断。
1)从静止开始,15s内使激光笔在地面稳定地画出一条长度不短于50cm的直线段。
2)从静止开始,15s内使激光笔在地面稳定地画出一条长度可设定(30~60cm)的直线段。
3)从静止开始,15s内按照设置的方向(角度)摆动,画出不短于20cm的直线段。
4)将风力摆拉起一定角度(30°~45°)放开,5s内使风力摆制动达到静止状态。
2、程序设计思路
1)用按键控制四个程序的切换。
2)将陀螺仪传感器发送过来的角度通过单片机的计算后,执行相应的程序,控制相应的电机驱动。
3)同时用LCD12864显示相应信息,达到很好人机交互效果。
(2)程序流程图
主程序流程图
图2主程序流程图
四、测试方案与测试结果
1、测试方案
1)硬件测试:
测试机械部分能否正常工作,各项参数是否准确。
同时,检查电路焊接是否正确,各部分接线是否正确。
2)软件仿真测试:
用Multisim软件对电路进行仿真
3)硬件软件联调:
用实现的编程算法控制硬件系统进行工作。
检测整个系统是否实现各项要求。
2、测试条件与仪器
测试条件:
检查多次,机械部分必须正常工作且参数正确。
仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。
测试仪器:
量角器、尺子、秒表。
3、测试结果及分析
测试结果
1)从静止开始,15s内使激光笔在地面稳定地画出一条长度不短于50cm的直线段。
试验次数
第1次
第2次
第3次
平均值
线段长度/cm
线性度偏差/cm
2)从静止开始,15s内使激光笔在地面稳定地画出一条长度可设定(30~60cm)的直线段。
线段长度/cm
30
40
50
60
平均长度偏差/cm
3)从静止开始,15s内按照设置的方向(角度)摆动,画出不短于20cm的直线段。
方向(角度)
平均长度/cm
4)将风力摆拉起一定角度(30°~45°)放开,5s内使风力摆制动达到静止状态。
风力摆拉起角度
30°
35°
40°
45°
平均停止时间/s
测试分析与结论
根据上述测试数据,该系统满足各项基本要求,由此可以得出以下结论:
1)mpu6050六轴陀螺仪传感器作为角度传感器使用精确,灵敏度高,能准确迅速地捕捉到角度变换。
2)对算法程序的要求很高,熟悉并掌握系统理论算法,如卡尔曼滤波算法、PID算法等,有助于控制住每一个细节。
综上所述,本设计达到设计要求。
五、结论与心得
六、参考文献
[1] 谭浩强.C语言程序设计[M].北京:
清华大学出版社,2012
附录1:
电路原理图
附录2:
源程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国大学生电子设计竞赛报告 风力摆控制系统B题 全国大学生 电子设计 竞赛 报告 风力 控制系统