当前位置:首页 > 测试测量 > 测试测量
[导读] 单片机作为典型的嵌入式控制器,具有集成度高、处理功能强、运行速度快、体积小、扩展灵活等优势,在仪器仪表、家用电器、过程控制等领域被广泛应用。锅炉温度是工业过程中最常见的工艺参数之一,其测量

单片机作为典型的嵌入式控制器,具有集成度高、处理功能强、运行速度快、体积小、扩展灵活等优势,在仪器仪表、家用电器、过程控制等领域被广泛应用。锅炉温度是工业过程中最常见的工艺参数之一,其测量过程的抗干扰能力和测量值的精度是影响对锅炉温度控制效果的重要因素。为使系统更智能化,一般选择单片机为系统控制核心。但是,传统的单片机测量系统中实现A/D转换结果输出以及各器件之间的数据传递大多采用并行的通信方式,这种数据交换方式占用了大量的I/O资源,系统结构也因此变得复杂。同时大量的硬件连线也会带来很多干扰因素,降低了锅炉温度值的测量精度。为了解决传统设计中存在的问题,本文提出使用Philips公司推出的I2C总线(Inter Integrated Circuit Bus)标准来设计系统,大大简化了系统硬件结构,释放了单片机I/O资源,也提高了系统的扩展性和抗干扰能力。


1 系统总体设计方案

基于I2C总线的锅炉温度测量系统结构如图1所示,系统主要由温度传感器及信号调节电路、A/D转换器、微控制器、液晶显示、报警电路、存储器电路等组成。系统首先通过温度传感器获得锅炉温度值,调节电路把传感器的输出信号转换为0~5 V的电压值,标准电压值送入A/D转换器转换为数字信号,并送入单片机数据处理,单片机将接收到的锅炉温度值存储到非易失性的E2PROM,液晶显示器1602将显示锅炉的实时温度,单片机还将当前锅炉温度与预先设定的温度范围进行比较。当温度高于设定温度最大值或小于温度极小值时,系统将自动报警。

锅炉温度测量系统是基于I2C总线标准设计的,主要通信部件之间只需要两条总线,一条是双向串行数据线SDA,另一条是串行时钟线SCL。AT89S51不具备I2C总线接口,本设计使用了两个普通I/O口来模拟I2C标准中SDA和SCL的工作,图2是测量系统I2C总线串行通信线路图,系统的多个I2C器件全部通过SDA和SCL连接并进行数据交换,不同器件之间通过总线竞争获得数据交换的权利。


2 硬件电路设计

 微控制器模块使用AT89S51单片机,主要实现数据的采集、处理和控制显示等功能,单片机最小系统包括时钟电路和复位电路。设计使用单片机的P1.0产生I2C总线中的SCL时钟信号,P1.1模拟SDA数据信号线,进行数据的双向传递。SCL和SDA引脚内部漏极开路,设计时要外加约5 ?赘的上拉电阻。系统的硬件电路如图3所示。

A/D转换模块采用具有I2C接口的8 bit CMOS可编程转换器PCF8591,该芯片同时集成了A/D转换和D/A转换功能,这里使用其逐次比较型A/D转换功能。与传统的ADC0809转换输出需要8根并口数据线相比,PCF8591为系统节省了6根数据线。典型的I2C总线接口器件的总线地址由器件地址、引脚地址、方向位组成[1]。在锅炉温度测量系统中,为简化设计把PCF8591的A0、A1、A2三个地址引脚接地。根据其硬件设计,确定PCF8591的总线地址为91H,根据系统所需功能,确定其控制寄存器的值为00H,单片机从PCF8591中读取A/D转换值。通道输入的模拟电压U和转换结果D之间的关系为D=255U/5。在使用I2C总线的系统中,主控器发出的第一个字节信息为器件地址信息,控制寄存器信息是主控器对PCF8591访问时发出的第二个字节信息。

存储器模块采用ATMEL公司推出低功耗CMOS串行带I2C接口的E2PROM芯片AT24C01[2],主要实现温度值的存储。单片机从PCF8591读取A/D转换结果后,把温度值存储到E2PROM。此时,AT24C01地址为A0H,当系统需要从E2PROM读取温度值时,AT24C01地址为A1H。与一般存储器扩展相比,采用AT24C01为系统节省了6根数据线及大量的地址线,使得系统结构更简化,测量过程的干扰因素也大大减少。

系统工作时,AT89S51发出地址信息,PCF8591和AT24C01把自身的地址与接收到的地址信息进行比较,相同则为被访问器件,并准备数据的发送和接收。

温度传感器采用恒流源输出的AD590,不需进行冷端补偿,可进行远距离传送,有较好的抗干扰能力。信号调节电路模块将AD590输出的电流信号转换为0~5 V的电压信号,为A/D转换做准备。

显示模块使用液晶显示屏LCD1602,可以显示16×2个字符,1602的三个功能控制引脚RS、RW、E由单片机的P0.5、P0.6、P0.7三个I/O控制,数据接口D0~D7则由P2口的8 bit来控制。与采用LED显示器相比,液晶显示器的硬件连线更少,电路焊接因此变得简单。

声光报警模块由LED、蜂鸣器和电阻组成。光、声音报警分别由单片机的P1.2和P1.3控制,为提高驱动能力,发光二极管和蜂鸣器均由NPN三极管驱动。

3 系统软件设计实现

本系统的软件设计部分采用C语言编程实现,使用的软件是KeiluVision3,从功能上看,系统软件主要包括主程序、数据处理子程序、读A/D转换结果、温度比较及报警输出子程序、读写E2PROM子程序、显示子程序等,系统主程序流程图如图4所示。

系统主程序主要完成系统的初始化,及各功能模块函数的调用、等待中断。采样时间选择500 ms,使用单片机内部定时器T0实现,因此要对T0的工作方式、计时初值、中断允许、开始计时等进行初始化,T0每50 ms中断一次,中断10次即开始一次温度采样。

数据处理子程序对采集到单片机内的锅炉温度值进行处理,包括四次均值滤波和标度变换部分。
I2C总线通信的编程是系统软件设计的关键,AT89S51不具有I2C接口,I2C总线信号将通过两个独立I/O进行软件模拟。这部分总线数据通信程序编写思路为:先由单片机发出起始信号,接着通过SDA发出I2C器件的总线地址。与该地址相同的器件发出应答,应答正确后,再由单片机通过SDA向应答器件写数据或从应答器件中读取对应地址的数据,一次数据通信结束时要由单片机发出结束信号。

起始信号程序如下:
Start( )
{ SDA=1;
_NOP_( );
SCL=1; //I2C启动总线时,SCL维持高电平
FOR(I=0;I++;I<5)
_NOP_( );
SDA=0; //I2C启动总线时,SDA产生高电平到
低电平的跳变
FOR(I=0;I++;I<4)
_NOP_( );
SCL=0;//准备发送或接收数据
_NOP_( );
}
结束信号程序如下:
Stop( )
{CLR SDA;
_NOP_( );
_NOP_( );
SCL=1; //I2C总线停止时,SCL维持高电平
FOR(I=0;I++;I<5)
_NOP_( );
SDA=1; //I2C总线停止时,SDA产生低电平到
高电平的跳变
FOR(I=0;I++;I<4)
_NOP_( );
}

编写读取PCF8591的A/D转换结果子程序时,流程为:启动起始信号,发器件地址,PCF8591应答,正确则接着发送控制字节,PCF8591应答,正确则传送A/D转换后的数字量,数据传送完则发出结束信号。

本文提出了一种基于日趋流行的I2C总线的锅炉温度测量系统设计方法,经过实际测试,系统运行良好,开发周期缩短。与其他传统设计方法相比,该系统具有简化硬件设计、节省控制器I/O资源、扩展方便、便于实现等优势,提高了测量系统的抗干扰能力和测量精度,具有一定的实用价值。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭