智能温度控制系统
随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度控制系统发展的主流方向。特别是近年来,温度控制系统[1]已应用到人们生活的各个方面,但温度控制一直是一个未开发的领域,却又是与人们息息相关的一个实际问题。针对这种实际情况,设计一个温度控制系统,具有广泛的应用前景与实际意义。
1.系统硬件设计
1.1.温度检测电路设计
在花房的温度控制系统中,温度检测部分我们采用了DS18B20芯片,其硬件电路比较简单。
如上图所示,DS18B20温度传感器只有3个引脚,其中第一引脚为电源GND,第二引脚为数据传输引脚,为了增强DS18B20的输出能力,在此引脚上加了一个10K的上拉电阻,如图中R2所示,第三引脚为电源VCC,只需要连接电源正极即可。
1.2. 继电器控制电路设计
在本系统中,由于风扇需要的电流比较高,如果风扇与单片机共用一个电源时,当水泵工作时会将整个电压拉低,导致单片机以及其他用电芯片不能正常工作,最终导致系统无法正常运作。因此在本系统中,采用了继电器[3]作为控制抽水泵的控制电路。
图中除了如我们所说的继电器和风扇以外,还有4个元件,分别为两个电阻一个LED和一个三极管,其中三极管采用了一个型号为9012的PNP三极管,其作用是起信号放大的作用。从图中可以看出,当有电流从继电器中流过时,继电器就会吸合,使风扇通电开始工作,但是由于单片机的IO口驱动能力不足,不能直接控制继电器,所以这里加了一个三极管,单片机只需要控制三级管的导通,当三极管导通时,电流从正极经过继电器流向负极,继电器吸合。当然,控制三极管导通的电流非常小,比直接控制继电器小很多,单片机的IO口足够驱动起来。图中LEDD1为指示灯,当继电器闭合的同时,LED也会亮。图中R3和R4都为限流分压电阻,由于LED的额定电压为2V,而从三极管导通过来的是5V电压,因此需要加一个1K电阻与LED灯串联在一起,起分压的作用,及1K电阻上面有3V电压,LED两端有2V电压,这样LED灯就不会因电压过高而烧坏。三极管基极与单片机P2.0相连,因此需要抽水泵工作时,只需要控制P2.4为低电平即可,反之则反。
2.系统软件设计
一个智能化的电路系统要完美执行各项功能,除了要有硬件结构作为基础之外,还需要有与其配套的驱动程序才可以完成。特别是在微电子技术飞快发展的现代,硬件的统一结构和全面化接口,使很多系统只需要更改软件驱动程序就可以完成各种不同的功能,因此软件编程技术变得越来越重要。在本设计所设计的花房温度控制系统中,也是由于软件驱动程序的存在,再配合硬件电路,才能使系统完成温度的检测并对其进行控制。
2.1.读出温度子程序设计
在花房温度控制系统中,采用DS18B20传感器进行温度的检测,其中在温度检测中,温度的读取子程序是必不可少的,温度的读取的主要就是对DS18B20中RAM中字节的读取,在18B20的RAM中有9个字节存储了温度信息,只要对这几个字节进行读取,最后在经过CRC校验,就可以将温度值读出。在对DS18B20内部数据读取时是非常严格的,在时序方面要严格按照DS18B20的时序表进行才可以。首先将DS18B20复位,为读取温度做好准备,由于在本次设计中只用了一个DS18B20温度传感器,因此不需要对ROM序列号进行匹配,然后是向温度传感器输入开始读取温度的命令,18B20接受到命令之后,开始向单片机传送带有温度信息的字节,其中传输方式为由高位到地位,总共有12的字节,其中整数部分有7个,小数部分有4个。最后单片机在对这些 数据整合处理,并将温度以字符串的方式显示在液晶屏上。
2.2.温度控制子程序设计
在花房温度控制系统中,温度的控制是采用两个继电器对温度进行加热和降温。首先实时获取当前的温度值,当温度值大于之前设置的温度报警上限值时,将驱动控制风扇的继电器导通,使风扇开始转动;反之,当温度值不大于之前设置的温度报警上限值时,将驱动控制风扇的继电器断开,使风扇停止转动。同理,当温度值小于之前设置的温度报警下限值时,将驱动控制加热片的继电器导通,使加热片开始加热;反之,当温度值不小于之前设置的温度报警下限值时,将驱动控制风扇的继电器断开,使加热片停止加热。
3.结论
该系统可以通过采集环境温度并反馈给单片机,它使用起来相当方便,具有精度高、灵敏度高、便于观察、体积小、功耗低等优点,适合于当作条文处理模块嵌入其它系统中,作为其他主系统的辅助扩展。该系统结构简单,抗干扰能力强,适合在自动控制的环境下进行温度的控制,具有一定的实际应用价值。