基于AT89C51单片机的温度自动监控系统

发布者:谁与争锋1最新更新时间:2016-12-08 来源: e-works关键字:AT89C51  单片机  温度自动监控 手机看文章 扫描二维码
随时随地手机看文章

引言

    化工合成对温度检测与控制要求较高,是化工合成工艺的关键环节。对化工合成装置的温度进行检测,并按工艺要求,控制最高加热温度;在升温阶段,控制合成温度以每小时15℃的速率上升;加入触媒以后的温度采用恒值控制:前期为370℃,中期为380℃,后期为390℃;控制精度为±3℃l最高温度连续三次达到400℃时发出报警信号。显示检测温度值;每半小时打印一次最高温度值及检测时间;留有扩充余地,以实现多回路控制。

1 温度检测控制系统硬件结构

    本系统的硬件电路由温度检测、信号放大、A/D转换、AT89C51单片机、功率放大及执行电路、打印、显示及报警电路等部分组成。选用AT89C51单片机作为主控机,采用带有死区的PID控制算法,当温度在给定的死区范围内时,不予调节;超出给定范围时,由单片机按照运算结果,驱动步进电机,调节加热装置,以控制合成温度。系统硬件结构如图1所示。

 温度检测控制系统 

    图1 温度检测控制系统

    1.1温度信号输入通道

    温度信号输入通道由温度传感器、信号放大、A/D转换等电路组成。

    1)温度传感器:温度传感器采用铂电阻。这类材料具有性能稳定、抗干扰能力强和测量精度高等优点。测温元件R.和电阻元件组成桥式电路,将由于温度变化所引起的铂电阻的阻值变化转化成电压信号送入放大器。由于铂电阻安装在测量现场,通过长线接入控制台,为了减小引线电阻的影响,采用三线式接线法。因而,外界温度变化对连接导线电阻r的影响在桥式电路中被相互抵消了。

    2)信号放大电路:信号放大电路由单芯片集成精密放大器AD522组成。该电路共有14脚,其中IN+和IN-为信号差动输入端,2、14脚之间外接电阻Rc,用于调整放大倍数,4、6脚为调零端,13脚为数据屏蔽端,12脚为测量端,11脚为参考端,这两端间的电位差即为加到后级A/D转换器的输入信号电压。使用时,测量端与输出端(7脚)在外部相连接为放大后的输出信号。将信号地与放大器的电源地(9脚)相连接,为放大器的偏置电流提供通路。

    3)A/D转换电路:采用ICL7109组成A/D转换电路,ICL7109是INTEL公司的产品。ICL7109采用双积分式工作原理,转换速率不高,但可满足本系统对采样速率的要求。因芯片具有较强的抗干扰特性,对于保证系统的检测与控制精度,是非常有利的。ICL7109的分辨率为12位;转换速率为7.5

信号检测放大及A/D转换电路 

    图2 信号检测放大及A/D转换电路

    次/秒(时钟为3.58MHz);转换后以12位二进制码输出。A/D转换器直接与单片机Pl口、P0口相连,转换后的12位数据直接由P0口输入而存入片内RAM中。12位数据需分两次读入,MCS一51的P1.0、P1.1、P1.2分别与A/D转换器的运行/保持输入端(RUN/HOLD)、字节使能端(HBEH、HBEL)以及A/D转换器的状态输出端(STATUS)相连接,片选端(c肌0AD)与P2.2相连,在片选和字节使能信号的控制下可以直接读取转换后的数据。

    1.2控制温度设定电路

    采用AT89C5 1的P1.7~P1.4设置4个开关K4-K1分别表示降温控制开关、设置控温的后期、中期、前期开关。当KI合上为0时,表示设置控制温度为370℃(触媒使用的前期温度);K2合上时,设置控制温度为380℃(触媒使用的中期),K3合上时,设置控制温度为390℃(触媒使用的后期);K4合上时,停止加热,系统进入降温过程。通过软件检测P1.7~P1.4的状态,发现某开关合上,则设置对应的控制温度,并转入相应的工作过程。

    1)功率放大及执行电路:由于步进电机具有快速启停、精确步进以及直接接受数字量的特点等,本系统采用步进电机作为执行元件。控制系统采用步进电机作为执行元件,其作用是将计算机送出的电脉冲信号转换为相应的机械位移,它具有以下主要特点:(1)步距值不受各种干扰因素的影响,转子运动的速度主要取决于电脉冲信号的频率,而转子的总位移量取决于总脉冲的个数;(2)误差不会长期积累,转子每转动一圈积累误差为零;(3)反应性能好。启动、停车、反转及其他任何运动方式的改变都在少数脉冲内完成。在一定的频率范围内运行时,任何运行方式都不会丢失一步。

    2)执行控制系统的组成:如图3所示。步进电机的控制系统主要由步进电机控制器、功率放大器及步进电机组成。步进控制器包括环形脉冲分配器、控制逻辑及正反转控制门组成,其作用是把输入脉冲信号按一定顺序进行分配,再通过功率放大送入步进电机绕组,以驱动步进电机转动。

步进电机控制系统方框图 

    图3 步进电机控制系统方框图

    3)步进电机的工作原理及分配方式:进电机的种类较多,如单相、双相、三相、四相、五相及六相等多种类型。本设计采用三相反应式步进电机。该电机的步距角为1.5°,最大静力距为50kg·cm,最高空载启动频率为550步/秒。



    三相步进电机有A、B、C三个绕组,按一定规律循环给三个绕组供电,就能使它按要求的规律运转,其工作原理如图4所示。图中的脉冲发生器按要求产生一定频率的脉冲信号,通过脉冲分配器产生一定规律的电脉冲输出给驱动器,以驱动步进电机运转。此部分可由计算机或单片机作为主控机。而脉冲分配器可以使用编程I/O接口。

 三相步进电机工作原理框图 

    图4 三相步进电机工作原理框图

    步进电机脉冲分配方式及通电顺序如下:

 

    脉冲分配器每给出一组脉冲,步进电机走一步,转一个角度。单片机通过程序随时改变脉冲分配方式和输出脉冲的频率,因此能灵活、方便地控制步进电机的转速和旋转方向。步进电机的控制部分由单片机和8155并行接口完成,8155的A口PA0~PA2分别作步进电机的三相控制端口。步进电机驱动电路部分采用光电耦合将单片机系统与步进电机驱动电路隔离,以增强系统抗干扰能力,并能防止当三极管损坏时电机驱动电路的高压对单片机的安全造成的威胁。可根据步进电机的电流选用合适的大功率的三极管VT,以完成功率放大及电机驱动任务。二极管VD为保护元件,为断流时的电机绕组提供低阻搞续流回路,把集电极电位钳制在电源电压,防止过高的反向电压击穿三极管。

    为了及时记录合成装置的温度和检测时间,选用微型打印机TPμP一40作为记录打印装置。选用AT89C5 1内部定时器,每隔半小时启动TPμP一40打印一次,TPμP-40打印机通过8155与单片机相连。为了能随机显示检测的温长值,选用一片8155作为LED数码管的接口。步进电机、打印驱动电路如图5。

 步进电机、打印驱动电路图 

    图5 步进电机、打印驱动电路图

2 温度检测控制系统软件设计

    2.1系统软件功能

    1)检测开关K1、K2、K3、K4的状态,设定温度控制值,并将控制系统转入相应的加热或降温阶段;

    2)启动A/D转换,连续读取5次转换结果,经滤波和非线性校正处理之后,作为一次温度检测信号,并显示检测的温度值;

    3)进行PID运算,按照运算结果,驱动步进电机以调节温度;

    4)每隔半小时,由定时器产生中断申请,在中断服务程序中启动打印机,打印记录温度值及检测时;

    5)若发现温度超限时,发出报警信号。 


    2.2温度检测与控制主程序

    主程序功能:完成系统初始化操作;判断温度是否超限,如果超限则转报警处理,如果未超限则读入K1、K2、K3、K4状态,并根据其输入状态,散转执行相应的功能子程序。主程序流程图如图6所示。

 主程序流程图 

    图6 主程序流程图

    2.3主要的子程序流程图

    1)PID运算子程序:取出温度给定值与测量值,计算出偏差信号e(k),将e(k)与设定的死区值比较,如果P(足)未超出死区范围,则本次输出调节量为0,返回检测程序;如果e(k)超出死区范围,则计算出p(k)=Pp(k)+P1(k)+Pn(k)的调节输出值。

    2)步进电机驱动程序:本系统选用三相步进电机,采用三相六拍工作方式,各绕组供电的步进信号由8155的A口控制,其转动方向及通电顺序字见表1。

  步进电机转动方向及通电顺序字 

    表1 步进电机转动方向及通电顺序字

    根据步进电机的转向与工作时绕组通电顺序变化规律,可以在8155的RAM中设置步进电机的控制字表,如表1所示,表头地址为TABO,表尾地址为TAB7。显然,驱动信号从TAB0开始控制通电顺序,电机为正转;若从TAB7开始控制通电顺序,则电机为反转。

    步进电机的转速由脉冲信号的周期T决定。脉冲信号的周期由CPU通过延时程序或定时器/计数器的定时时间来确定。系统中的三相绕组由8155的A口控制是,程序中的延时时间为10电机的转速为:n=60/(N×T)转/分

    式中N一电机转动一周应输出的控制字节数。采用三相六拍工作时,步距角为1.5°,则有:N=360°/1.5°=240,即转一周要输出240个字节控制字。设旋转角度与输出控制字节数M的关系为M=a/1.5°,只要把M保存在字节计数器里,每输出一个字节,步进电机转动一步,同时将字节计数器减1,当字节计数器为0时,步进电机转动了M步,对应的角度为a。

    图7所示为驱动步进电机转动一步的子程序流程图。入口条件DPTR中已存放步进电机的控制字表的地址,设正转时R5置为01H,R6为FAH;反转时置R5为FFH,R6为06H。调用本程序前应已对8155进行了初始化,每输出一个字节后延时1OOms。设置R5、R6是为了保证步进电机按两种不同顺序改变控制字表的地址指针,以完成正转或反转操作。步进电机驱动程序流程图如图8所示。调用该程序前应将步进电机的转动步数和方向标志存放在R4R3寄存器中,符号为1表示反转,为0表示正转,其绝对值代表转动步数。

  电机转动一步的子程序流程图 

    图7 电机转动一步的子程序流程图


 步进电机驱动程序流程图 

    图8 步进电机驱动程序流程图

    3)A/D转换子程序。该子程序由单片机的P2.2启动A/D转换,根据ICL7109的STATUS的状态判断转换是否完成,若A/D转换完成,将芯片置为保持状态(HOLD信息有效)。然后,分两次由P0口读入转换后的12位数据存入单片机内部R0指示的RAM单元中。连续采集5次,再经中值滤波及线性化程序段处理,得出一次温度检测值。该程序只对应一个温度检测点,未涉及对其他检测点和参量的巡回检测问题。图9所示为A/D转换子程序流程图。

  A/D转换子程序流程图 

    图9 A/D转换子程序流程图

3 结论

    AT89C5l单片机具有高可靠性、控制方便简单和灵活性大等优点。控制器采用PID控制算法,控温精度高,误差精度小于0.08%,稳态误差可达±3℃以内。采用AT89C51单片机来对温度进行控制,具有控制方便、组态简单和灵活性大等优点,整个系统操作简便、抗干扰能力强、运行可靠、反应速度快,可以大幅度提高被控系统温度的技术指标。  


关键字:AT89C51  单片机  温度自动监控 引用地址:基于AT89C51单片机的温度自动监控系统

上一篇:单片机中PWM的原理与控制程序
下一篇:基于单片机的供水自适应水机设计

推荐阅读最新更新时间:2024-03-16 15:24

51单片机洗衣机proteus仿真与源码设计
一个功能很全的模拟洗衣机仿真与源码,是51单片机控制的,有强洗按钮,弱洗按钮,标准洗按钮,甩干按钮. 液位传感器,排水阀按钮等功能一应俱全. 仿真原理图如下 还带各种指示灯: 单片机源程序如下: #include REG52.H #define uchar unsigned char #define uint unsigned int #define qiang_ledon qiang_led=1; #define qiang_ledoff qiang_led=0; #define biao_ledon biao_led=1; #define biao_ledoff biao_led=0; #define ruo_l
[单片机]
51<font color='red'>单片机</font>洗衣机proteus仿真与源码设计
Labview与C51单片机实现串口通信
Labview串口通信学会两种方法,一种是利用visa(虚拟仪器软件构架),另一种是调用activeX控件。 第一种方法(VISA)程序如图 首先,设置串口参数,串口初始化,循环内利用VISA WITE实现对串口的写操作,延时200毫秒,用VISA READ实现读操作,中间有个端口属性节点的作用是计算端口的总的字节数。非常简单,但我花了一天时间搞懂。 第二种方法 调用active X 程序图如下所示 ACTIVE X串口通信的最大优点是可以利用中断实现数据的传送或对下位机的控制,MSCOMM32控件实现串口通信主要是通过对其属性节点的设置来实现的。并利用到了事件回调方法实现中断程序。
[单片机]
恩智浦推出高性能S32K39系列MCU,支持新一代电气化应用
恩智浦推出高性能S32K39系列MCU,支持新一代电气化应用  集性能、集成、网络、信息安全和功能安全于一体,满足电动汽车牵引逆变器控制新需求  在新一代区域汽车架构中,通过时间敏感网络(TSN)以太网支持边缘智能驱动应用  搭载ASIL D解码软件和模拟外设集成,以降低系统成本 德国慕尼黑电子展——2022年11月28日—— 恩智浦半导体(NXP Semiconductors N.V.,)宣布推出全新S32K39系列汽车微控制器(MCU),该系列MCU针对电动汽车(EV)控制应用进行了优化。 新一代S32K39 MCU的高速、高分辨率控制可提高能效,在延长行驶里程的同时,提供更顺畅的电动汽车驾驶体验,满
[嵌入式]
专业工程师为你讲解ARM与单片机的区别
专业工程师为你讲解ARM与单片机的区别 1、软件方面 这应该是最大的区别了。引入了操作系统。为什么引入操作系统?有什么好处嘛? 1)方便。主要体现在后期的开发,即在操作系统上直接开发应用程序。不像单片机一样一切都要重新写。前期的操作系统移植工作,还是要专业人士来做。 2)安全。这是LINUX的一个特点。LINUX的内核与用户空间的内存管理分开,不会因为用户的单个程序错误而引起系统死掉。这在单片机的软件开发中没见到过。 3)高效。引入进程的管理调度系统,使系统运行更加高效。在传统的单片机开发中大多是基于中断的前后台技术,对多任务的管理有局限性。 2、硬件方面 现在的8位单片机技术硬件发展的也非常得快,也出现了许多功能非
[单片机]
采用8位单片机驱动PCI总线网卡的设计方案
目前,以太网(Ethernet)协议已经非常广泛地应用于各种计算机网络,如办公局域网、工业控制网络、因特网等场合,并且还不断地在发展。单片机或微控制器(MCU)(也称为嵌入式系统)已经在各个领域得到了广泛的应用。目前绝大多数系统都是以MCU为核心,与监测、伺服、指示设备配合实现一定的功能。如果嵌入式系统能够连接到Internet,则可以方便、低廉地将信息传送到世界上的任何一个地方。因此单片机如何控制以太网网卡进行传输数据,如何加载TCP/IP协议连接到互联网,这些都是一些具有挑战性的问题[1,2]。 单片机上网研究最多的一个方案就是用单片机驱动ISA总线网卡或者是驱动基于ISA总线的以太网控制芯片。但是,近年来,随着ISA总线在台
[单片机]
单片机c语言XBYTE的使用
大家都知道一般的并行扩展总线---地址总线,数据总线和控制总线一般是相互独立的。但单片机由于受引脚的限制,P0口为低8位地址/数据复用口。其读写时序符合intel8080控制时序。使用外部扩展时,wrrd 等控制引脚不需要特殊配置,只使用指令来区分是否访问外部扩展的存储空间或者外部io设备。当使用 movx等这样的指令时,单片机就会自动产生扩展总线做需要的时序。不需要编程者编程实现。但是,有一个问题就是,使用c语言编程的时候,怎么才能使编译出来的程序含有movx这样的指令那?或者说怎么用c语言书写外部扩展总线的程序那? 使用keil 开发单片机程序时,在absacc.h 这个头文件中,有XBYTE这样一个宏。它的定义是 #de
[单片机]
<font color='red'>单片机</font>c语言XBYTE的使用
超低功耗电子电路系统设计原则
以手机为代表的电池供电电路的兴起,为便携式仪表开创了一个新的纪元。超低功耗电路系统(包括超低功耗的电源、单片机、放大器、液晶显示屏等)已经对电路设计人员形成了极大的诱惑。毫无疑问,超低功耗电路设计已经对低功耗电路提出了挑战,并将扩展成为电子电路中的一个重要应用领域。 虽然超低功耗设计仍然是在CMOS集成电路(IC)基础上发展起来的,但是因为用户众多,数千种专用或通用超低功耗IC不断涌现,使设计人员不再在传统的CMOS型IC上下功夫,转而选择新型超低功耗IC,致使近年来产生了多种超低功耗仪表。电池供电的水表、暖气表和煤气表近几年能够发展起来就是一个证明。目前,电池供电的单片机则是超低功耗IC的代表。 本文将对超低功耗电路设计原则进
[电源管理]
STM32单片机FSMC模块的应用
一、基本概念 1.与非总线复用的16位SRAM接口 FSMC配置 SRAM存储器和NOR闪存存储器共用相同的FSMC存储块,所用的协议依不同的存储器类型而有所不同。 控制SRAM存储器,FSMC应该具有下述功能: 使用或禁止地址/数据总线的复用功能。 选择所用的存储器类型:NOR闪存、SRAM或PSRAM。 定义外部存储器的数据总线宽度:8或16位。 使用或关闭扩展模式:扩展模式用于访问那些具有不同读写操作时序的存储器。 正如配置NOR闪存存储器一样,用户必须按照SRAM存储器的数据手册给出的时序数据,计算和设置下列参数: ADDSET:地址建立时间 ADDHOLD:地址保持时间 DATAST:数据建立时间 二、例程 1.
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved