基于单片机的风扇控制器设计.doc_第1页
基于单片机的风扇控制器设计.doc_第2页
基于单片机的风扇控制器设计.doc_第3页
基于单片机的风扇控制器设计.doc_第4页
基于单片机的风扇控制器设计.doc_第5页
免费预览已结束,剩余34页可下载查看

下载本文档

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

文档简介

基于单片机的风扇控制器设计基于单片机的风扇控制器设计摘 要目前家用电器的微电脑控制已经成为现实,电风扇也在朝着智能化、多功能化的方向发展。据统计市场上的程控电风扇大多采用专用控制IC,功能单一固定,使用不够灵活,而以前生产的电风扇大多数是采用机械定时,机械开关调速,无遥控功能,使用不够方便。随着人们生活水平的不断提高,对产品质量和功能的要求也在提高,原来机械式的电风扇已不能满足人们的需要,而现有的程控电风扇大部分功能也不尽如人意,只是在风的类型方面有些改善,不具有遥控的功能。一些功能齐全的电风扇价格又较贵。基于此,本设计采用市场上普遍的元器件,设计一种具有遥控,定时等功能齐全的电风扇,且价格适宜可供大部分家庭使用。其核心是一片HT48R06A-1,具有高、中、低三档风速;正常风、自然风和睡眠风三种风型;能定时0.5H、1H、2H、4H四档固定的时间;具有摇头功能;能同时用遥控器和按键设置电风扇;用可控硅控制驱动风扇电机。通过硬件电路设计、软件设计、电路焊接及调试一系列的过程,本设计达到了预想的结果,且电路简单,所用元件也较常见,可用于大量生产。 关键词 风扇控制器 红外遥控 单片机Fan controller design based on single chipABSTRACTMicrocomputer control of household appliances has now become a reality, fans are also moving in intelligent, multifunctional direction. According to statistics, fans on the market are mostly programmed using special control IC, a single fixed function, the use of less flexible, and most fans were produced before mechanical timer, mechanical switch speed, no remote control, use is not convenient enough.With the continuous improvement of living standards, product quality and functionality requirements are increased, the original mechanical fan can not meet peoples needs, and most of the functionality of existing program-controlled electric fan is not satisfactory, butthe types of the wind some improvement, do not have remote control functions.Some fans fully functional are more expensive. Based on this, the design uses common parts on the market, design a kind of fan with features such as remote control and the timer, and the price is suitable for most home use.Its core is a HT48R06A-1, with high, medium and low third gear speed; normal wind, natural wind and the wind three wind patterns, sleep; to regular 0.5H, 1H, 2H, 4H fourth gear fixed time; have shook his head function; can also use the remote control and buttons to set fans; drive fan motor with SCR control. The hardware circuit design, software design, circuit welding and the process of commissioning a series, the design achieved the desired result, and the circuit is simple, the use of components is also more common, can be used for mass production.KEY WORDS fan controller infrared remote microcontroller 35 目 录摘 要IABSTRACTII1 风扇控制器的设计概述12 系统总体设计22.1 设计要求22.2 方案论证22.3 方案设计框图33 系统硬件设计43.1 控制器(单片机)的选型43.2 键盘、遥控、蜂鸣器及显示电路的设计53.2.1 键盘电路的设计53.2.2 红外接收电路的设计73.2.3 蜂鸣器和显示电路的设计93.3 时钟及复位电路的设计103.3.1 时钟电路的设计103.3.2 复位电路的设计113.4 电机驱动控制及演示电路的设计113.4.1 电机驱动控制电路的设计123.4.2 LED灯代替电机演示电路的设计123.5 电源电路设计144 系统软件设计164.1 程序设计语言与软件开发环境164.1.1 程序设计语言的选用164.1.2 系统软件开发环境164.2 软件设计174.2.1 主程序设计174.2.2 按键设置子程序194.2.3 红外接收程序的设计235 系统调试255.1 软件的调试255.2 整机调试256 结 束 语28致 谢29参考文献30附 录301 风扇控制器的设计概述以往电风扇多采用机械方式进行控制1,功能少,噪音大,各档的风速变化大,随着电子制造业的不断发展和人们生活水平的提高,社会对生产率的要求越来越高,各行业都需要精良高效、高可靠性的设备来满足要求。产品趋于自动化、智能化、环保化、人性化,于是产生了微机控制的智能电风扇。近年来,市场上也大量流行着各种各样的微机控制电风扇2,有普通电风扇,带定时的电风扇,具有红外遥控功能的电风扇,空调扇等等。并附带了电子显示(LED或LCD)电路。这些电风扇大都操作简单,功能齐全,充分体现了智能仪器的人性化设计。由于大部分家庭消费水平的限制,电风扇作为一个成熟的家电行业的一员,在中小城市以及乡村将来一段时间内仍然会占有市场的大部分份额,但以往的电风扇功能简单,不能满足智能化的要求为提高电风扇的市场竞争力。若使之在技术含量上有所提高,而且更加安全可靠,就能大大提高电风扇的市场竞争力。在现有市场上多功能电风扇的基础上,本文结合实际,设计一种新型的智能电风扇,该风扇具有键盘输入和红外遥控输入两种控制方式,高、中、低三档风速,正常风、自然风、睡眠风三种不同的风型,具有定时功能,设计人性化。2 系统总体设计2.1 设计要求根据风扇控制器的设计要求,该设计需具有风速可调、风型可调、定时功能、摇头功能和红外遥控功能。不仅要求显示直观,电路稳定而且还要考虑到成本问题。2.2 方案论证通过对现在电风扇的统计,并结合设计任务要求,能基本实现设计的方案大概有如下几种。方案一 采用合泰单片机HT48R06A-1为核心构建本系统HT48R06A-1是8位高性能、高效益的RISC结构的单片机,属于一次可编程(One-Time-Programmable,OTP)单片机,配合仿真器开发程序,降低了成本。内部有复位电路,时钟电路简单,故最小系统电路简单,具有13个具有上拉功能的双向输入输出口,能满足电路的设计要求。外部中断、定时器、看门狗电路及低电压复位电路齐全,只需扩展外部控制电路即可实现设计要求的功能。方案二 采用MCS-51系列单片机为核心构建本系统在单片机的发展和应用历史中,MCS-513系列单片机已经得到科技界和工业界广大用户最广泛的认可。由于此系列单片机都采用INTEL公司的8051的核心技术,而且各大公司也根据不同需求推出了多个品种的系列机,这些单片机产品还采用了多种创新技术,产品的性能和可靠性都有了极大的改进和提高。51单片机资源比较丰富,两个外部中断、两个定时器,且现在的51系列单片机内部程序存储器大部分用flash,且I/O口资源也较多。最小系统需接晶振及上电复位。方案三 采用可控硅调速方式调节风速通过脉冲电压控制可控硅的控制极,以脉冲电流触发可控硅另两极间导通,使得电机电路在交流电的一个工作周期内有时导通,有时截止,以此达到控制电机功率、调节转速的目的。电路简单,只需一个可控硅,但是控制程序写起来比较复杂。方案四 采用电机绕组抽头调速式调节风速这种电路比较繁杂,引线较多,需用可控硅分别控制各个抽头的开关,从而实现不同风速及风型的调节,但是控制程序简单,只需定时一定的时间选通相应的可控硅即可,不需要利用脉冲控制可控硅的导通角来调节电机的转速。比较上述几种方案:51系列单片机能满足设计要求,但是考虑到成本问题,用51比较浪费,好多资源都没利用,而且大学课程中单片机课程中学习的是51单片机,对51比较熟悉,没什么挑战性。合泰单片机虽然以前没接触过,但对自己在学习新知识方面是一个锻炼。而且合泰单片机资源能够满足设计要求,所以选用合泰单片机为核心来设计电路。由于单片机程序存储空间有限,所以程序不能太过复杂,所以调节风速的电路采用控制简单的电机绕组抽头式调速,此电路程序简单,调节方便,且能实现设计的要求。2.3 方案设计框图根据上述方案选择4,可设计系统由7个部分组成:电源电路部分、控制器部分、红外遥控输入部分、按键输入部分、电机驱动控制部分、数据显示部分和蜂鸣器部分,风扇控制器的总体电路设计框图2-1所示:图2-1 电风扇控制器设计框图本系统中,键盘和红外遥控的作用是设定风扇的风速、风型、摇头和定时。LED显示电路用来显示当前的风扇状态,有高风、低风和中风三档风速灯指示,定时0.5H、1H、2H和4H四种定时灯指示,正常风、睡眠风和自然风三种风型灯指示。电机是由双向可控硅来控制其导通的。当检测到有键按下或接到红外遥控器的一帧数据时,蜂鸣器就会发出一声短促的鸣笛声。电源电路采用的是低成本的阻容降压电路,给单片机及其他输入显示器件提供稳定的5V电源。3 系统硬件设计3.1 控制器(单片机)的选型用微控制器5渗透到测试领域并得到充分发挥,是现代测试技术发展的必然趋势,也是目前作为智能仪表的设计的一般方法,目前市场上的单片机从数据总线宽度上来分主要有8位机、16位机、32位机,其中的32位单片机近年来在信号分析与处理、语音处理、数字图象处理等数字信号处理运用领域得到广泛的运用,但在工业测控现场,占主导地位的还是8位机和16位机。对本设计涉及的温度的测量,采用单片机控制其主要目的是构成一个具有一定判断、计时能力,以及具有显示、报警等功能的风扇控制器,它所处理的信息量和复杂程度用8位机已经足够了。HT48R06A-1是一款8位高性能、高效益的RISC结构的单片机,适用于多输入/输出控制产品。其内部特性,如暂停、唤醒功能、振荡器选择和蜂鸣器驱动等,提升了单片机的灵活度,而这些也同时保证实际应用时只需要最少的外部器件,进而降低了整个产品成本。有了低功耗、高性能、灵活控制的输入/输出口和低成本等优势,该系列单片机适合被广泛应用在如工业控制、消费性产品和子系统控制器等场合。该系列所有的单片机都拥有相同的功能和特性,主要的不同在于数据存储器和程序存储器的容量的大小。这种单片机属于一次可编程单片机,数据一旦写入6,不能随意更改。可以配合使用盛群半导体的程序开发工具简单有效的更新程序。下面简单地介绍一下HT48R06A-1的部分特性:高性能RISC结构;低功率完全静态CMOS设计;在5V/4MHz下,功率损耗典型值为2mA;程序存储器1K14 OTP/Mask ROM,数据存储器648 SRAM;两级硬件堆栈;位操作指令;提供最多13个具有上拉功能的双向输入输出口;具8级预分频及中断功能的8位定时器;看门狗定时器;芯片内置晶体及电阻电容振荡电路;具有低电压复位特性;具有烧录电路接口及程序码保护功能;适用于低价位大量生产;高效完备的软硬件支持工具;图 3-1 HT48R06A-1管脚图本设计中HT48R06A-1各管脚的分配和应用如下图3-2:图3-2 HT48R06A-1各管脚分配及应用3.2 键盘、遥控、蜂鸣器及显示电路的设计3.2.1 键盘电路的设计键盘是标准的输入设备,嵌入式设备具有强大的功能,所以有能力处理用户所输入的信息,并结合各具特色的嵌入式应用软件,可以将微控制器的功能发挥至更大。(1)键盘结构的选择在单片机组成的测控系统及智能化电路中,用的最多的是非编码键盘。键盘结构可以分为独立式键盘和行列式键盘(矩阵式)两类。独立式键盘是指直接用I/O口线构成的单个按键电路。每个独立式按键单独占有一根I/O口线,每根I/O口线上的按键工作状态不会影响到其他I/O口线的工作状态。独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,在按键数量较多时,I/O口线浪费较大,故在按键数量不多时,常采用这种按键电路。行列式键盘又叫矩阵式键盘。用I/O口线组成行、列结构,按键设置在行列的交点上。例如用22的行列结构可构成4个键的键盘,44的行列结构可构成16个键的键盘。因此,在按键数量较多时,可以节省I/O口线。从本系统设计要求出发,需要的键盘不多,设计用5个按键实现硬件上有中断方式和查询方式两种,本系统设计采用查询方式来完成设计要求。系统共设计5个按键,分别命名为:开关、风速、定时、模式和摇头键,按键采用轻触开关。(2)键盘与单片机的接口电路设计如图3-3所示,将键盘直接与单片机的IO口连接。5个按键功能的设计思路如下:风速键(SW1键)功能:风扇正常工作后,风扇默认风速为高风。按下该键时,按“中风低风高风”顺序相应的指示灯依次点亮,用来表示被设置项;定时键(SW2键)功能:默认状态下,风扇不定时。按下该键时,风扇按照“定时0.5H定时1H定时2H定时4H不定时”循环,且相应的指示灯也被点亮,不定时时,指示灯全熄灭;开关键(SW3键)功能:系统上电后,按下该键,风扇将按照默认的状态工作。若在风扇正常工作的状态下按下该键,则风扇将进入待机状态,此时风扇电源断开;摇头键(SW4键)功能:按下该键时,风扇按照“转向不转向”顺序运行;模式键(SW5键)功能:风扇默认的模式为正常风模式,按下该键时,按“自然风睡眠风正常风”依次运行。相应的指示灯也依次被点亮,用来表示被设置项;按键用的是单片机PA口的PA0、PA1、PA3和PB口的PB1、PB2,而这几个口同时也用来控制LED灯,所以这几个口是分时复用的。在用作按键扫描时,设置这几个I/O口为输入状态,且选择内部带上拉电阻。按键均采用查询工作方式。通过按键查询、去抖、键功能程序转移,来完成系统控制的各个功能。系统中按键电路的设置如图3-3所示:图3-3 按键电路3.2.2 红外接收电路的设计红外遥控的特点是不影响周边环境、不干扰其它电器设备。由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。红外线遥控的原理7就是利用波长为0.761.5m之间的近红外线来传送控制信号的。常用的红外遥控系统一般分发射和接收两个部分。发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。本设计中采用现有的红外发射遥控器,利用示波器测出其发出的波形,然后针对波形进行解码控制。设计中所用的遥控器共有6个按键,只用其中的5个,即ON/OFF键、SPEED键、TIMER键、SWING键和MODE键。遥控器发出的编码波形中“0”和“1”的定义如图3-4所示:图3-4 红外波形中“0”和“1”的定义编码格式采用的是:地址码+D0-D7+D0-D7+,发射方向为从左向右,地址码为807F。开关键的数据码为C0,风速键的数据码为E0,定时键的数据码为D0,模式键是数据码为F0,摇头键的数据码为C8。遥控器发射码的波形如图3-5所示:图3-5 遥控器发射码波形接收端的输出状态大致可分为脉冲、电平、自锁、互锁、数据五种形式。“脉冲”输出是当按发射端按键时,接收端对应输出端输出一个“有效脉冲”,宽度一般在100ms左右。“电平”输出是指发射端按下键时,接收端对应输出端输出“有效电平”,发射端松开键时,接收端“有效电平”消失。此处的“有效脉冲”和“有效电平”,可能是高、也可能是低,取决于相应输出脚的静态状况,如静态时为低,则“高”为有效;如静态时为高,则“低”为有效。大多数情况下“高”为有效。“自锁”输出是指发射端每按一次某一个键,接收端对应输出端改变一次状态,即原来为高电平变为低电平,原来为低电平变为高电平。此种输出适合用作电源开关、静音控制等。有时亦称这种输出形式为“反相”。“互锁”输出是指多个输出互相清除,在同一时间内只有一个输出有效。电视机的选台就属此种情况,其它如调光、调速、音响的输入选择等。“数据”输出是指把一些发射键编上号码,利用接收端的几个输出形成一个二进制数,来代表不同的按键输入。本设计的接收端采用的就是数据输出8,利用红外接收头将接收到的数据经过整形后送给单片机,单片机又经过数据处理来控制电风扇的运行。设计中红外接收电路如图3-6所示:图3-6 红外接收电路红外接收头的输出端接到单片机的PA2口。在定时中断中不断的查询红外接收端口的电平,若检测到有信号输入,则利用定时器接收编码。图中EC2和CC2为滤波电容,防止干扰信号输入单片机。3.2.3 蜂鸣器和显示电路的设计蜂鸣器9又称音响器、讯响器、是一种小型化的电声器件。根据音源的类型可分为有源和无源蜂鸣器。有源蜂鸣器不需要外加任何音频驱动电路,只要接通直流电源,就直接发出声响。无源蜂鸣器则相当于一个微型扬声器,只有外加音频驱动信号,才能发出声响。本设计用的是有源蜂鸣器,蜂鸣器发出短促的鸣笛声用来提示有键按下或有红外信号输入。本设计中蜂鸣器直接接到单片机的一个I/O口上,利用定时器产生4kHz的脉冲,使蜂鸣器鸣笛。显示器是智能仪器重要的人机对话活动的人-机通道,对本系统的工作也起到非常重要的作用。常用的显示器件主要有LED(发光二极管)和LCD(液晶),它们都具有耗电少,成本低,线路简单,寿命长等优点,广泛应用于智能仪表场合。电风扇控制器设计简单,只需要LED就能将所需的功能显示出来,且LED价格低,使用简单,故采用10个LED来指示风扇运行的状态。(1) 高风档指示灯(H)、中风挡指示灯(M)和低风挡指示灯(L);(2)正常风模式指示灯(NOR)、自然风模式指示灯(RHY)和睡眠风模式指示灯(SLP);(3)0.5H定时指示(0.5H)、1H定时指示(1H)、2H定时指示(2H)和4H定时指示(4H);LED灯的阳极接PB0和PC0,故采用共阳极的接法,构成了25的矩阵。同时阴极接的管脚与按键是分时复用的,所以在扫描LED灯时,要把这些I/O口设为输出。在定时器中做一个2ms的定时,用来扫描LED灯,实现LED的动态显示。图3-7 LED动态显示电路3.3 时钟及复位电路的设计3.3.1 时钟电路的设计有两种方法产生系统时钟:使用外部晶体/陶瓷振荡器或是外部RC电路。选择方法是通过掩膜选项来加以选择。对于晶体振荡器的结构配置,晶体只要简单的链接至OSC1和OSC2,则会产生所需的相移及反馈,而不需要其他外部的器件。使用外部RC电路作为系统振荡器,需要在OSC1和VDD之间连接一个阻值在24k到1M之间的电阻,且要连接一个470pF的电容到地。系统时钟4分频后提供给OSC2作输出,已达到外部同步化的目的。虽然此振荡器配置成本较低,但震荡频率会因VDD、温度和芯片本身的制成而改变,因此不适合用来做计时严格或需要精确振荡器频率的场合。由于本设计中需要准确的定时,故采用4M的陶瓷振荡器。3.3.2 复位电路的设计复位功能是任何单片机中基本的部分,使得单片机可以设定一些与外部参数无关的先置条件。最重要的是,单片机上电后,经短暂延迟,将处于预期的稳定状态并且准备执行第一条程序语句。上电复位之后,在程序未开始执行之前,部分重要的内部寄存器将会被预先设定状态。程序计数器就是其中之一,它会被清除为零,使得单片机从最低的程序存储器地址开始执行程序。本设计中由于外部I/O口紧张,采用内部复位,且选择低电压复位(LVR)。低电压复位电路的目的是为了监看单片机的电压供应源。若单片机供应的电压落在0.9V和Vlvr之间,这时LVR将会自动从内部复位单片机。3.4 电机驱动控制及演示电路的设计图3-8 电机驱动控制电路3.4.1 电机驱动控制电路的设计晶体闸流管10简称晶闸管,过去称可控硅器件。因为它是一种像闸门一样控制电流的器件,所以用晶闸管更能确切地表明该器件的特点。用一个小的控制电流,去操纵一大闸门完成电路中电流控制作用,它具有体积小、重量轻、低功耗、长寿命等优点。广泛应用于家用电器、工业控制、自动化生产。可以实现对电量的开关,电机调速、调压、控温、控湿等多种领域。普通单向晶闸管实质上属于直流控制器件,要控制交流负载,要将两只晶闸管反极性关联,让每个控制一个半波,为此需要两套触发电路,使用起来很不方便,双向晶闸管是在普通晶闸管基础上发展而成的。不仅可以代替两只并联的晶闸管,而且只需要一个触发电路,是理想的交流电流开关器件。双向可控硅第一阳极A1与第二阳极A2间,无论所加电压极性是正向还是反向,只要控制极G和第一阳极A1间加有正负极性不同的触发电压,就可触发导通呈低阻状态。此时A1、A2间压降也约1V。双向可控硅一旦导通,即使失去触发电压,也能继续保持导通状态。只有当第一阳极A1、第二阳极A2电流减小,小于维持电流或A1、A2间当电压极性改变且没有触发电压时,双向可控硅才截断,此时只有重新加触发电压方可导通。由于双向可控硅具有上述优点,故采用双向可控硅来控制风扇的电机。电路如图3-8所示。电路中控制极接单片机的I/O口,选择两个阳极的其中一个作为公共端接地,另一端接交流电。这样当单片机I/O口输出高电平时,可以使可控硅导通,从而启动电机的运行;当输出低电平时,由于控制端和其中一个阳极电压差为0,此时可控硅截止,电机停止运转。3.4.2 LED灯代替电机演示电路的设计电风扇电机转速的调节有几种不同的方式。(1)电机绕组抽头调速式:电机绕组11是电机内用以通电的线圈,在线圈的几个不同部位分别用导线连接并引出到电机机壳外作为几个接线柱,选择不同的接线柱接入电路,也就是使用线圈的不同部分作为电机的实际工作绕组,这样就改变了电机的负载特性,改变了电机工作时消耗的功率,从而改变了转速。这种方式使用的电机制作工艺较复杂,但外部控制很简单。且抽头法用得较广泛12,它的特点是耗电少,用料省,重量轻。(2)串联电感调速式:把电感线圈与电机串联起来,交流通过线圈时,电流时刻在改变,由于线圈的自感作用,必然产生感应电动势,阻碍电流的变化,所以电感对交流有阻碍作用。线圈的自感系数越大,其分压或限流作用越大,通过电机的电流或电机两端的电压越小,风扇转速越小。如图3-9所示,当开关置于位置1时,接入电路的电感线圈的自感系数最大,风扇转速最小,当开关置于位置4时,接入电路的电感线圈的自感系数最小(为零),风扇转速最大。这种调速方式由于电路中电感的作用,低速档起动较慢。图3-9 串联电感调速式电机(3)串联电容调速式:直流不能通过电容器,交流却能“通过”,所以可以用电容器代替电感器串联在电路中进行分压限流来实现调速。电容器电容越小,它对交流电的阻碍作用越大,其分压或限流作用越强,通过电机的电流或电机两端的电压越小,风扇转速越小。使用电容器调速,具有体积小、成本低、损耗小、寿命长、易起动等优点,正成为当前主流的调速方式。但电容器应选用无极性电容,耐压最好在600V以上。(4)可控硅调速式:可控硅是由材料硅做成的一种大功率半导体元件,有单向可控硅和双向可控硅之分。在交流控制中,要采用双向可控硅。双向可控硅是一种功率开关器件,它有三个极,其中G为控制极,可通过脉冲电流触发可控硅T1和T2极间导通,这样可控硅便成了可以控制的开关,使得电机电路在交流电的一个工作周期内有时导通,有时截止,以此达到控制电机功率、调节转速的目的。这种调速方式能实现电机由低速到高速的连续调节,又叫无极调速,如果控制电路是智能化电路,还可以实现智能化调速,模拟自然风。综上比较采用控制简单的电机绕组抽头式调速,通过单片机的智能控制实现三种不同类型的风速调节:正常风、自然风和睡眠风。为了演示电路时方便,使用发光二极管来代替电机的转速。由于电机采用的是电机绕组13抽头调速,三个发光二极管分别与高、中、低三个调速抽头串联后接到可控硅。有三种不同的风速类型:(1)正常风模式:此模式下,有高、中、低三档不同的风速,在设定的风量下风速连续不变。相对应的灯持续点亮。(2)自然风模式:此模式下,有高、中、低三档不同的风速,以设定风量为最大风量,风量时大时小,无固定规律,给人感觉像室外吹进来的自然风一样。编程时以48S为一个周期,6S为一个阶段,这8个阶段的高档风速分别为高、低、高、停、中、低、高、中;中档风速分别为中、无、低、中、低、无、中、低;低档风速分别为低、无、低、无、低、无、低、无。(3)睡眠风模式:此模式下,有高、中、低三档不同的风速,从选择该风型起,以设定的风量为最大风量,随着时间不断减小风速。编程时以分三个阶段,高档风速时,30分钟高档自然风、30分钟中档自然风、剩下的时间全为低档自然风;中档风速时,30分钟中档自然风、30分钟中档自然风、其余的时间全为低档自然风;低档风速时,以低档自然风运行。为了演示方便,将6S改为了3S,30分钟改为了一分钟。且指示灯随着相对应的可控硅的导通而点亮,看起来很直观。3.5 电源电路设计将交流市电转换为低压直流的常规方法是采用变压器降压后再整流滤波,但是当受体积和成本等因素的限制时,最简单实用的方法就是采用阻容降压式电源。在现在电控风扇和其他小家电中,具有成本优势的阻容降压应用非常广泛。故本设计也采用阻容降压式电源为电路供电。电路原理图如图3-10所示。图3-10 系统电源设计图图中交流电源从ACL和CAN端输入,其中FUSE(2A250V 保险管)为过流保护,VAR压敏电阻为浪涌保护,MC1(0.1uF/275VAC 安规电容)为交流滤波电容。电路中MC2为降压电容:常用CL21聚酯或CBB21聚丙烯,其容抗Rc的大小为1/2FC,其中3.14,F=电网频率(50Hz),C为电容容量,单位是F(法拉),所以此图中C2的容抗Rc3.184K。电阻R1为MC2的放电电阻,防止在快速插拔电源插头或插头接触不良时MC2电容上的残余电压和电网电压叠加对后续器件形成高压冲击和防止拔出电源插头后接触到人体对人员产生伤害。电路中R2为限流电阻,此电阻主要是防止首次上电和在快速插拔电源插头或插头接触不良时所产生的高压冲击对整流二极管的损坏,电容MC2在首次上电如果刚好碰到波峰处,因MC2在通电瞬间呈短路状态,此时交流电源直接加在R2和整流管上,对整流二极管造成损坏。稳压管ZD1的作用为将电压稳定为5V。R3是放电电阻,作用首先是在快速插拔电源插头或插头接触不良时在断电瞬间对滤波电容放电,以使通电瞬间时的冲击电流从电容上耦合过去,防止冲击电流加到稳压二极管14上造成稳压二极管损坏,同时从这点考虑,在处理PCB布线时必须将稳压二极管放在滤波电容C5、C6后面,防止PCB铜箔上的寄生电感和铜箔电阻对滤波的影响。“压敏电阻”是中国大陆的名词,意思是在一定电流电压范围内电阻值随电压而变,或者是说“电阻值对电压敏感”的电阻器。最大的特点是当加在它上面的电压低于它的阀值“UN”时,流过它的电流极小,相当于一只关死的阀门,当电压超过UN时,流过它的电流激增,相当于阀门打开。利用这一功能,可以抑制电路中经常出现的异常过电压,保护电路免受过电压的损害。根据使用目的的不同,可将压敏电阻区分为两大类:保护用压敏电阻和电路功能用压敏电阻。本电路的压敏电阻为电源保护用压敏电阻。当电源为220V时压敏电阻的阻值是无穷大,当峰值电压超过压敏电阻的UN时压敏电阻立刻击穿短路,保险丝也会熔断,高电压就进不去设备端,从而有效保护电子电路不受侵害。更换压敏电阻时在电阻体上需裹上绝缘材料加以保护,以防飞弧。使用压敏电阻时之前必须加装保险丝,压敏电阻一旦击穿短路是不可恢复的,必须更换。正常的压敏电阻用万用表测量是无穷大的。选用压敏电阻时必须注意:(1) 必须保证在电压波动最大时,连续工作电压也不会超过最大允许值,否则将缩短压敏电阻的使用寿命; (2) 在电源线与大地间使用压敏电阻时,有时由于接地不良而使线与地之间电压上升,所以通常采用比线与线间使用场合更高标称电压的压敏电阻器。压敏电阻所吸收的浪涌电流应小于产品的最大通流量。4 系统软件设计4.1 程序设计语言与软件开发环境4.1.1 程序设计语言的选用 本设计中采用的处理器是HT48R06A-1单片机,可以采用 C高级语言和汇编语言,这两种语言各有特点。汇编语言更接近机器语言,常用来编制与系统硬件相关的程序,如访问I/O端口、中断处理程序、实时控制程序、实时通信程序等,但是比较繁杂,程序不精练;C语言逻辑性强15,程序结构化,运算方便; 考虑到C语言的优点,结合自己的基本情况,本设计采用C语言来完成编程。4.1.2 系统软件开发环境 由于用的是HT48R06A-1单片机,故采用HT-IDE集成开发环境,软件方面采用HT-IDE3000软件。HT-IDE3000开发系统提供友好的工作平台。此平台将所有的软件工具,例如编辑器、编译器、连接器、函数库管理器和符号除错器,并入到视窗环境,使程序开发过程更为容易。由于此单片机为一次可编程单片机,故不能直接利用单片机调试程序,所以在调试阶段,使用盛群单片机仿真器(HT-ICE),对于盛群的8位单片机而言,盛群的ICE是全功能的仿真器,系统的硬件及软件工具能帮助客户快速方便的开发应用程序。系统中最主要的硬件仿真器,除了能够有效地提供除错和跟踪功能之外,还能以实时的方式进行盛群8位MCU的仿真工作。如图4-1所示,仿真器结合该软件的单步执行、执行到断点及复位等功能,能很快的查出程序的错误和不足之处,方便了用户高效率的更改程序。图4-1 HT48R06A-1单片机开发环境4.2 软件设计风扇控制器的软件设计16主要由主程序、按键设置子程序、红外接收子程序、显示子程序和风速调节子程序组成。4.2.1 主程序设计主程序从判断时间是否到2ms到结束是一个死循环,在定时器中做一个2ms的定时,中断后产生一个标志位,在main函数中不停的判断标志位是否置位,若标志位为1,则先清掉标志位,然后判断是第几个2ms。在第一个2ms到来时,执行扫描LED灯的程序。设置LED灯所接的那几个IO口为输出,点亮此时要亮的几盏LED。在第二个2ms到来时,执行按键输入部分的程序,包括检测是否接收到红外信号;扫描独立按键,看是否有键按下;执行按键服务子程序,若有键按下,则单片机控制执行相应的操作,若无键按下就退出按键服务。在第三个2 ms到来时,执行风速调节子程序。此时要判断模式变量的值,若为1,则进入正常风模式,接着判断风速变量的值,若为1,则为高档正常风;若为2,则为中档正常风;若为3,则为低档正常风。以此类推,自然风和睡眠风也是如此判断。且若为自然风模式或睡眠风模式时,风速调节有些复杂,用了实现程序的模块化及可移植化,采用分支程序的方法。因为这款单片机堆栈只有3层的原因,不能直接调用相应的子程序,故在进入自然风模式或睡眠风模式的程序中,设置标志位,在主程序中根据标志位执行相应的风速调节子程序。在第四个2ms到来时,根据之前扫描按键的结果,判断是否需要定时,执行定时程序。且为防止程序因意外跑飞,在此处清零看门狗。这样整个主程序执行完成需要8ms的时间,主程序流程图如图4-2所示:图4-2 主程序流程图4.2.2 按键设置子程序电路中有5个按键,分别是SPEED键、TIMER键、ON/OFF键、SW键和MODE键。由于按键和LED共用同一个I/O口,所以在扫描按键前要设I/O口为上拉输入的状态,扫描完成后再设为输出,以供驱动LED用。进入按键扫描子程序后,先设置IO口为输入的状态,且IO口对应的寄存器为1。然后将键值变量清零,开始扫描按键。依次此扫描五个按键,若有键按下,则键值根据按下的键而改变。若SPEED键按下,键值设为0x01;若TIMER键按下,键值设为0x02;若ON/OFF键按下,键值设为0x04;若SW键按下,键值设为 0x08;若MODE键按下,键值设为0x10;接着判断键值是否为零,若为0,说明这次扫描的过程中无键按下,所有标志位清零,键值和上次键值变量均清零;若不为0,则判断上次键值是否与这次键值一致,若不一致,赋键值给上次键值,清零有键按下标志和锁定按键标志;若一致,延时变量加一,延时大致50 ms,若键值在这个过程中一直不变,说明这个键按下,置位按键按下标志位。按键扫描子程序的详细流程图如图4-3所示:图4-3 按键扫描程序流程图按键服务子程序中加按键锁定,保证按键按下一次执行一次子程序,不会出现误判或多次判断的状况,且按键按下一次蜂鸣器鸣笛一次,提示按键按下。执行完成后返回主函数。进入按键服务子程序后首先判断按键按下标志位是否置位,若为0,代表无键按下,直接返回;若为1,说明有键按下,先锁定按键,置位蜂鸣器标志位,因为蜂鸣器鸣笛程序写在了定时中断子程序中,所以每次中断都会检测标志位是否为1,若为1,则使控制蜂鸣器的IO口输出4KHz的脉冲,使蜂鸣器发出鸣笛提示。置位鸣笛标志位后根据键值执行不同的子程序。在按键服务子程序中,要改变不同的变量值来实现开关电风扇、调节风速、定时及摇头的功能。风速键服务子程序中,根据键龄执行不同的程序,按照中档风、低档风、高档风的顺序循环改变风速变量的值。定时键服务子程序中,按照定时30分钟、1小时、2小时、4小时、无定时的顺序循环改变定时变量的值,且若有定时先置位定时标志位,以便在主程序中若检测到需要定时时,顺利进入定时子程序。开关键服务子程序中,只有开启和关闭两种状态,在开启状态下,系统进入默认状态,工作在正常风的高档风模式,相应的LED灯作为指示,且无定时;在关闭状态下,关断所以LED并且程序某些变量也要初始化。模式键服务子程序中,按照自然风、睡眠风、正常风的顺序循环改变模式变量的值。摇头键服务程序也较简单,只需将控制的IO口根据键龄的变化置一或清零就行了。且LED灯会根据按键服务程序给出不同的指示。按键服务的详细流程图如图4-4所示:图4-4 按键服务程序流程图4.2.3 红外接收程序的设计由于红外接收端口没有用外部中断17,且定时中断资源有限,只有一个定时器,故采用在定时中断中写红外接收子程序,和主程序的定时共用同一个定时器,在接收数据的过程中可能会有些误差,但是足以能够达到要求。进入定时中断函数后,在做完定时2ms的变量运算后,开始扫描红外接收端口,进入接收红外信号的程序。红外接收时间变量先累加,在这里做一个定时清零,防止变量一直累加溢出,导致程序出现异常的状况。在计数超过10ms时,清零红外接收时间变量,并且清零头码标志位。从这次下降沿到来开始计数器开始计数到下次下降沿来临,读取数据,这样可得到一个完整的脉冲的时间。由于使用定时器计时,故要确定下降沿到来的时刻。本程序是这样设计的,先判断此时红外接收端口是否为高电平,若此时端口为高电平就置位高电平标志位,若此时端口为低电平就判断高电平标志位是否为1,若为1说明上次为高电平,也即说明下降沿到来,清零高电平标志位。接着判断头码标志位是否为1,若此时头码标志位为0,则说明这个完整的脉冲可能是头码,根据这个脉冲的时间是否在13.5ms左右来判断这个数据是否为头码,若是头码,置头码标志位,否则清时间累积值;若此时头码标志位为1,说明已接过头码,就判断这个脉冲是0,是1还是其他干扰的数据,若时间在1.82.6ms之间,则可确定这个数据为1码,若时间在0.751.5ms之间,则可确定这个数据为0码,接完48位数据后,可以确定一帧数据接收完成,可以置位一帧数据接收完成标志位。到现在为止解码程序还没有完全完成,把数据接收完成后要判断数据和遥控器发出的是否一致,还要判断接收的数据是遥控器按下哪个键后发出的数据,以便单片机执行相应的操作。详细流程图如图4-5所示:详细程序见附录。红外接收的数据共有三个部分18,头码、地址码和数据码,其中头码为9ms的低电平和4.5ms的低电平;地址码分高8位和低8位,且各个按键的地址码都一样为0x807f;数据码包括数据码和数据反码,且连续发了两遍,不同的键按下数据码不同,根据这个区别不同的按键。图4-5 红外接收程序流程图其它子程序包括初始化程序,显示子程序,风速调节子程序等,这里不在一一介绍,详见附录一。5 系统调试风扇控制器的设计经过方案论证、硬件电路设计、电路板制作、软件设计和系统调试,基本上能实现要求的功能。5.1 软件的调试结合合泰单片机仿真器,开始写程序调试电路板。软件对于系统设计也起着重要的作用,在大系统中甚至更重要,软件的调试也是一件艰苦的工作。软件调试的过程中,采用分块调试的方法。先调试显示电路,看LED灯能不能正常显示;然后调试按键电路,同时加入LED灯指示,按下不同的键 有不同的灯作为指示;接着调试红外接收电路,同样加入LED灯指示,以区别不同的按键按下,且加入蜂鸣器电路鸣笛;最后将这些程序整合到一起调试出来最终的效果。系统源程序编译的结果如图5-1所示::图5-1源程序编译5.2 整机调试软件调试成功后,将OTP文件通过烧录器19写入单片机,开始整机调试。调试结果如下图所示。能满足电路设计要求。图5-2为风扇控制器初始状态,也即上电后风扇的默认状态:风扇处于正常风的高档风模式,无定时。从图中可以看到H灯亮,代表控制高档的可控硅导通,电机运行在高档模式,正常风指示灯亮,高档风指示灯亮,定时指示灯全暗。图5-2 风扇控制器初始状态图5-3为风扇控制器工作在定时2H的状态,可以看到2H指示灯点亮。且在调试的过程中,看到定时3分钟后(为演示方便,将定时2小时改为定时3分钟)所有指示灯均灭,且所有可控硅均关断,表示风扇具有定时的功能。图5-3 定时2H状态图5-4为风扇控制器工作在摇头模式,可以看到SW指示灯被点亮,此时控制摇头的可控硅导通,电机开始运转。由图可以看出此时风扇控制器工作在自然风的高档风模式,且定时1H(实际为2分钟)。调试时可以明显看到控制电机转速的可控硅按照高档自然风的导通规律每隔3秒钟导通一个可控硅,相对应的LED灯也随之点亮。且2分钟后所有LED灯灭,表示定时时间到,电路停止工作。图5-4 摇头状态6 结 束 语本设计通过HT48R06A-1单片机和外围器件的配合使用,介绍了一个完整的单片机系统设计的全部过程。在这个设计中首先介绍了风扇控制器当前的发展现状,经过各方面的论证最后得到适合本系统的一种方案;然后详细的介绍了系统的硬件电路设计,软件设计;最后简要的给出了系统的主程序设计和部分程序设计的流程图。总体来说,系统达到了设计的基本要求。当然也有很大的改进地方,比如,电源电路不够可靠;硬件电路板的布局较大,不太合理;软件设计只是完成了相应的功能,在抗干扰方面需要继续完善。在编程的时候,遇到了很多问题。首先是编写的程序太过繁杂,没考虑到用最简炼的语句实现,导致程序还没编写完成,程序存储空间ROM就不够用了。其次是该单片机堆栈只有两层,所以只能采用两级函数嵌套,再多就会出现堆栈溢出的状况,所以在软件调试时出现这些问题以后,我又从新调整了程序的整体结构。以前在编写51系列单片机时,由于其资源丰富,可以随便写也不会出现ROM不够用的情况,且堆栈一般也不会溢出,这些都是遇到的新问题,虽然编程的过程比较坎坷,但是从中也学到了很多新的知识。而且通过这次毕设,我认识到自己编写程序时存在很多问题,程序结构不够规范,逻辑有时候也不太清晰,虽然经过多次修改才完成了程序的编写,但在这个过程中我也学到了很多编程的规范,对以后自己在软件方面的设计有很大的帮助。通过这次毕业

温馨提示

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

评论

0/150

提交评论