I2C总线在矿用传感器批量生产调校装置中的应用
【摘要】针对矿用气体传感器在生产过程中需逐台调校、费时费力的问题,提出了一种基于I2C总线协议的批量调校方法。调校主机通过I2C通信方式可以实时访问多台传感器的显示值,并可通过I2C总线接口向多台需要调校的传感器发送调校命令与调校值,传感器接收到调校数据后完成自我调校,通过这种方式,有效提高了气体传感器的生产效率。
【关键词】气体传感器;批量调校;I2C总线
引言
随着国家对煤矿安全生产的重视,矿用气体传感器的需求量与日俱增,尤其是瓦斯、一氧化碳等有毒有害气体类传感器。这些传感器在生产过程中一般采用先调零点再调线性的方法进行调校,从而保证传感器的测量精度。调校过程一般采用人工逐台调校的方法,操作过程繁琐,不能自动根据误差值发送调校命令,无法与计算机或其他调校设备相连[1],人为干扰因素较多且存在通气中毒的隐患,鉴于以上几点,笔者设计了一种气体传感器批量生产调校的装置,使气体传感器的生产过程可以快速化,自动化。
1.传感器批量调校装置的总体设计
在基于I2C总线技术的传感器批量调校装置中,调校主机与传感器有各自的I2C接口,通过I2C接口,传感器把测量的气体浓度值发送给调校主机,调校主机可以通过串口将数据传给上位机显示;调校主机通过I2C接口向传感器发送调校命令和调校值,传感器接收到命令和数据后,通过单片机内部程序完成自我调校,从而实现单台传感器的调校工作。
图1 传感器批量调校装置基本结构图
当需要进行传感器的批量调校时,调校主机通过I2C接口逐个读取传感器的当前显示值再传给上位机,经过人工判断后,上位机发送调校命令给调校主机,调校主机再通过I2C接口将调校命令和调校值逐台发送给传感器,当所有传感器都成功接收到调校命令和调校值后,即完成了装置内部传感器的批量调校工作。传感器批量调校装置基本结构图如图1所示。
2.I2C总线设计
2.1 硬件实现
I2C总线由时钟线SCL和数据线SDA构成,目前大部分单片机都已集成包含了I2C硬件接口,使得在操作I2C总线时软件编程变的简单。鉴于笔者单位所生产的传感器均采用新华龙的C8051系列单片机,故本套装置中调校主机也选用新华龙的C8051F502单片机作为微控制器,内含看门狗、I2C接口、UART接口、64Kb空间的FLASH、25路I/O口,既可通过I2C接口与传感器进行数据交换,也可通过UART接口与上位机PC进行通信。
在进行传感器的批量调校工作时,为确保调校主机与每台传感器之间的I2C通信能独立可靠地进行,采用模拟开关用来控制每台传感器I2C接口对外通信的通断。本文选用具有16路开关通断功能的CD4067作为I2C总线传输的开关,I2C总线的SCL与SDA各占用一个CD4067,形成第一组I2C通道开关。每组中的两个CD4067的共用地址码和使能端,使得调校主机在与16台传感器之间进行I2C通信时,SCL和SDA同时接通,确保通信无误;若在电路加入另外一组CD4067,其地址码与第一组共用,但使能端不与第一组CD4067共用,通过控制两组CD4067的使能端,理论上便可实现调校主机最多可与32台传感器之间的I2C通信。硬件原理图见图2。
2.2 软件实现
一次典型的I2C数据传输包括一个起始条件(START)、一个地址字节(位7-1:7位从地址;位0:R/W方向位)、一个或多个字节的数据和一个停止条件(STOP)。每个接收的字节都必须用SCL高电平期间的SDA低电平来确认(ACK),如果接收器件不确认,则发送器件将读到一个非确认(NACK),这时用SCL高电平期间的SDA高电平表示[2]。如图3是一次I2C总线的基本时序。
对I2C接口的访问和控制是通过3个特殊寄存器来实现的:配置寄存器SMB0CF,数据寄存器SMBODAT,控制寄存器SMBOCN。其中SMB0CF用于配置I2C的主从模式的使能、时钟速率等;SMBODAT用于缓存将要写出的数据或读入的数据;SMBOCN用于控制I2C接口的工作模式,包括主发送,主接收,从发送,从接收模式,当中断标志SI=1时,可读取SMBOCN的高四位来确定当前接口的工作状态,并通过软件完成下一步的事件。常用的主发送模式和主接收模式的操作时序,如图4和图5。
当调校主机与某一通道的传感器之间通过I2C总线相连时,传感器主动发送产品的状态信息和气体测量值给调校主机(调校主机作为从接收);通过更改CD4067的地址码或使能位,打开另外一组I2C通道,读取另外一台传感器的当前测量值。当上位机发送调校命令给调校主机时,调校主机主动发送调校命令和调校数据给传感器(传感器作为从接收),调校完成后,传感器主动发送调校结果给调校主机(调校主机作为从接收),以便和调校主机确认调校成功。(下转第199页)(上接第197页)为确保每次数据通信无误,将所有需要发送的数据字节进行8位CRC校验后作为最后一个字节发送;接收数据时将接收最后一个字节之前的数据进行8位CRC校验,与最后接收的一个字节比较,如果相等,说明通信数据无误,若不相等,进入相应的软件处理程序。
3.具体应用
在矿用气体传感器批量调校装置中,由于一台调校主机最多只可以和32台传感器进行通信,故在整个调校装置中采用上位机控制多台调校主机的方式从而形成对大批量传感器的批量调校。在结合实际调校装置的气室尺寸和调校主板的PCB布局后,最终研制完成了气体传感器智能调校老化柜,装有组态软件的上位机通过串口与7台地址不一样的调校主机通信,每台调校主机通过I2C总线与18台传感器进行通信,即每批次可完成126台传感器的调校工作,每台传感器通过各自的I2C总线通道与调校主机通信,发送实时气体浓度测量值;组态软件作为该调校装置的上位机控制平台,强大的实时数据库可以保存传感器传送的实时数据[3];当柜体内部充满标准气样时,操作人员通过上位机的组态软件向调校主机发送命令即可完成批量调校工作。
4.结语
矿用气体类传感器批量调校装置实现了对传感器调校过程的自动化,通过运用I2C总线技术,可实时采集每台传感器的气体浓度测量值,在上位机上装入相应的数据分析软件,可实时分析判断每台传感的测量误差、数据稳定性、响应时间等参数,并可按照国家标准、行业标准或企业标准打印数据报表,减少了人工数据记录等工作。目前该装置已可以完成催化瓦斯传感器和一氧化碳传感器的调校工作与老化工作,经过多次实验证明,这种批量调校方法速度快,准确率高,无论是操作性还是安全性均超过传统的人工逐台调校的方法,大大提高了矿用产品生产过程的自动化程度。
参考文献
[1]邢倩,田慕琴,王雪松.组态软件与Modebus协议在矿用传感器调校装置中的应用[J].工况自动化,2012(4):73-75.
[2]张培仁,孙力.基于C语言C8051F系列微控制器原理与应用[M].北京:清华大学出版社,2006.
[3]曾庆波,孙华,周卫宏.监控组态软件及其应用技术[M].哈尔滨:哈尔滨工业大学出版社,2010.
基金项目:矿用气体传感器生产工装的研究(项目编号:KJ-2013-TDCZ-04),天地工艺创新基金。
作者简介:展烽(1988—),男,江苏靖江人,大学本科,2010毕业于江苏理工学院,现供职于天地(常州)自动化股份有限公司,从事电气工艺工作。