展烽 孫小進
【摘要】針對礦用氣體傳感器在生產過程中需逐臺調校、費時費力的問題,提出了一種基于I2C總線協議的批量調校方法。調校主機通過I2C通信方式可以實時訪問多臺傳感器的顯示值,并可通過I2C總線接口向多臺需要調校的傳感器發(fā)送調校命令與調校值,傳感器接收到調校數據后完成自我調校,通過這種方式,有效提高了氣體傳感器的生產效率。
【關鍵詞】氣體傳感器;批量調校;I2C總線
引言
隨著國家對煤礦安全生產的重視,礦用氣體傳感器的需求量與日俱增,尤其是瓦斯、一氧化碳等有毒有害氣體類傳感器。這些傳感器在生產過程中一般采用先調零點再調線性的方法進行調校,從而保證傳感器的測量精度。調校過程一般采用人工逐臺調校的方法,操作過程繁瑣,不能自動根據誤差值發(fā)送調校命令,無法與計算機或其他調校設備相連[1],人為干擾因素較多且存在通氣中毒的隱患,鑒于以上幾點,筆者設計了一種氣體傳感器批量生產調校的裝置,使氣體傳感器的生產過程可以快速化,自動化。
1.傳感器批量調校裝置的總體設計
在基于I2C總線技術的傳感器批量調校裝置中,調校主機與傳感器有各自的I2C接口,通過I2C接口,傳感器把測量的氣體濃度值發(fā)送給調校主機,調校主機可以通過串口將數據傳給上位機顯示;調校主機通過I2C接口向傳感器發(fā)送調校命令和調校值,傳感器接收到命令和數據后,通過單片機內部程序完成自我調校,從而實現單臺傳感器的調校工作。
圖1 傳感器批量調校裝置基本結構圖
當需要進行傳感器的批量調校時,調校主機通過I2C接口逐個讀取傳感器的當前顯示值再傳給上位機,經過人工判斷后,上位機發(fā)送調校命令給調校主機,調校主機再通過I2C接口將調校命令和調校值逐臺發(fā)送給傳感器,當所有傳感器都成功接收到調校命令和調校值后,即完成了裝置內部傳感器的批量調校工作。傳感器批量調校裝置基本結構圖如圖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)、一個地址字節(jié)(位7-1:7位從地址;位0:R/W方向位)、一個或多個字節(jié)的數據和一個停止條件(STOP)。每個接收的字節(jié)都必須用SCL高電平期間的SDA低電平來確認(ACK),如果接收器件不確認,則發(fā)送器件將讀到一個非確認(NACK),這時用SCL高電平期間的SDA高電平表示[2]。如圖3是一次I2C總線的基本時序。
對I2C接口的訪問和控制是通過3個特殊寄存器來實現的:配置寄存器SMB0CF,數據寄存器SMBODAT,控制寄存器SMBOCN。其中SMB0CF用于配置I2C的主從模式的使能、時鐘速率等;SMBODAT用于緩存將要寫出的數據或讀入的數據;SMBOCN用于控制I2C接口的工作模式,包括主發(fā)送,主接收,從發(fā)送,從接收模式,當中斷標志SI=1時,可讀取SMBOCN的高四位來確定當前接口的工作狀態(tài),并通過軟件完成下一步的事件。常用的主發(fā)送模式和主接收模式的操作時序,如圖4和圖5。
當調校主機與某一通道的傳感器之間通過I2C總線相連時,傳感器主動發(fā)送產品的狀態(tài)信息和氣體測量值給調校主機(調校主機作為從接收);通過更改CD4067的地址碼或使能位,打開另外一組I2C通道,讀取另外一臺傳感器的當前測量值。當上位機發(fā)送調校命令給調校主機時,調校主機主動發(fā)送調校命令和調校數據給傳感器(傳感器作為從接收),調校完成后,傳感器主動發(fā)送調校結果給調校主機(調校主機作為從接收),以便和調校主機確認調校成功。(下轉第199頁)(上接第197頁)為確保每次數據通信無誤,將所有需要發(fā)送的數據字節(jié)進行8位CRC校驗后作為最后一個字節(jié)發(fā)送;接收數據時將接收最后一個字節(jié)之前的數據進行8位CRC校驗,與最后接收的一個字節(jié)比較,如果相等,說明通信數據無誤,若不相等,進入相應的軟件處理程序。
3.具體應用
在礦用氣體傳感器批量調校裝置中,由于一臺調校主機最多只可以和32臺傳感器進行通信,故在整個調校裝置中采用上位機控制多臺調校主機的方式從而形成對大批量傳感器的批量調校。在結合實際調校裝置的氣室尺寸和調校主板的PCB布局后,最終研制完成了氣體傳感器智能調校老化柜,裝有組態(tài)軟件的上位機通過串口與7臺地址不一樣的調校主機通信,每臺調校主機通過I2C總線與18臺傳感器進行通信,即每批次可完成126臺傳感器的調校工作,每臺傳感器通過各自的I2C總線通道與調校主機通信,發(fā)送實時氣體濃度測量值;組態(tài)軟件作為該調校裝置的上位機控制平臺,強大的實時數據庫可以保存?zhèn)鞲衅鱾魉偷膶崟r數據[3];當柜體內部充滿標準氣樣時,操作人員通過上位機的組態(tài)軟件向調校主機發(fā)送命令即可完成批量調校工作。
4.結語
礦用氣體類傳感器批量調校裝置實現了對傳感器調校過程的自動化,通過運用I2C總線技術,可實時采集每臺傳感器的氣體濃度測量值,在上位機上裝入相應的數據分析軟件,可實時分析判斷每臺傳感的測量誤差、數據穩(wěn)定性、響應時間等參數,并可按照國家標準、行業(yè)標準或企業(yè)標準打印數據報表,減少了人工數據記錄等工作。目前該裝置已可以完成催化瓦斯傳感器和一氧化碳傳感器的調校工作與老化工作,經過多次實驗證明,這種批量調校方法速度快,準確率高,無論是操作性還是安全性均超過傳統(tǒng)的人工逐臺調校的方法,大大提高了礦用產品生產過程的自動化程度。
參考文獻
[1]邢倩,田慕琴,王雪松.組態(tài)軟件與Modebus協議在礦用傳感器調校裝置中的應用[J].工況自動化,2012(4):73-75.
[2]張培仁,孫力.基于C語言C8051F系列微控制器原理與應用[M].北京:清華大學出版社,2006.
[3]曾慶波,孫華,周衛(wèi)宏.監(jiān)控組態(tài)軟件及其應用技術[M].哈爾濱:哈爾濱工業(yè)大學出版社,2010.
基金項目:礦用氣體傳感器生產工裝的研究(項目編號:KJ-2013-TDCZ-04),天地工藝創(chuàng)新基金。
作者簡介:展烽(1988—),男,江蘇靖江人,大學本科,2010畢業(yè)于江蘇理工學院,現供職于天地(常州)自動化股份有限公司,從事電氣工藝工作。