您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 实验设计 > 风力摆控制系统(B题)报告
2015年全国大学生电子设计竞赛风力摆控制系统(B题)【本科组】2015年8月15日I摘要在当今的现代化社会,科技发展迅速,尤其是单片机技术的开发、发展以及应用,出现了众多基于单片机技术而研发的产品,为我们的生活提供了极大的方便。本作品基于AT89S52单片机设计的风力摆控制系统,设计选用AT89S52单片机为主控芯片,由风力摆姿态检测、算法处理、空心杯电机控制和液晶显示等部分组成,以完成风力摆控制的功能,设计的重点在于运动控制的准确性以及尽量缩短达到规定的运动状态的时间。运用mpu6050六轴陀螺仪实时获取风力摆的运动姿态,单片机处理姿态角数据后通过PID精确算法调节空心杯电机以控制风力摆。本系统实现了风力摆在仅受空心杯电机为动力控制下迅速起摆、画线、恢复静止的功能,并能准确画圆。具有良好的人机交互界面,各参数及测试模式可由按键输入并通过液晶显示,智能性好。关键词:风力摆控制;AT89S52;mpu6050六轴陀螺仪;精确;迅速II目录摘要……………………………………………………..…………………………....Ⅰ一、系统方案........................................................11、控制器模块的论证与选择...............................................................................12、角度检测方法的论证与选择...........................................................................13、风机的论证与选择...........................................................................................2二、系统理论分析与计算..............................................21、卡尔曼滤波算法...............................................................................................22、风力摆运动控制的分析...................................................................................33、PID算法...........................................................................................................3三、电路与程序设计..................................................41、电路的设计.......................................................................................................4(1)系统总体框图........................................................................................4(2)电路原理图............................................................................................5(3)电源........................................................................................................52、程序的设计.......................................................................................................5(1)程序功能描述与设计思路....................................................................5(2)程序流程图............................................................................................6四、测试方案与测试结果..............................................61、测试方案...........................................................................................................62、测试条件与仪器...............................................................................................63、测试结果及分析...............................................................................................7(1)测试结果(数据).....................................................................................7(2)测试分析与结论....................................................................................8五、结论与心得......................................................8六、参考文献........................................................81风力摆控制系统(B题)【本科组】一、系统方案本系统主要由单片机模块、电源模块、风力驱动模块、液晶显示模块、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)引擎可减少复杂的融合演算数据、感测器同步化、姿势感应等的负荷。内建之运作时间偏差与磁力感测器校正演算技术,免除了客户须另外进行校正的需求。而且最大的特点是2本身是最小最薄包装图1mpu6050六轴陀螺仪传感器实物图图2mpu6050芯片综合以上三种方案,选择方案三。3、风机的论证与选择方案一:采用小型直流风机。调速性能好、控制简单,功率因数高,损耗小,逆变器容量低,因此逆变器成本低;但由于其体积较大,很占用地方,并且重量较大,不容易摆动。方案二:采用空心杯电机。所需电压小,体积和质量小,容易控制,能在较短时间内是风力摆摆动和制动。转动速度快,配上螺旋桨能够达到较大风力,足以使风力摆摆的幅度符合要求。图3左:空心杯右:小型直流风机二、系统理论分析与计算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时刻观测噪声则卡尔曼滤波的算法流程为:31.预估计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、风力摆运动控制的分析风力摆采用4只20W的空心杯电机为动力驱动系统。陀螺仪传感器模块采集风力摆当前角度,单片机处理角度信息调节输出PWM的占空比,控制四只电机的工作状态,从而实现对风力摆的控制。3、PID算法本系统采用PID算法来控制风机转动的速度。风机开始工作后,姿态采集模块不断采集当前风力摆姿态角状态,并与之前的状态比较,使得风力摆的运动状态逐渐趋向于平稳。PID算法控制器由转动角度比例P、角度误差积分I和角度微分D组成。其输入e(t)与输出U(t)的关系为:它的传递函数为:风力摆转动角度比例P:对风力摆角速度进行比例调整,即对舵机转动速度调整。比例越大,调节速度越快。但不能过大,过大可能造成四风机因工作状态突变而是摆杆不稳定。角度误差积分I:使系统消除稳态误差,提高无差度。加入积分调节可使系统稳定性下降,动态响应变慢。本系统追求更快更稳完成对风力摆的控制,因此,本系统对积分调节的需要就非常弱。即保证在不需要时系统不会受到影响。4角度微分D:微分作用反映风力摆角度的变化率,即角速度。具有预见性,能预见偏差变化的趋势因此能产生超前的控制作用,在偏差还没有形成之前,
本文标题:风力摆控制系统(B题)报告
链接地址:https://www.777doc.com/doc-1964107 .html