基于单片机的粮库温度自动检测系统

时间:2022-06-20 09:26:35

基于单片机的粮库温度自动检测系统

摘要: 本文介绍了以台式计算机为上位机和89C51单片机为前置机的集散式粮库温度自动检测系统的设计,阐述了利用单片机控制多个模拟开关构成的电子矩阵并进行多点温度实时检测的方法。

关键词: 计算机 89C51单片机 电子矩阵

大型粮库如何更好地保存粮食,防止粮食变质发霉,对粮食温度的检测是重要环节之一。由于大型粮库每个库房的体积大,存放的粮食多,不同位置的粮食温度是不同的,因此在粮温检测过程中,必须进行多点测量,及时发现问题。因为随着测量点的增加,测量费用会大幅增加。为降低系统总的造价,笔者采用了模拟开关构成的电子矩阵并进行多点温度实时检测,以最大限度地降低多点温度检测的成本,下面分硬、软件两部分介绍本系统的设计与构成。

1.硬件系统设计

本系统设计采用了一台台式计算机作为该集散系统的上位机,通过RS-485串行通信总线与多台由89C51单片机为控制核心的前置机相连,每台前置机是一个独立的智能多点温度检测系统,通过单片机控制电子矩阵模拟开关的切换,可分时检测64个点的温度。每个前置机上的拨码开关定义了本机的号码,实际应用中可以根据需求量,灵活配置前置机的个数,本系统最多可带32个。即整个系统由一台上位机最多可以检测2048个点的温度。硬件系统主要由温度传感器、电子矩阵开关、A/D转换器、电源电压和程序看门狗、串行通信接口等电路组成,其系统结构如图1所示。

(1)温度传感器电路的设计

本系统使用的温度传感器是DS18B20半导体温度传感器,它以PN结作为敏感元件,具有反应快、价格低等特点。在正常工作时输入端必须设置为恒流偏置,其工作电流在200uA左右。由于传感器中PN结两端的电压随温度变化而变化,因此在系统中只需检测这个PN结两端的电压,再将其转换成与之对应的温度数值即可。

(2)电子矩阵开关输入电路的设计

为了完成对64个检测点温度的动态检测,系统中设计了由4片CD4052双四选一模拟开关组成的电子矩阵开关。每片模拟开关可用来切换四条支路,设计中用两片CD4052模拟开关完成对8个支路的行切换,分时将传感器供电支路的正极和A/D转换器的输入端相连,当8个支路中某个支路被唯一接通时,另外两片模拟开关控制的8个支路列开关再分时轮流接通,依次将传感觉器输出的电压值送入A/D转换芯片的模拟信号输入端,这样组合出8×8的矩阵

开关电路。其工作原理如图2所示。

(4)电源电压与程序看门狗电路的设计

为预防和减少因电源电压的变化和程序跳飞造成死机所带来的破坏和影响,本系统设计了由电源电压监测器TL7705和双单稳态触发器74LS123构成的电源电压和程序的看门狗电路。系统工作时由于电源电压的波动可能影响89C51的正常运行,此时负责监测电源电压的TL7705将发出触发信号到89C51的第9脚,强迫89C51复位,使其重新初始化开始正常工作。由于TL7705自身功耗低,上电时可自动发出复位信号,因此本设计将其作为89C51的上电复位电路。另外设计还选用了74LS123双单稳态触发器,作为89C51单片机自动复位电路,通过对单稳态触发器设置适当的RC时间常数,当程序跳飞造成死机时,使89C51单片机不能给单稳态触发器输送小于该时间常数的触发信号时,单稳态触发器将因超过该时间常数所规定的时间,使其输出状态发生翻转,强迫89C51单片机复位,并使其重新回到初始状态开始正常工作。其电路如图3所示。

(5)上位机与前置机串行通信接口电路的设计

由于RS-232通信协议只允许点对点的通信,且最大通信距离为15米,本系统要求用一台计算机作为上位机管理多台前置机,由于实际应用时通信线路距离不等,最长达几百米。根据RS-232通信要求,系统设计了专用通信电路板,利用台式计算机的串口,将RS-232串行通信接口转换成可以进行多点通信的RS-485串行通信接口方式。这样,在上位计算机软件编程时,仍可直接使用串口管理多台前置机。能实现RS-485通信功能的芯片很多,本系统选用了抗干扰能力强、功耗小、传输距离远的SN75176半双工差动输出芯片,在数字信号传输过程中,自动完成TTL电平与EIA电平之间的转换。89C51单片机构成的前置机与SN75176通信接口电路,如图4所示。

2.软件系统设计

本系统软件设计分为两大部分,即上位计算机软件和前置机软件。

(1)上位计算机软件设计

上位计算机软件采用C++完成界面设计,其控制程序完成对各个分布在粮库不同位置的传感器的实时温度检测,并对粮库中各点温度进行记录、分析和打印,等等。流程图如图5所示。

(2)前置机软件设计

前置机软件主要包括电子矩阵开关切换的控制、A/D转换启动及读取结果和与上位计算机的串行通信。前置机软件设计了电子开关切换后的延时,以确保A/D转换时输入端有稳定的电压。由于AD574A是逐次逼近型A/D转换器,转换时间较短,因而本系统对多点温度检测速度较快,是完全可以满足大型粮库对粮食温度的检测要求的。89C51单片机与上位计算机通信设定为串口工作模式二的多机通信方式,并以中断方式完成。下面给出了该主程序和电子矩阵控制程序的流程图,如图6所示。

3.结语

本系统用DS18B20温度传感器、89C51单片机构成的多点温度测量前置机,使用普通台式计算机为多台前置机管理的上位计算机,这样的系统结构简单,人机界面友好,方便实用。经过多家粮库使用性能稳定可靠,产生了很好的经济效益。

参考文献:

[1]张友德.单片机原理,应用与实验[M].北京:复旦大学出版社,2008.

[2]胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2010.

[3]陈海宴.51单片机原理及应用[M].北京:北京航空航天大学出版社,2012.

上一篇:探讨素质教育在职校英语教学中的作用 下一篇:高职高专药学类专业化学基础课程整合的探索与...