APP下载

一种基于单片机的智能温度巡检仪设计

2019-02-11

时代农机 2019年7期
关键词:人机中断单片机

石 薇

(青岛工学院,山东 青岛 266300)

1 绪论

智能温度巡检仪是以单片机为核心的嵌入式系统,有些功能既可以通过软件编程实现,也可以通过硬件配置实现,应当遵守“能软不硬”的理念。软件方案只需在软件开发设计中一次性投入,同时能够提高整机的可靠性。任何电子元器件都有老化失效的问题,整机的可靠性与采用元器件的数量成反比,减少使用的元器件数量,就相当于提高了整机的可靠性。

设计过程应当兼顾技术指标与经济指标,技术指标再高的仪表设备。在设计过程中,选用的元器件与材料的市场供应渠道必须畅通。电子元器件、电子材料必须选用目前市场敞开供应的元器件与材料。

测量范围:200~850℃。测量精度:优于0.5级。温度巡检周期:1s。巡回显示周期:以秒为单位,可选定。工作环境温度:0~50℃。相对湿度:小于85%。供电电源:220VAC,±10%,50Hz。

2 硬件系统设计

8路温度巡检仪的硬件由主机电路、前向通道、后向通道、人机接口电路、通信接口及供电电源几部分组成。其中,主机电路由CPU、数据存储器、程序存储器、EEPROM存储器、定时器/计数器、通用异步串行收发器、中断控制器、WDT定时器及通用并行接口等部件组成;前向通道电路由Pt100转换电路、滤波电路、多路模拟开关电路、放大电路、A/D转换电路组成;后向通道电路由D/A转换电路、多路模拟开关电路、V/I转换电路、继电器驱动电路组成;人机接口电路由按键和LED数码管组成;通信接口电路由RS-485接口电路组成;供电电源电路分别向系统数字电路提供逻辑5V电源,向模拟电路提供±12V与±5V模拟电源。

主机电路设计的核心是选择一款恰当的嵌入式处理器,其处理速度、内含的存储器容量、内含的功能部件尽可能满足系统要求。

8路温度巡检仪属于实时性很强的嵌入式系统,实现实时性操作的硬件基础是定时器。对本设计任务来讲,需要1路定时器来产生时钟节拍,实现实时操作;需要1路定时器来作为串行通信的波特率产生器;需要1路定时器来实现A/D转换操作,因此至少需要3路定时器/计数器。为了支持RS-485通信,必须有1路通用异步串行收发器UART。看门狗定时器(WDT,Watchdog Timer)是微机系统唯一完全有效的硬件抗干扰措施,因此系统必须采用WDT。为了实现主机电路与前向通道、后向通道、人机接口部分的硬件接口,主机电路应当具备20~30个GPIO。

综合上述各项要求,采用以MCS-51为内核的美国ATMEL公司生产的AT89C55WD单片机比较适宜。电源电压监测采用X5045出厂时默认的数值即可。

前向通道的任务是接收温度传感器Pt100铂电阻的信号,将其转变为单片机能够进行处理的数字信号,由信号转换电路、动态稳零电路、多路模拟开关、阻抗匹配电路、放大电路、A/D转换电路等几部分组成。

信号转换电路由9个惠斯登电桥组成,实现将8路Pt100温度传感器输出的电阻信号转换为电压信号。采用惠斯登电桥的方式进行R/V转换的主要优点是,利用桥路的对称平衡特点,有效地克服供电电源Va波动,克服Pt100引线电阻影响,克服桥路电阻温漂问题。在本设计中选用美国Intersil公司生产的ICL7135双向积分生式A/D转换器。只要将ICL7135的时钟信号接入AT89系列单片机的计数器,记录BUSY为高电平时所经历的时钟周期,将所记录的时钟周期数减去10001后就是A/D转换的数字码。

后向通道电路由4~20mA模拟量输出电路与超限报警开关量输出电路两部分组成。该电路是将所检测的每路温度都对应地输出一个与之成线性关系的4~20mA电流信号,以便根据需要供给调节器、记录装置或DCS系统。当某路温度超过设定的报警值时,输出一个机械接点信号,便于连接声、光报警装置,进行报警提示。

人机接口电路由按键接口电路与显示器接口电路组成。用3个按键,即可实现各种操作需要。智能仪器设计,必须考虑对某种网络的支持,方便构成局域测控网络,以便实现更高程度的集中监控和更大范围的数据共享,设计了以MAX487E芯片为收发器的RS-485总线通信接口电路。

3 软件设计

整机的软件设计任务有4项,从实时性要求考虑,从高到低依次为:通信任务、数据采集与温度计算、人机服务和系统初始化。系统初始化程序在开机时运行一次即可,不在考虑范围之内。当构成一个数据采集局域网络时,本机在网络中处于从站地位,本机响应网络的最大时间延迟为主站发出一帧信息的时间,超过这个时间延迟,主站的调度命令得不到响应,将降低整个网络的通信效率,因此通信任务应作为本机最高级别任务。人机服务主要是按键响应任务,人的按键动作时间一般在100ms左右,只要在这个时间内做出响应即可,实时性要求不高,安排为最低级别任务。数据采集与温度计算任务作为中间级别任务。

为了保证三项任务按预定优先级别执行,需要通过中断机制实现。通信任务在串行通信中断服务程序中完成,其中断设置为高级中断,数据采集与温度计算任务安排在外部中断服务程序中完成,其中断设置为低级中断,人机服务任务安排在主程序中完成。

人机服务任务是实现仪器的操作使用,人机服务程序安排在主程序中运行。一开始执行主程序时,需要首先运行系统初始化程序,初始化程序仅需开机时运行一次。主程序仅包括初始化程序和人机服务程序。

每个通道A/D转换结束时,都以中断的形式通知CPU,每个通道的数据采集与温度计算都在中断服务程序中完成。一共用了9路数据通道,0路为动态零点数据,1~8路为8路温度数据。每次采集数据通道的通道号,都存储在“CH_NO”单元中。每次采集的数据首先经过预处理,在预处理中减掉10001个数字码,剩余的为二进制数形式的A/D转换数字码。为便于后级温度计算,还要将二进制数转换为BCD码形式。接下来进行动态稳零处理,即将该通道的A/D转换数字码减去零点数据,则差值是消除了运放漂移影响的、由现场实测温度决定的数据。最后进行温度计算,且通过多路开关为A/D转换器打开下一通道。

根据通信接口电路,可以将本仪表纳入到总线拓扑的RS-485网络中。网络的介质访问方式为主从方式,主机为PC,而本仪表处于从机地位。从机在接收到主机的调度命令后,可以占用信道,将主机要求的信息发送到RS-485网络中。主机通过相应的通信协议,可以读取从机采集的8路温度、报警设定数据,以及重新设定从机的有关参数。凡是从机可以就地显示和设定的参数,都可以通过主机发出相应的命令实现,以提高局域测量网络的集中监控能力。在从机不发送信息时,处于接收状态。

4 结论与展望

本系统设计性能稳定,为以后能够通过单片机编程进行各种功能的扩展,还增加了片外程序存储器的扩展。用数字式温度传感器DS18B20对温度进行采集,输出数字量与单片机直接通讯,无需外加A/D转换器,使用更加方便。采用LMO41L液晶显示器对八路温度进行显示,显示效果好且连接方便,通过程序定义显示地址,16字×4行的屏幕显示可以将八路温度同时显示在屏幕上,当有某一路或谋几路温度超限时,可立即观察到是哪一路或哪儿路温度超限,从而可以及时准确的控制该路温度回到限定范围内。

智能温度巡回检测系统目前完成的是对多路温度的采集、处理、显示以及对温度报表的管理。系统主要分为两大部分:在上位机通过测温管理软件实现对多个测温点温度数据的巡回采集、处理、实时直观显示和多显示和多温度报表的管理;在下位机通过单片机控制各个测温点完成温度转换并与主机实现多机通讯。

智能温度巡回检测系统虽然实现了对温度的集中监视和管理,但还没有包括相应的反馈控制部分。因为不同的监控场合有不同的控制要求,可以针对具体的要求加入相应的控制部分。这是系统非常值得扩展的空间之一。目前的系统中作为下位机的单片机,还有很多的资源没有利用,系统有充分的扩展余地。

猜你喜欢

人机中断单片机
人机“翻译员”
从内到外,看懂无人机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
基于FPGA的中断控制器设计*
Linux中断线程化分析及中断延时测试
跟踪导练(二)(5)
千里移防,卫勤保障不中断