2015全国大学生电子设计竞赛风力摆控制系统论文.doc

上传人:恋****泡 文档编号:797786 上传时间:2019-07-14 格式:DOC 页数:18 大小:880KB
返回 下载 相关 举报
2015全国大学生电子设计竞赛风力摆控制系统论文.doc_第1页
第1页 / 共18页
2015全国大学生电子设计竞赛风力摆控制系统论文.doc_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《2015全国大学生电子设计竞赛风力摆控制系统论文.doc》由会员分享,可在线阅读,更多相关《2015全国大学生电子设计竞赛风力摆控制系统论文.doc(18页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、2015 年全国大学生电子设计竞赛风力摆控制系统(风力摆控制系统(B 题)题)2015 年年 8 月月 15 日日I摘摘 要要 系统为由 STC 12 单片机控制模块、姿态采集模块、风力摆模块、液晶显示模块、人机交互系统以及风力摆机械结构组成的闭环控制系统。MPU6050 采集风力摆的姿态角,单片机处理姿态角数据后通过 PID 精确算法调节直流风机以控制风力摆。本系统实现了风力摆在仅受直流风机为动力控制下快速起摆、画线、恢复静止的功能,并能准确画圆,且受风力影响后能够快速的恢复画圆状态,具有很好的鲁棒性,另外,本系统具有良好的人机交互界面,各参数及测试模式可有按键并通过液晶显示,性能好,反应速

2、度快。关键词:PID 算法 MPU6050 STC 12 单片机 人机交互II目目 录录一、系统方案.1 1.1 主控制器件的论证与选择.1 1.2 姿势采集的论证与选择 .1 二、系统理论分析与计算.2 2.1 风力摆控制系统的分析 .2 2.2、基础部分功能实现的分析与计算 .3 2.2.1 基础一功能实现的分析与计算.3 2.3、发挥部分功能实现的分析与计算 .4 三、电路与程序设计.5 3.1 电路的设计.5 3.2 基础部分系统框图与电路原理图.5 3.2.1 基础部分系统框图 .5 3.3 发挥部分系统框图与电路原理图.6 3.3.1 系统框图 .6 3.4 电源.6 3.5 程序

3、的设计.6 3.5.1 程序功能描述与设计思路 .6 3.5.2 程序流程图.6 四、测量方案与测量结果.7 4.1 测量工具 .7 4.2 测试方案及结果.7 五、结论与心得.8 六、参考文献.9 附录 1:电路原理图 .10 附录 2:源程序(部分) .111风力摆控制系统(风力摆控制系统(B 题)题)【本科组本科组】一、系统方案本系统主要由 STC12 单片机控制模块、姿态采集模块、风力摆模块、液晶显示模块、电源模块组成,下面分别论证这几个模块的选择。11、主控制器件的论证与选择1.1.11.1.1 单片机比较控制器选用单片机比较控制器选用 方案一:采用传统的 51 系列单片机传统的 5

4、1 单片机为 8 位机,价格便宜,控制 简单,但是运算速度慢,片内资源少,存储容量小,难以存储大体积的程序和实现快 速精准的反应控制。并且受时钟限制,计时精度不高,外围电路也增加了系统的不可 靠性。 方案二:采用以增强型 80C51 内核的 STC 系列单片机 STC12C5A60S2,其片内集成 了 60KB 程序 Flash,2 通道 PWM、16 位定时器等资源,操作也较为简单,具有在系统 调试功能(ISD) ,开发环境非常容易搭建 通过比较,我们选择方案二,采用以增强型 80C51 内核的 STC 系列单片机 STC12C5A60S2 作为控制器。 1.1.21.1.2 控制系统方案选

5、择控制系统方案选择 方案一:采用在面包板上搭建简易单片机系统在面包板上搭建单片机系统可以方 便的对硬件做随时修改,也易于搭建,但是系统连线较多,不仅相互干扰,使电路杂 乱无章,而且系统可靠性低,不适合本系统使用。 方案二:自制单片机印刷电路板 自制印刷电路实现较为困难,实现周期长,此外也会花费较多的时间,影响整体设计 进程。不宜采用该方案。 方案三:采用单片机最小系统。单片机最小系统包含了显示、矩阵键盘、 A/D、D/A 等模块,能明显减少外围电路的设计,降低系统设计的难度,非常适合本系 统的设计。 综合以上三种方案,选择方案三。1.2、姿势采集的论证与选择方案一:只测量风力摆关于静止状态时的

6、偏转角。采用二维平面内角位移传感器 测量风力摆转动时关于静止状态时的偏转角,通过控制该偏转角实现对流风机的控制。 该方案软件处理繁琐,且二维平面内的角位移传感器不利于测量风力摆的空间位置, 不利于实现对风力摆的精确控制。 方案二:选用双轴倾角传感器模块 LE-60-OEMLE-60-OEM,测量重力加速度变化, 转为倾角变化,可测量双向。具有稳定性高、低功耗、结构简单等优点。响应速度为 5Hz。它可以测量平衡板与水平方向的夹角,x,y 方向可以测,但 z轴不可测。且操作 复杂,软件处理难度大。 方案三:采用三维角度传感器。用三维角度传感器时刻测量风力摆当前姿态,通 过处理采集的姿态角数据控制风

7、机带动风力摆运动。此方案可精确测量风力摆当前姿2态,实现对风力摆的精确控制。 综合比较以上两个方案,本系统选择方案三。 1.3、控制系统的论证与选择 1.3.11.3.1 风机速度控制风机速度控制 方案一:采用 D/A 变换电路将数字量转换成控制电机电压的模拟量。再利用电平的高低达到调速的目的。原理框图如图 1 所示。本方案达到了利用 CPU 输出的数字量精确控制模拟量的目的。但原电路比较复杂,成本较高。 方案二:采用脉宽调制方式(PWM)从 I/O 口输出不同占空比的脉冲,经滤波后获得不同高低电平控制电机。本方案可以达到对速度的控制要求,且控制简单易实现。 通过比较明显方案二最简洁清晰、容易

8、实现、速度快、精度高。从系统指标要求来看,对速度要求较高,低速与高速之间差别较大,且准确度要求高,各个速度之间的切换也要求简单、迅速。采用方案二可利用单片机运行速度快的特点进行速度的快速调整,且方案二速度准确度高、级数多容易达到系统指标要求。所以我们选用方案二作为控制部分具体实施的方案。1.3.21.3.2 算法的选择算法的选择方案一、采用模糊控制算法,模糊控制有许多良好的特性,它不需要事先知道对象的数学模型,具有系统响应快、超调小、过渡过程时间短等优点,但编程复杂,数据处理量大。方案二、采用 PID 算法,按比例、积分、微分的函数关系,进行运算,将其运算结果用以输出控制。优点是控制精度高,且

9、算法简单明了。对于本系统的控制已足够精确,节约了单片机的资源和运算时间。综合比较以上两个方案,本系统选择方案二。二、系统理论分析与计算2.1、风力摆控制系统的分析2.1.12.1.1 风力摆系统模型建立风力摆系统模型建立 (1)建立风力摆运动模型,由于系统是由轻杆和风机等组成,相较于风机,轻杆质量 很小,可以近似认为旋转臂重心在风机中心线上附近,风机沿半径为 L 的弧长自由摆 动。示意图如图图.1 自由摆模型示意图3最低位置时风机将达到最大速度,因此在不计空气阻力及固定点摩擦力的下利用能量守恒定律有:,在 不超过 60,l=70cm 的情况下。计lvmmg2 )cos1 (算得 v=2.236

10、m/s,由角速度与线速度之间的关系,得出slv/128自由摆周期计算根据单摆的周期计算公式;得单摆周期 T=1.732ms。gLT222、基础部分功能实现的分析与计算 2.2.12.2.1 基础一功能实现的分析与计算基础一功能实现的分析与计算如图 2:图 2 系统结构图 要绘制超过 50cm 的直线段,只需要在平面内运动即可,如上图所示,只需要R大于 25cm,有公式:;则 21tanLLR )arctan(21LLR 其中,R 为横向摆动半长,为摆杆长,为激光笔长(可忽略不计)。 1L 2L 2L2.2.22.2.2 基础二功能实现的分析与计算基础二功能实现的分析与计算 要实现任意设置的线段

11、长度,相当于需要实现指定范围内任意的角度,必须使用闭环 控制,否则很难实现精确控制。计算公式和基本部分(1)一样,不过,我们需要增加 闭环控制算法,详述如下:设置任意直线段长度(3060cm 间)R,那么,对应的摆杆最大角度(角度阈值)为。)arctan(21LLR 如此转换便可得到我们能够测量的物理量(倾角) 传感器将倾角,角速度返回 MCU,MCU 通过控制轴流风机产生空气推力推动摆杆摆动。 2.2.32.2.3 基础三功能实现的分析与计算基础三功能实现的分析与计算4示意图3:图 3 轴流风机俯视图 假设轴流风机呈“+”形状分布,分别对应 X,Y 轴方向,那么如果设定某一摆动方向,与 X

12、轴呈角,那么: ,则。xy FFtan)arctan(Xy FF这需要四台轴流风机配合,形成合力方可实现,而四台风机分别位于 X,Y 轴线上, 只需要两个轴线上的风机各自产生的空气推力呈比例,即,。其中,是自行设置的,轴向风机应产生空气推力的比例为,MCU 将xy FFtan2控制电机的 PWM 置为相应比例,反复调节几次便可以使摆动角度达到要求。 2.2.42.2.4基础四的功能实现与计算基础四的功能实现与计算 拉起一定角度后,需要提供与运动方向相反的力,阻碍摆杆运动。设定值半长 R = 0,则=0;此为平衡位置。重力方向(自然平衡点)为需要控制达到的)arctan(21LLR 转态,无论以

13、何种方向拉起摆杆,倾角传感器的 X、Y 轴角度都会产生变化(除非沿 轴向),这样,根据 X、Y 轴的倾角、角速度数据(PD 算法)分别控制 X、Y 轴向的 风机,使之分别达到平衡状态。23、发挥部分功能实现的分析与计算 5图 4 画圆示意图 如上图,激光笔的圆周轨迹可以通过激光笔 x 轴的轨迹和 y 轴的轨迹合成得到。 即当 x 轴和 y 轴两个方向的运动轨迹是等幅且相位相差 90,这样通过两个 x 和 y 两 个方向的运动合成,即可使激光笔的轨迹呈现一个圆。x 轴和 y 轴方向的运动模型即是 基础部分提到的直线运动模型。开始时让摆杆能在 x 轴方向稳定摆动一个角度 ,当 摆到最高点时,同时让

14、摆杆在 y 轴方向开始起振(即满足相位差为 90),并通过调 节相对的两个风机转速是摆杆在 y 轴方向也稳定摆动 (即满足振幅相等)三、电路与程序设计3.1、电路的设计3.1.13.1.1系统总体框图系统总体框图 系统总体框图如图 5 所示,系统总体框图姿势采集模块单片机系统风力摆模块人机交互液晶显示模块图 5 系统总体框图3.1.23.1.2电路原理图见附录电路原理图见附录1 163.2 基础部分系统框图与电路原理图3.2.13.2.1 基础部分系统框图基础部分系统框图角度偏差Kp(比例)Kd(微分)PWM驱动风机风力摆系统设定值图 6 基础部分系统框图3.2.23.2.2、基础部分系统原理

15、电路见附录、基础部分系统原理电路见附录 1 13.3 发挥部分系统框图与电路原理图3.3.13.3.1 系统框图系统框图角度偏差Kp(比例)Kd(微分)PWM驱动风机风力摆系统设定值Ki(积分)摆杆姿态图 7 发挥部分系统框图3.3.23.3.2、发挥部分系统电路图见附录、发挥部分系统电路图见附录 1 13.4 电源用集成稳压器 7805,电路图中,稳压器 7805 输入端的电容为输入端滤波电容,输出端的电容为输出端滤波电容;家用电 220V 经过变压器接入供电电源模块,能输出直流电压-12V、-5V、5V、12V。电源原理图见附录3.5、程序的设计3.5.13.5.1 程序功能描述与设计思路

16、程序功能描述与设计思路 本系统采用三个独立按键输入各参数及测试模式,系统开机启动进入系统初始化 界面,按下指定按键后进入菜单选择界面,菜单选择界面有6个功能:分别对应题目基 本要求和发挥部分6点,通过按键可以选择进入相应的功能,功能执行完毕后系统回到 菜单选择界面,继续等待按键输入执行相应的功能。73.5.23.5.2 程序流程图程序流程图图 8 主程序图四、测试方案与测试结果4.1 测量工具(1)秒表 (2)量角器 (3)自制方向角度图纸4.2 测试方案及结果4.2.14.2.1驱动风力摆工作,使激光笔稳定地在地面画出一条长度不短于驱动风力摆工作,使激光笔稳定地在地面画出一条长度不短于 50

17、cm50cm的直线段,的直线段, 来回五次,记录其由静止至开始自由摆时间及最大偏差距离。测试结果如表来回五次,记录其由静止至开始自由摆时间及最大偏差距离。测试结果如表 1 1 所示。所示。 表一 风力摆画长于 50cm 直线测试时间(s)误差1(cm)误差2(cm)误差3(cm)误差4(cm)误差5(cm) 第一次测量5.52.42.0.0.51.31.7第二次测量5.01.91.70.31.41.6第三次测量6.01.41.00.60.81.64.2.24.2.2 设置风力摆画线长度,驱动风力摆工作,记录其由静止至开始自由摆时间及在设置风力摆画线长度,驱动风力摆工作,记录其由静止至开始自由摆

18、时间及在 画不同长度直线时的最大偏差距离。测试结果如表画不同长度直线时的最大偏差距离。测试结果如表 2 2 所示所示 表二 风力摆画不同长度直线测试时间(s)误差1(cm)误差2(cm)误差3(cm)误差4(cm)误差5(cm) 画30cm 直线13.6+1.0+1.5-1.0-1.0-1.1画40cm 直线14.5+1.5-0.5-0.9-1.0-1.18画50cm 直线14.0+1.0+0.8+0.5+0.4-0.54.2.34.2.3 设置风力摆自由摆时的角度,驱动风力摆工作,记录其由静止到开始摆时间及在设置风力摆自由摆时的角度,驱动风力摆工作,记录其由静止到开始摆时间及在不同角度上的直

19、线时的最大偏离距离,测试结果如图不同角度上的直线时的最大偏离距离,测试结果如图 3 3 所示。所示。表三 风力摆画不同角度直线测试时间(s)长度1(cm)长度2(cm)长度3(cm)长度4(cm)长度5(cm) 画0直线14.021.020.522.020.621.0画90直线12.020.021.522.021.020.5画180直线11.520.521.022.521.521.0画270直线13.620.621.022.521.021.0画360直线13.420.022.020.520.521.54.2.44.2.4将风力摆拉起一定角度放开,驱动风力摆工作,测试风力摆制动达到静止状态所将风

20、力摆拉起一定角度放开,驱动风力摆工作,测试风力摆制动达到静止状态所 用时间。测试结果如表用时间。测试结果如表 4 4 所示。所示。 表四 风力摆恢复静止测试T(s)时间(1)时间(2)时间(3)时间(4)时间(5)时间(6) 拉起303.63.63.53.43.63.5拉起403.94.04.14.24.14.0拉起454.64.84.54.74.74.64.2.54.2.5 以风力摆静止时激光笔的光点为圆心,设置风力摆画圆半径,驱动风力摆用激以风力摆静止时激光笔的光点为圆心,设置风力摆画圆半径,驱动风力摆用激 光笔在地面画圆,记录其画三次圆所用时间以及最大偏差距离,重复测试三次。改变光笔在地

21、面画圆,记录其画三次圆所用时间以及最大偏差距离,重复测试三次。改变 圆半径再次测试,重复以上操作四次。测试结果如表圆半径再次测试,重复以上操作四次。测试结果如表 5 5 所示。所示。 4.2.64.2.6 在在 4.2.54.2.5 的基础上,使用一台的基础上,使用一台 60W60W 台扇在距离风力摆台扇在距离风力摆 1m1m 距离处向其吹距离处向其吹5s5s 后后 静止,记录风力摆回复画圆状态时间。测试结果如表静止,记录风力摆回复画圆状态时间。测试结果如表 5 5 所示。所示。 表五 风力摆画圆测试 T(s), cm半径15cm半径20cm半径25cm半径30cm半径35cm时间(1)17.

22、618.520.523.026.5偏离距离 (1)5.06.64.57.18.0恢复时间 (1)3.54.03.94.34.6时间(2)17.918.120.824.026.8偏离距离 (2)5.16.34.57.27.9恢复时间3.73.94.04.54.79(2)时间(3)16.918.320.523.526.0偏离距离 (3)5.66.44.47.07.5恢复时间 (3)3.94.04.04.44.5根据上述测试数据,由此可以得出本设计达到设计要求。五、结论与心得首先,感谢组委会给我们这样一个平台,来提高我们的能力和展示自我的舞台。 我们小组通过利用 STM12 单片机控制模块、姿态采集

23、模块、风力摆模块、液晶显示模 块、人机交互系统以及风力摆机械结构组成的闭环控制系统。实现了风力摆在仅受直 流风机为动力控制下快速起摆、画线、恢复静止的功能,并能准确画圆,且受风力影 响后能够快速的恢复画圆状态,具有很好的鲁棒性,另外,本系统具有良好的人机交 互界面,各参数及测试模式可有按键并通过液晶显示,性能好,反应速度快。经过一 个月的集训和四天三夜的竞争比赛,我们感触颇多。本年的“摆系列”可谓是达到了 摆的最高境界了,从“自由摆”到“倒立摆” ,再到今年的“风力摆” ,都让我们有很 好的收获。在竞争的比赛时间了,我们小组三人,分工明确,齐心合作,一起熬夜, 一起战斗,最终达到了题目的要求。

24、期间遇到的很多困难,我们不放弃,认真讨论, 最终得到了解决。我们为自己的努力和不放弃感到自豪!六、参考文献1 黄智伟,王彦,陈文光等.全国大学生电子设计竞赛训练教程M.北京:电子工业出 版社,2007 2 康华光 数字电子技术基础(数字部分)第五版M 高等教育出版社 3 康华光 数字电子技术基础(模拟部分)第五版M 高等教育出版社 4 高吉祥,唐朝京.全国大学生电子设计竞赛培训系列教程(电子仪器仪表设计)M. 北京:电子工业出版社,2007 5郭天祥.新概念 51 单片机 C 语言教程.入门、提高、开发M.北京:电子工业出版 社,2009. 6梁明理.电子线路(第五版)M.北京:高等教育出版社

25、,200810附录附录 1:电路原理图:电路原理图图一:图一系统原理图图二 液晶原理图 图三 矩阵键盘原理图11附录附录 2:源程序:源程序(部分部分) void PWMInit ( ); /PWM 初始化void Uart1Init(void); /串口 1 初始化使用独立波特率void Time1Config();void MotorRun();void Base1Run();void Base2Run();void Base3Run();void Develop1Run();void Develop2Run();void DelayMs(uint ms) /在 11.0592M 晶振下,

26、stc10f 系列(单周期指令)的 ms 级延时 uint i;while(ms-)for(i = 0; i 0;m-)for(n=20;n0;n-)for(s=248;s0;s-);void main()PWMInit ();Uart1Init();lcdinit();/LCD12864 初始化Time1Config();/ CCAP1H = CCAP1L = 0; /此处应该设置合适速度以达到合适振荡/ CCAP0H = CCAP0L = 0; /此处一直打开是否有影响ucStrAngle0=0;ucStrAngle1=0;ucStrAngle2=0;ucStrAngle3=0;ucStr

27、w0=0;ucStrw1=0;ucStrw2=0;ucStrw3=0;EN1=0;EN2=0;EN3=0;EN4=0;while(1)MotorRun();void PWMInit ( ) /PWM 初始化CCON = 0; CL = 0; CH = 0;CMOD = 0x00;CCAPM1 = 0x42;CCAPM0 = 0x42; /一直打开是否有影响CR = 1; void Base1Run()CCAP1H = CCAP1L = 0;DXH=0;while(flag)if(XJIA=0)12delayTShake();if(XJIA=0)while(!XJIA);i+;if(XJIAN=

28、0)delayTShake();if(XJIAN=0)while(!XJIAN);i-;if(KAISHI=0)delayTShake();if(KAISHI=0)while(!KAISHI);flag=0;Xaim=jiaodui-30; /在此处查表Test(i,0,0);while (1)TR1=1;b10=(short)(ucStrw10)EN1=0;EN2=1;elseEN1=1;EN2=0;else /大于 16 度即达到 50cm ,可调节比此范围小自荡上去EN1=0;EN2=0;Test(i,j,k);13void Base2Run()void Base3Run()DXH=0;

29、CCAP1H = CCAP1L = 120; /此处应该设置合适速度以达到合适振荡CCAP0H = CCAP0L = 40;while(flag)EN1=0;EN2=0;EN3=0;EN4=0;if(KAISHI=0)DelayMs(5);if(KAISHI=0)while(!KAISHI);flag=0;while (1)TR1=1;if(timer2=160) /PWM 周期为 100*0.5mstimer2=0;DXH=1; b10=(short)(ucStrw10) /b1EN1=1;EN2=0;EN3=0;EN4=1;if(b10)EN2=1;EN3=0;EN4=1;Test(50,

30、j,k);void MotorRun()if(Base1=0)DelayMs(5);if(Base1=0)while(!Base1);Base1Run();if(Base2=0)DelayMs(5);if(Base2=0)while(!Base2);Base2Run();if(Base3=0)DelayMs(5);if(Base3=0)while(!Base3);Base3Run();if(Develop1=0)DelayMs(5);if(Develop1=0)while(!Develop1);Develop1Run();if(Develop2=0)DelayMs(5);if(Develop2

31、=0)while(!Develop2);Develop1Run();if(Develop3=0)DelayMs(5);if(Develop3=0)while(!Develop3);Develop2Run();15void Time1Config()TMOD|= 0x10; /设置定时计数器工作方式 1 为定时器/-定时器赋初始值,12MHZ 下定时 0.5ms-/ TH1 = 0x4C; TL1 = 0x00;ET1 = 1; /开启定时器 1 中断EA = 1;/ TR1 = 1; /开启定时器TR1=0;void Time1(void) interrupt 3 TH1 = 0x4C; /重新赋初值TL1 = 0x00;timer1+;timer2+; if(timer1=250) /PWM 周期为 100*0.5mstimer1=0;timer2=0;DXH=1;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com