CAN总线实现工业网络分布式测控系统

发布者:平凡的梦想最新更新时间:2011-09-21 来源: 电子产品世界关键字:CAN总线 手机看文章 扫描二维码
随时随地手机看文章

1 引言

  现场总线技术是当今自动化领域发展的热点,can总线以其独特的设计、低成本、高可靠性、实时性、抗干扰能力强等特点得到了广泛的应用。本文选用can总线设计了分布式热电阻智能节点,利用can总线连接各个网络节点,可以直接与主控卡或上位机通信,组建成工业网络分布式测控系统。

  2 热电阻智能节点硬件设计

  2.1智能节点整体结构

  本热电阻智能节点设有4路输入通道,支持3线制方式,支持热电阻类型有cu50、cu100和pt100,采用freescale mc9s12d64单片机作为微控制器,其内部有一个can通信模块(mscan),符合can2.0a/b标准,所以不需要扩展can通讯控制器。can接口收发器采用pca82c250作为can通信模块和物理传输线路之间的接口。节点通过24位a/d转换器ads1216对组态通道进行采样,由于热电阻的阻值与温度成正比关系,需将已知电流流过该电阻以得到与温度成正比的输出电压。本文使用ads1216的两个8位电流输出idac1和idac2作为恒流源,通过模拟开关max355选通相应的组态通道,然后ads1216对得到的电压信号进行采样并输出至微控制器,经校正后进行标度变换转化成相应的电阻值,查热电阻分度表即可得到所测温度。本节点也可通过rs485接口并严格按照modbus协议进行通信,rs-485收发器采用sn65lbc184。

  本热电阻智能节点硬件结构框图如图1所示。

  

 热电阻智能节点硬件结构框图

 

  图1 热电阻智能节点硬件结构框图

  2.2信号输入端电路与采样电路

  信号输入端电路与采样电路原理图如图2和图3所示。

  

热电阻信号输入端电路

 

  图2 热电阻信号输入端电路

  

a/d采样电路

 

  图3 a/样电路

txcan0)分别接至收发器pca82c250的txd和rxd引脚。pt2用来控制数据接收与发送,当pt2为低电平时,接收数据;当pt2为高电平时,发送数据。输入rs通过一电阻接地,使pca82c250工作在斜率控制模式下。sn65lbc184为具有瞬变电压抑制的rs485差分收发器,因此本智能节点可以接入采用canbus或rs485的测控系统,并方便的与各种组态软件进行通信。

  

can和rs-485通信电路

 

  图4 can和rs-485通信电路

  3 热电阻智能节点软件设计

  3.1概述

  单片机程序用mc9s12汇编语言编写。在主程序首先完成各寄存器和存储单元的初始化,再通过调用读取地址子程序,得到i/o板卡的地址和can通信波特率,再完成mscan模块和ads1216初始化。随后调用e2prom中组态信息,对每一路组态通道进行信号转换,数字滤波及温度查表计算等,其主程序流程图如图5所示。

  

 热电阻智能节点主程序流程图

 

  图5 热电阻智能节点主程序流程图

  由于现场的各种干扰很容易使信号失真,从而使a/d转换结果产生比较大的误差。因此在对信号进行有效的硬件滤波后还需进行软件滤波,本节点采用了数字中值滤波、算术平均、加权滤波等方式。

3.2 节点与上位机的can通信

 

  智能节点与主控卡或上位机的通信主要基于can通信协议来完成,它的优点是能够实时处理数据、在恶劣环境下正常工作、成本低且拥有比较高的带宽。由于上位机内部无can网络适配器,因此需外接rs-232/can转接卡,实现上位机与智能节点的通信。通过节点上的跳线设置节点地址,当上位机发出命令时,节点进入can接收中断,对数据解包放入接收缓冲区并调用数据处理函数。当上位机发出组态命令时,单片机会将收到的组态通道信息和信号类型写入e2prom保存,并回送一帧数据通知上位机组态信息已成功接收。当接收到上传rtd值命令时,单片机会将内存中的4路rtd温度值以多帧形式发送给上位机。

  3.3 rtd阻值变换算法

  软件设计中关键算法在于rtd电压阻值的转化,刻度点间的线性化及标度变换。以pt100热电阻的温度刻度表为例,

  pt100tab:fcb 04h,00h,07h,39h,08h,0e8h,0ah,94h,0ch,3ch,

  fcb 0dh,0e1h, 0fh,83h,11h,23h,12h,0c0h,14h,5bh,

  fcb 15h,0f3h,17h,89h,19h,1eh,1ah,0b1h,1ch,41h,

  ……

  fcb 91h,84h,92h,0afh,93h,0d8h,95h,01h,96h,28h,

  fcb 97h,4eh,98h,72h,9ah,0cah

  分度表由-210℃开始每间隔10℃作为一个刻度点,每一个刻度点的电阻值扩大100倍后转换为十六进制数即构成上表。考虑到表格的一致性,cu100和cu50热电阻的分度表也从-210℃开始计算。

  当得到校正后的ad转换数值后,需要将采样到的电压信号转换为电阻值以便于查表。阻值计算公式如下:

  

 

  r即为实际热电阻阻值,在这里将其扩大100倍以便于查表。

  3.4 分段线性化查表

  得到的对应阻值后,则从第0个刻度点开始比较,如果该采样值大于第0个刻度点,则再与下一个刻度点比较,同时记录小于该采样值的刻度点的个数n,如果采样值小于某一温度刻度点,则温度位于该刻度点b与前一个刻度点a之间,温度线性化在a、b两刻度点之间进行,线性化得到的温度加上a点对应的温度(n×10)即为采样温度。

  以pt100热电阻为例,某一通道得到校正后的采样值为$9343,则前8个刻度点均小于$9343,第9个刻度点值大于$9343,记录小于该采样值的刻度点的个数n=101,此时a点(第101个刻度点$92af)对应温度为10×101=1010℃,b点(第9个刻度点$93d8)温度为1020℃,线性化在a、b两点间进行,具体公式为:

  [($934-$92af)/($93d8-$92af)]×10=5℃

  所以$9343对应的温度为:

  a点(第101个刻度点)对应温度1010℃+线性化温度5℃-210℃=805℃

  其中,各表均以-210℃作为起始,故计算温度时应减去210℃。

  4 结束语

  本智能测控节点经过反复测试,温度测量值均正确,并且误差在±1%以内。另外在监控程序的控制下,节点能够有效配合上位机完成系统的组态、信号校正和上传等功能,具有可靠、实时、灵活等特点。

关键字:CAN总线 引用地址:CAN总线实现工业网络分布式测控系统

上一篇:多通道实时CAN模拟器设计方案
下一篇:基于VC的密集星场测光软件设计

推荐阅读最新更新时间:2024-03-30 21:49

PIC18F2680的CAN总线设计
硬件:18F2680,CAN收发芯片MCP2551 1.自测模式 //* **************************************************************** //** 功能描述: CAN自测试收发编程,CAN发送邮箱0以一定的时间间隔发送数据,接收到数据后,将接收数据加1作为下一次的发送数据 //*************************************************************** #include pic18.h //PIC18系列的头文件 */ char CAN_Adress_H,CAN_Adress_L; // CAN标识符高低字
[单片机]
基于DSP和CAN总线的RTU的设计
  远程测控终端(RTU) 作为体现“ 测控分散、管理集中” 思路的产品从20 世纪80 年代起介绍到中国并迅速得到广泛应用, 应用在变电站上的RTU 主要是实现现场电力参数的远程采集与控制命令的远程发布, 并将信息或结果组装成报文, 上送到控制中心或调度端。纵观国内外的RTU 产品, 逐步从集中式控制结构向模块化、分散式、开放性的系统控制结构发展。由于变电站的数据量和信息量大, 实时性要求高, 因此将具有强大、高效的运算能力和丰富外围接口电路的DSP 应用于RTU 的设计方案; 同时引入了开放性结构的CAN 现场总线引入, 运用于变电站现场数据的通信并由它组成了一个开放、可靠和实时的监控系统。    1 系统总体结构设计
[嵌入式]
CAN总线在变电站高压开关柜在线检测系统中的应用
    由于电子信息技术的进步,现场总线技术已经在高压开关柜功能智能化系统中得到了广泛应用,使高压开关柜的在线检测系统形成了一个分布式的监测系统,并使整个系统较传统的集中监测系统性能增强,功能更为完善。  1 CAN总线技术及其特点      在传统的变电站监测系统中,一般采用BITBUS总线和RS-485总线,但在实际应用中都有以下缺陷:      a. BITBUS总线和RS-485总线上只能有一个主节点,无法构成多主系统,一旦主节点出现故障,系统就不能正常运行,导致整个系统的可靠性较差。      b. BITBUS总线和RS-485总线的抗干扰能力较差,不适应在高电磁环境下运行,而且其错误处理能力也很差。      c. 数
[嵌入式]
基于车载CAN总线故障诊断仪设计方案
本文提出了一种基于车载CAN总线故障诊断仪设计方案。本方案成本低廉,携带方便,具有很强的灵活性与适应性。 1 方案设计 系统总体设计框图如图l所示。系统分为发射端和接收端两部分。 由于采用射频技术,使汽车CAN总线数据采集部分和CAN总线数据诊断部分得以分离,无需连线,不受空间场地限制,安装携带方便。按照ISO有关标准, CAN总线传输速率最高可达1 Mbps;但由于汽车内部特殊环境,车载CAN总线速率一般在250 kbps。本系统中射频速率最高可达l Mbps,可以很好地满足数据传输要求。 发射端采用USB作为接收模块和PC接口。USB与RS232或PCI接口相比,具有用户使用方便,设备自动识别,自动安装驱动程序和配置,支持动
[嵌入式]
利用MCP2515的多路CAN总线接口及驱动程序设计
引言   在铁路系统中,为了保证列车的安全运行,需要对铁轨及周围状况进行实时检测。目前采用的方法是在铁路沿线安装多个检测设备,用于检测洪水、大风、泥石流等自然灾害及轨温等参数。这些设备一般采用的通信方式是RS232、RS485或CAN,并通过专线连接至监控中心的各个监控设备。这种方式极大浪费了线路资源,也不易于设备的统一管理。因此,需要一种安装在铁路沿线的设备,它将附近的检测设备发送的信息统一收集并通过一条专线直接送往监控中心。为了与多个检测设备通信,必须同时具有多个RS232、RS485和CAN接口。基于这种应用需要,本文提出了扩展多个CAN总线接口的方法。 1  系统结构 1.1  芯片介绍系统   采用Atmel公
[嵌入式]
CAN总线错误帧分析
1、CAN错误检测(Error Detection)       CAN网络具有严格的错误诊断功能,该功能已固化在硅片之中,一旦错误被检测,正在传送的数据帧将会立即停止而待总线空闲时再次重发直至发送成功,该过程并不需要CPU的干涉除非错误累计该发送器退隐(Bus Off)。CAN控制器可检测如下五种错误:       √ 位错误(Bit Check Error)       发送器在发送比特流的同时也对发出的比特流采样回收,若送出的bit与所期待的bit不合,则会检测到一个Bit Check Error;               √ 位填充错误(Bit Stuff Error)       在需要执行位编码规则
[嵌入式]
CAN总线各个功能模块的设计
  引言   CAN(Controller Area Network)是由ISO定义的一种串行通信总线,它是一种能有效地支持高安全等级的分布实时控制的新一代网络通信协议,属于现场总线范畴。CAN最早被设计作为汽车环境中微控制器的通讯,在车载各电子控制装置与ECU之间交换信息,形成汽车电子控制网络,目前应用领域已经相当广泛。   近年来,支持CAN协议的芯片不断推出,给CAN总线用户带来了极大的方便。随着我国对现场总线技术需求的增加,CAN总线已经会成为我国最常用的现场总线之一。   基于CAN总线的ECU电子控制单元的开发,也是现在最热门的研究。现在对CAN总线芯片的研究已经不再局限于单一芯片的研究,而是把所有的功能芯片都集
[嵌入式]
智能车载仪表系统结构及硬件设计
引言 随着高性能电子显示技术的发展,汽车仪表电子化的程度越来越高。国内外已开发出了多功能全电子显示仪表、平视显示仪表、汽车导航系统、行车记录仪等高技术产品。未来,车用电子化嵌入式仪表具有以下优点:提供大量复杂的信息,使汽车的电子控制程度越来越高;满足小型、轻量化的要求,使有限的驾驶空间更人性化;高精度和高可靠性实现汽车仪表的电子化,降低了故障的发生率;设有在线故障诊断系统,一旦汽车发生故障,可以找到故障来源,方便维修;外形设计自由度高,汽车仪表盘造型美观。基于以上优点,汽车会越来越多地采用各种用途的电子化仪表。造型新颖、功能强大的嵌入式电子化仪表将是今后车用仪表的发展趋势和潮流。 1 智能车载仪表系统结构 本智能车载仪
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved