多点温度控制系统.docx
- 文档编号:10518676
- 上传时间:2023-02-17
- 格式:DOCX
- 页数:35
- 大小:169.17KB
多点温度控制系统.docx
《多点温度控制系统.docx》由会员分享,可在线阅读,更多相关《多点温度控制系统.docx(35页珍藏版)》请在冰豆网上搜索。
多点温度控制系统
第1章绪论
多点温度控制系统是比较常见的和典型温度测控系统,温度是塑料大棚生产过程中重要的被控参数之一,在塑料大棚中要根据温度光照等参量惊醒调节。
是光合作用和呼吸作用达到一个理想的状态,从而增加蔬菜的产量。
因此,对温度的时时测控是达到目的的一种重要的手段。
本设计是针对MCS—51型AT89C51系列单片机在检测和控制方面的应用,分析温度控制系统实际。
在设计中,首先介绍了一下在设计中用到的一些重要芯片,如AT89C51、AD0809等,使读者在阅读过程中,对各个芯片的具体功能更加清晰;在温度采集电路设计中,以大量的篇幅介绍了温度采集与数据变换过程,并将设计的流程图,并将温度的数据时时的传递到上位机上,使用户可以足不出户就能了解大棚内的温度。
第2章整体方案
本方案采用基于DS18B20分布式多点测温方式实现对整个大棚内温度实施测控,并且采用比较流行的AT89S51作为电路的控制核心,使用12位的高精度模数转换器AD574A进行数据转换,控制电路部分采用继电器控制通风机从而实现降温要求。
报警
单片机
数码管显示
执行机构
上位机
温度采集
(图一)
有多个DS18B20采集数据,从而实现分布式多点测温,再有单片机上传到上位机在上位机上显示温度。
该设计结构简单,控制电路可靠,有较强的通用性。
所设计的控制系统有以下功能:
·温度控制设定波动范围小于±1%,测量精度小于±1%,控制精度小于±2%,超调整量小于±4%;
·当温度过高时可以通过通风设施实现降温;
·实时显示当前温度值;
·按键控制:
设置复位键、运行键、功能转换键。
·越限报警,当越限是上位机按钮颜色有绿变红。
当温度回到设定范围时按钮颜色恢复正常。
2.1方案实现
利用单片机、DELPHI和USB测控模块设计一个温度控制系统,灯模拟加热系统,DS18B20进行测温,对温度在一定范围内进行控制,如果超出上限范围将关闭,如果温度低于下限温度将打开模拟加热系统进行加热。
打开系统后首先点停止,然后设置上下限温度(上限温度应超过下限温度,当设置上限温度小于下限温度时则会出现警告“您输入的数据错误!
”),然后点开始,系统进行工作。
例如:
设置上限温度为40度,下限温度为35度。
点击“开始”报警点为白色;当温度在35度和40度之间时,报警变绿;当温度超过40度时,报警变红。
2.2设计方案及工作原理
利用单片机的18B20测得环境温度,经过单片机处理,不十进制的温度数转化成8位二进制数并发送到P0口,连接USB模块和单片机P0口,让他们同电位,也就是说单片机测得的温度就转化成了USB模块可以是别的二进制数,经过串口线接口送到上位机,再利用DELPHI软件编程获得实际温度的十进制数并显示出来。
第3章硬件
3.1DS18B20单总线数字温度计
3.1.1DS18B20特性
*独特的单线接口仅需一个端口引脚进行通讯
*简单的多点分布应用
*无需外部器件
*可通过数据线供电
*零待机功耗
*测温范围-55~+125℃,以0.5℃递增。
华氏器件-67~+257F,以0.9F递增
*温度以9位数字量读出
*温度数字量转换时间200ms(典型值)
*用户可定义的非易失性温度报警设置
*报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件*应用包括温度控制、工业系统、消费品、温度计或任何热感测系统
3.1.2DS18B20说明DS1820数字温度计以9位数字量的形式反映器件的温度值。
DS1820通过一个单线接口发送或接收信息,因此在中央微处理器和DS1820之间仅需一条连接线(加上地线)。
用于读写和温度转换的电源可以从数据线本身获得,无需外部电源,因为每个DS1820都有一个独特的片序列号,所以多只DS1820可以同时连在一根单线总线上,这样就可以把温度传感器放在许多不同的地方。
这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。
引脚说明
(图二)
(图二)的方框图示出了DS1820的主要部件表2.1的DS18B20详细引脚描述
序号
名称
引脚功能描述
1
GND
地信号
2
DQ
数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源。
3
VDD
可选择的VDD引脚。
当工作于寄生电源时,此引脚必须接地。
(表2.1)
DS1820有三个主要数字部件:
1)64位激光ROM,2)温度传感器,3)非易失性温度报警触发器TH和TL。
器件用如下方式从单线通讯线上汲取能量:
在信号线处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。
DS1820也可用外部5V电源供电。
DS1820依靠一个单线端口通讯。
在单线端口条件下,必须先建立ROM操作协议,才能进行存储器和控制操作。
因此,控制器必须首先提供下面5个ROM操作命令之一:
1)读ROM,2)匹配ROM,3)搜索ROM,4)跳过ROM,5)报警搜索。
这些命令对每个器件的激光ROM部分进行操作,在单线总线上挂有多个器件时,可以区分出单个器件,同时可以向总线控制器指明有多少器件或是什么型号的器件。
成功执行完一条ROM操作序列后,即可进行存储器和控制操作,控制器可以提供6条存储器和控制操作指令中的任一条。
一条控制操作命令指示DS1820完成一次温度测量。
测量结果放在DS1820的暂存器里,用一条读暂存器内容的存储器操作命令可以把暂存器中数据读出。
温度报警触发器TH和TL各由一个EEPROM字节构成。
如果没有对DS1820使用报警搜索命令,这些寄存器可以做为一般用途的用户存储器使用。
可以用一条存储器操作命令对TH和TL进行写入,对这些寄存器的读出需要通过暂存器。
所有数据都是以最低有效位在前的方式进行读写。
3.1.3寄生电源寄生电源的方框图见图1。
这个电路会在I/O或VDD引脚处于高电平时“偷”能量。
当有特定的时间和电压需求时(见节标题“单线总线系统”),I/O要提供足够的能量。
寄生电源有两个好处:
1)进行远距离测温时,无需本地电源,2)可以在没有常规电源的条件下读ROM。
要想使DS1820能够进行精确的温度转换,I/O线必须在转换期间保证供电。
由于DS1820的工作电流达到1mA,所以仅靠5K上拉电阻提供电源是不行的,当几只DS1820挂在同一根I/O线上并同时想进行温度转换时,这个问题变得更加尖锐。
有两种方法能够使DS1820在动态转换周期中获得足够的电流供应。
第一种方法,当进行温度转换或拷贝到E2存储器操作时,给I/O线提供一个强上拉。
用MOSFET把I/O线直接拉到1上就可以实现,见图2。
在发出任何涉及拷贝到E存储器或启动温度转换的协议之后,必须在最多10μs之内把I/O线转换到强上拉。
使用寄生电源方式时,VDD引脚必须接地。
3.1.4分组测试方法
本文以DS18B20与89C52接口进行分组方法说明,假设89C52的P1口可用于扩展的总线根数为4,测温系统共需100个DS18B20,可将100个传感器平均分配,分别挂在4根I/0线上,若存在传感器数量不能被总线根数整除现象,则可使所有总线上所挂传感器个数差别不超过1,在进行读数时稍作处理就能解决,电源方式采用外部供电方式,由于各DS18B20转换方式是采用同时转换,所以需要电流较大,不能利用信号线供电,否则系统无法正常工作。
接线示意图如下图2所示(同组的DS18B20信号线都挂在P1口的某根总线上)。
DS18B20的读写控制须严格按照时序要求进行,其流程如下,首先给所有的DS18B20发送一个复位脉冲,复位结束后同时从各I/O口发送SkipROM命令,接着发送转换命令,全部传感器开始转换,转换结束后向各路同时发送MatchRom命令,接着发送64位序列号,各组分别选中一个DS18B20,然后读取ScratchPad数据,最后进行数据转换,将串行读入的数据转换实际的温度值,循环读取25次将所有DS18B20温度数据完全读完,巡检一次的任务完成,流程具体如左图3所示。
下面进行单总线方式和分组方式测试(都采用同时转换方式)系统耗时分析,图4-6分别为DS18B20的复位时序、微处理器写一位和读一位的时序[3]。
由图可知:
复位时间为:
495us-1020us
写一位的时间:
60us-120us
读一位的时间:
60us以上
读写相临一位时间间隔:
1us
由于模数转换时间为97.35ms(9位精度),所以总的巡检时间若均按最短时间计算分别为:
(1)总线方式:
495us+2*(8*60+7)us+97.35ms+495us+100*(64*60+63+8*60+7+9*60+8)us=55
2.534ms
(2)分组方式
495us+2*(8*60+7)us+97.35ms+20(64*60+63+8*60+7+9*60+8)us=189.804ms数制转换和存储时间因为占总的巡检时间比重很小、以及晶振频率无法确定,此处未做计算,由计算结果可知,采用分组方式巡检时间能得到明显降低。
3.1.5DS18B20的使用方法
由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。
DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。
该协议定义了几种信号的时序:
初始化时序、读时序、写时序。
所有时序都是将主机作为主设备,单总线器件作为从设备。
而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。
数据和命令的传输都是低位在先。
DS18B20采用外部供电方式,单总线长度也不宜超过80M,否则也会影响到数据的传输。
在实际应用中还可以使用一个MOSFET将I/O口线直接和电源相连,起到上拉的作用。
对DS18B20的设计,需要注意以下问题:
(1)对硬件结构简单的单线数字温度传感器DS18B20进行操作,需要用较为复杂的程序完成。
编制程序时必须严格按芯片数据手册提供的有关操作顺序进行,读、写时间片程序要严格按要求编写。
尤其在使用DS18B20的高测温分辨力时,对时序及电气特性参数要求更高。
(2)测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。
DS18B20在三线制应用时,应将其三线焊接牢固;在两线应用时,应将VCC与GND接在一起,焊接牢固。
若VCC脱开未接,传感器只送85.0℃的温度值。
(3)实际应用时,要注意单线的驱动能力,不能挂接过多的DS18B20,同时还应注意最远接线距离。
另外还应根据实际情况选择其接线拓扑结构。
另一种给DS1820供电的方法是从VDD引脚接入一个外部电源,见图3。
这样做的好处是I/O线上不需要加强上拉,而且总线控制器不用在温度转换期间总保持高电平。
这样在转换期间可以允许在单线总线上进行其他数据往来。
另外,在单线总线上可以挂任意多片DS1820。
3.1.6AT89S51功能描述:
AT89S51是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S51具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
端口引脚的第二功能:
(1)P3.0RXD(串行输入口)P3.1TXD(串行输出口);P3.2INTO(外中断0);
(2)P3.3INT1(外中断1);P3.4TO(定时/计数器0);P3.5T1(定时/计数器1);
(3)P3.6WR(外部数据存储器写选通);P3.7RD(外部数据存储器读选通)
3.2单总线
目前常用的微机与外设之间进行数据传输的串行总线主要有I2C总线、SPI总线和SCI总线。
其中I2C总线以同步串行2线方式进行通信(一条时钟线,一条数据线),SPI总线则以同步串行3线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线),而SCI总线是以异步方式进行通信(一条数据输入线,一条数据输出线)的。
这些总线至少需要两条或两条以上的信号线。
近年来,美国的达拉斯半导体公司(DALLASSEMICONDUCTOR)推出了一项特有的单总线(1-WireBus)技术。
该技术与上述总线不同,它采用单根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的,因而这种单总线技术具有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等优点。
单总线适用于单主机系统,能够控制一个或多个从机设备。
主机可以是微控制器,从机可以是单总线器件,它们之间的数据交换只通过一条信号线。
当只有一个从机设备时,系统可按单节点系统操作;当有多个从设备时,系统则按多节点系统操作。
图3所示是单总线多节点系统的示意图。
3.2.1单总线的工作原理
顾名思义,单总线即只有一根数据线,系统中的数据交换、控制都由这根线完成。
设备(主机或从机)通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能够释放总线,而让其它设备使用总线,其内部等效电路如图2所示。
单总线通常要求外接一个约为4.7kΩ的上拉电阻,这样,当总线闲置时,其状态为高电平。
主机和从机之间的通信可通过3个步骤完成,分别为初始化1-wire器件、识别1-wire器件和交换数据。
由于它们是主从结构,只有主机呼叫从机时,从机才能应答,因此主机访问1-wire器件都必须严格遵循单总线命令序列,即初始化、ROM、命令功能命令。
如果出现序列混乱,1-wire器件将不响应主机(搜索ROM命令,报警搜索命令除外)。
表1是列为ΔΙΩ命令的说明,而功能命令则根据具体1-wire器件所支持的功能来确定。
表ROM命令说明:
ROM命令
说 明
搜索ROM(F0h)
识别单总线上所有的1-wire器件的ROM编码
读ROM(33h)(仅适合单节点)
直接读1-wire器件的序列号
匹配ROM(55h)
寻找与指定序列号相匹配的1-wi
器件
跳跃ROM(CCh)(仅适合单节点)
使用该命令可直接访问总线上的从机设备
报警搜索ROM(Ech)(仅少数器件支持)
搜索有报警的从机设备
(表2.1)
3.2.2信号方式
所有的单总线器件都要遵循严格的通信协议,以保证数据的完整性。
1-wire协议定义了复位脉冲、应答脉冲、写0、读0和读1时序等几种信号类型。
所有的单总线命令序列(初始化,ROM命令,功能命令)都是由这些基本的信号类型组成的。
在这些信号中,除了应答脉冲外,其它均由主机发出同步信号,并且发送的所有命令和数据都是字节的低位在前。
初始化时序包括主机发出的复位脉冲和从机发出的应答脉冲。
主机通过拉低单总线至少480μs产生Tx复位脉冲;然后由主机释放总线,并进入Rx接收模式。
主机释放总线时,会产生一由低电平跳变为高电平的上升沿,单总线器件检测到该上升沿后,延时15~60μs,接着单总线器件通过拉低总线60~240μsμ来产生应答脉冲。
主机接收到从机的以应答脉冲后,说明有单总线器件在线,然后主机就可以开始对从机进行ROM命令和功能命令操作。
在每一个时序中,总线只能传输一位数据。
所有的读、写时序至少需要60μs,且每两个独立的时序之间至少需要1μs的恢复时间。
图中,读、写时序均始于主机拉低总线。
在写时序中,主机将在拉低总线15μs之内释放总线,并向单总线器件写1;若主机拉低总线后能保持至少60μs的低电平,则向单总线器件写0。
单总线器件仅在主机发出读时序时才向主机传输数据,所以,当主机向单总线器件发出读数据命令后,必须马上产生读时序,以便单总线器件能传输数据。
在主机发出读时序之后,单总线器件才开始在总线上发送0或1。
若单总线器件发送1,则总线保持高电平,若发送0,则拉低总线。
由于单总线器件发送数据后可保持15μs有效时间,因此,主机在读时序期间必须释放总线,且须在15μs的采样总线状态,以便接收从机发送的数据。
3.2.3单总线器件
通常把挂在单总线上的器件称之为单总线器件,单总线器件内一般都具有控制、收发、存储等电路。
为了区分不同的单总线器件,厂家生产单总线器件时都要刻录一个64位的二进制ROM代码,以标志其ID号。
目前,单总线器件主要有数字温度传感器(如DS18B20)、A/D转换器(如DS2450)、门标、身份识别器(如DS1990A)、单总线控制器(如DS1WM)等。
这里介绍一种iButton形式的单总线器件,它是利用瞬间接触来进行数字通信的,这些器件的应用已经渗透到货币交易和高度安全的认证系统之中。
IButton是采用纽扣状不锈钢外壳封装的微型计算机晶片,它具有抗撞击、防水渍、耐腐蚀、抗磁扰、防折叠、价格便宜等特点,能较好的解决传统识别器存在的不足,同时又可满足系统在可靠性、稳定性方面的要求。
IButton主要有三种类型,分别是MemoryiButton(存储器);Java-poweredcryptographiciButton(加密型);ThermochroniButton(温度型)。
存储型iButton最大存储空间为64kB,可以存储文本或数字照片。
加密型iButton是一种微处理器和高速算法加速器,可以产生大量需要加密和解密的数据信息,它的运行速度非常快,可与Internet应用相结合,并可应用于远程鉴定识别。
温度型iButton可以测量温度变化,它内含温度计、时钟、热记录和存储单元等。
3.2.4单总线器件的应用
现以单总线器件iButton在安防系统上的应用为例来进行说明,该安防系统就是利用iButton来进行门禁识别的。
它由主机微控制器、从机(包括iButton信息读取头和iButton)、主机通过RS485进行远程通信(或通过MicroWeb连上Internet)等三部分组成。
微控制器采用Microchip公司的PIC16F873芯片,而API8108A语音芯片则用来告诉用户系统信息;iButton采用DS1990A,信息读取头被读取并同时送到主机微控制器,然后由主机把收到的标识码与原先存储的iButton标识码进行比较判断,若吻合,则系统按设定要求程序工作,否则,系统给出语音提示。
DS1990A与主机微控制器之间的通信软件设计流程通常主机与单总线器件的通信都是通过初始化、写0、写1、读0、读1时序来的完成的,下面给出用汇编语言编写的子程序,需要说明的是,这些程序虽然是针对iButton所写的,但适用于所有的单总线器件供。
RESETBSFRB2;主机拉低总线
CALLDELAY_500us;给500μs复位脉冲
BCFRB2;释放总线
CALLDELAY_200us
BTFSCBR1;检测iButton返回应答脉冲否
GOTORESET;否,再给它复位脉冲
CALLDELAY_500us;是,返回
RETURN
WRITE_0BSFRB2;对iButton写0时序子程序
CALLDELAY_10us
CALLDELAY_60us
BCFRB2
CALLDELAY_10us
RETURN
WRITE_1BSFRB2;对iButton写1时序子程序
CALLDELAY_10us
BCFRB2
CALLDELAY_60us
RETURN
READ_TIMEBSFRB2;对iButton读数据时序
NOP
NOP
NOP
BCFRB2
CALLDELAY_10us
RETURN
第4章下位机硬件设计
4.1单片机外围电路
因为单片机工作电源为+5V,且底层电路功耗很小。
外围电路设计包括时钟电路各复位电路的设计键盘和显示模块。
4.1.1时钟电路
在89S51芯片几个内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为芯片引脚XTAL2,而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。
这就是单片机的时钟电路,如下图所示。
时钟电路产生的振荡脉冲经过触发器进行二分频之后才能作为单片机的时钟脉冲信号电容C1各C2的典型值为30pF,晶振的振荡频率范围是1.2---12MHz.晶体振荡频率愈高,则系统的时钟频率也高。
单片机运算速度也就快,但反过来,运行速度快,对储存的速度要求就高,对印刷电版的工艺要求也高。
80C51在通常情况下,使用震荡频率为6MHz或12MHz的石英晶体。
本系统选用11.0592MHz的石英晶体。
4.1.2.复位电路
RST是复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个震荡脉冲周期以上,本系统采用按键手动复位:
按键手动复位是通过复位端经电阻与VCC电源接通而实现的。
它兼具上电复位功能其电路如下图所示:
4.1.3键盘和显示模块
(1)显示
在系统运行的过程中,系统要能够显示实时的温度及在设置上、下限是能够显示当前设置。
我们考虑以下显示方案。
使用传统的数码管显示。
数码管具有:
低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高低温、对外界环境要求低、易于维护,同时其精度比较高,称重快,精度可靠,操作简单。
数码管采用BCD编码显示数字,程序编译容易,资源占用较少。
(2)键盘
在系统运行过程中,系统需要对控制设置上、下限,因此需要键盘进行设置。
我们考虑以下方案。
方案:
使用矩阵式键盘。
矩阵式键盘是指用I/O口线构成的网络按键电路。
矩阵式按键电路配置复杂、软件结构较难。
但需要的I/O口线较少,适合键盘功能较多的系统。
电路如下图:
4.2控制模块
温度采集后存储在EEPROM里面的上、下限设定值进行比较,得到控制的结果。
本系统采用两路继电器来负责上限和下限的控制,实现对实时温度的控制。
电路如下图:
第5章通信的硬件实现
5.1串口通讯电路
AT89C51有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。
进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多点 温度 控制系统
![提示](https://static.bdocx.com/images/bang_tan.gif)