智能排气扇系统软件毕业设计.doc_第1页
智能排气扇系统软件毕业设计.doc_第2页
智能排气扇系统软件毕业设计.doc_第3页
智能排气扇系统软件毕业设计.doc_第4页
智能排气扇系统软件毕业设计.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智能排气扇系统软件设计智能排气扇系统软件毕业设计目 录1 引言11.1 课题背景11.2 智能排气扇在国内外发展现状11.3 课题研究的任务及意义12系统总体设计22.1系统总体设计方案22.2系统硬件模块22.3系统软件33 系统的软件设计43.1程序设计43.2主程序设计43.3危险气体检测及声光报警程序设计53.4温度处理子程序63.4.1设计思路63.4.2温度处理程序设计73.5 液晶显示子程序设计103.5.1 LMO16L工作原理113.5.2液晶显示程序设计123.6模糊控制子程序模块133.6.1模糊控制的基本原理133.6.2 模糊控制程序设计133.7红外遥控子程序设计153.7.1红外遥控系统原理153.7.2红外遥控控制子程序设计153.8按键处理子程序164 仿真分析及结论174.1仿真分析174.2结论19结束语20参考文献21附录22致谢30301 引言1.1 课题背景随着经济的发展,智能化渐渐步入普通百姓的家。现在市场上的各类智能化产品可谓层出不穷,最常见的有只能电饭煲,智能电冰箱和智能洗衣机等。所谓的智能化,其目的在于增加人与机器的互动,降低能耗,提高效率,尽量达到以人为本的目的。而在各类化工产品的贮存过程中,特别是化工原料、农药、化肥、医药用品、化学试剂等,它们具有不同程度的爆炸、易燃、助燃、毒害、腐蚀等危险特性。当受到较剧烈的震动、撞击、摩擦或接触火源、热源、雨淋水浸变化的影响,以及接触性质相抵触的物品时,就会引起爆炸、燃烧、人身伤亡等灾害,使人们的社会生活受到了严重的影响。据国家卫生局统计,每年因有毒有害气体泄漏而引起的中毒、火灾、爆炸夺走近50万人的生命,造成的损失超过数亿元。本文研究的基于AT89C51单片机的智能排风扇就是根据上述情况进行研制的。针对危险气体的检测和排放以及温湿度检测等问题,提出了一种新型的智能化方案,能够精确检测当前环境情况并且进行实时监控,在实时、精度、成本、体积和通用性上都有相应的优势。1.2 智能排气扇在国内外发展现状我国对智能排气扇的研究开始于“八五”期间,在“九五”期间各方面技术得到了进一步的提高。随着人工智能技术、计算机技术、自动控制技术的迅速发展,智能控制技术必将得到更进一步的发展,并且传感器在其中所发挥的作用也日益重要。因此,遥控加智能的技术研究、应用都是非常有意义而且有很高的市场价值的。在国内,小功率的排气扇多采用PWM调速的直流电机驱动控制,大功率的多采用变频器控制交流电动机。就控制算法来说,国内主要采用的PI控制,精度要求比较高的话采用PID算法控制。1937年,世界第一台家用排气扇在英国的VentAxia御风公司诞生,随着国际市场的开拓,排气扇逐渐趋于智能化,科学技术水平的提高必将引导智能化的高速发展。目前,国外对智能排气扇的总体的研究方向是提出质量更高的算法和调速方案,以及在考虑成本要求的前提下选择适合这种算法的核心控制器。1.3 课题研究的任务及意义根据题目的要求,设计中应注意的原则:实时精确、降低功耗、提升效率1。该研究项目是智能排气扇控制系统,以单片机AT89C51为微控制器,对室内空气的成分,温湿度等进行检测,采用直流电机的PWM调速,有危险气体报警时,通过红外遥控功能实现对排气扇的电机转速进行控制。智能排气扇有极为广泛的应用前景,结合传感器技术和红外遥控技术可以实现排气扇的自适应检测和电机的实时调速的功能,工业应用上,由于生产要求,需要在仓库上安装可以检测有毒气体及能够根据温度和湿度自动无级调速,结合红外遥控技术进而大大提高生产安全性。2系统总体设计2.1系统总体设计方案智能排气扇以微控制器为核心,通过检测传感器来判断排气扇的工作状态和获取必要数据,进而控制电机的工作。排气扇的人机交互由键盘和LCD来完成。通过键盘,用户能执行基本的控制,而LCD能把温度,湿度,转速等基本信息反馈给用户。该系统上还设计到红外遥控模块以及声光报警模块,当遇到有害气体时,PWM驱动模块以最大的电压输出占空比驱动直流电风扇以最大速度转动,同时发光二极管导通,报警蜂鸣器作用,提醒工作人员。系统总体框架图如下图1所示。图1 总体系统框图2.2系统硬件模块该智能排气扇系统模块主要涉及到电机驱动电路模块、液晶显示模块、温湿度检测模块、危险气体检测模块、键盘控制模块、红外遥控模块等。现逐一介绍如下:l 电机驱动电路模块:本设计采用目前市场上较容易买到的L298N直流或步进电机驱动芯片,它采用单片集成塑装,是一个高电压、大电流全双桥驱动器,由标准的TTL电平控制。l LCD显示电路与单片机的接口电路模块:1602字符型LCD,能时显示16x02即32个字符,实时显示当前温湿度,便于工作人员及时调节风扇转速。l 温湿度检测电路模块:设计分别采用传感器DS18B20 、DHT11检测实时温度和湿度。l 有毒气体报警检测电路:设计采用的气体传感器为CO气体传感器检测空气中危险气体成分,同时采用蜂鸣器和发光二级管,通过声光报警告知工作人员,采取相应措施,改善环境。l 键盘控制模块:本部分作用主要是设定温度阀值,通过键盘输入操作,将检测出来的当前温度与阀值作比,由差值的变化控制风扇转速的大小。l 红外遥控模块:通过红外技术,可以设定键盘输入初始值以及可以在遥控上设计8个按键,不同的按键代表不同的事件,其中5个设定不同级的风扇转速,三个设置为初始阀值的加减和确认键。2.3系统软件该系统软件按部分主要实现3个部分:第一是核心控制程序,要求电机的PWM调速控制;第二是有害气体检测程序;第三是DS18B20和DHT11的室内温湿度检测程序。系统软件框图如下图2所示:图2 系统软件框架图其中在整个软件设计过程中,首先进行危险气体的检测,当传感器检测到有害气体时,系统已大功率驱动风扇以最大转速旋转,同时驱动声光报警模块工作,如若没有检测到危险气体时,系统则进行温湿度的检测,温度检测时通过传感器DS18B20检测到实时温度,通过与设定阀值比较,采用模糊控制算法,对温度进行调节,从而改变风扇转速。在湿度检测时,通过湿度传感器感应当前空气环境湿度,采用PID运算进行设计,从而实现湿度的检测与调节,以驱动风扇转速的改变,由于该模块在仿真中不易检测,故在该软件设计中主要阐述危险气体检测程序、温度检测程序等子程序。3 系统的软件设计3.1程序设计程序设计(Programming)是指设计、编制、调试程序的方法和过程。它是目标明确的智力活动。在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序2。因此,软件设计在微机控制系统设计中占重要地位。对于本系统,软件也占有重要的地位。在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。数据处理包括:数据的采集、数字滤波、标度变换等。过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制生产。本系统软件采用模块化结构,由温度检测模块子程序、危险气体检测模块子程序、湿度检测模块子程序、红外遥控模块子程序、按键处理模块子程序、模糊控制子程序等子程序构成。3.2主程序设计在智能排气扇软件控制系统的设计过程中,通过对设计要求的理解与分析,以及对实际情况的分析,我们在设计中主要实现有害气体的检测、温度模块的检测,由于湿度在专业软件中仿真有所欠缺,故不加以说明。在主程序设计中,我们遵循程序设计的基本流程,因为有害气体在实际生产中,会导致严重的经济损失,甚至生命危险,所以在设计过程中优先考虑对危险气体的检测。首先,先对系统整体初始化,检测是否有按键按下,若有,则执行按键处理程序对给定温度阀值进行设定,否则,程序向下进行;若检测到有害气体,执行有害气体检测模块,使PWM调速模块以最大占空比驱动电机旋转,最终使风扇以最大速度转动,以祛除危害气体。否则,执行温度检测模块,通过温度传感器检测到实时温度,启动模糊控制算法,系统将根据不同的温度差值和温度值,改变PWM的占空比,同时,电机驱动模块将根据不同的占空比,以不同的速率转动。在该软件系统设计过程中,设计了声光报警模块,当有有害气体和高温显示是,在液晶显示模块都将实时显示当前环境质量,提醒人们及时采取措施,调整环境。同时,在检测到有害气体时,PWM以最大占空比驱动发光二极管与蜂鸣器工作。主程序流程图设计如下图3所示。图3 主程序流程图3.3危险气体检测及声光报警程序设计该智能排气扇软件系统采用传感器QS-01检测空气质量,通过检测空气中的危险气体,使当前PWM的占空比达到最大值,驱动直流电机电压值,从而使风扇以最大速率旋转,同时,驱动发光二级管和蜂鸣器正常工作,进而使声光报警模块能够正常工作,提示当前工作人员采取相应措施,使当前环境达到正常状态。在执行危险气体检测时,首先对有害气体传感器QS-01进行初始化,进而启动危险气体检测程序,当没有检测到有害气体时,直接进入温度检测模块;否则,程序向下执行,一旦检测到有害气体,系统将输出最大PWM占空比,电机驱动模块L298N将以最大到的直流电压,驱动风扇以最大速率运转,并且输出脉冲控制信号,驱动发光二极管闪烁,与此同时,蜂鸣器发出报警声响。然而由于在proteus仿真软件中,有害气体传感器没有在元件库内,故,在设计本模块时,采用一个独立按键充当危险气体传感器,当独立按键按下时,则说明有检测到危险气体,系统将依照程序执行;否则,按键处于低电平状态,系统执行温度检测模块程序。那么,由程序设计原理可得到危险气体检测模块程序流程图如下图4所示。图4 危害气体检测及声光报警模块流程图3.4温度处理子程序3.4.1设计思路这里使用的是最新单线数字温度传感器 DS18B20。DS18B20 支持“一线总线”接口,测量温度范围为-55+125.在-10+85范围内,精度为0.5。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等3。 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是 TH、TL 的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算,第九个字节是冗余检验字节。例如TM R1 R0 1 1 1 1 1该字节各位的意义如下。低五位一直都是1,TM 是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表1所示:(DS18B20出厂时被设置为12 位)。 表1 分辨率设置表R1R0分辨率温度最大转换时间009 位93.75ms0110 位187.5ms1011 位375ms1112 位750ms温度传感器DS18B20在仿真电路中它的信号端DQ直接与单片机的P3.3相连,那么温度传感器DS18B20在仿真图中得连线图如下图5所示:图5 DS18B20连线图3.4.2温度处理程序设计根据 DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作4。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。DS18B20的内部结构,如下图6所示。图6 DS18B20内部电路温度处理子程序流程图设计如下图7所示:开始初始化子程序设置跳过ROM命令CCH,调写命令子程序设置启动温度转换命令44H,调写命令子程序延时调初始化子程序设置跳过ROM命令CCH,调写命令子程序设置读数据命令BEH,调写命令子程序读取温度数据调温度数据处理子程序返回图7 温度子程序流程图(1)温度转换子程序温度转换子程序对从DS18B20读出的两字节初始温度进行一系列转换,对负温度进行求补转换成绝对值,并设负温度标志位FLAG2为1,然后高、低字节分别存入TEMP_H和TEMP_L。接下来完成以下两项任务:把两个字节的温度值拆分组合成一个字节的二进制数并存入TEMP_ZH,高位为符号位,其余七位为绝对值,以备在温度比较及结果显示子程序中使用。把两个字节的温度值拆分组合成两个字节的BCD码,并存入TEMPHC和TEMPLC,TEMPHC中存放的是百位和十位,TEMPLC中存放的是个位和小数位。程序流程如图8所示。图8温度转换子程序流程图(2)BCD码转换子程序BCD码转换子程序的任务是把温度转换子程序CONVTEMP中的两个字节组合BCD码,再进一步拆分成四个字节的BCD码用于显示调用,分别为百位、十位、个位和小数位,并设灭零显示标志位FLAG3和FLAG45。如果百位为零时,十位也为零,则设标志位FLAG4=1,这两位都显示“空格”字符。负数时,十位上为0时,要和正数相区别,不能显示,即一律灭零,故设标志位FALG3=1。BCD码转换子程序流程序图如图9所示。图9 BCD码转换子程序流程序3.5 液晶显示子程序设计本设计采用LM016L显示模块,LCD广泛应用于微型计算机控制系统中。与LED相比,它具有功耗低,抗干扰能力强,体积小,廉价的特点,且有良好的人机界面,直观,显示效果漂亮。目前已广泛应用在各种显示领域,另外,LCD在大小和形状上更加灵活,接口简单,不但可以显示数字、字符,而且可以显示汉字和图形,因此在袖珍仪表、医疗仪器、分析仪器及低功耗便携式仪器中6。LCD已成为一种占主导地位的显示器件。在该智能排气扇软件系统设计过程中,采用LM016L液晶显示模块,实时显示当前温湿度以及有危险气体时发出警告示意。3.5.1 LMO16L工作原理LM016L是162数码液晶显示器,每行可显示16个字符,共两行。LM016L的控制器为HD44780,与液晶屏集成在一起。HD44780有三个存储器,分别是字符存储器CGROM、显示数据存储器DDRAM和字符产生器CGRAM。在LM016L的CGROM中,共有192个可供显示的字符和数字,其中57(宽高)字符150个,510(宽高)字符42个。LM016L分行显示时,只能显示57字体的字符,想要显示510字符,只能单行显示。如果要显示除CGROM中192个字符以外的其它字符,可以自定义最多8个特殊字符写入CGRAM中以供显示调用。DDRAM与液晶显示屏上的位置是映射关系,只要把CGROM或CGRAM中的字符成功写入对应的DDRAM地址,便可在LCD上显示出相应的字符。单行显示时,DDRAM的显示地址自左至右分别为80H87H,C1HC7H;双行显示时,显示地址首行自左至右为80H8FH,第二行自左至右为C0HCFH。HD44780的控制端有三个,分别是RS、RW和E。RS=0,配合读写控制端RW实现命令读写;RS=1时,配合读写控制端RW实现显示数据的读写。RW是LCD的读写控制端,RW=0为写有效;RW=1为读有效。E为LCD的使能信号,每次读写都需要产生一个宽450ns周期为1000ns的脉冲信号7。HD44780的控制命令共有11条,主要用来控制光标的显示方式、单行或双行显示方式、4线或8线数据传输方式、存储器地址指针增减方式等,可以根据不同的设计需求选用不同的命令形式。HD44780的写时序图如下图10所示。图10 HD44780的写时序图从图10中可以看出,每次读写数据时,先使RS和RW有效,然后E(图中为EN)脉冲信号有效,E脉冲信号应先为高电平后为低电平。最后通过D0D7送出命令或数据,也可以把送出命令或数据放在第一步8。3.5.2液晶显示程序设计显示温度数据子程序的功能是把温度数据的各位以及符号分别显示在LM016L的指定位置上。LM016L对动态数据的显示需要进行转换,即把要显示的BCD码加上30H后才能正常显示该数。温度数据显示在LM016L的第二行,第二行首列的显存地址为C0H,程序采用显存地址变量LCD_X来寻址,分别取6到A几个值,然后与C0H相加得到各位及小数位的显存地址,然后把该显示的数据送入即可9。该子程序的流程图如图11所示。图11 液晶显示程序流程图3.6模糊控制子程序模块3.6.1模糊控制的基本原理模糊控制的基本原理如图12所示,它的核心部分是模糊控制器,它主要包括输入量的模糊化、模糊推理和逆模糊化(或称模糊判决)3部分。该智能排气扇软件系统所采用的模糊控制器由单片机AT89C51的程序来实现,用单片机实现的具体过程如下:(1) 求系统给定温度值与检测值的误差e。(2) 计算误差变化率ec(即de/dt)。(3) 输入量的模糊化。将前边得到的误差及误差变化率的精确值模糊化,变成模拟量E、EC(De/dt),并将控制输出量u模糊化为U。(4)编写控制规则。(5)进行模糊推理。(6)逆模糊化。(7)简历模糊控制查询表,以便单片机查表快速控制。单片机执行完(1)(6)步骤后,即完成了被控对象的一步控制,然后等到下一次A/D采样,再进行第二部控制,这样循环下去,就完成了对被控对象的控制10。在本系统中,被控对象为温度以及温度变化量。图12 模糊控制原理图3.6.2 模糊控制程序设计本智能排气扇软甲系统采用温度误差e和温度变化率ec作为模糊控制器的输入变量,温度控制量u作为模糊控制器的输出变量。系统中温度误差e、温度误差变化率ec、控制量u的基本论域为-5, 5、-2,2、和0,1。温度误差e和温度误差变化量ec的最坏情况值均为100,在此建立的温度误差e和温度误差变化率ec的论域分别为-5, 5、-2,2。这样必须对温度误差e和温度误差变化率ec限幅,温度误差e分为下列3种情况:若e5,则取e=5;若e-5,则取e=-5;否则,若-5e5时,采用四舍五入的方法对其取整,得到e后再对其进行量化处理。同理,温度误差变化率ec也分为下列3种情况:若ec2.5,则取ec=2.5;若ec-2.5,则取ec=-2.5;否则若-2.5ec2.5时,采用四舍五入的方法对其取整,取得ec后再对其进行量化处理。这样就可以使温度误差e和温度误差变化率ec在整个测控温度变化范围内,即0,100内,控制量都可以起到作用。由于误差和误差变化率均可正可负,因此将要比较进行分支的有符号数与零进行比较为负则转到负数程序执行,再与其余负数中的值进行比较,两数相减,若结果中得符号位CF=1,则说明被减数小于减数,CF=0,说明被减数大于减数;否则为正则转到正数程序执行,再与其余正数比较,两数相减,若结果中的符号位CF=1,说明被减数小于减数,CF=0,说明被减数大于减数11。控制量作用的占空比子程序,采用定时程序来完成,调整占空比时,使T0、T1同时配合使用,T0专用于置低电平时,即双向可控硅导通,T1专用于置高电平时,即双向可控硅关断,在总定时周期不变的情况下,调节T0、T1的定时时间,以改变其占空比的大小,来完成对控制量的操作。模糊程序流程图如下图13所示。图13模糊控制程序流程图3.7红外遥控子程序设计红外遥控是目前家用电器中用得较多的遥控方式,其中在车载影音导航系统也被广泛的应用。红外遥控的特点是不影响周边环境的、不干扰其他电器设备。由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。由于各生产厂家生产了大量红外遥控专用集成电路,需要时按图索骥即可。因此,现在红外遥控在家用电器、近距离(小于10米)遥控中得到了广泛的应用12。 3.7.1红外遥控系统原理红外遥控系统主要由红外遥控发射装置、红外接收设备、遥控微处理机等组成。因此,遥控系统是一涉及单片机的数字系统。而通用红外遥控系统由发射和接收两大部分组成。使用专门编码/解码IC来进行来进行操作控制,发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光/电转换放大器、解调、解码电路13。红外遥控系统图如下图14所示。 图14 红外遥控系统图3.7.2红外遥控控制子程序设计智能排气扇系统中采用红外遥控技术,在设计过程中,遥控面板上设置8个控制按键,分别为五个等级的风扇转速以及两个初始值按键加减键能设置,其中五个风扇转速由PWM占空比0、1/4、1/2、3/4、1时的电压值驱动风扇以不同等级转动,而在对温度给定值设置时则采用增减按键对其进行设置,以使系统能够实时测定当前温度,并对室内温度进行调节,驱使风扇转动,最终使室内温度达到正常11。省下一个设置为OK键,以设定红外程序初始值的设置。在该智能排气扇系统软件设计中,红外遥控设计思路为,先对定时器初始化,将外部中断使能,启动外部中断,当有红外遥控信号出发外部中断时,系统将处理红外信号码值,然后进行识别散转,通过对红外遥控键盘的按键设置,和相应的按键功能,执行对应的按键处理。在对风扇转速的设计中,可以利用红外遥控功能,出发外部中断,当设定了不通的PWM占空比时,使能各个不同按键,风扇则以不同速率运转。本系统中红外遥控控制子程序设计流程图如下图15所示。图15红外遥控程序流程图3.8按键处理子程序按键控制模块主要有两个独立按键构成,在单片机系统中,在需要的按键比较少的情况下,通常都使用独立按键,而在本系统中,将数值以0.5的幅值浮动,设置按键的增减幅值。单片机的P3.6、P3.7来作为独立按键的控制端,单片机循环扫描,当检测到P3.6、P3.7有一个管脚为低电平时,则执行相应的按键程序。按键具体连线图如下图16所示。图16 按键接线图在对温度初始值给定设置时,通过两个按键对温度阀值进行控制,由流程图可以看出,可以通过“+”、“-”两个按键切实对阀值进行设定15。在按键程序中,也可以通过红外遥控技术,对其进行控制,在对温度阀值的设定过程中,以0.5为基数递增或者递减,从而实时调整当前环境温度。该按键处理子程序流程图如下图17所示。图17 按键子程序流程图4 仿真分析及结论4.1仿真分析通过一系列的仿真分析,在对该系统软件设计的过程中得到如下结果:(1)当检测到危险气体时,PWM占空比达到最大,驱动直流电机达到最大电压,从而使风扇以最大功率旋转,波形分析图如下图18所示。图18 危险气体检测波形分析图(2)在温度检测模块程序设计中,在设计过程中,将温度基数设为0.5,以此在软件仿真中通过增加与降低温度值,本系统中,将温度变化值通过占空比来改变直流驱动电压,从而改变风扇的旋转速率。那么,在对温度检测过程中,有如下几种分析:l 当前温度误差为0.5时,由示波器运行仿真结果得到如下图19所示的波形图。图19温度增加0.5时波形图在当前情况下,风扇转速以最小速率旋转,风扇基本上旋转不动。l 当前温度误差为1时,示波器运行仿真结果如下图20所示。图20温度增加1时波形图在此时,PWM占空比接近于1/4,驱动风扇以25%的速率旋转,同时发光二极管发光报警。l 当前温度误差为2时,示波器运行仿真结果如下图21所示。图21 温度增加2时波形图此种情况下,风扇则以50%的速率旋转。同时发光二极管发光报警。l 当前温度误差为3时,示波器运行仿真结果如下图22所示。图22 温度增加3时波形图在当前状态下,风扇则以75%的速率旋转,同时发光二极管发光报警。l 当前温度误差为4是,示波器运行仿真结果分析如下图23所示。图23 温度增加到4时波形图此时,PWM占空比达到最大,风扇以100%的速率旋转,同时发光二极管发光报警。4.2结论由以上仿真分析可得出,在该智能排气扇软件控制系统中,首先检测的是危险气体,当当前空气中发现危险气体时,占空比以100%驱动直流电压,进而使风扇以最大速率旋转,当排除有害气体后,应有单片机复位控制键,对系统进行复位,继续通过温度传感器DS18B20检测实时温度。通过当前检测值与给定阀值的比较,经过模糊控制算法,及时反馈当前温度,改变PWM波占空比,从而使风扇旋转速率改变,使当前环境状态稳定,从而达到设计目的。在整个设计过程中,由于湿度检测模块不能在软件仿真中实时仿真出来,因此不再过多阐述,而在湿度检测模块中,可以采用PID运算程序16,对系统进行控制,改变风扇速率,以实现利用风扇风干环境湿度,使设计更加完善。在按键处理程序中,通过简单的独立按键的增减设置,对给定温度阀值进行控制,可以对现实工作中环境温度进行更好的处理。而在红外遥控设计程序中,有很多问题还需认真解决,例如可以通过红外遥控进行调速,还可以对按键进行遥控处理等。结束语在设计过程中,通过对传感器技术、红外遥控技术、直流电机调速技术等专业技术的学习,使我对电子专业有了全新的认识,经过一系列的查阅资料,了解掌握单片机控制过程中的控制算法的原理以及程序流程的设计。基本上完成了设计要求和仿真调试,能够实时通过检测空气与环境质量,切实调整风扇转速速率,改善环境、空气质量。但是,在设计中也有很多不足之处,由于对算法了解不够深入,故在算法控制上有所欠缺,以及在对环境湿度检测时,由于仿真软件中没有该仿真模块,故不能正常进行湿度检测模块的仿真。因此在以后的学习过程中,应加大对这一方面的学习。在这次设计中,我既巩固了专业知识,又学到了在智能化设计过程中的许多流程和该注意的事项,增强了电子产品开发的意识。现在的设计方案还存在一些问题,我们暂时还不能够解决,希望在以后的工作学习中可以学到更多。参考文献1 何立民单片机应用系统设计,航天航空大学出版社,1990年1月,25-372 朱清慧,张凤蕊,翟天嵩,王志奎. Proteus教程电子线路设计、制板与仿真M.北京:清华大学出版社,2008(9),1-53 杜树春,单片机应用系统开发实例详解,北京:化学工业出版社,2008年1月4 赵负图,传感器集成电路手册,化学工业出版社,2004年5 周润景,徐宏伟,丁莉单片机电路设计、分析与制作北京:机械工业出版社,2010年5月41-626 马潮. AVR单片机嵌入式系统原理与应用实践M.北京:航空航天大学出版社,2007(10),15-3007 陈伯时,电力拖动自动控制系统,北京:机械工业出版社,2000年6月,19-238 李永东PWM供电的异步电机电压定向矢量控制电气传动,1991,4(1),52-569 楼然苗,51系列单片机设计实例,北京:航空航天大学出版社,2006年2月10 孙增析,张再兴,邓志东智能控制理论与技术北京:清华大学出版社,2004,38-4611 郭戈,罗志刚多传感器数据融合方法的研究与进展J北京:机电一体化出版社,2003(5),12-1712 Wangyong Lee Chaldea Lim A. Design and Implementation of a Remote Debugging Environment for Embedded Interne Software J. Lecture Notes in Computer Science,200313 Denise Ombres,Jack Rosen Zweig.TMS320VC5471/TMS320 VC5470 Inter ProcessorJ.Report SPRA818. 200214 Wangyong Lee,Chaldea Lim A. Design and Implementation of a Remote Debugging Environment for Embedded Interne Software J. Lecture Notes in Computer Science,2003.715 Zhang Nannun, New Control principle(in Chinese)M, Defence Industry Publishing House, Beijing, 2005.1:150-167 16 Tugomir Surina, Clyde Herrick. Semiconductor Electronics. Copyright 1964 by Holt, Rinehart and Winston, Inc.,120-250附录附录1程序清单(1)温度检测模块程序代码C语言程序代码/18b20初始化函数void Init_DS18B20(void)unsigned char x=0;DQ = 1; /DQ复位delay(8); /稍做延时DQ = 0; /单片机将DQ拉低delay(80); /精确延时 大于 480usDQ = 1; /拉高总线delay(10);x=DQ; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败delay(5);/读一个字节unsigned char ReadOneChar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-)DQ = 0; / 给脉冲信号dat=1;DQ = 1; / 给脉冲信号if(DQ)dat|=0x80;delay(5); return(dat);/写一个字节void WriteOneChar(unsigned char dat) unsigned char i=0;for (i=8; i0; i-) DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat=1; delay(5);/读取温度void b20() Init_DS18B20();WriteOneChar(0xCC); / 跳过读序号列号的操作WriteOneChar(0x44); / 启动温度转换delay(200);Init_DS18B20();WriteOneChar(0xCC); /跳过读序号列号的操作WriteOneChar(0xBE); /读取温度寄存器等(共可个寄存器) 前两个就是温度a=ReadOneChar();b=ReadOneChar();if(b&0xf8=0) b=b;b=b+1;str0=0xDF; else str0=0xff;b=b=8;temp=b|a;delay(100);temp=temp*62.5;e=temp/10000;f=e%10; /温度十位g=temp/1000;h=g%10; /温度个位ii=temp/100;j=ii%10; /温度小数点后一位(2)液晶显示模块子程序设计C语言程序代码/*延时函数*/void delay_us(unsigned int n) /延时 如果需要高精度延时 请嵌入汇编 if (n = 0) return ; while (-n); /*延时函数*/ void delay_ms(unsigned char i) unsigned char a, b; for (a = 1; a -PFF3 & PPFF3) if(P=-PFF2) Pn=-2; PF0=FMAX*(float)(-PFF2-P)/(PFF3-PFF2); else if(P=-PFF1) Pn=-1;PF0=FMAX*(float)(-PFF1-P)/(PFF2-PFF1); else if(P=PFF0) Pn=0;PF0=FMAX*(float)(-PFF0-P)/(PFF1-PFF0); else if(P=PFF1) Pn=1; PF0=FMAX*(float)(PFF1-P)/(PFF1-PFF0); else if(P=PFF2) Pn=2; PF0=FMAX*(float)(PFF2-P)/(PFF2-PFF1); else if(P=PFF3) Pn=3; PF0=FMAX*(float)(PFF3-P)/(PFF3-PFF2); else if(P=PFF3) Pn=3; PF0=0; PF1=FMAX-PF0;if(D-DFF3 & DDFF3) if(D=-DFF2) Dn=-2;DF0=FMAX*(float)(-DFF2-D)/(DFF3-DFF2); else if(D=-DFF1) Dn=-1; DF0=FMAX*(float)(-DFF1-D)/(DFF2-DFF1); else if(D=DFF0) Dn=0; DF0=FMAX*(float)(-DFF0-D)/(DFF1-DFF0); else if(D=DFF1) Dn=1;DF0=FMAX*(float)(DFF1-D)/(DFF1-DFF0); else if(D=DFF2) Dn=2; DF0=FMAX*(float)(DFF2-D)/(DFF2-DFF1);else if(D=DFF3) Dn=3; DF0=FMAX*(float)(DFF3-D)/(DFF3-DFF2); else if(D=DFF3) Dn=3; DF0=0; DF1=FMAX-DF0/*Un原值为输出隶属函数标号,转换为隶属函数值*/ i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论