fpga温控风扇的设计

上传人:m**** 文档编号:555033236 上传时间:2024-03-12 格式:DOC 页数:47 大小:645.50KB
返回 下载 相关 举报
fpga温控风扇的设计_第1页
第1页 / 共47页
fpga温控风扇的设计_第2页
第2页 / 共47页
fpga温控风扇的设计_第3页
第3页 / 共47页
fpga温控风扇的设计_第4页
第4页 / 共47页
fpga温控风扇的设计_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《fpga温控风扇的设计》由会员分享,可在线阅读,更多相关《fpga温控风扇的设计(47页珍藏版)》请在金锄头文库上搜索。

1、温控风扇的设计摘 要温控风扇在现代社会中的生产以及人们的日常生活中都有广泛的应用,如工业生产中大型机械散热系统中的风扇、现在笔记本电脑上的广泛应用的智能CPU风扇等。本文设计了基于XILINX FPGA温控风扇系统,采用FPGA作为控制器,利用温度传感器DS18B20作为温度采集元件,并根据采集到的温度,通过继电器驱动风扇电机。采用热释电红外传感器,并根据检测到的温度与系统设定的温度的比较实现风扇电机的自动启动和停止,并能根据温度的变化自动改变风扇电机的转速,同时在LED数码管显示检测到的温度、设定的温度和转速。第一章 整体方案设计随着人们生活水平及科技水平的不断提高,现在家用电器在款式、功能

2、等方面日益求精,并朝着健康、安全、多功能、节能等方向发展。过去的电器不断的显露出其不足之处。电风扇作为家用电器的一种,同样存在类似的问题。现在电风扇的现状:大部分只有手动调速,再加上一个定时器,功能单一。存在的隐患或不足:比如说人们常常离开后忘记关闭电风扇,浪费电且不说还容易引发火灾,长时间工作还容易损坏电器。再比如说前半夜温度高电风扇调的风速较高,但到了后半夜气温下降,风速不会随着气温变化,容易着凉。之所以会产生这些隐患的根本原因是:缺乏对环境的检测。如果能使电风扇具有对环境进行检测的功能,当房间里面没有人时能自动的关闭电风扇;当温度下降时能自动的减小风速甚至关闭风扇,这样一来就避免了上述的

3、不足。本次设计就是围绕这两点对现有电风扇进行改进。本设计的整体思路是:以XILINX FPGA作为控制中心,通过提取热释电红外传感器感应到的人体红外线信息,并利用温度传感器DS18B20检测环境温度并直接输出数字温度信号给FPGA进行处理,在LED数码管上显示当前环境温度值以及预设温度值。通过独立键盘输入预设温度值,其中预设温度值只能为整数形式,检测到的当前环境温度可精确到小数点后一位。同时采用PWM脉宽调制方式来改变直流风扇电机的转速。并通过两个按键改变预设温度值,一个提高预设温度,另一个降低预设温度值。系统结构框图如下:数码管键盘输入XILINX FPGA热释电红外传感器蜂鸣器温度传感(D

4、S18B20)PWM驱动电路直流电机本设计要实现风扇直流电机的温度控制,使风扇电机能根据环境温度的变化自动启停及改变转速,需要比较高的温度变化分辨率以及稳定可靠的换挡停机控制部件。1.3.1 温度传感器的选择在本设计中,温度传感器的选择有以下两种方案:方案一:采用热敏电阻作为检测温度的核心元件,并通过运算放大器放大,由于热敏电阻会随温度变化而变化,进而产生输出电压变化的微弱电压变化信号,再经模数转换芯片ADC0809将微弱电压变化信号转化为数字信号输入FPGA处理。方案二:采用数字式的集成温度传感器DS18B20作为温度检测的核心元件,由其检测并直接输出数字温度信号给FPGA进行处理。对于方案

5、一,采用热敏电阻作为温度检测元件,有价格便宜,元件易购的优点,但热敏电阻对温度的细微变化不太敏感,在信号采集、放大以及转换的过程中还会产生失真和误差,并且由于热敏电阻的R-T关系的非线性,其自身电阻对温度的变化存在较大误差,虽然可以通过一定电路来修正,但这不仅将使电路变得更加复杂,而且在人体所处环境温度变化过程中难以检测到小的温度变化。故该方案不适合本系统。对于方案二,由于数字式集成温度传感器DS18B20的高度集成化,大大降低了外接放大转化等电路的误差因数,温度误差变得很小,并且由于其检测温度的原理与热敏电阻检测的原理有着本质的不同,使得其温度分辨力极高。温度值在器件内部转化成数字量直接输出

6、,简化了系统程序设计,又由于该温度传感器采用先进的单总线技术,与FPGA的接口变得非常简洁,抗干扰能力强,因此该方案适用于本系统。1.3.2 调速方式的选择方案一:采用数模转换芯片DAC0832来控制,由FPGA根据当前环境温度值输出相应数字量到DAC0832中,再由DAC0832产生相应模拟信号控制晶闸管的导通角,从而通过无级调速电路实现风扇电机转速的自动调节。方案二:采用FPGA软件编程实现PWM(脉冲宽度调制)调速的方法。PWM是英文Pulse Width Modulation的缩写,它是按一定的规律改变脉冲序列的脉冲宽度,以调节输出量和波形的一种调节方式,在PWM驱动控制的调节系统中,

7、最常用的是矩形波PWM信号,在控制时需要调节PWM波得占空比。占空比是指高电平持续时间在一个周期时间内的百分比。在控制电机的转速时,占空比越大,转速就越快,若全为高电平,占空比为100%时,转速达到最大 2。对于方案一,该方案能够实现对直流风扇电机的无级调速,速度变化灵敏,但是D/A转换芯片的价格较高,与其温控状态下无级调速功能相比性价比不高。 对于方案二,相对于其他用硬件或者软硬件相结合的方法实现对电机进行调速而言,采用PWM 用纯软件的方法来实现调速过程,具有更大的灵活性,并可大大降低成本,能够充分发挥FPGA的功能,对于简单速度控制系统的实现提供了一种有效的途径。综合考虑选用方案二。第二

8、章 各单元模块的硬件设计系统主要器件包括热释电红外传感器、DS18B20温度传感器、XILINX FPGA、LED共阴数码管、风扇直流电机。系统器件简介 DS18B20单线数字温度传感器简介DS18B20数字温度传感器,是采用美国DALLAS半导体公司生产的DS18B20可组网数字温度传感器芯片封装而成,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供处理器处理。适用于各种狭小空间设备数字测温和控制领域。DS18B20的主要特征:测量的结果直接以数字信号的形式输出,以“一线总线”方式串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能

9、力;温度测量范围在-55+125之间,在-10+85时精度为;可检测温度分辨率为912位3。DS18B20内部结构主要有四部分:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。其管脚有三个,其中DQ为数字信号端,GND为电源地,VDD为电源输入端。 (电原理图如右图) 热释电红外线传感器原理简介人体辐射的红外线中心波长为 910um,而探测元件的波长灵敏度在 0.220um 范围内几乎稳定不变。在传感器顶端开设了一个装有滤光镜片的窗口,这个滤光片可通过光的波长范围为 710um,正好适合于人体红外辐射的探测,而对其它波长的红外线由滤光片予以吸收,这样便形成了一种专门用作

10、探测人体辐射的红外线传感器。 实质上热释电传感器是对温度敏感的传感器。它由陶瓷氧化物或压电晶体元件组成,在元件两个表面做成电极,如图2所示。在环境温度有T的变化时,由于有热释电效应,在两个电极上会产生电荷Q,即在两电极之间产生一微弱的电压V。2.1.3 风扇电机控制模块电路图:2.1.3 蜂鸣器以及按键模块电路图如下: 第三章 软件设计程序设置程序设计部分主要包括主程序、DS18B20模块、风扇电机控制模块、热释电红外线传感器模块以及蜂鸣器模块。DS18B20模块完成对DS18B20的初始化,对环境温度的实时采集、主机对温度传感器数据的读取及数据换算以及包含了温度对数码管的输出;风扇电机控制函

11、数则根据按键值以及温度的数值完成对电机转速及启停的控制;热释电红外线传感器模块完成对人体是否存在进行检测,并将信号送到电机模块使能端入口;蜂鸣器模块对按键进行提醒。主程序流程图如图:顶层模块:module top(clk,rst,icdata,dclk,dlk,dain,drst,key,moto,led,sc2);input clk;inout icdata;input rst;input 1:0key;output dclk;output dlk;output dain;output drst;output moto;output 2:0led;output sc2;wire 1:0jie

12、guo;wire 1:0duty_cyc;counter counter( .clk(clk), .rst(rst), .icdata(icdata), .dclk(dclk), .dlk(dlk), .drst(drst), .dain(dain), .jieguo(jieguo), .duty_cyc(duty_cyc) );dianji dianji( .clk(clk), .key(key), .wd(jieguo), .moto(moto), .led(led), .duty_cyc(duty_cyc) );fengmingqi fengmingqi( .clk(clk), .rst

13、(rst), .key(key), .sc2(sc2) );endmodule DS18B20模块:这里我们采用12 位分辨率,DS18B20在 750ms 内把温度值转换为数字,实现高精度测温。根据 DS18B20 的通讯协议,主机控制 DS18B20 完成温度转换必须经过三个步骤:每一次读写之前都要对 DS18B20 进行复位操作,复位成功后发送一条 ROM 指令,最后发送 RAM 指令,这样才能对 DS18B20 进行预定的操作。复位要求主 CPU 将数据线下拉 500 微秒,然后释放,当 DS18B20 收到信号后等待 1660 微秒左右,后发出 60240 微秒的存在低脉冲,主 CPU 收到此信号表示复位成功。流程图如下:Verilog代码如下:module DS

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号