基于CAN总线的电流、电压变送器的设计与实现
扫描二维码
随时随地手机看文章
0.引言
现场总线技术和智能化仪表技术是目前自动与控制行业发展最快的两大技术。在现场总线技术中,CAN总线是发展较为迅速的一种协议标准,已经被广泛应用于自动化领域。本文介绍的是一种基于CAN总线的智能变送系统。控制器局域网(ControllerAreaNetwork,CAN)是德国Bosch公司在20世纪80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种数据通信协议。CAN总线能有效地支持分布式控制或实时控制的串行通信网络。通信介质可以是双绞线、同轴电缆和光导纤维。
1 系统网络构成
为满足该控制系统既要集中管理又要分散控制的要求,基于CAN总线的电流、电压变送系统采用总线式网络拓扑结构,结构简单且成本低。其网络组成方式如图1所示。
图1. CAN总线的电流/电压变送系统总体结构。
现场CAN智能变送节点以微控制器为核心,配有CAN通信接口,其主要功能是采集各现场设备的实时数据,并通过CAN总线将采集的数据交送给监控站,供监控站获得采集数据的基本信息,从而进行数据分析。监控站(PC机)通过插槽中的CAN2PC总线适配卡实现与CAN智能测控节点的通信。在该系统结构中,并没有采用多主结构方式,而是采用了一主多从的网络架构。该方式在一定程度上减轻了网络的负荷。
2 CAN智能变送节点的硬件设计
CAN智能变送节点具有现场数据采集、控制以及与CAN总线通信功能。该节点以Microchip公司生产的具有较高性价比的8bit增强型带CAN控制器的Flash单片机PIC18F258为核心。该内置CAN模块兼容于ISO的CAN性能测试要求,位速率最大为1Mb/s,执行CAN2.0B协议规范。变送器节点主要由信号调理单元、A/D采集模块、单片机控制器和CAN总线通信模块4部分组成。该智能变送节点面向的检测对象主要是工业上使用的标准电流信号(420mA/020mA/010mA)和电压信号(05V/010V/±5V/±10V)。首先,电流、电压信号通过多路开关选择相应通道,进入信号调理环节,将信号转换成ADC可以接受同时又能有效利用ADC输入范围的电压信号。调理后的信号经过A/D转换,实现对原模拟信号的数字转换。并通过单片机I/O口存储到其内部相应RAM区,对数据进行相应的软件滤波设计。当上位机发出命令,要求下位机回送采集数据时,下位机利用CAN总线接口单元将采集数据等基本信息发送到CAN总线上。图2为系统结构的总体框图。
图2 系统结构框图。
2.1 检测电路设计
由于该系统对于电压、电流检测所要求的精度较高,在系统设计时并没有采用PIC18F258内置的10bitADC,而是采用美国Maxim公司生产的逐次逼近型16bit模数转换器MAX1166作为外置ADC.该芯片片内除集成了逐次逼近型ADC所必须的逐次逼近寄存器SAR、高精度比较器和控制逻辑外,还集成了时钟、4.096V精密参考源和接口电路。MAX1166的数据总线为8bit,故与目前广泛使用的8bit微处理器连接非常方便。在该系统设计中,如何实现多种电压、电流信号检测方案的设计是重点之一。
2.1.1 电流检测原理
被检测电流经过电流检测芯片MAX472内置采样电阻RSENSE转换为电压信号,MAX951进行信号运算,将其转换为符合ADC模拟电压输入范围的信号(05V)。图3为420mA电流的检测原理图。
图3 420mA电流检测原理。
MAX472输出电流为IOUT=ILOADRSENSE/RG1(1)
由此得输出电压为UOUT=ILOADROUTRSENSE/RG1(2)
式中RSENSE——检测电阻ILOAD——检测电流RG1——增益电阻ROUT——OUT脚输出电阻由于电流检测电路是把输入的小信号电流转换为适合A/D转换的电压信号。故UOUT的范围已经被确定为ADC可允许输入的最大电压范围。将UOUT代入式(2),依据UOUT输出范围和RSENSE、ILOAD及RG值,可得ROUT值。420mA电流经过MAX472被转换为1.256.25V.MAX951对该信号进行了相应的减法运算,从而得到05V.对于020mA/010mA可通过类似方法得到ROUT阻值,从而得到相应UOUT.2.1.2电压检测原理。电压信号的处理主要是采用电阻分压的方法。通过对输入端子进行不同的输入,使得经过分压后的电压达到ADC要求的输入范围,从而满足不同电压范围输入的要求。电压检测原理如图4所示。根据UO电压推算INA、INB、INC输入范围,它们所对应的INA、INB、INC输入方法如表1所示。
图4电压检测原理。
表1电压输入对应表。注:本系统设计中Uref=5V.
2.2 CAN总线通信硬件电路设计
CAN控制器采用单片机的内置CAN控制器,其接口电路使用CAN收发器PCA82C250、电源隔离模块和高速光电隔离器6N137,并采用保护电路。PCA82C250是Philips公司生产的CAN收发器,是CAN控制器和物理总线间的接口,用来提高总线驱动和通信抗干扰能力。其差分接收器共模抑制比宽,抗电磁干扰。它与ISO11898标准兼容,速度高达1Mb/s,抗汽车环境下的瞬间干扰。它内部有总线保护电路和限流电路,并具有电流待机工作方式和降低射频干扰的斜率控制。采用PCA82C250可以最多连接110个节点,并且未上电的节点对总线无影响。
信号在传输线上远距离传送时,如果遇到阻抗不连续的情况时,就会出现反射现象使信号扭曲,通常在传输线的末端接上120Ω的终端电阻来消除反射。为了保证信号质量,PCA82C250与CAN总线的接口部分采用了一定的安全和抗干扰措施。PCA82C250的内部CANH和CANL引脚各自通过一个5Ω的电阻与CAN总线相连,该电阻可以起到一定的限流的作用,使引脚免受过电流的冲击;总线与地各自并联一个30pF的小电容,具有一定的防电磁辐射和抗高频干扰的功能;在总线和地之间分别反接一个IN4148反向保护二极管,起过压保护作用。
3 CAN智能变送节点的软件设计
3.1 主程序系统初始化
主要包括I/O口、CAN控制器、中断以及用户标志数据的初始化。该过程主要对PIC18F258的基本资源进行配置定义,将复用的PORTA资源配置为通用数字I/O口,并通过设置其输入输出特性,保证MAX1166的输入、输出以及控制信号引脚都得以正确配置,开启相应的中断源,配置CAN接口,用户标志数据赋初值,初始化过程结束。通过设置模拟信号输入的相应数据通道后,单片机上电即开始进行电流、电压信号的检测。上位机一旦发送命令请求下位机回送采集数据等相关信息后,下位机马上产生中断,回送一帧数据信息。监控流程图如图5所示。
图5系统监控流程图。
3.2 A/D转换模块软件设计
A/D转换是通过MAX1166实现的。MAX1166的一次转换过程可分为转换准备、模数转换和转换结果输出3个阶段。PIC18F258通过I/O口时序模拟MAX1166的控制信号,从而使MAX1166正常工作。MAX1166具体控制过程如图6所示。
图6 ADC转换流程图。
3.3CAN总线通信模块软件设计
该系统设计中,变送器节点以中断方式接收上位机所发送命令,回答被放在中断服务程序中进行,数据传输方式采用CAN总线。当上位机发送命令要求下位机回送数据信息时,下位机立即进入中断服务程序(该接收中断被定义为高优先级中断),发送采集数据等基本信息。图7为CAN总线发送的流程图。
图7 CAN总线发送流程图。
4上位机通信界面
上位机采用周立功公司的PCI5121适配卡与变送器节点进行通信。测试软件采用ZLG2CANTest,通过正确设置波特率、数据通道、帧格式、帧类型以及ID,可以实现上、下位机的通信。通信界面如图8所示。
图8 上位机通信界面。
5 结束语
本文所设计的智能变送系统实现了通用电流、电压的检测功能,采用CAN总线通信方式。系统结构简单,安装维护方便。数据采集精度基本达到预期指标,控制精度较高。该系统通过硬件抗干扰措施和软件滤波,有望进一步提高各项性能指标。