1 系统的整体想路
本系统分为上位机模块、单片机模块、温度采集模块、加热模块。上位机采用的是用VC++6.0的软件环境来编写一个控制界面,用来控制下位机的ATmage8单片机,并且与其通信,传递命令和接收信号,上位机和下位机之间利用RS232串口来进行连接;单片机模块编程来控制和采集DS18B20的温度信号;ATmage8和DS18B20之间采用单总线的方式来连接。单片机模块和加热模块之间接继电器,由单片机来控制。上位机设定温度范围,发送给单片机,单片机接收到后采集温度传感器的温度信号,处理后得到的温度值进行阈值匹配,控制继电器的闭合,并传给上位机,显示在上位机界面。当温度低于设定最低阈值时,开启继电器,加热模块开始工作,当到达最高阈值时,闭合继电器,加热模块停止工作。这样就达到了控制温度的目的。
2 硬件部分设计
2. 1 ATmage8单片机简介
ATmage8是一款采用低功耗CMOS工艺生产的基于AVR RISC结构的8位单片机。它承袭了AT90系列所具有的特定,并增加了更多的接口功能,而且在省电性、稳定性、抗干扰性及灵活性方面更加的灵活和周全,它所有的寄存器都直接与ALU相连,这样提高了代码的效率;含有32个8位通用寄存嚣,8k字节的Flash程序存储器可擦写大于10000次;带有两个预分频的8位定时器/计数器、一个带预分频的16位定时/计数器;3个PMW通道,可实现任意16位以相位和频率的可调PMW脉宽调制输出;一个10位的AD转换,基本满足大部分的信息采集;片内自带的晶振也是非常的方便;I/O口的拉电流能力可以达到40 mA,这样比51单片机的驱动能力大了很多,在此系统中也就可以直接驱动继电器。
2.2 温度传感器DS18B20
传统的温度传感器往往采用模拟技术进行设计,这样的话就会遇到线性误差补偿、多点测量中的切换误差和信号的调理电路的误差等问题,这些问题都可以造成系统的不稳定,所以数字化、集成化的温度传感器成为发展的方向。DS18B20温度传感器是DMLLAS公司生产的新一代数字温度传感器。该传感器将地址线、数据线和控制线合为一根双向串行数据的信号线,并且允许连接多个DS18B20。它具有3引脚的T0-92小体积封装;测量范围在-55~+125℃,测量的精度也小于1℃;3引脚分别接在电源、地和一个I/O端口上,十分方便。
2.3 硬件部分
室内智能温度调节系统的硬件设计部分主要由单片机模块、温度采集模块和加热模块组成,图1为系统的组成框图。
其中上位机和单片机之间是互相通信的,上位机发送温度阈值和命令给单片机,单片机发送当前温度值给上位机;单片机和DS18B20之间也是互相通信,单片机发送初始化和控制命令给温度传感器,温度传感器把检测到的温度信号传给单片机处理;单片机控制加热模块,经过温度采集模块进行反馈。这样就形成可一个完整的系统。[page]
整个系统中ATmage8是核心的内容,它不仅负责和上位机之间的通信、处理温度传感器的信号,转化成温度值,并且控制电子开关继电器,以此来控制加热模块。图2为ATmage8模块的电路图。
其中PC6接的是复位电路,PB6和PB7这连接的是单片机的振荡电路,PC6口连接的是R1和C3组成的复位电路;PD0和PD1读写口,通过MAX232电平转换芯片和串口连接,和上位机进行通信。
2. 3.2 温度采集模块
由于我们要控制的是整个室内的温度。这样的话一个DS18B20显然是不能满足要求的,本系统采用的是多个温度传感器共同来工作,在室内的多点放置传感器,这样就形成一个多点的温度采集系统。每个DS18B20都有一个唯一的序列号,这样CPU只需要一根端口线就可以和多个DS18B20通信,连接十分的方便,由于考虑功耗,率系统选取了4个温度传感器。图3为DS18B20和单片机之间的连接图。
DS18B20有两种电源接法,外部方式供电和寄生电源供电,由于寄生供电方式有可能产生电压不够,所以本系统采用外部电源供电,用一个上拉电阻使它的电压稳定。图中1脚接的是地,3脚接的是电源,2脚和单片机的I/O口连接,为数据线。
2. 3. 3加热模块
单片机用一个PBI来控制继电器的开断,加热器随之开断。当单片机得到温度传感器的信号,经过处理后得到温度值和设定的温度范围比较,如果小于最小值,继电器打开,加热器开始工作,当温度在阈值范围内或者高于最大值时,继电器闭合,加热器随之关闭。
此模块也可以在每个温度传感器的旁边设置一个加热装置,哪个温度传感器区域温度较低,则控制哪个区域加热。也可以根据实际的需要来调整各个区域的温度,将室内分成几个区域进行控制,设定不同的阈值进行比较。
[page]
3 软件部分设计软件部分主要涉及上位机软件和下位机ATmage8单片机的程序,上位机的软件部分只需要编辑一个GUI用户界面,在里面实现和单片机之间的通信即可,图4为上位机的GUI界面。
上位机的程序只是起控制温度阈值和现实当前温度的功能,在这个界面上,我们就可以很清楚的看出每个传感器的温度值,由于传感器分别分布在室内的4个区域,则显示的当前温度就是室内四个区域的温度。这样工作人员就可以按实际的情况分别修改几个区域的温度阈值,来智能的控制室内的温度,达到生产要求。
单片机的程序主要和上位机通信,控制传感器和继电器,图5为下位机程序的流程图。
DS18B20和外部中断初始化后,系统就开始进入while循环,等待外部中断的产生,当上位机的阈值发生改变并且通过串口发送给单片机,程序开始进入中断,中断里面是发送程序,接收到上位机的指示就发送当前的温度给上位机;同时主程序里开始进行温度的采集和阈值的对比,利用程序来进行判断,判断如果不匹配的话,温度低了就加热,温度高了就定制加热,保证温度在合适的范围内。
4 结束语
本系统是采用高性能的ATmage8单片机和高精度的数字温度传感器设计的一个室内智能温度调节系统,采用上位机控制温度的阈值,传达给单片机执行。实验验证,很好的体现了DS18B20很好的精度性能,误差控制在0.5℃之内,适合小面积的工农业生产和生活应用,具有很高的使用价值。
上一篇:一种改善微波模块增益指标温度特性的新方法
下一篇:基于GSM的家庭安全防护系统
推荐阅读最新更新时间:2024-05-02 22:05