2015年全国大学生电子设计竞赛风力摆控制系统(B题)2015年8月15日摘要本系统采用STC12C5A60S2为主控芯片,通过MPU6050传感器提供反馈信息、采用PID控制算法调整轴流风机的工作状态、在液晶和按键的作用下显示并切换工作模式,形成一闭环测控系统。该测控系统通过控制驱动各风机,使风力摆按照一定规律运动,同时保证摆杆下方悬挂的激光笔能在地面画出要求的轨迹。关键词:风力摆STC12单片机轴流风机目录摘要---------------------------------------------------------------------------------------------------1一、设计任务--------------------------------------------------------------------------------------1二、方案论证--------------------------------------------------------------------------------------12.1控制器模块方案------------------------------------------------------------------------22.2位置检测模块----------------------------------------------------------------------------22.3动力装置方案设计----------------------------------------------------------------------22.4外围模块方案设计---------------------------------------------------------------------22.4.1功能调用模块的设计---------------------------------------------------------22.4.2显示模块的设计----------------------------------------------------------------32.4.3声光提示模块-------------------------------------------------------------------32.4.4电源模块--------------------------------------------------------------------------32.5硬件电路设计-------------------------------------------------------------------------------32.6系统控制方案的整体设计--------------------------------------------------------------32.6.1风力摆摆直线过程分析------------------------------------------------------42.6.2风力摆摆圆过程分析-------------------------------------------------------4三、理论分析与计算-----------------------------------------------------------------------------53.1运动控制----------------------------------------------------------------------------------63.1.1直线运动的控制----------------------------------------------------------------63.1.2摆圆运动的控制---------------------------------------------------------------63.2软件实现--------------------------------------------------------------------------------63.2.1所用算法-------------------------------------------------------------------------63.2.2程序部分-------------------------------------------------------------------------6四、测试结果与误差分析----------------------------------------------------------------------74.1风机性能的测试------------------------------------------------------------------------74.2摆直线任务的测试---------------------------------------------------------------------74.3速停任务测试记录---------------------------------------------------------------------74.4圆周轨迹任务测试---------------------------------------------------------------------74.5误差分析----------------------------------------------------------------------------------7五、结论心得体会--------------------------------------------------------------------------------85.1结论-----------------------------------------------------------------------------------------85.2心得体会----------------------------------------------------------------------------------8参考文献----------------------------------------------------------------------------------------------9附录1:电路原理图-----------------------------------------------------------------------------10附录2:部分PCB设计图-------------------------------------------------------------------------11附录3:部分关键程序--------------------------------------------------------------------------12附录4:系统整体照片--------------------------------------------------------------------------131风力摆控制系统摘要:本系统采用STC12C5A60S2为主控芯片,通过MPU6050传感器提供反馈信息、采用PID控制算法调整轴流风机的状态、在液晶和按键的人机交互作用下显示并切换工作模式,形成一闭环测控系统。该测控系统通过控制驱动各风机,使风力摆按照一定规律运动,同时保证摆杆下方悬挂的激光笔能在地面画出要求的轨迹。关键词:风力摆STC12单片机轴流风机一、设计任务一长约60cm~70cm的细管上端用万向节固定在支架上,下方悬挂一组(2~4只)直流风机,构成一风力摆。风力摆上安装一向下的激光笔,静止时,激光笔的下端距地面不超过20cm。设计一测控系统,控制驱动各风机使风力摆按照一定规律运动,激光笔在地面画出要求的轨迹。具体要求可参看设计任务书。二、方案论证根据题目要求,此测控系统完成控制风力摆按照一定规律运动、使激光笔在地面上画出规定轨迹的任务。其通过按键与LCD三级子菜单,在不同工作模式间切换,完成相应的控制任务,关键在于反馈信息的准确和对轴流风机的控制。为此我们将系统分为五个模块,并对各个模块的方案进行了评估选择。系统整体方案框图如图1所示:图1系统整体框图2.1控制器模块方案控制器是整个控制系统的核心,承载着执行控制算法,实现控制功能的作用。因此,要保证系统整体的控制质量,控制器的选择非常重要!在控制器的选择方案中,主要进行了如下对比:方案一:选择常见且应用广泛的AT89C52作为控制芯片。对于这种单片机,控制器显示模块功能调用模块摆杆位置检测模块动力装置模块声光提示2我们有良好的知识基础,上手快,成本低。然而对于本控制系统,程序量较大、所需I/O口较多,89单片机将很难满足控制要求,难以胜任控制任务。因此,89单片机并不适合作为本系统的控制器。方案二:较之89系列单片机,STC12单片机资源丰富,集成EEPROM、AD、PCA可编程计数阵列等;其功能更强大,执行速度更快。对于本系统来说,足以完成控制任务。故而作为本控制系统的首选。2.2位置检测模块检测模块不仅是获得被控系统所需信息的唯一渠道,而且从根本上决定了被控系统的控制精度,相当于控制系统中的“眼睛”;因此检测模块的设计对整个控制系统的设计至关重要!基于此,在选择检测元件时,主要做了如下对比:方案一:选择整合性6轴运动处理组件MPU6050,利用其自身集成的3轴MEMS陀螺仪,3轴MEMS加速度计精确地对被控对象的运动状态进行数据采集;在数据处理上采用卡尔曼滤波算法,测量精度极高。另外,该传感器封装小节省空间,对本系统的控制十分有利。方案二:选择角度、加速度模块MMA7361传感器。这一模块虽有压降小,适合高噪声电源环境工作等特点,但其测量精度及测量范围等各方面性能不及MPU6050。综合考虑,选取MMA7361作为检测变送传感器并不明智。经过上述对比,最终本系统选用了MPU6050作为位置检测的传感器。2.3动力装置方案设计动力装置作为本控制系统中的执行机构,是控制系统中的重要组成部分。它将控制器送来的控制信号转换成执行动作,从而操纵作用于被控对象的能量,将被控变量维持在所要求的数值上或一定的范围内。轴流风机作为此系统的唯一动力装置,其提供的动力是否充足、可调性是否优良将直接决定能否完成控制任务和控制质量的高低。为此考虑了成本、体积等因素,主要拟定了以下两个方案。方案一:选择某牌直流12V-2.3A轴流小型风机。该风机体积小、质量轻,对摆杆的运动十分有利。另外,该种风机功率大、动力充足,能为控制系统提供充足的能量。方案二:选择与上述风机同品牌的12V-1.8A轴流风机。与上述风机相比,该风机质量较大,功率却不及小型风机。其他方面,此二种风机并无差异。上述方案的论证,似乎证明方案一将是本系统的不二之选,然而事实并非如此。在经过充分的实验发现(详见4.1中风机性能测试),方案一中风机启动过慢、控制不及时,而且其提供风力并不比方案二中轴流风机大。因此,本系统最终确定以方案二作为动力装置。2.4外围模块方案设计本系统中的外围模块,主要是指与对风机的控制不起直接作用的功能调用模块、显示模块、声光提示模块、电源模块。主要是指键盘(按键)模块和显示模块。由于该系统所涉及的控制任务较多,使用