电气工程开放性实验智能风扇设计.doc_第1页
电气工程开放性实验智能风扇设计.doc_第2页
电气工程开放性实验智能风扇设计.doc_第3页
电气工程开放性实验智能风扇设计.doc_第4页
电气工程开放性实验智能风扇设计.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

2013年春季开放性实验题目名称: 智能风扇调速器设计 院系名称: 电气工程学院 专业班级: 电气f1102 学生姓名: 陈文根 学 号: 201123910501 指导教师: 马利 成绩:评语:指导老师签名:日 期: 目录 目录1 系统概述4 1.1 at89c51单片机简介41. 2 本设计任务和主要内容42 方案论证42.1 系统总体设计52.2传感器部分52.3主控制部分62.4调速方式的选择62.5温度控制模块设计62.6显示电路的设计73 硬件设计73.1 系统的原理方框图73.2 元器件选型83.3 硬件主电路114 软件设计144.1 软件设计思想及主流程144.2 流程框图及关键代码155 系统调试295.1 硬件测试295.2 软件测试305.3 整体测试31 设计心得32 参考文献331 系统概述1.1 at89c51单片机简介传统电风扇多采用机械方式进行控制,功能少,噪音大,各档的风速变化大。随着科技的发展和人们生活水平的提高,家用电器产品趋向于自动化、智能化、环保化和人性化,使得由微机控制的智能电风扇得以出现。at89c51单片机提供以下标准功能:4k字节flash闪速存储器,128字节内部ram,32个i/o口线,两个16位定时、计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,at89c51单片机可降至0hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止cpu的工作,但允许ram,定时、计数器,串行通行口及中断系统继续工作。掉电方式保存ram中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。1. 2 本设计任务和主要内容本文以at89c51单片机为核心,通过数字温度传感器对外界环境温度进行数据采集,从而建立一个控制系统,使电风扇随温度的变化而自动调节档位,实现“温度高、风力大、温度低、风力弱”的性能。另外,通过红外发射和接收装置及按键实现各种功能的启动与关闭,并且可对各种功能实现遥控,用户可以在一定范围内设置电风扇的最低工作温度,当温度低于所设置温度时,电风扇将自动关闭,当高于此温度时电风扇又将重新启动。本设计主要内容如下:(1)风速设为从低到高共5个档位,可由用户通过键盘和遥控手动设定。(2)每当温度降低2,则电风扇风速自动下降一个档位。(3)每当温度升高2,则电风扇风速自动上升一个档位。(4)用户可以设定电风扇最低工作温度,当低于该温度时,电风扇自动停转。二、方案论证传统电风扇供电采用的是220v交流电,电机转速分为几个档位,通过人工手动调整电机转速达到改变风速的目的,亦即,每改变一次风力,必然有人参与操作,这样就会带来诸多不便。本文介绍了一种基于at89c51单片机的智能电风扇调速器的设计,该设计巧妙利用红外线遥控技术、单片机控制技术、无级调速技术和温度传感技术,把智能控制技术应用于家用电器的控制中,将电风扇的电机转速作为被控制量,由单片机分析采集到的数字温度信号,再通过可控硅对风扇电机进行调速。从而达到无须人为控制便可自动调整风速的效果。2.1 系统总体设计数字温度传感器键盘功能输入遥控功能输入at89c51电机调速输出显示控制输出图1 系统总体结构框图经过详细分析和实现难度对比有以下基本理论依据:2.2传感器部分方案一:采用热敏电阻采用热敏电阻,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度的信号是不适用的。而且在温度测量系统中,采用单片温度传感器,比如ad590,lm35等.但这些芯片输出的都是模拟信号,必须经过a/d转换后才能送给计算机,这样就使得测温装置的结构较复杂.另外,这种测温装置的一根线上只能挂一个传感器,不能进行多点测量.即使能实现,也要用到复杂的算法,一定程度上也增加了软件实现的难度。方案二:采用ds18b20温度传感器采用ds18b20数字温度传感器。ds18b20数字温度传感器芯片是以9位数字量的形式反映器件的温度值。ds18b20数字温度传感器通过一个单线接口发送或接受信息,因此在中央微处理器和ds18b20之间仅需一条连接线(加上地线)。用语读写和温度转换的电源可以从数据线本身获得,无需外部电源。它可以直接将模拟温度信号转化为数字信号,降低了电路的复杂程度,提高了电路的运行质量。 综合考虑,选择方案ds18b20进行温度测量。 2.3主控制部分方案一:采用spce061a单片机采用凌阳16位的spce061a单片机,处理速度较慢,内置2k sram,32k flash,要实现稍大的存储量 受到限制,而如果扩展大量的外围电路的话,则降低了系统的可靠性,消耗了大量的cpu资源。 方案二:采用at89c51单片机at89c51是美国atmel公司生产的低电压、高性能cmos8位单片机,片内4bytes的可反复擦写的只读程序存储器(perom)和128 bytes的随机存取数据存储器(ram),器件采用atmel公司的高密度、非易失性存储技术生产,兼容标准mcs-51指令系统,片内置用8位中央处理器(cpu)和flash存储单元,功能强大。at89c51单片机可灵活应用于各种控制领域。综合考虑,选择at89c51单片机作为主控制器。2.4调速方式的选择方案一:采用pwm控制pwm是利用数字输出对模拟电路进行控制的一种有效技术,尤其是在对电机的转速控制方面,可大大节省能量。但前期投入大。方案二:采用可控硅控制实际中通过控制双向可控硅的导通角,使输出端电压发生改变,从而使施加在电风扇的输入电压发生改变,以调节风扇的转速,实现各档位风速的无级调速。从本设计要求综合考虑实际中选择方案二。2.5温度控制模块设计方案一:采用红外遥控器+红外遥控解码:红外遥控器的使用大大方便了用户,使他们可以在一定范围内实现对本系统的远程控制,符合当代人的生活习惯,而且红外遥控器的技术已经相当成熟,使用也比较方便。方案二:用键盘:假如使用键盘,用户就只能走进本控制系统去控制该系统已完成自己想要的操作。此方案设计与制作比较简单,且能完全完成既定功能。综合各方面因素,采选用方案二。2.6显示电路的设计方案一:lcd1602液晶屏:lcd1602液晶屏是16*2的字符型液晶,可以显示英文26个字母的大小写,阿拉伯数字09,及一些简单的符号。该液晶屏操作简单,显示功能强大。方案二:数码管:虽然数码管的显示位数有限,且只能显示一些简单的字符。但是在本课程设计中,所需要的数码管不多,少量数码管即可符合设计要求,估可采用。方案三:lcd12864液晶屏:该液晶屏是比lcd1602液晶屏更先进的液晶,可以显示图片信息,同样可以完成本设计系统的需要。但是该液晶屏相对比较贵。综上所述,我们选择了数码管作为显示模块。综上所述的论证,通过焊接、接线、编程等工作就可以制作智能调速风扇。3 硬件设计3.1 系统的原理方框图本系统由集成温度传感器、单片机、led数码管、发光二极管、直流电机及一些其他外围器件组成。使用具有价廉易购的at89c51单片机编程控制,通过修改程序可方便实现系统升级。系统的框图结构如下: 人工控制单片机at89c51数码管显示温度双向可控硅调速机制被控对象(风扇)温度传感器ds18b20图2 系统原理框图3. 2 元器件选型经过案例分析选择以下元器件并给出其基本原理3.2.1 ds18b20数字温度传感器ds18b20数字温度传感器采集现场温度,将测量到的数据送入at89c51单片机的p3.3口,经过单片机处理后显示当前温度值,并与设定温度值的上下限值作比较,若高于设定上限值或低于设定下限值则控制电机转速进行自动调整。图3 ds18b20温度计原理3.2.2 at89c51的引脚功能vcc:供电电压。gnd:接地。p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p0口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须接上拉电阻。p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为低八位地址接收。p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。3.2.3 双向可控硅双向晶闸管是在普通晶闸管的基础上发展而成的,它不仅能代替两只反极性并联的晶闸管,而且仅需一个触发电路,是目前比较理想的交流开关器件。其英文名称triac即三端双向交流开关之意。3.2.4 数码管 数码管显示电路采用共阳极四位数码管以及9012三极管作为驱动数码管发亮。其连接方式如下:应用单片机p0口连接八段数码管,用p1口的p1.0p1.3四个端口作为数码管的片选信号输出端口,其中要用9012(pnp型)三极管做驱动。为了防止烧坏数码管,所以给数码管各段各加一个50k的限流电阻。要显示的数据通过p0口送给数码管显示,通过p1口的p1.0p1.3四个端口分别对数码管进行位选,事实上数码管是间断被点亮的,只是其间断时间十分短,扫描期周在20ms以下,利用人眼视觉暂留,我们基本看不出它们的闪烁。 图4 数码管显示电路 3.2.5 键盘控制元件键盘是人机交互的重要部件。本部件主要便于用户对电风扇进行操作,使用户只要进行一些简单的操作,就能实现所需的全部功能,键盘操作模块在电风扇底座部分有一个3 x 3小矩阵键盘,可以进行风的强度、类型、定时等系统设置,按键电路图如图6所示。图5 按键控制原理图3.3 硬件主电路3.3.1 温度采集、控制模式设定以及复位电路温度采集电路主要是由ds18b20构成,它可以把采集的温度数据转化成二进制数,经过单片机处理后输出送数码管显示。图6温度采集、控制模式设定以及复位电路 开关设定主要是通过按键k1来设定的。模式转换键由k2来完成,可以实现温度控制风速和手动设定风速的功能。手动设定风扇档位由k3、k4来完成,按一下k3键可以实现档位增一,而按下k4键可以实现档位减一。3.3.2电机驱动电路驱动模块主要采用驱动芯片uln2803,pwm脉冲信息通过io口p34输出,然后经过uln2803时由1b7b输入至7c输出以驱动电机转动。电路如图7 电机驱动电路图73.3.3开关、模式指示灯电路分别通过p10p12作为开关、两个模式指示灯,按下开关键k1时,开关指示灯亮,表明ds18b20一开始工作,此时后三位显示相应温度;若此时按下模式一键k2,转为到温度控制风速功能,当达到相应温度范围,电机转速作相应改变;若按下模式二键k3,转为手动控制风速,此时可以分别按k3或者k4键,以控制档位。图8 开关、模式指示灯电路本系统的总电原理图为:图9 总电原理图4、软件设计本系统的运行程序采用c语言编写,采用模块化设计,整体程序由主程序和显示、键盘扫描、红外线接收以及电机控制等子程序模块组成。4.1软件设计思想及主流程主程序:在主程序进行初始化后,开始反复检测各模块相关部分的缓冲区的标志,如果缓冲区置位,说明相应的数据需要处理,然后主程序调用相应的处理子模块。如图7所示。系统初始化温度变化?温度控制子模块键盘输入?键盘处理子模块开始红外信号?红外接收处理模块ynynyn显示子模块图10 主程序模块流程图4.2 流程框图及关键代码4.2.1 数字温度传感器模块和显示子模块开始ds18b20初始化启动ds18b20测温内部判断调用读子程序显示子程序结束调用相应的控制程序调用相应的键值处理程序调用写子程序异常正常如图8所示,主机控制ds18b20数字温度传感器完成温度转换工作必须经过三个步骤:初始化、rom操作指令、存储器操作指令。单片机所用的系统频率为12mhz。根据ds18b20数字温度传感器进行初始化时序、读时序和写时序分别可编写3个子程序:初始化子程序、写子程序、读子程序。图11 数字温度传感器模块程序流程图ds18b20芯片功能命令表如下:命令 说明 协议read rom 读取激光rom64位 33hmatch rom 匹配rom 55h skip rom 跳过rom cchsearch rom 搜索rom f0halarm search 告警搜索 echwrite scratchpad 把字节写入暂存器的地址2和3 4ehread scratchpad 读取暂存器和crc字节 behcopy scratchpad 把暂存器内容拷贝到非易失性存储器中 48hconvert t 开始温度转换 44hrecall e2 把非易失性存储器中的值召回暂存器 b8hread power supply 读电源供电方式:0为寄生电源,1为外电源 b4h表1 ds18b20功能命令表4.2.2 电机调速与控制子模块本模块采用双向可控硅过零触发方式,由单片机控制双向可控硅的通断,通过改变每个控制周期内可控硅导通和关断交流完整全波信号的个数来调节负载功率,进而达到调速的目的。因为int0信号反映工频电压过零时刻,所以只要在外中断0的中断服务程序中完成控制门的开启与关闭,并利用中断服务次数对控制量n进行计数和判断,即每中断一次,对n进行减1计数,如果n不等于0,保持控制电平为“1”,继续打开控制门;如n=0,则使控制电平复位为“0”,关闭控制门,使可控硅过零触发脉冲不再通过。这样就可以按照控制处理得到的控制量的要求,实现可控硅的过零控制,从而达到按控制量控制的效果,实现速度可调。(1)中断服务程序:执行中断服务程序时,首先保护现场,int0中断标志置位,禁止主程序修改工作参数,然后开始减1计数,判断是否关断可控硅,最后int0中断标志位清零,还原初始化数据,恢复现场,中断返回。(设1秒钟通过波形数n=100)ex0中断温度大于等于下限值并且小于上限值控制可控硅截止中断返回设置t0参数启动定时t0中断控制可控硅导通停止t0定时中断返回b(2)回路控制执行程序:主回路控制执行程序的任务是初始化数据存储单元,确定电机工作参数nmin/nmax,并将其换算成“有效过零脉冲”的个数;确定中断优先级、开中断,为了保证正弦波的完整,工频过零同步中断int0确定为高一级的中断源。a图11 电机控制模块中断响应流程图数字温度传感器模块和显示子模块程序:#include#defineuchar unsigned char#define uint unsigned intsfr dat_port=0x80;sbit ge=p26;sbit shi=p27;sbit tmdat= p37;uchar code table=0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f;uchar tmpbuf2;void delay(int useconds)int s;for (s=0; suseconds;s+);uchar reset_bus(void)uchar presence;tmdat=0;delay(29);tmdat=1;delay(3);presence=tmdat;delay(25);return(presence);void write_bit(char bitval)tmdat=0;if(bitval=1) tmdat=1;delay(5);tmdat=1;void write_byte(char val)uchar i;uchar temp;for (i=0;ii;temp&=0x01;write_bit(temp);delay(5);uchar read_bit(void) uchar i;tmdat=0;tmdat=1;for(i=0;i3;i+);return(tmdat);uchar read_byte(void)uchar i;uchar value=0;for (i=0;i8;i+)if(read_bit() value|=0x01i;delay(6);return(value);uint ds18b20_tmp_read(void)uint temp;uchar temp_lsb,temp_msb;reset_bus();write_byte(0xcc);write_byte(0x44);delay(5);reset_bus();write_byte(0xcc);write_byte(0xbe);temp_lsb=read_byte();temp_msb=read_byte();temp=temp_msb;temp=temp4)&0xff);tmpbuf1=tmph%10;tmpbuf0=(tmph%100)/10;for(i=0;i20;i+)display();电机调速与控制子模块主程序:#include#define uchar unsigned char#define uint unsigned intsbit fan=p32;uchar t1;void init()uint tmp;tmp=ds18b20_tmp_read();fan=1; /*导通*/tmod=0x01;th0=(65536-50000)/256;tl0=(65536-50000)%256;ea=1;ex0=1;it0=1;et0=1;tr0=1;void exter() interrupt 0uint n0,n1,n2,n3,n4,n5;uchar tmp;if(tmp0x0180)&(tmp=0x01a0)&(tmp=0x01c0)&(tmp=0x01e0)&(tmp=0x200)n5-;if(n5=0)fan=0;if(t1=20)t1=0;fan=1;else n0-;if(n0=0)fan=0;if(t1=20)t1=0;fan=1;void timer0() interrupt 1th0=(65536-50000)/256;tl0=(65536-50000)%256;t1+;5 系统调试 5.1 硬件调试 在制作过程中分别测试各元件的各项指标是否正常。如双向可控硅的调试:双向晶闸管它属于npnpn五层器件,三个电极分别是t1、t2、g。因该器件可以双向导通,故门极g以外的两个电极统称为主端子,用t1、t2表示,不再划分成阳极或阴极。其特点是,当g极和t2极相对于t1的电压均为正时,t2是阳极,t1是阴极。反之,当g极和t2极相对于t1的电压均为负时,t1变成阳极,t2为阴极。双向晶闸管的伏发特性,由于正、反向特性曲线具有对称性,所以它可在任何一个方向导通。下面介绍利用万用表r1档判定双向晶闸管电极的方法,同时还检查触发能力。1判定t2极g极与t1极靠近,距t2极较远。因此,g-t1之间的正、反向电阻都很小。在用r1档测任意两脚之间的电阻时,只有g- t1之间呈现低阻,正、反向电阻仅几十欧。而t2-g、t2- t1之间的正、反向电阻均为无穷大。这表明,如果测出某脚和其它两脚都不通,就肯定是t2极。另外,采用to-220封装的双向晶闸管,t2极通常与小散热板连通。据此亦可确定t2极。 2区分g极和t1极(1)找出t2极之后,首先假定剩下两脚中某一脚为t1极,另一脚为g极。(2)把黑表笔接t1极,红表笔接t2极,电阻为无穷大。接着用红表笔尖把t2与g短路,给g极加上负触发信号,电阻值应为十欧左右,证明管子已经导通,导通方向为t1t2。再将红表笔尖与g极脱开(但仍接t2),如果电阻值保持不变,就表明管子在触发之后能维持之后能维持导通状态。(3)把红表笔接t1极,黑表笔接t2极,然后使t2与g短路,给g极加上正触发信号,电阻值仍为十欧左右,与g极脱开后若阻值不变,则说明管子经触发后,在t2t1方向上也能维持导通状态,因此具有双向触发性质。由此证明上述假定正确。否则是假定与实际不符,需从新作出假定,重复以上测量。显见,在识别g、t的过程中,也就检查了比向晶闸管的触发能力。实例:选择500型万用表档r1档检测一只由日本三菱公司生产的bcr3am型双向晶闸管。测量结果与上述规律完全相符,证明管子质量良好。注意事项:如果按哪种假定去测量,都不能使双向晶闸管触发导通,证明管子已损坏。为可靠起见,这里规定只用r1档检测,而不用r10档。这是因为r10档的电流较小,采用上述方法检查1a的双向晶闸管还双较可靠,但在检查3a或3a以上的双向晶闸管时,管子很难导通状态,一旦脱开g极,即自行关断,电阻值又变成无穷大。双向晶闸管作电子开关使用,能控制交流负载(例如白炽灯)的通断,根据白炽灯的亮灭情况,可判断双向晶闸管的好坏。电路如图1所示。将220v交流电源的任意一端接t2,另一端经过220v、100w白炽灯接t1。触发电路由开关s和门极限流电阻r组成。s选用耐压220vac的小型钮子开关或拉线开关。r的阻值取100330,r值取得过大,会减小导通角。下面个绍检查步骤:第一步,先将s断开,此时双向晶闸管关断,灯泡应熄灭。若灯泡正常发光,则说明双向晶闸管t1- t2极间短路,管子报废;如果灯泡轻微发光,表明t1-t2漏电流太大,管子的性能很差。出现上述两种情况,应停止试验。第二步:闭合s,因为门极上有触发信号,所以只需经过几微秒的时间,双向晶闸管即导通通,白炽灯上有交流电流通过而正常发光。具体工作过程分析如下:在交流电的正半周,设uaub,则t2为正,t1为负,g相对于t2也为负,双向晶闸管按照t2-t1的方向导通。在交流电的负半周,设uaub,则t2为负,t1为正,g相对于t2也为正,双向晶闸管沿着t1t2的方向导通。综上所述,仅当s闭合时灯泡才能正常发光,说明双向晶闸管质量良好。如果闭合时灯泡仍不发光,证明门极已损坏。注意事项:(1)本方法只能检查耐压在400v以下的双向晶闸管。对于耐压值为100v、200v的双向晶闸管,需借助自耦调压器把220v交流电压降到器件耐压值以下。(2)t1和t2的位置不得接反,否则不能触发双向晶闸管。(3)具体到ua、ub中的哪一端接火线(相线),哪端接零线,可任选。(4

温馨提示

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

评论

0/150

提交评论