【《智能风扇控制系统的硬件和软件设计案例》5900字(论文)】_第1页
【《智能风扇控制系统的硬件和软件设计案例》5900字(论文)】_第2页
【《智能风扇控制系统的硬件和软件设计案例》5900字(论文)】_第3页
【《智能风扇控制系统的硬件和软件设计案例》5900字(论文)】_第4页
【《智能风扇控制系统的硬件和软件设计案例》5900字(论文)】_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

智能风扇控制系统的硬件和软件设计案例目录TOC\o"1-3"\h\u32671智能风扇控制系统的硬件和软件设计案例 110902第1章控制器的硬件设计 1252801.1单片机控制模块 1148551.2温度测量模块 3297111.3距离测量模块 722531.4蜂鸣报警器模块 8150391.5指示灯模块 9272191.6按键模块 1024411.7电机驱动模块 1026496第2章程序设计 1426912.1软件开发环境 14234752.2单片机程序设计 14第1章控制器的硬件设计1.1单片机控制模块单片微型计算机,简称单片机,也可以称为微控制器,是将中央处理器、随机存储器只读存储器、定时/计数器、输入/输出接口电路集成到一块电路芯片上构成的微型计算机[9]。内部结构框图如图3-1.图3-1单片机内部结构框图在当前社会,单片机被广泛应用在各个领域。日常生活中,几乎每一个控制设备都存在单片机的身影。单片机不是一个只完成某一方面功能的模块,而是一个集成了计算机各个部分的电子芯片。这就相当于是一个仅仅缺少了输入输入设备的电脑,简单地说,就是一个单片机,就是一个电脑。它具有体积小、重量轻、成本低廉等诸多优点,给我们学生学习单片机的开发利用创造了良好的条件[10]。从上个世纪九十年代,就逐步的开始发展单片机的技术,应用在一些简单控制领域,在科学技术飞速发展的如今,单片机的成熟应用也必然是最后的结果,现在各个领域都广泛应用了单片机技术。单片机在智能技术方面的应用被人们逐渐重视,在日新月异的技术发展时代,单片机的发展也没有落后,不管是在自动控制领域,还是在分析计算领域,都得到了相当大的发展。现在的工业发展过程当中,作为一个新兴的高科技含量的行业,电子信息行业像是雨后春笋,人们把电子信息技术非常成功的应用在很多的工业生产当中,融合电子信息技术和单片机技术,从而大幅度提升了单片机的应用效果。可以说单片机技术是隶属于计算机技术的,因为一个单片机就是一台计算机,把单片机技术应用在各种电子行业,极大扩大了这些电子设备的功能范围,同时为智能化产品提供了新的方向[11]。由此可见,单片机依靠其强大的数据处理和运算控制能力,得到很多领域的青睐,在本次设计当中我也是采用应用开发最广泛之一的STC-AT98C51单片机作为控制处理的主要元件,开发板实图如图3-2所示,购买的开发板,已经封装好了电路图,还添置了许多其他功能的模块,以便我们学生开发利用,我们在对单片机进行学习的时候非常的便利[12]。图3-2STC-AT89C51单片机开发板1.2温度测量模块在网上查阅各种资料,对比了几种温度传感器,慎重考虑了他们的优点和价格等方面的各种条件之后,并且在查阅文献的过程中,发现大家使用的温度传感器基本上都是DS18B20温度传感器,所以我决定本设计采用DS18B20温度传感器,DS18B20数字温度传感器不仅具备体积微小、质量很轻、成本较低、测量范围广,能够测得-55℃~+125℃之间的温度,而且还具有测量误差小、耐磨耐碰、使用方便、封装形式多样,适用于各种狭小空间设备数字测温和控制领域等基本优点,还具有强大的抗干扰能力[13]。此传感器的使用范围广泛体现在:该产品适用于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和控制领域,轴瓦,缸体,纺机,空调,等狭小空间工业设备测温和控制,汽车空调、冰箱、冷柜、以及中低温干燥箱等,供热/制冷管道热量计量,中央空调分户热能计量和工业领域测温和控制,还可用于锅炉内水温测量,服务器测温,温室测温,武器装备库测温等大多数情况下的普通条件下的正常测温[14]。根据实际情况,不同的应用场合使用不同的封装产品,被广泛应用在各个自动温度控制领域。实验中所用到的DS18B20如图3-3所示,由图可知封装好的温度传感器是由三个引脚,一个接电源,一个接地,剩下一个就是传输数据使用的引脚[15]。图3-3DS18B20温度传感器图3-4DS18B20传感器内部结构图根据其内部结构图3-4可知,DS18B20内部结构,除了包含了一些硬件模块需要的基本常见部件如64位光刻ROM、配置寄存器外,其中主要区别就是里面的温度灵敏元件和两个温度触发器,这是温度传感器的核心部件。当然还有电源检测、存储器、控制器和缓存器等基本部分。下面来简单介绍一下这个温度传感器的工作原理:在进行温度采集之前,我们需要对温度传感器进行初始化,初始化时序图如图3-5所示,首先得把数据总线拉到低电平“0”,在延时一段时间后,再拉回到高电平“1”,并等待延时,初始化成功后,传感器会产生一个低电平返回给单片机,用来确定传感器的存在并初始化成功。如若处理器读到了传感器返回的低电平,则还要再做延时,达到足够延时后,便可以开始收集温度数据。图3-5DS18B20初始化时序图初始化完成之后,就可以在传感器上进行各种相应的读写操作,给传感器写入相应的指令语句,便可以执行相应的功能。部分指令语句及其功能如表3-1所示,表3-1部分指令语句及其功能表指令约定代码功能温度变换44H启动DS18B20进行温度转换,12位转换时最长为750ms(9位为91.75ms)。结果存入内部9字节RAM中。读暂存器0BEH读内部RAM中9字节的内容。写暂存器4EH发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复制暂存器48H将RAM中第3、4字节的内容复制到EEPROM中。重调EEPROM0B8H将EEPROM中内容恢复到RAM中的第3、4字节。读供电方式0B4H读DS18B20的供电模式。寄生供电时DS18B20发送“0”,外接电源供电DS18B20发送“1”。在进行读写操作时,也要注意传感器有其约定的读写时序,严格按照规定的时序要求进行读写操作,否则就会读写不成功。读写时序图如图3-6所示;图3-6DS18B20读、写时序图DS18B20传感器输出的是数字信号,这个数字信号与测得的实际温度在数值上严格成比例。传感器的数据可以根据自己的精度要求选择,数据有9、10、11和12位供用户选择,一般初始默认状态是12位的数字信息。12位精度数据/温度关系如表3-2所示,表3-2数据/温度关系温度℃数据输出(二进制)数据输出(十六进制)+125000001111101000007D0h+8500000101010100000550h+25.062500000001100100010191h+10.125000000001010001000A2h+0.500000000000010000008h000000000000000000000h-0.51111111111111000FFF8h10.1251111111101011110FF5Eh-25.06251111111001101111FE6Eh-551111110010010000FC90h这是12位转化后得到的12位数据,存储在DS18B20的两个8位的RAM中,高字节的前5位是符号位,如果测得的温度大于0,这5位为‘0’,只要将测到的数值乘以0.0625即可得到实际温度;如果温度小于0,这5位为‘1’,测到的数值需要先减1再取反再乘以0.0625即可得到实际温度[16]。DS18B20启动后保持低功耗等待状态,当需要执行温度测量和AD转换时,单片机通过传感器的输入端口向传感器发出[44h]命令。我的长期给接收到命令便会开始转化温度,产生的温度信号以十二位的数据储存早在自身的暂存器中,并且继续保持等待状态。然后单片机又通过输入端口向传感器次发出[OBEH]读取命令时,暂存器中的温度数据就会通过传感器的输出端口输向单片机,又单片机通过程序接收并处理成对应的温度数值[17][18]。1.3距离测量模块在本次设计中,结合设计功能和精度要求,以及传感器模块的价格之后,我选择使用的是HC-SR04超声波测距传感器模块。HC-SR04超声波测距传感器模块具有性能稳定,测量距离精确,模块高精度,盲区小等诸多特点,而且在测量范围上,可提供2cm至400cm的非接触式距离感测功能,测量精度能够达到3mm,模块包括超声波发射器、接收器和控制电路[19]。实物图如图3-7所示。图3-7超声波传感器模块下面简单介绍一下超声波测距模块工作原理,模块首先进行初始化,然后在超声波模块的输入引脚给予一个至少10us的高电平延时信号,延时结束后,超声波模块会自动发出八个40kHz的方波,并且自动检测是否有信号返回,如果有信号返回,超声波模块的另一个引脚,ECHO输出引脚会给单片机输送一个高电平,单片机接收到高电平后便启动定时器,高电平持续的时间就是超声波从发出到接收的时间,而测量距离就是高电平持续时间除以二再乘以声音在空气中的速度。使用起来还是比较简单,对于普通使用者来说是一个非常好的学习模块。1.4蜂鸣报警器模块本设计采用开发板上已经有的蜂鸣器模块,通过程序设计改变蜂鸣器的供电电压的周期,即可以改变蜂鸣器的响动频率,我设计了两个不同频率,一个是在4cm至10cm之间的普通报警,这个就是一般的声音报警,给人提示;另外一个是频率更高的报警,这个频率的蜂鸣器是当物体靠近电风扇到4cm以内时工作,蜂鸣器在工作时的声音很急促,让人意识到危险来临。蜂鸣器实物以及其在开发板上的电路图如图3-8及图3-9所示。图3-8蜂鸣器模块图3-9蜂鸣器电路图由图可见,单片机P1.5引脚通过ULN2003D驱动模块来驱动蜂鸣器工作,P1.5引脚的高低电平就是蜂鸣器工作电压的电压占比情况。1.5指示灯模块指示灯模块主要是用来显示电风扇是在高档位模式运行还是低档位模式运行。图3-10LED指示灯模块图3-11LED模块接线图图3-10是开发板上的LED模块实物,由电路图可以知道LED采用是共阳极接法。图3-11是LED在开发板上的线路图,由图可知,LED由单片机的P2引脚控制,当引脚输出低电平时亮起,高电平时熄灭。在本设计中,使用到的是D1和D4两个LED指示灯,其中D1表示在低档位工作的指示灯,D2则表示在高档位时候的工作指示灯。1.6按键模块按键开关是一种电子开关,使用时,轻轻按开关按钮就可使开关接通,当松开手时,开关断开。其实物图3-12和电路图3-13所示,考虑到实际情况,为了方便操作,按键模块使用的是开发板上封装好的模块。在使用时,仔细阅读了开发板附赠的电路图,了解到控制每个按键I/O口,在本设计中使用到K1和K2按键,K1按键是自动控制和手动控制的转换按键,K2是在手动控制时,进行档位转换的按键。图3-12按键模块图3-13按键模块电路图1.7电机驱动模块在单片机引脚输出的信号都不足以用来驱动电机的工作,所以需要单独的电源模块的驱动模块来驱动电机,在进行筛选之后,选择了使用最普遍之一的驱动模块L298N驱动模块。图3-14是其电路原理图,L298N[20],是一个输入12V电压的电动机驱动模块,不仅可以用来驱动直流电机,而且还可以用来驱动步进电机。模块具有四个控制引脚,两个使能引脚,还有两对输出引脚,当然也还有电源输入引脚和接地引脚。单片机的输入/输出引脚与驱动模块的使能引脚相连,通过控制I/O引脚高低电平的不同占比,来控制对应的输出端口的有效电压占空比,从而控制电机达到不同的转速。图3-14L298N电路原理图驱动模块还可以用来控制电机的正转和反转,ENA为低电平0时,控制引脚是无效的,只有当ENA为高电平时,IN1和IN2不同的组合,控制不同的转动方向,其转动状态对应图如表3-3,表3-3直流电机状态表ENAIN1IN2直流电机状态0XX停止100制动101正转110反转111制动在电动机需要紧急停止下来的时候,需要制动模块,但是由于L298N驱动模块在输出00或者11的时候就有制动功能,所以这里制动功能包含在L298N里面。因为L298N输入的是12V的直流电,单片机开发板上没有12V的电源接口,所以为了驱动器的正常运行,还需要再给驱动模块添置一个电压转换模块,让220V的交流电压转换成我们需要的12V的直流电压。于是,再网上查阅各种电压转换模块之后,找到了一个通用的电压转换模块,实物图如图3-15所示,图3-15电压转换模块由上图可知,电压转换模块的总输入电压是220V的交流电压,输出端是有三种不同的电压输出,分别是直流12V、直流5V和直流1.3V,另外接地线也是有的。有了这个就可以将驱动器接在直流12V的输出口上进行工作。

第2章程序设计2.1软件开发环境本次设计使用keilμVision5用汇编语言进行程序设计。KeilμVision是由KeilSoftware公司开发出来的用于单片机的软件代码编写并可以进行机器汇编形成计算机能够认识读取的汇编代码的应用系统,最早是在2005年被推出来,它既可以使用传统的汇编语法进行代码编写,也可以使用更为先进一些更为方便一些的C语言语法来进行代码编写。不过大多数使用者都是使用的C语言语法进行编写,因为C语言与\t"/item/keil%20uvision2/_blank"汇编语言相比,\t"/item/keil%20uvision2/_blank"C语言具有方便易懂、语法简单、功能强大、结构明显等诸多明显的优势特点,在可读性方面也更是比汇编语言更通俗易懂,所以对于普通使用者,更容易学习使用,大大的提高了普通使用者的工作效率和项目的开发周期。不仅如此,C语言在编写中,在必要的地方还能嵌入汇编语言,使程序效率能够有效提高。从2005年至今,Keil已经经过了十几年的升级改造,编译器编译代码的能力不断得到提升,让使用者在软件编写的过程中了解到计算机最底层原理,更能理解CPU的工作原理以及其派生出来的其他部件。至此,Keil已经提供了包括C编译器、宏汇编、链接器、库管理和和一个强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。此外,随着单片机技术的不断发展,单片机的种类不断增加,Keil也紧跟时代步伐,基本收集了市面上已经有的单片机类型,使用者能够自行选择开发的单片机类型的环境[21]。2.2单片机程序设计先根据设计内容里面要实现的功能做出程序流程图,需要在设备初始化的时候设为手动模式和低档,进入手动模式运行,首先要超声波模块动作,测量距离,安全的情况下才能进行下一步的动作,根据档位标志位运行电机此时会有一循环,循环过程是一直输出电机,中间还要检测模式按键和档位按键的状态,如果其中有任何一个被按下,那就立即跳出电机输出循环,重新判断模式和档位;当模式按键按下,即会进入自动模式,同样也会先进行超声波距离测量,然后根据测得的数据进行下一步的操作,安全的情况下才会进入电机输出循环,自动模式下的电机输出循环,不需要检测档位按键是否有被按下,而只需要检测模式按键是否有被按下,因为自动模式下是根据温度设置档位,所以自动模式下的每一个电机输出循环都要加一个测温步骤,来根

温馨提示

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

最新文档

评论

0/150

提交评论