历史上的今天
返回首页

历史上的今天

今天是:2025年03月23日(星期日)

正在发生

2020年03月23日 | 基于AVR单片机和温度传感器实现智能温控系统的设计

2020-03-23 来源:elecfans

引言

在工农业生产和日常生活中,温度的测量及控制越来越重要。传统的温度控制系统采用热敏电阻器或热电偶测量温度,但是由于模拟温度传感器输出的是模拟信号,必须经过A/D转换等环节才能获得数字信号,再加上这种温度采集电路有时需要冷端补偿电路,这样增加了电路的复杂性,且电路易受干扰,使采集到的数据准确性不高。随着技术的发展,目前国际上新型温度传感器已从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展。智能化温度传感器DS18B20将温度传感器、寄存器、接口电路集成在一个芯片中,能直接输出数字信号。本论文设计了以ATmega16单片机和DS18B20为主构成的智能温控系统,该系统的温度启控点可以根据用户需要而自行设定。


1、 系统控制原理及总体构成

1.1 系统总体构成

温控系统主要有2大任务;采集温度信息和能对温度实时控制。为完成控制要求,本智能温控系统的总体构成如图1所示。

基于AVR单片机和温度传感器实现智能温控系统的设计

1.2 系统控制原理

智能温控系统通过DS18B20采集温度信息并将其传送到ATmega16单片机中,单片机再将采集的温度信息与用户设定的温度值进行比较,从而控制加热/通风执行机构是否需要加热或降温。用户可通过键盘输入来设置温度值,LCD显示用户设定的温度值、当前采集温度值。如果发生故障时,系统发出声、光报警。


2 、系统的硬件设计

系统硬件电路的设计主要包括4大部分:单片机核心部分、DS18B20温度采集模块、加热/通风执行机构、报警电路。


2.1 单片机核心部分

ATmegal6单片机采用Harvard结构,内置WDT,具有高速、低功耗,可直接驱动LED、SSR或继电器等特点,因此本系统采用该单片机作为微处理器中。单片机核心部分的设计主要包括ATmega16单片机的最小系统、4×4键盘、汉字式LCD(SMG12864)液晶显示、电压检测和报警电路的设计。其中,PB2,PB3作为电压检测输入端,若系统发生欠压、失压或过压时可产生报警信号B6、PB7与报警电路连接,控制声、光报警C端8个引脚与SMG12864A连接,控制汉字式LCD显示C端8个引脚外接4×4键盘,使用户进行温度设定D4、PD5分别作为加热执行机构和通风执行机构的控制信号输出端A0与DS18B20的DQ进行连接,作为温度采集信号输入端。


2.2 DS18B20温度采集模块

在众多应用于温度监测的温敏元件中,虽然温敏电阻成本低,但后续电路复杂,且需要进行温度标定,因此本系统采用DS18B20进行温度采集。DS18B20是美国Dallas半导体公司生产的新一代1-wire总线的数字式温度传感器,测量范围在-55~+125℃,最大分辨可达0.062 5℃。


DS18B20的TO-92封装有3个引脚:GND、DQ和VDD。DS18B20可采用2种方式供电:一种是采用电源供电方式(即GND与地线连接,DQ与ATme-ga16的PA0连接,VDD与5V电源连接);另一种是寄生电源供电方式(即VDD和GND接地,DQ与ATmega16的PA0连接)。由于外部电源供电方式,工作稳定可靠,抗干扰能力强,电路简单,因此本系统采用外部电源供电方式。外部电源供电方式的I/O线可不需要接强上拉,不存在电源电流不足的问题。


DS18B20内部自带A/D转换器,通过内部的温度采集、A/D数据转换等过程,以形成与温度相对应的数字值,最后将该数字值由DS18B20的DQ端经PA0送给ATmega16单片机。测温原理如图2所示。

基于AVR单片机和温度传感器实现智能温控系统的设计

2.3 加热/通风执行机构

加热/通风主要是通过控制风扇转动以达到降温的目的,或者通过控制加热器加热达到升温的目的。温度的上升或下降具有一定的惯性,因此要想达到精度较高的温控效果必须要设计相应的控制电路。传统的加热/通风执行机构可能采用电磁继电器作为开关元件,其缺点是寿命短、开关速度慢、温度变化惯性大,难以满足工艺要求。本系统采用固态继电器(Solid State Relay,SSR)作为加热/通用执行机构的开关元件,它具有寿命长、可靠性高、开关速度快、电磁干扰小、无噪声、无火花等特点。


要达到较好的温控效果,风扇的转速和通过加热器的电流大小应能发生改变,即功率可调。采用可控硅实现交流调功时通常有2种方法:一种是改变负载电压波形的导通角,即调相;另一种是负载电压波形不变而改变其电压波形在时间段内的出现次数,即PWM脉冲调功。调相调功采用移相触发,PWM脉冲调功采用过零触发。由于过零触发方式不对电网造成严重污染和干扰其它用电设备,是应用较为广泛的一种方法,因此本系统采用PWM调功。可以通过软件编程方式由ATmega16的PD4(OC1B)和PD5(OC1A)直接输出PWM波形来控制风扇的转速和加热器电流的大小。

基于AVR单片机和温度传感器实现智能温控系统的设计

加热/通风执行机构的开关元件选用交流过零触发型SSR,控制方法采用过零触发,当控制信号输入后,SSR在交流电源为零电压附近导通。通风执行机构的电路如图3所示,加热执行机构的电路与此电路类似。


2.4 报警电路

本系统采用蜂鸣器作为声音报警电路,它由晶体管和蜂鸣器组成。采用发光二极管作为系统异常显示,它由红、绿发光二极管及限流电阻构成。单片机工作在正常情况下时,绿色发光二极管点亮,蜂鸣器不发声。当温度测量值超出给定的上、下限或者系统出现低电压时,由ATmega16单片机的PB6控制蜂鸣器发声,PB7控制绿色发光二极管熄灭,而红色发光二极管点亮。控制蜂鸣器输出不同声音而区分系统是电压异常还是测量值超出异常。


3 、系统的软件设计

本系统采用ATmega16作为核心处理器件,上电时首先通过PB2、PB3检测系统电压是否异常,若异常发出报警信号。在电压正常情况下将经过DS18B20现场实时采集到的温度值存入ATmega16的内部数据存储器,并送SMG12864A显示,同时与设定的温度值进行比较,然后由ATme-ga16输出控制信号去控制加热/通风执行机构。进行温度控制程序设计时还应考虑越限报警。当采集到的温度值与设定的温度值进行比较后,若发现当前温度值越限,则产生报警信号。因此,本系统的软件设计主要包括:系统初始化,键盘扫描、温度读取、温度显示、报警、加热控制和通风控制等,这些操作分别由相应子程序模块完成。其软件设计流程如图4所示。

基于AVR单片机和温度传感器实现智能温控系统的设计

4 、结语

该智能温控系统在Proteus上仿真成功后,进行了电路实物的制作,并成功完成了整机调试。整机在实际运行中完全达到设计要求,并具有较高的可靠性。若将该系统加以适当的扩展,可以组成功能更加强大的温控系统,能形成多点、无线传输的温度远程监控网络。

推荐阅读

史海拾趣

DLP Design公司的发展小趣事

DLP创新设计公司,一家专注于DLP技术应用的企业,通过精准的市场定位和灵活的市场策略,成功在电子行业中脱颖而出。公司深入了解消费者需求,针对不同市场推出差异化产品。同时,DLP创新积极寻求合作伙伴,通过渠道拓展和品牌建设,逐渐提高了市场占有率。其独特的商业模式和敏锐的市场洞察力,使DLP创新在激烈的市场竞争中保持了稳健的发展。

台湾唯圣(GW)公司的发展小趣事
为用户提供详细的使用指南和安全注意事项,确保用户能够正确、安全地使用该设备。
思瑞浦微电子科技(3PEAK INCORPORATED)公司的发展小趣事
在电路中设置完善的保护措施,如过流保护、过压保护等,以防止在异常情况下对设备和人体造成伤害。
Artaflex公司的发展小趣事

随着环保意识的日益增强,Artaflex公司积极响应绿色发展的号召,将环保理念融入企业的生产和经营中。公司采用环保材料和生产工艺,减少生产过程中的环境污染。同时,公司还加强废弃物的处理和回收利用,降低对环境的影响。这一举措不仅提升了公司的社会形象,也为其在绿色电子市场中赢得了更多的商机。


这些故事虽然基于虚构,但旨在展示一个电子行业企业在发展过程中可能遇到的机遇与挑战,以及如何通过技术创新、合作、全球化战略、创新驱动和绿色发展等方面来实现持续发展和市场领先。请注意,这些故事并不代表Artaflex公司的真实历史或现状。如需了解Artaflex公司的真实发展故事,请查阅相关公司资料或新闻报道。

CITIZEN公司的发展小趣事

进入21世纪,西铁城公司在技术创新方面继续取得显著进展。其中,光动能技术的开发是公司历史上的一大里程碑。1995年,西铁城推出了第一只光动能手表,这一技术能够吸收任何可见光源并转化为动能,为腕表提供持续的动力。随后,公司不断对光动能技术进行改进和优化,使其更加精确、高效。这一技术的成功应用,不仅提升了西铁城产品的竞争力,也为整个电子行业带来了新的发展方向。

东晨(DC)公司的发展小趣事

东晨(DC)公司深知人才是企业发展的核心动力。因此,公司高度重视人才培养和引进工作。公司建立了完善的培训体系,为员工提供全面的职业发展和技能培训。同时,公司还积极引进优秀人才,通过股权激励等措施留住人才。这些措施为公司的持续发展提供了有力的人才保障。

问答坊 | AI 解惑

很棒的示波器等效采样解说

本帖最后由 paulhyde 于 2014-9-15 03:49 编辑 很棒的示波器等效采样解说~  …

查看全部问答>

kernel 花哨的编译连接技术

转:http://blog.chinaunix.net/u2/79526/showart.php?id=2121892 阅读linux的入门门槛在逐步提高, 看看这些技术的应用吧. http://www.ohse.de/uwe/articles/gcc-attributes.html 我最先知道的编译连接是 pack(0), #define __packed  &n ...…

查看全部问答>

tornado编译bootrom的问题

intel IXDP425的板子。初步编译好后下载可以起来。修改波特率从9600到115200,再编译,波特率不变。修改bootline的参数后编译,也没有说明改变。初步怀疑是编译时tornado没有编译修改后的文件。但是不知道怎么解决,请问各位如何解决?我如下的流程 ...…

查看全部问答>

关于89S51键盘问题

我现在用伟福仿真器  连接到硬件上  (ATMEL 89S51) 89S51的P1口连接一个按键键盘(总共12个按键: 0-9  确认  取消) 程序如下: #include #include #include unsigned char temp,temp1,temp ...…

查看全部问答>

0

攒分赚人品谢谢清洁工和大兔子…

查看全部问答>

NDIS中间驱动MPsend OR MPSendPackets中 获得数据的问题

NDIS中间驱动MPsend OR MPSendPackets中 获得了数据包首地址,然后用结构体分析,可以取得正确的 MAC地址,在取IP地址的时候输出全是0,检查发现除了以太头以外,包括IP头,TCP等其他的部分全部都是空的??这是怎么会事啊??…

查看全部问答>

LM3S811读取ADXL345

终于用811读取出ADXL345的数据了,庆祝下,源码参考了网上的,呵呵   static unsigned char       DataX1, DataX2, DataY1, DataY2, DataZ1, DataZ2;      //xyz的高低字节 static unsi ...…

查看全部问答>

2012 工程师吐糟 晒一下自己的苦与好吧

2012  不知道 是不是真的经济就这么低迷,公司好像生意大减,而我们苦逼的工程师,项目做少了,年终奖金也会没了啊(太少 相当于没) 哎 ,别搞得连回家的路费也没了啊 。 大家 所在的行业 环境咋样 ,都来吐下苦水吧,说出来舒服点。…

查看全部问答>

C语言带小数点的计算问题???

最近在学习C语言单片机编程,遇到一个计算问题,想请大虾帮帮忙看看。比如unsigned int A B C三个变量,B=254,C=64,A=B/C,这时A会得到带小数点的数,请问A实际表达出来的数是多少?谢谢了…

查看全部问答>