2015年全国大学生电子设计竞赛风力摆控制系统(B题)2015年8月15日I摘要本风力摆系统主要包括单片机控制模块,开关电源(电源模块)激光笔及小型轴流风机,以及基于六轴倾角仪mpu6050的闭环控制系统。其中控制模块采用STM32为核心控制芯片,激光笔作为系统的执行机构,12V2.5A的小型轴流风机作为驱动风力摆的唯一动力,用12V的开关电源驱动轴流风机。轴流风机和摆杆通过万向节固定在支架上(用粗股导线将风力摆悬挂在支架上)。固定在支架上,测量得到的角度经过软件处理得到风力摆摆动所需要的PWM值。(本系统的PID算法算法是通过实际经验试验出风力摆的控制规律,稳定的完成风力摆运动过程中激光笔画轨迹。)关键词:风力摆;STM32;轴流风机;PID算法;mpu6050II目录一、系统结构方案与设计..............................................11、机械结构设计.................................................12、主控芯片的论证与选择.........................................13、风力摆结构方案的论证和选择...................................24、运动控制算法的论证和选择.....................................2二、系统理论分析与计算..............................................21、摆杆位置检测.................................................22、风力摆运动控制分析...........................................23、控制算法分析................................................2三、电路与程序设计..................................................31、电路的设计...................................................3(1)STM32最小系统电路......................................4(2)稳压电源电路............................................42、程序的设计...................................................4(1)程序功能描述与设计思路..................................4(2)程序流程图..............................................4四、测试方案与测试结果..............................................51、测试方案.....................................................52、测试条件与仪器...............................................53、测试结果及分析..............................................5(1)测试结果(数据)..........................................5(2)数据分析与结论..........................................7五、结论与心得......................................................7六、参考文献........................................................8附录1:电路原理图..................................................9附录2:源程序.....................................................111风力摆控制系统(B题)【本科组】一、系统结构方案与设计1、机械结构设计我们以生钢为材料加工成的十字作为风力摆支架的底盘,结构坚固克服摆动时的震动。以实心的钢棒作为摆杆减小了摆动时的自旋,用万向节将摆杆和支架的水平臂连接保证了摆动的灵活性以及达到了摆动角度和速度的精确控制。置于摆杆上的姿态采集模块mpu6050作为系统的闭环控制。四个轴流风机连接成方形作为系统的动力。这样我们就搭建了一个稳定可靠的机械系统,这使系统的各项参数处于比较稳定的状态,有利于后期控制系统的调节。(本系统的PID算法算法是通过实际经验试验出风力摆的控制规律,稳定的完成风力摆运动过程中激光笔画轨迹。)图1风力摆结构示意图2、主控芯片的论证和选择方案一:选择ATs89C52单片机作为核心控制芯片,该单片机体积小操作简单,价格便宜。因为89C52单片机内部没有集成的函数库,且控制芯片外设模块较多,实际软件编写时复杂麻烦。2方案二:选择stm32单片机进行系统的控制。STM32系列芯片时钟频率高达168MHz具有512K字节SRAM,具有极强的处理计算能力。较为适合需要快速反应的倒立摆系统。通过比较,我们选择方案二,采用STM32单片机作为控制器。3、风力摆结构方案的论证和选择方案一:采用3个风机连接背向摆成三角形作为摆的结构方案二:用4个风机连接摆成方形。比较:三角形较方形来说结构稳固,且风摆整体重量较轻。但在设置风力摆摆动的任意角度时方形结构容易控制,程序算法较为简单,故采用方形结构。4、运动控制算法的论证和选择方案一:使用LQR控制器进行控制。LQR控制需要调整两个矩阵,对于LQR控制来说,需要求解Riccati方程和确定Q和R权矩阵,算法较为复杂,计算代价较高,相应时间较长,且不易被操作人员理解Q与R矩阵的物理意义。方案二:虽然PID算法调整参数较为麻烦,但PID可以实现单环稳定,对于PID控制来说,更容易被人理解,PID控制结构简单,调试方便,易于工程上实现。综上,我们采用PID控制算法对风力摆运动系统进行控制。二、系统理论分析与计算1、摆杆位置检测为了检测摆杆的角度,从而判断摆杆的位置。我们采用高精度的串口6轴加速度计/陀螺仪MPU6050模块不断采集杆的位置信息。通过MPU6050模块与单片机的串口通信我们可以直接获取摆杆的三维角度Angel_X,Angel_Y,Angel_Z。姿态采集模块得到的角用于闭环控制系统摆动的线路确保激光笔按照要求画出轨迹。2、风力摆运动控制分析风力摆采用4个4.65A的轴流风机作为动力系统。姿态采集模块mpu6050不断采集摆杆的角度,返给单片机处理调节单片机调节风机的PWM,从而是实现对风力摆的控制。3、控制算法分析本系统采用PID算法来控制风机转动的速度。风机开始工作后,姿态采集模块不断采集风力摆摆动的角度,并与之前的角度比较使得风力摆的摆动状态3趋向平稳。PID分别表示摆杆的角度比例(P)、角度误差(I)、角度积分(D)。P:对风摆的当前角度偏差e(t)进行调整,系数越大调节速度越快,减小误差,但是过大的比例,会造成风机速度状态的突变,从而导致摆杆状态不稳定I:加入积分调节,可以消除系统的稳态误差,提高无误差度。系统的稳定性下降,动态响应变慢。D:微分调节反应的是风摆的角速度,可以预见偏差变化的趋势具有可预见性因而可以产生超前调节,加入微分调节可以改善系统的动态性能。图2PID结构原理图PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。其输入e(t)与输出u(t)的关系为:u(t)=kp(e(t)+1/TI∫e(t)dt+TD*de(t)/dt)式中积分的上下限分别是0和t。因此它的传递函数为:G(s)=U(s)/E(s)=kp(1+1/(TI*s)+TD*s)其中kp为比例系数;TI为积分时间常数;TD为微分时间常数三、电路与程序设计1、电路的设计(1)电路模块经过上述的分析和论证,决定了系统各模块采用的最终方案如下:控制模块:采用STM32单片机;姿态采集模块:6轴加速度计/陀螺仪MPU6050模块电源模块:稳压12V,5V给单片机风机供电键盘模块:采用独立按键;比例(P)积分(I)传感器微分(D)执行器4拨码开关:5位拨码开关蜂鸣器:(用于提示目标任务完成)根据题目要求,系统主要实现风力摆的各项功能系统框图如图所示图3系统框图(2)STM32最小系统电路(见附录1)(3)稳压电源的电路设计(见附录1)2、程序的设计在KeiluVision4开发环境下,采用C语言编程实现对对传感器输入信号的处理、对按键、拨码开关输入的查询,以及对风力摆风速、方向的精确控制。(1)程序功能描述与设计思路程序功能描述:1)独立按键:实现对风力摆的摆幅控制2)拨码开关:实现风力摆的模式选择3)程序设计思路:用PID进行调节,使倒立摆能够完成题目要求的各项任务激光笔风力摆轴流风机拨码开关按键模块姿态采集模块Stm32控制系统5(2)程序流程图图4程序流程图四、测试方案和测试结果1、测试方案1、硬件测试:分别对每个模块做相应的测试。2、软件仿真测试:使用KeilMDK软件进行仿真。3、硬件软件联调:在符合要求的环境中按照题目要求对风力摆的各项功能逐一进行测试2、测试条件和仪器测试条件:12V60A开关电源测试仪器:示波器,秒表,尺子,风速仪,数字万用表3、测试结果及数据分析(1)测试结果(数据)基本要求:(1)从静止开始,15s内风摆做类似自由摆运动,使激光笔稳定在地面画出一条不短于50cm的直线段并具有良好重复性。硬件初始化拨码开关按键模式1模式2模式3模式4模式5步进增步进减6表1风力摆画长于50cm直线测试(2)静止开始完成,15s内完成幅度可控的摆动,画出长度在30-60cm间可设置,长度偏差不大于+-2.5cm,并且具有较好的重复性表2风力摆画不同长度直线测试(3)从静止开始,15s内按照设置的方向画出不短于20cm的直线段。表3设置方向不短于20cm线段测试(4)将风摆拉倒一定角度(30-45度)5s内使风摆达到静止状态。表4风力摆静止测试发挥部分:(1)以风力摆静止时的激光笔的光点为圆心,风力摆驱动激光笔在地面画圆30s内需重复3次,圆半径可在15-35cm范围内设置,激光笔画出的轨迹指定半径+-2.5cm的圆环内。测试次数直线段长度时间149cm11.8s250.2cm10.1s350.1cm13s长度设置长度偏差时间30cm1.1cm14.6s45cm0.9cm13s60cm1cm11.5s测试次数线段长度时间120.9cm11s219.8cm13.6s320.5cm12.5s风摆角度是否达到静止时间30是8s35是5.8s40是6.1s7表5风力摆画圆测试(2)在发挥部分(1)后继续做圆周运动,在距离风力摆1-2m内用一台50-60w的台扇在水平方向吹向风力摆,台扇吹5s后停止,风力摆能够在5s内恢复发挥部分(1)规定的圆周运动,激光笔画出符合要求的轨迹。表6风力摆抗干扰测试(2)测试分析和结论根据上述测试数据,可以得出以下结论:1、风力摆能够很好的完成基本功能和部分发挥功能。2、风力摆系统完成任务的时间较快。3、风力摆系统保持了很好的稳定性。综上所述,本设计基本达到设计要求。五、结论与心得此次全国电子设计竞赛虽然只有短短的4天3夜的时间,但是我们团队却收获颇丰。当然此次电子设计竞赛不仅是技术的考验,短暂的时间限制更是对我们心理素质各方面的综合检验。进入大学后,我们被提供了更多的实践机会和平台,我们学习的不再仅仅局限于理论知识。此次电子竞赛题目的综合性很强,将我们之前所学的知识进行融合,这就要求我们在牢固掌握基本理论知识的