收藏 分享(赏)

风板控制设计报告.doc

上传人:精品资料 文档编号:10927711 上传时间:2020-01-21 格式:DOC 页数:33 大小:25.68KB
下载 相关 举报
风板控制设计报告.doc_第1页
第1页 / 共33页
风板控制设计报告.doc_第2页
第2页 / 共33页
风板控制设计报告.doc_第3页
第3页 / 共33页
风板控制设计报告.doc_第4页
第4页 / 共33页
风板控制设计报告.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、2015 年全国大学生电子设计竞赛风板控制装置(I 题)【高职高专组】2015 年 8 月 15 日摘 要 本系统通过对直流小风扇风速的调节实现对风板转角的控制,使风板转角能够随风速变化而改变,且能快速达到设定角度并稳定。IAP15F2K61S2 单片机为控制核心,通过键盘设定风板板角度 12864 实时显示风板当前角度。单片机输出 PWM 波控制风扇的风速,通过 GY521mpu-6050 测量风板的倾角反馈至单片机,采用 PID 控制经典算法,使系统实现精确控制,然后微调小风扇的转速改变风速的大小使风板角度达到稳定。并且在达到设定范围时进行声光提示。通过调试与测试,实现了基本部分与发挥部分

2、,最终实现在悬挂重物的情况下风板能达到设定角度控制,且最终绝对值误差不超过 5 度. 关键字:1602; GY521mpu-6050;PWM;PID 算法。目 录1 系统方案 11.1 角度测量方案选择 11.2 风扇控制方案选择 21.3 显示方案选择 21.4 控制器方案选择 22 系统理论分析与计算 32.1 风扇调试原理 32.2 角度测量原理 32.3 PID 控制算法的分析 33 电路与程序设计 43.1 电路的设计 43.1.1 系统总体框图 43.1.2 角度检测电路 43.1.3 风扇驱动电路 53.1.4 按键及显示电路 53.1.5 电源电路 63.2 程序的设计 63.

3、2.1 程序功能描述与设计思路 63.2.2 程序流程图 64 测试方案与测试结果 74.1 测试方法与仪器 74.2 测试过程及数据 74.3 测试分析与结论 8附录 1:电路原理图 10附录 2:实物图 111 系统方案根据题目要求,本系统可以分为控制部分和信号检测部分.控制部分则包括显示模块、按键模块、声光报警模块、风扇驱动模块四个基本部分。信号检测部分为角度测量模块,测量风板的角度。下面分别论证这几个模块的选择。1.1 角度测量方案选择方案一:采用 MMA7260 重力加速度传感器,由于加速度传感器在静止放置时受到重力作用,因此会有 1g 的重力加速度。利用这个性质,通过测量重力加速度

4、在加速度传感器的 X 轴和 Y 轴上的分量,可以计算出其在垂直平面上的倾斜角度。根据如图 1.1 所示,有 Ax = gsin,Ay =gcos 。则=tan 即 =arctan(). 这样,根据以上原理一个 2 轴加速度传感器可以测量在 X-Y 平面上的倾斜角度。该方案原理简单,操作方便,但使用起来运算量较大,程序较为复杂,对于单片机来说,会显得有点吃力,因此我们放弃选用该方案。图 1.1 加速度传感器角度测量原理方案二:MPU-6000 为全球首例整合性 6 轴运动处理组件,相较于多组件方案,免除了组合陀螺仪与加速器时之间轴差的问题,减少了大量的包装空间。MPU-6000 能以数字输出 6

5、 轴或 9 轴的旋转矩阵、四元数(quaternion)、欧拉角格式(Euler Angle forma)的融合演算数据。内建之运作时间偏差与磁力感测器校正演算技术,免除了客户须另外进行校正的需求。符合设计要求,同时也是我们平时有接触的模块。故综合考虑实际中选择方案二。1.2 风扇控制方案选择方案一:采用可控硅控制调速,通过控制双向可控硅的导通角,使输出端电压发生改变,从而使施加在电风扇的输入电压发生改变,以调节风扇的转速,实现各档位风速的无级调速。但可控硅控制控制原理决定了只能滞后触发,因此,晶闸管可控制整流器对交流电源来说相当于一个感性负载,吸取滞后的无功电流,因此功率因素低。并且晶闸管整

6、流装置的输出电压是脉动的,而且脉波数总是有限的。如果主电路电感不是非常大,则输出电流总存在连续和断续两种情况,因而机械特性也有连续和断续两段,因此功率因素低,故我们不选用该方案。方案二:采用直流斩波控制,改变电压输出开关断时间,将直流电源电压断续加到负载上,即可实现风扇调速控制,它具有效率高、体积小、成本低等优点。我们可以采用单片机由软件来实现 PWM 波,简化系统硬件设计,通过改变 PWM 波的占空比的值即可改变电枢端电压的平均值从而达到调速的目的。再加上 PID 算法控制,而整个系统的 PWM 波形的产生是通过 PID 算法调节 ,这样提高了系统的稳定性和可靠性,让系统控制更加精确。故综合

7、考虑实际中选择方案二。1.3 显示方案选择方案一:使用数码管显示,通过数码管显示被测角度和设定角度。该方案程序简单,但硬件占用单片机 I/O 口较多,对于尽量节约端口,让线路简单来说不是好方法,而且显示也不够直观灵活,只能显示数字,不能显示汉字显示功能提示, 故不适合本次设计应用。方案二:使用液晶屏 LCD1602,具有体积小,使用方便等特点。并且可以显示字母,数字等功能,观察显示很直观,通过字幕显示各种菜单界面 、设定角度、测量角度等。该方案程序较复杂,但显示观察清晰,显示直接明白,完全符合本系统设计功能。故为最佳方案,我们选择方案二。方案二:使用液晶屏 LCD1602,具有体积小,使用方便

8、等特点。并且可以显示字母,数字等功能,观察显示很直观,通过字幕显示各种菜单界面 、设定角度、测量角度等。该方案程序较复杂,但显示观察清晰,显示直接明白,完全符合本系统设计功能。故为最佳方案,我们选择方案二。1.4 控制器方案选择方案一:采用 FPGA(现场可编程门阵列)作为系统的控制器;将所有的器件集成在一块芯片上,这样外围电路较少,控制板的体积小,稳定性高,扩展性能好;而且 FPGA 采用并行的输入/输出方式,系统处理速度快,再加上 FPGA 有方便的开发环境和丰富的开发工具等资源可利用,易于调试;但是 FPGA 得成本偏高,算术运算能力不强,而本设计系统的设计会用到较多算术运算,所以 FP

9、GA 的高速处理的优势得不到充分体现。方案二:采用 STC 公司的 IAP15F2K61S2 单片机作为系统的控制器。单片机算术运算功能强,软件编程灵活,可用软件较简单的实现各种算术和逻辑控制,并且由于其成本低,体积小和功耗低等优点,使其在各个领域应用广泛;另外,由于本设计中会用到较多的算术运算,所以对本系统来说非常适合利用单片机作为控制器。基于以上分析,选择方案二。2 系统理论分析与计算2.1 风扇调试原理单片机控制的小型直流电机的一般采用 PWM 脉冲调制方式实现速度的控制。PWM 基本原理: PWM 即脉冲宽度调制(定义) ,是直流电源电压基本不变的情况下通过电子开关的通断,改变施加到电

10、机电枢端得直流电压脉冲宽度(即所谓的占空比) ,以调节输入电机电枢的电压平均值的调速方式。通过改变固定周期内直流电压的占空比来改变电机两端的直流平均电压,进而达到控制风力大小的一种方法。PWM 可以应用在许多方面,如电机调速、温度控制、压力控制等。通过改变直流电机电枢上电压的“占空比“来改变平均压的大小,从而控制电动机的转速。只要按一定规律,改变通、断电的时间,即可让电机转速得到控制。设电机始终接通电源时,电机转速最大为 Vmax, 设占空比为 D=t1T ,则电机的平均速度为式中,Vd - 电机的平均速度; Vmax- -电机全通电时的速度 (最大); D=t1T -占空比。 由此可见,当我

11、们改变占空比 D:t1 T 时,就可以得到不同的电机平均速度 Vd ,严格地讲,平均速度 Vd 与占空比 D 并不是严格的线性关系,在一般的应用中,可以将其近似地看成线性关系。2.2 角度测量原理mpu6050 工作原理:作为一款物理传感器,其工作原理是利用物理效应,诸如压电效应,将被测信号量的微小变化转换成电信号。MPU6050 是一款 9 轴运动处理传感器。它集成了 3 轴 MEMS 陀螺仪,3 轴 MEMS 加速度计,以及一个可扩展的数字运动处理器DMP(Digital Motion Processor),可用 I2C 接口连接一个第三方的数字传感器,比如磁力计。扩展之后就可以通过其 I

12、2C 或 SPI 接口输出一个 9 轴的信号( SPI 接口仅在 MPU-6000 可用) 。MPU-6050 也可以通过其 I2C 接口连接非惯性的数字传感器,比如压力传感器。极大提高系统最小精度,符合题目要求。2.3 PID 控制算法的分析 PID 控制算法是控制理论中应用很广泛的一种算法,对于一般控制系统来说,PID 算法从某种意义来说具有通用性,对各种系统具有广泛的适用性,通过现场的参数调试,可以达到很好的控制效果。对于我们这次风板控制系统的设计,我们同样也可以使用 PID 控制算法,具体算法如下:e(i)=t 测-t 设E=(2)算法中,u(i)为当时的功率输出。T 为采样时间,E

13、为误差积累,KP 为比例常数,Ti为积分常数,Td 为微分常数。根据实际系统,调节这三个常数,可以达到更好的效果。3 电路与程序设计3.1 电路的设计3.1.1 系统总体框图系统总体框图如图 3.1 所示:图 3.1 系统总体框图3.1.2 角度检测电路采用 GY-52 角度传感器,免除了组合陀螺仪与加速器时之轴间差的问题,减少了大量的包装空间。MPU-6000 整合了 3 轴陀螺仪、3 轴加速器,可以直接输出角度转换为数字信号传递给单片机进行调速控制。其电路图如图 3.2 所示:图 3.2 角度检测电路3.1.3 风扇驱动电路采用单片机产生 PWM 波,简化硬件电路设计,实现性价比高特点,改

14、变 PWM 波的占空比的值即可改变电枢端电压的平均值从而达到调速的目的。外加 LM298 驱动电路,即可完全实现调速控制。LM298N 它采用单片集成塑装, 是一个高电压、大电流全双桥驱动器,由标准的 TTL 电平控制。 L298N 支持 50V 以内的电机控制电压,在直流运转条件下,可以通过高达 2A 的电流,因此它满足了一般小型电机的控制要求。接法见图 3.3,图中二极管的作用是消除电机的反向电动势,保护电路,因此采用整流二极管比较合适。PWM 控制信号由 in1、in2 输入。如果 in1 为高电平,in2 为低电平时电机为正向转速,反之 in1 为低电平,in2 为高电平时,电机为反向

15、转速。本设计将 in2 直接接地,即采用单向制动的方式。图 3.3 L298N 模块实物图3.1.4 按键及显示电路图 3.4 1602 显示电路本设计采用 1 个键作为键盘,分别为选择 2 种模式。按是一种,不按又是一种。图 3.5 按键输入电路3.1.5 电源电路电源由变压部分、滤波部分、稳压部分组成。为整个系统提供 5V 或者 12V 电压,确保电路的正常稳定工作。我们采取的是单电源供电,把 12v 的直流电供给电机,用降压芯片把电压稳定到 5V,提供给单片机工作,并实现了互不干扰。同时单片机可以间接控制电机的调速。LM337 可调稳压3.2 程序的设计3.2.1 程序功能描述与设计思路

16、1、程序功能描述:可以输出精确的角度信息,并利用 PWM 来高速调节电机的开关从而实现对电机速度控制,使得角度传感器,风板,电机,单片机,LCD1602,形成了一个简单的系统。2、程序设计思路:先是利用角度传感器对风板的角度进行精确的实时显示,利用角度传感器传输的数据对 pwm 进行控制,使得电机的风速得到控制,最后风速来反馈给角度传感器,形成了一个封闭的反馈使的闭环系统。4 测试方案与测试结果4.1 测试方法与仪器测试方法:先通过 Keil C 软件实现程序调试和进行初步仿真,再通过 protues 仿真软件搭建电理图,实现对程序功能的实现仿真,并且用虚拟仿真软件 Multisim 对硬件电

17、路实现功能仿真,确保电路无误后,在制作硬质电路板,焊接电路,实现软硬件联合调试。测试仪器:量角器、秒表、直尺、模拟示波器、数字示波器、数字万用表、指针式万用表。4.2 测试过程及数据 1.测试基本功能一:用手搬动风板时,数字显示风板的转角。实际测试时,风板角度能够从 45-135 度变化,符合题目要求。2.测试基本功能二:当悬挂 10 克重物时,使风板角度 能够在 45-135 度范围变化,并实时显示角度。在完成要求的同时,要求误差不超过 5 度,反应时间 15 秒,测试如下:风力大小(%) 角度()40 3044 4547 5050 6553 8055 9560 10565 12073 13

18、5表 1 基本功能二测试3.测试基本功能三:当间距为 10cm 时,通过控制按键控制风力大小,在 455范围内。要求控制过程在 10 秒内完成,实时显示 ,并由声光提示,以便进行测试。测试数据如表 2 所示: 风力大小(%) 角度() 用时(s)52 48 6.351 48 3.143 44 3.1表 2. 基本功能测试三4.测试发挥功能一: 当间距挂 10 克重物时,通过键盘设定风板转角,其范围为 45-135 要 在 15 秒内达到设定值,并实时显示 。最大误差的绝对值不超过 5测试数据如 表3 所示:设定角度() 实际角度() 风力大小(%) 调整时间(s)30 30 0 050 14

19、12 1370 24 17 1690 28 22 13110 36 43 12130 54 76 11150 180 80 05 测试发挥功能二:在功能一的基础上,通过键盘设定模式,要求 在两个预设角度间摆动四次,摆动周期不超过 5 秒,最大误差的绝对值不超过 5。测试数据达到要求4.3 测试分析与结论根据上述测试数据,系统完全符合要求,误差在允许范围内,实现全部功能,有些指标还很高精度。由此可以得出以下结论:综上所述,本设计达到设计要求。附录 1:电路原理图角度传感器电路原理图附录 2:实物图附录 3:系统程序#include #include /Keil library #include

20、/Keil library#include typedef unsigned char uchar;typedef unsigned short ushort;typedef unsigned int uint;/*/ 定义 51 单片机端口/*#define DataPort P0 /LCD1602 数据端口sbit SCL=P24; /IIC 时钟引脚定义sbit SDA=P23; /IIC 数据引脚定义sbit LCM_RS=P22; /LCD1602 命令端口sbit LCM_RW=P21; /LCD1602 命令端口sbit LCM_EN=P20; /LCD1602 命令端口 /*/

21、 定义 MPU6050 内部地址/*#define SMPLRT_DIV 0x19/陀螺仪采样率,典型值:0x07(125Hz)#define CONFIG 0x1A /低通滤波频率,典型值:0x06(5Hz)#define GYRO_CONFIG 0x1B/陀螺仪自检及测量范围,典型值:0x18( 不自检,2000deg/s)#define ACCEL_CONFIG 0x1C/加速计自检、测量范围及高通滤波频率,典型值:0x01(不自检,2G,5Hz)#define ACCEL_XOUT_H 0x3B#define ACCEL_XOUT_L 0x3C#define ACCEL_YOUT_H

22、0x3D#define ACCEL_YOUT_L 0x3E#define ACCEL_ZOUT_H 0x3F#define ACCEL_ZOUT_L 0x40#define PWR_MGMT_1 0x6B/电源管理,典型值:0x00( 正常启用)#define WHO_AM_I 0x75/IIC 地址寄存器(默认数值 0x68,只读)#define SlaveAddress 0xD0 /IIC 写入时的地址字节数据,+1 为读取/*/定义类型及变量/*uchar dis4; /显示数字(-511 至 512)的字符数组int dis_data; /变量/int Temperature,Temp

23、_h,Temp_l; /温度及高低位数据/*/函数声明/*void delay(unsigned int k); /延时/LCD 相关函数void InitLcd(); /初始化lcd1602void lcd_printf(uchar *s,int temp_data);void WriteDataLCM(uchar dataW); /LCD 数据void WriteCommandLCM(uchar CMD,uchar Attribc); /LCD 指令void DisplayOneChar(uchar X,uchar Y,uchar DData); /显示一个字符void DisplayLi

24、stChar(uchar X,uchar Y,uchar *DData,L); /显示字符串/MPU6050 操作函数void InitMPU6050(); /初始化MPU6050void Delay5us();void I2C_Start();void I2C_Stop();void I2C_SendACK(bit ack);bit I2C_RecvACK();void I2C_SendByte(uchar dat);uchar I2C_RecvByte();void I2C_ReadPage();void I2C_WritePage();void display_ACCEL_x();voi

25、d display_ACCEL_y();void display_ACCEL_z();uchar Single_ReadI2C(uchar REG_Address); /读取 I2C 数据void Single_WriteI2C(uchar REG_Address,uchar REG_data); /向 I2C 写入数据/*/整数转字符串/*void lcd_printf(uchar *s,int temp_data)*+s =temp_data/100+0x30;temp_data=temp_data%100; /取余运算*+s =temp_data/10+0x30;temp_data=te

26、mp_data%10; /取余运算*+s =temp_data+0x30; /*/延时/*void delay(unsigned int k)unsigned int i,j;for(i=0;i94)else if(t1-t0)=51)pwm_counter1=51;if(flag2=1)pwm_counter1+;pwm_counter1+;delay(1);CCAP1L=150-pwm_counter1;CCAP1H=150-pwm_counter1;pwm_counter0-;delay(1);CCAP0L=150-pwm_counter0;CCAP0H=150-pwm_counter0

27、;if(pwm_counter1=51)pwm_counter1=51;if(pwm_counter095)if(flag2=1)pwm_counter0+; pwm_counter0+;delay(1);CCAP0L=150-pwm_counter0;CCAP0H=150-pwm_counter0;pwm_counter1-; delay(1);CCAP1L=150-pwm_counter1;CCAP1H=150-pwm_counter1;if(pwm_counter0=47)pwm_counter0=48;if(pwm_counter1=47)pwm_counter0=48;if(pwm_

28、counter1=0)pwm_counter1=0;void time_init()TMOD=0X00;TH0=(65536-50000)/256;TL0=(65536-50000)%256;/ ET0=1;EA=1;TR0=1;/*/主程序/*void main() int pwm_counter0=0,pwm_counter1=0;delay(500); /上电延时InitLcd(); /液晶初始化InitMPU6050(); /初始化 MPU6050delay(15);pwm_init();time_init();while(1)led=1;temp=jd();/ang1_93();/ ang2_70_105();if(key=0)delay(10);if(key=0)ang1_93();DisplayListChar(1,1,angl1,3);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报