风力摆控制系统设计报告_图文

上传人:j****9 文档编号:46290229 上传时间:2018-06-24 格式:DOC 页数:28 大小:10.20MB
返回 下载 相关 举报
风力摆控制系统设计报告_图文_第1页
第1页 / 共28页
风力摆控制系统设计报告_图文_第2页
第2页 / 共28页
风力摆控制系统设计报告_图文_第3页
第3页 / 共28页
风力摆控制系统设计报告_图文_第4页
第4页 / 共28页
风力摆控制系统设计报告_图文_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《风力摆控制系统设计报告_图文》由会员分享,可在线阅读,更多相关《风力摆控制系统设计报告_图文(28页珍藏版)》请在金锄头文库上搜索。

1、2015 全国大学生电子设计大赛全国大学生电子设计大赛风力摆控制系统(B 题)【本科组】2015 年 8 月 15 日2摘要:摘要:本文以本文以 IAP 单片机为控制核心,可以在运行过程中对程序的部分区域进行烧写,单片机为控制核心,可以在运行过程中对程序的部分区域进行烧写,听过单片机内的程序控制风机的转动,继而带动风力摆的运动,从而实现控制听过单片机内的程序控制风机的转动,继而带动风力摆的运动,从而实现控制风力摆的运动状态。系统设计结构简单,制作精度较高,具有较好的实践性。风力摆的运动状态。系统设计结构简单,制作精度较高,具有较好的实践性。关键词:IAP15F2K61S2 单片机 ffb081

2、2ehe 轴流风机 激光笔 键盘3一,系统方案1,系统结构系统包括 IAP15F2K61S2 单片机,直流电机和电机驱动模块,激光笔及外部框架组成。由测控系统控制驱动各风机,使风力摆按照一定规律运动,从而使激光笔在地面划出一定的轨迹。2,风力摆运动控制方案的论证与选择1.1 风力摆制作方案方案一:通过 IAP15F2K61S2 单片机控制轴流风机工作和停止,用细管通过万向节固定在支架上,从而实现规定动作。优点耗散力少,风力更集中,可以更加容易控制风扇作直线运动。方案二:通过 IAP15F2K61S2 单片机控制轴流风机工作和停止,用粗单股导线将风力摆吊挂在支架上,由于绳上的拧劲,优点:可以更加

3、容易的让绳做圆周运动,但是正因如此,风力很难集中在一条直线上,使风扇的直线运动不好控制,因此我们选择了一方案。1.2 风力摆控制方案方案一:用 stc89c52RC 单片机,STC89C52RC 是 STC 公司生产的一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。且该单片机简单上手,便于学习控制,由于厂家配备的是 ULN2003APG 驱动模块,该驱动模块只能驱动 5v 直流风机,然而直流风机是 12v 供电,所以不能解决方案是在驱动模块上还接一块 74ls14 芯片,或者加一块 L298N 的电机驱动模块,但由于时间和资金问题,此方案不妥。方案二:

4、用 IAP15F2K61S2 单片机,IAP 系列单片机具有低功耗、高速度、超强抗 干扰等优点。该单片机电路板有 6 个松乐继电器,可以通过铁片的吸合控制风扇,避免了不能驱动风扇的问题,并且操作简易,不需要另花时间,不仅缩短了时间,更加提高了实验的成功率。二,理论分析与计算1,风力摆的状态测量4风力摆的状态测量主要通过激光笔在地上画出的线表现出来,风机转动后,带动其下端的风力摆进行运动,通过一定的单片机控制控制风力摆运动,通过激光笔的运动,即可实现风力摆状态的测量。2,风力摆的运动控制方法(1) 合理的搭建支架选取合适的材料搭建支架,采用了合适大小的 PVC 管作为支架的材料,易于加工和固定,

5、然后将风机利用凝胶固定,使其更加稳定且不易损坏器件。(2)适宜的硬件选取该系统采用了 IAP15F2K61S2 单片机作为主控芯片,使系统更具稳定性。三,电路与程序设计1. 电路设计电机驱动原理图如图所示562. 控制程序的设计3. 程序设计见附录四,测试方案与测试结果1,测试方案根据题目要求,利用测试仪器对风力摆的工作状态进行测试。2,测试仪器秒表,自制风力摆,量角器,长直尺,50-60W 小型风扇,带方向角度的硬纸板。3,测试结果 驱动风力摆工作,使激光笔稳定地在地面画出一条长度不短于 50cm 的直线段,来回五次,记录其由静止至开始自由摆时间及最大偏差距离。测试结果如表 1 所示。表一时

6、间(s)误差 1误差 2误差 3误差 4误差 5第一次测试7.62.22.01.82.41.5第二次测试7.01.81.52.12.41.7第三次测试7.32.02.42.11.92.0 设置摆动可控的摆动,即不同长度直线时的最大偏差距离。测试结果在误差允许范围内符合规定。 设置风力摆画线长度,驱动风力摆工作,记录其由静止至稳定摆动的时间及在画不同角度直线时的最大偏差。测试结果如表 3 所示 将风力摆拉起一定角度放开,记录拉起不同的角度时风力摆达到静止所需的时间。表四时间 1时间 2时间 3时间 4时间 57拉起 30 度3.23.43.43.03.1拉起 35 度3,53.53.6.3.43

7、.3拉起 40 度3.63.7363.73.8拉起 45 度4.0414.34.24.5 笔在地面画圆,记录其画三次圆所用时间以及最大偏差距离,重复测试三次。改变圆半径再次测试,重复以上操作四次。测试结果符合规定要求 记录风力摆恢复画圆状态时间及偏差测试结果在误差允许范围内符合规定。4,测试分析系统总体上基本可以达到一定的性能,且运行时间误差在允许的范围内。风力摆的制作成本低,性价比较高,七误差主要来源于轴流风机以及风力摆的结构,以及运动中的摩擦造成的。因此,需要采用具有更好的启动制动的直流电机,不断改进硬件结构,才能使控制精度更高,5,结论本系统以单片机为核心部分来控制直流电机转动,从而达到

8、系统的基本要求。在系统的设计中,力求硬件线路简单,充分发挥软件编程的灵活性,从而满足系统设计的要求。由于时间有限,该系统还有许多值得修改的地方,比如如何更好地控制系统,硬件电路设计还需设计,以减小系统阻力等。在这段时间内的实验过程中,我们遇到许多的问题,需要我们自己去研究,去解决,经过这次比赛,我们认识到了团队合作的重要性,并且得到了宝贵的创作经验,同时也让我们懂得了我们不仅仅要学习课本上的知识,更要多多将平时学习的知识运用到实践中去。五,参考文献1 谭浩强.C 语言程序设计M.北京:清华大学出版社,20122郁有文传感器原理及工程应用西安:西安电子科技大学出版社,2008附录:程序清单/*

9、标签面面向自己,relay1 风扇为左下角8标签面面向自己,relay3 风扇为右下角标签面面向自己,relay2 风扇为右上角标签面面向自己,relay4 风扇为左上角*/#include “Project.h“sbit relay1 = P00;sbit relay3 = P01;sbit relay2 = P02;sbit relay5 = P03;sbit relay4 = P05;sbit key1 = P10;sbit key2 = P11;sbit key3 = P12;sbit key4 = P14;xdata int x=0;int aver;void Delay50ms()

10、/11.0592MHzunsigned char i, j, k;9_nop_();_nop_();i = 3;j = 26;k = 223;dodowhile (-k); while (-j); while (-i);void Delay500ms()/11.0592MHzunsigned char i, j, k;_nop_();_nop_();i = 22;j = 3;10k = 227;dodowhile (-k); while (-j); while (-i);void Delay900ms()/11.0592MHzunsigned char i, j, k;_nop_();_nop

11、_();i = 38;j = 211;k = 3;dodo11while (-k); while (-j); while (-i);void Delay950ms()/11.0592MHzunsigned char i, j, k;_nop_();_nop_();i = 40;j = 236;k = 232;dodowhile (-k); while (-j); while (-i);12void Delay1000ms()/11.0592MHzunsigned char i, j, k;_nop_();_nop_();i = 43;j = 6;k = 203;dodowhile (-k);

12、while (-j); while (-i);void Delay2000ms()/11.0592MHzunsigned char i, j, k;_nop_();13_nop_();i = 85;j = 12;k = 155;dodowhile (-k); while (-j); while (-i);void Delay3000ms()/11.0592MHzunsigned char i, j, k;_nop_();_nop_();i = 127;j = 18;k = 107;do14dowhile (-k); while (-j); while (-i);void Delay4000ms

13、()/11.0592MHzunsigned char i, j, k;_nop_();_nop_();i = 169;j = 24;k = 59;dodowhile (-k);15 while (-j); while (-i);void Delay6000ms()/11.0592MHzunsigned char i, j, k;_nop_();_nop_();i = 253;j = 35;k = 220;dodowhile (-k); while (-j); while (-i);void Delay7000ms()/11.0592MHz16unsigned char i, j, k;_nop

14、_();_nop_();i = 39;j = 41;k = 172;dodowhile (-k); while (-j); while (-i);void Delay8000ms()/11.0592MHzunsigned char i, j, k;_nop_();_nop_();17i = 81;j = 47;k = 124;dodowhile (-k); while (-j); while (-i);void Delay9000ms()/11.0592MHzunsigned char i, j, k;_nop_();_nop_();i = 123;j = 53;k = 76;do18dowh

15、ile (-k); while (-j); while (-i);void Delay10000ms()/11.0592MHzunsigned char i, j, k;_nop_();_nop_();i = 165;j = 59;k = 28;dodowhile (-k);19 while (-j); while (-i);void Delay15000ms()/11.0592MHzunsigned char i, j, k;_nop_();_nop_();i = 237;j = 175;k = 96;dodowhile (-k); while (-j); while (-i);void Delay16000ms()/11.0592MHz20unsigned char i, j, k;_nop_();_nop_();i = 161;j = 93;k = 254;dodowhile (-k); while (-j); while (-i);void main(void)xdata int x=0;/int aver;21int ctr1,ctr2,ctr3,ctr4;/设置四个中间变量,对应四个按键while(1) ();if(key1 = 0) /按键 1 对应中间变量 ctr1,同时应将其他中间变量清零ctr1 = 1;ctr2 = 0;ctr3 = 0;ctr4 = 0;i

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

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号