2 系统硬件电路设计
系统主要硬件部分控制电路:MCU、温度测量电路、PWM转DAC电路、电源电路和RS 485通信电路。为了避免外连的通信电路影响内部测量电路,提高抗干扰性能,将通信接口电路通过光藕隔离,且工作电源具有两路隔离电源,本文采用开关电源,具有效率高、重量轻和体积小的特点,并可兼容交、直流24 V供电。本文在硬件部分主要介绍恒流源热电阻测温电路以及PWM输入的DAC电路。
2.1 热电阻温度测量电路
本模块的热电阻选用铂电阻Pt100作为温度传感器。在-50~+600℃中温范围内,与其他热敏元件相比,铂电阻温度传感器测量准确度高、测量范围大、稳定性好、抗干扰能力较强。
铂电阻测温电路主要有两种:桥式测温电路和恒流源式测温电路。
桥式测温电路主要是利用调整电桥的电阻参数,抵消电桥两端的电压波动,以突出热电阻变化引起的电压,当采用三线制时可以消除引线误差,但存在非线性误差和电路相对复杂等问题。
恒流源式测温电路利用稳定电压给热电阻以恒定电路流,保证热电阻上的电压和其阻值变化成线性关系的。在保证基准电压源稳定的情况下,可以简化电路结构,另外根据热电阻和输出电压线性关系,更加有利于温度的计算和校正。恒流源式测温的基本应用电路如图2所示。
图2中虚框部分即为恒流源电路。运放U1A将输入的基准电压VREF转换为恒流源,激励热电阻RT。热电阻两端电压,经过U1B运放组成的双端输入单端输出放大电路,将信号放大10倍,即输出期望的检测电压信号。该输出信号通过电子开关与A/D转换芯片相连。
图3中单片机输出的PWM电压,经过基准电源VREF和开关管T1组成的整形电路进行整形,在A点的输出波形为理想的PWM波形,幅值由基准电源的准确度得到保证,再经过两级阻容滤波和一级跟随放大器,在B点得到直流分量,即MCU输出的调制PWM波在B点得到解调,实现了DAC功能。可得:
一般PWM转DAC电路到此已经完成,本文为了保证更高精度和电路更强的负载能力,模块使用了恒流输出的驱动电路。由于运放U2B的C点和D点电位相等,可得:
采用三极管T2提高输出驱动能力,负载RL的电流和流过电阻R9的电流相等,可得:
由式(3)可以看出无论负载电阻RL的值如何改变,并不影响DAC输出的电流值,这样设计的好处是可以方便地更改输出电阻RL,保证了模拟输出量值的准确度,提高了负载能力。
3 系统软件设计
系统的软件主要由温度测量程序和Modbus通信中断程序组成。
测温程序主要负责温度采集,主要工作在于建立热电阻温度和电阻值的分度表,并判断每路检测结果是否出现温度是否异常,是则重新测量。正确的测量结果将保存于保持寄存器,等待上位机读取。温度测量程序流程图如图4所示。
当模块接受到主机的读取命令时,则进入通信中断程序。Modbus协议是应用于工业控制上的一种通用通信协议。主要有两种通信模式:ASCII和RTU模式。由于在同样的波特率下,RTU比ASCII能够传送更多的数据,因此采用RTU模式来实现模块的MoSbus通信。它的消息帧格式主要有地址、功能码、数据、校验码构成。Modbus协议的通信中断程序流程图如5所示。
4 结语
本模块采用了AVR单片机为控制核心,采用外扩一片低成本的13位A/D芯片,通过电子开关切换实现多路测温电路。设计了一种PWM转DAC电路。基于Modbus通信协议,通过RS 485网路与主机通信。结构简单,准确度高,通用性好。实际使用中,在高温和强干扰环境下,模块仍能正常工作。