船用柴油机中央冷却系统水温的智能控制
(0~100℃时)与阻值的关系如下表3-1所示。
表3-1ptl00铂电阻温度与阻值的关系
温度 阻值 100 103.90 107.79 111.67 115.54 119.40 123.24 127.08 130.90 134.71 138.51 0 10 20 30 40 50 60 70 80 90 100 由此可见铂热电阻随温度的变化关系为:
式中,A=0.00390802;B=-0.000000580;C=0.0000000000042735。可见Pt100在常温0~100摄氏度之间变化时线性非常好,其组织表达式可近似简化为RPt=100(1+At),当温度变化1摄氏度时,Pt100的阻值近似变化0.39Ω。 3.2.2 A/D转换电路
传感器采集的信号是模拟信号,需要转换成数字信号后才能由微处理器进行处理。A/D转换电路ADC电路有两大类:直接转换型(通过基准电压与采样——保持电路的输出信号进行比较,直接转换为数字量)、间接转换型(将采样——保持电路输出的信号首先转换成时间或频率,然后再将时间或频率转换成数字量)。直接转换电路转换速度高,转换精度容易变;间接转换电路转换速度低,转换精度可以做的较高,对干扰抑制能力强,在测试仪表中应用广泛。
A/D转换电路中采用了比较常用的ADC0809芯片。ADC0809是CMOS工艺,采用逐次逼近法的8位A/D转换芯片,28引脚双列直插式封装,片内除A/D转换部分外还有多路模拟开关部分。
多路开关有8路模拟量输入端,最多允许8路模拟量分时输入,共用一个A/D转换器进行转换。
ADC0809是一种8位逐次逼近式A/D转换器,它由8通道模拟开关和A/D转换两部分组成,其转换时间大约为100vs,转换精度为0.4℃。由于冷却水是大惯性的传热介质,ADC0809的此项性能指标己经满足了温度控制的时间和精度,因此,我们选择ADC0809作为模拟/数字转换芯片,使系统成本较低。图3-22给出了ADC0809与AT89C51接口图。在硬件连接时,IN0~IN7为8路通道模拟开关,我们只需要其中IN0路用以转换电路,其他各路直接接地。温度传感器传来
17
船用柴油机中央冷却系统水温的智能控制
的检测信号经过模拟/数字转换后,变成单片机可以识别的数字信号,从而可以对冷却水温度进行量化比较。 AT89C51 ALE P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 WR EA P RD INT1 分频 CLK ADDA VREF(+) ADDB VREF(-) ADDC ADC0809 D7 D6 IN7 D5 IN6 IN5 D4 IN4 D3 IN3 D2 IN2 D1 IN1 D0 IN0 START ALE OE EOC G74LS37+ - 测温信 号 图3-22 ADC0809接口电路示意图
3.2.3键盘与显示电路
由于CPU管脚的数量有限,因此对键盘和显示电路的设计,我们采用了8279可编程的键盘显示一专用扩展I/O接口芯片,它木身能够提供键盘、显示控制所需的扫描信号,因此可以代替单片机完成键盘、显示的控制。其中,键盘矩阵采用2行3列非编码方式,采用软件查询方法来设计,低电平有效。为了消除按键抖动对系统的干扰,在键盘软件设计中,我们采用了20ms的延时程序。显示部分为3位LED数码管显示,显示的内容是温度数值的,十位、个位和小数点后一位,软件设计中采用动态扫描显示的方法,以减少硬件成本和增加系统可靠性。键盘控制的方式是采用8279扫描键盘,判断是否有按键按下,进而判断按键的内容,送至AT89C51处理。显示程序的执行过程是:首先AT89C51通过P口选通
18
船用柴油机中央冷却系统水温的智能控制
8279,低电平有效,然后把将要显示的数字,其相应的字型码送至DB口,接下来设置位选信号,利用SL0、SL1、SL2二分别设置0或者l,分别选择要显示的}二印数码管(共阴极),8279将要显示的数字通过OPTB和OUTA口显示在LED数码管上。同时,我们将要显示的数字的二进制代码转换成7段码形式,编写成数据表格的形式,存储在单片机内部存储空间里,这样,单片机将A/D转换的结果与表格的指针相结合,直接将A/D转换结果显示出来,可以减轻系统计算量,提高系统的数据处理和显示速度。
下面介绍键盘与显示电路。
在小键盘上有六个按键,分别是“设置状态”按键、“运行状态”按键、“数值增加”按健、“数值减少” 按键、以及“高温” 按键和“低温”按键。当系统开机运行时,其温度设定值由软件编制时事先设置好,当需要改变数值时,用户首先按下键盘的“设置状态”按键,使显示部分切换到设定值的显示,然后由键盘的“高温”或者“低温”键切换到需要更改的温度显示,此时,三位LED数码数码管中的最低一立开始闪烁,再由“数值增加”或“数值减少”按键输入所需设置的数值,可以改变了设定数值。当设定好新的数值后,用户再次按下“运行状态”按键,切换列系统运行状态,这时三位LED数码管所显示的就是测量温度数值。
3.2.4串行通讯模块
本测控系统是近距离(小于15米)的串行通讯,因此选择了计算机和单片机之间通过RS-232接口直接相连。由于单片机串行口的输入输出都是TTL电平,而上位计算上的RS-232接口为了提高抗十扰性能,采用的是RS-232标准中EIA电平,EIA-RS-232C是用正负电压来表示逻辑状态(逻辑“1”:-3~-15V;逻辑“0”:+3-+15v),与单片机中TTL以高低电平表示逻辑状态的规定不同,因此,为了能够实现上位计算机与单片机之间的串行通讯,必须在EIA-RS-232C与TTL电路之间进行电平和逻辑关系的变换。我们选用了MAXIM公司的MAX232芯片来完成这两种电平之间的转换工作。采用了RS-232接口中的RD(接收数据线)、TD(发送数据线)、GND(信号地)三条引脚来完成计算机与单片机的双工通讯任务。 3.2.5声光报警电路:
为了系统的安全运行,我们对冷却水温度进行上限或下限声光报警处理,我们采用了如下的判断报警方法:以冷却水温度设定值T设为参考数值,则温度变化的上限是T:= T设+5℃,下限是T=T设-5℃.当测量到的冷却水温度持续增加,高于上限T1时,即T>T1,时,则上限报警状态值THA=l;当测量到的冷却水温度持续减少,低于下限T2时,即T?T2时,则下限报警状态值TLA=l。这样,当出
19
船用柴油机中央冷却系统水温的智能控制
现上、下报警状态值(THA,TLA)为1的情况时,就会触发系统报警电路。图3.26中左侧是实现超限声光报警的电路。我们采用了一片时基集成电路NE555,将其接成振荡工作状态,同时,将NE555的复位端“4”与AT89C51的PZ引脚反相连接。当系统被测参数在正常范围内时,AT89C51的PZ引脚输出端为高电平,经过反相后为低电平,这样,NE555的复位端“4”处于低电平(零电位),NE555电路处于稳态,被迫停止振荡,则输出端“3”恒为低电平,扬声器(SP)无声,9014三极管(NPN极性)截止,报警灯不亮,使报警电路不工作;当系统被测温度出现高于上限或者低于下限的情况时,即上、下报警状态值(THA,TLA)为l,AT89C51启动自身定时器,使其PZ引脚输出端输出连续脉冲波形(或连续方波),这样,NE55.:时基电路根据其复位端“4”的信号变化,在它的输出端“3”产生频率的输出,输出信号给继申器(J)动作信号,继电器常开开关闭合,推动扬声器(SP)工作,获得声音报警信号,报警灯同步闪亮。 3.2.6 主控单元(MCC):
主控单元采用ATMEL公司的AT89C51控制芯片,是一种高性能、低电压、低功耗的8位CM05微型处理器,它具有40针脚,与51系列单片机的指令、管脚完全兼容。具有4K字节片内程序存储器,并且是FLASH工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写,同时,写入单片机内的程序还可以进行加密,因而可以有效地保存数据信启、。由于本系统主要用于冷却水温度的测控,片内具有的4K字节己经能够满足系统设计需求。此外,AT89C51还具有128字节RAM,32条可编程I/O口线,2个16位可编程定时计数器,6个中断源,1个串行l/O日,片内振荡器和时钟电路。在控制软件的支持下,CPU对外围电路进行控制、计算,将温度检测电路输入的温度测量数值进行处理,并扫描、显示,同时将计算得到的控制结果输出给控制电路对执行机构进行操作,完成整套控制过程。AT89C51的接口电路有ADC0809、8279、MAX232、4N25、CD4052和X5045等芯片。其中,ADC0809作为温度测量电路的输入接口,8279用于键盘、LED数码管显示电路的接口,MAX232是单片机与上位计算机的串行通讯接口,4N25和CD4052控制系统输出,包括光电耦合和模拟开关等元器件,X5045是硬件看门狗电路。我们将在后面着重介绍这些接口电路。
图3-26是AT89C51芯片管脚分配示意图。
20