劉 超,王曉榮,張進(jìn)明,程聰聰,王換換
(南京工業(yè)大學(xué)電氣工程與控制科學(xué)學(xué)院,江蘇南京 211800)
石化產(chǎn)業(yè)的眾多生產(chǎn)環(huán)節(jié)中,往往離不開對生產(chǎn)過程中產(chǎn)生的各種氣體成分含量的檢測。課題中儀器的氣體檢測模塊采用基于NDIR(Nondispersive Infrared,非分光紅外)技術(shù)的氣體傳感器,能夠?qū)怏w含量準(zhǔn)確地進(jìn)行在線測量,和當(dāng)下石化企業(yè)中部分生產(chǎn)環(huán)節(jié)仍然采用的離線檢測方法相比,能夠有效提高生產(chǎn)效率,提高成品品質(zhì)。課題設(shè)計的在線分析儀給未來石化產(chǎn)業(yè)向智能工廠轉(zhuǎn)型提供了實(shí)時準(zhǔn)確的數(shù)據(jù)基礎(chǔ)。
紅外(IR)光譜是最常見、應(yīng)用最廣泛的光譜技術(shù)之一。紅外光譜的吸收峰值通常比紫外線和可見光區(qū)域更尖銳,而組成物質(zhì)的不同官能團(tuán)吸收不同頻率的紅外輻射。利用這種特性,紅外光譜可以非常敏感地測定樣品中官能團(tuán),并對有機(jī)或者無機(jī)化合物進(jìn)行定性和定量分析。
儀器工作時,待測氣體經(jīng)過預(yù)處理流路后通入儀器的傳感器接口,傳感器的輸出數(shù)據(jù)傳送給MCU,MCU會對讀取到的濃度數(shù)據(jù)進(jìn)行顯示、傳輸、控制輸入輸出等動作,大致工作流程如圖1所示。從模塊化角度出發(fā),根據(jù)上述儀器工作流程,把軟硬件系統(tǒng)劃分為MCU、傳感器、人機(jī)交互、數(shù)據(jù)通信、輸入輸出等5個模塊。
圖1 儀器工作流程
優(yōu)良的系統(tǒng)架構(gòu)在滿足基本設(shè)計需求的同時,還應(yīng)具有高可用性和高穩(wěn)定性、良好的可擴(kuò)展性以及模塊間的低耦合性[1]。系統(tǒng)整體架構(gòu)方案遵循分層設(shè)計原則[2],對系統(tǒng)進(jìn)行分層處理:最底層為硬件系統(tǒng),中間層為操作系統(tǒng),上層則為各個任務(wù)線程。系統(tǒng)中所有任務(wù)都由某一個具體的任務(wù)線程發(fā)起,之后根據(jù)任務(wù)采用的算法,利用操作系統(tǒng)提供的接口來調(diào)用具體的硬件驅(qū)動接口,由硬件驅(qū)動接口來控制儀器系統(tǒng)硬件完成相應(yīng)的任務(wù)。
圖2 系統(tǒng)架構(gòu)
將硬件系統(tǒng)劃分為電源模塊、最小系統(tǒng)模塊、傳感器電路、人機(jī)交互電路、通信電路和輸入輸出電路。每個模塊包含若干子電路。硬件系統(tǒng)組成框圖如圖3所示。
圖3 儀器硬件框圖
3.1.1 傳感器接口
課題選用S-Module單組分氣體傳感器,該傳感器基于NDIR技術(shù),對CO2、CO和甲烷等紅外敏感氣體具有很好的選擇性。要測量不同的組分只需要在儀器的傳感器接口接入測量不同組分的S-Module模塊即可。
S-Module供電電壓為DC 6 V±5%,引腳的定義如表1所示。
表1 S-Module引腳功能
S-Module提供半雙工的串口通信方式[3],而STM32F407串口提供全雙工和半雙工模式。在半雙工模式下,F(xiàn)407串口的發(fā)送引腳和接收引腳在芯片內(nèi)部短接在一起,最終的數(shù)據(jù)收發(fā)都由串口發(fā)送腳進(jìn)行,而全雙工模式下的發(fā)送引腳則不再使用。當(dāng)F407沒有處于發(fā)送數(shù)據(jù)的狀態(tài)時,芯片內(nèi)部的收發(fā)器處于高阻態(tài),不會對傳感器造成損壞,因此線路中無需添加限流電阻。S-Module還提供一個TTL數(shù)字輸出引腳,可以監(jiān)測該引腳電平變化來獲取傳感器內(nèi)部狀態(tài)信息。傳感器電路如圖4所示。
圖4 S-Module接口
S-Module模塊內(nèi)部集成溫度補(bǔ)償功能,從而環(huán)境溫度變化較小時對傳感器輸出基本無影響,但當(dāng)環(huán)境溫度變化過大時對傳感器輸出影響較大。據(jù)此對模塊的工作環(huán)境進(jìn)行恒溫設(shè)計。恒溫電路包括溫度測量單元和加熱單元。
3.1.2 溫度測量模塊
課題采用工業(yè)中常用的鉑電阻測溫方案。把鉑電阻接入電橋,當(dāng)鉑電阻阻值隨溫度發(fā)生變化后會在電橋兩端產(chǎn)生壓差,通過測量壓差來計算鉑電阻阻值,根據(jù)阻值用查表法或者內(nèi)插法可算出溫度。常見的鉑電阻接法有兩線制、三線制接法。為減小導(dǎo)線電阻及沿線溫度的影響,可采用三線制接法,如圖5所示。
圖5 三線制接法
三線制接法在鉑電阻的一端引出兩根導(dǎo)線,另一端引出一根線。兩根導(dǎo)線的那端一根和惠斯登電橋的參考電源的一極相連,剩余的兩根和兩線制接法一樣接入電橋臂中。有如下推導(dǎo):
(1)
使得R2=R3,Rt=R1+ΔR,則式(1)可簡化為
(2)
R1一般取0 ℃或者室溫時鉑電阻阻值,則由鉑電阻的溫度特性[4]可知ΔR非常小,而r為線阻,同樣非常小,即r+ΔR?R1+R2,因此式(2)進(jìn)一步簡化為
(3)
從式(3)可以看出三線制能夠有效減少導(dǎo)線電阻產(chǎn)生的影響。采用三線制接法的硬件電路如圖6所示。
圖6 Pt100測溫電路
圖中右側(cè)為三線制鉑電阻接口,使用時將鉑電阻兩根線的那端一根接入RG-引腳,另一根接入IN1+引腳,剩余的那根接入IN1-號引腳?;菟沟请姌蛏蠘虮鄣碾娮鑂20=R21,下橋臂中的R4為100 Ω??梢钥闯鲈跍囟葹? ℃時,電橋處于平衡狀態(tài)。當(dāng)溫度變化引起電橋失衡后,電橋輸出mV級別信號。對此采用差分放大電路進(jìn)行放大,即圖6中左側(cè)部分電路。其中AD623是一款差分放大芯片,可以很好地抑制共模干擾。AD623的放大倍數(shù)G由增益電阻R26決定。G和R26關(guān)系為
(4)
電路中對輸入電壓進(jìn)行100倍放大,計算得R26=1.01 kΩ,實(shí)際采用1%精度1.02 kΩ電阻,則實(shí)際放大倍數(shù)為99。為防止電壓輸出超出I/O口的電壓承受范圍,對AD623的電壓輸出采用鉗位二極管保護(hù)電路。
3.1.3 加熱模塊
系統(tǒng)采用功率電阻MP930對傳感器環(huán)境加熱,驅(qū)動電路如圖7所示。功率電阻由端子X2接入電路,系統(tǒng)通過控制固態(tài)繼電器HFS32D通斷狀態(tài)來控制功率電阻加熱狀態(tài)。和普通的線圈繼電器相比,固態(tài)繼電器的開合頻率更快,壽命也更長。
圖7 加熱電路
由于繼電器開合瞬間會產(chǎn)生脈沖干擾,采用高速光耦6N137進(jìn)行隔離。6N137速度可達(dá)到10 Mbit/s,其真值表見表2。
表2 6N137真值表
為降低微控制器的負(fù)載,6N137左側(cè)采用灌電流電路設(shè)計。由表2可知,當(dāng)I/O口輸出邏輯低時,光耦導(dǎo)通,光耦輸出為邏輯高,繼電器斷開,當(dāng)I/O口輸出邏輯高時,6N137光耦斷開,光耦輸出為邏輯低,繼電器導(dǎo)通。電路在輸出端接入LED以顯示系統(tǒng)加熱狀態(tài)。
3.2.1 MODBUS電路
MODBUS標(biāo)準(zhǔn)定義應(yīng)用層的信息傳輸結(jié)構(gòu),該結(jié)構(gòu)處于OSI模型的第七層。協(xié)議還規(guī)定了串行鏈路中數(shù)據(jù)交換的標(biāo)準(zhǔn)。課題通過AD2587E芯片把F407輸出的UART信號轉(zhuǎn)換成RS485信號,電路如圖8所示。當(dāng)MODBUS總線中數(shù)量超過32臺時就需要通過中繼器來擴(kuò)展總線驅(qū)動能力,而此時需要在總線兩端加入終端匹配電阻。電路中已加入終端電阻,并通過跳帽的方式來靈活地控制終端電阻是否接入電路。
3.2.2 4~20 mA電路
AD5420是單通道16位4~20 mA輸出芯片,工作電壓范圍為10.8~40 V。AD5420內(nèi)部采用24位移位寄存器。并且系統(tǒng)中的AD5420多于1片時,可以采用菊花鏈模式來減少片選引腳的數(shù)量。菊花鏈模式連接方式如9所示。
考慮到系統(tǒng)中僅有2路芯片,采用SPI模式總線接法來提供2路4~20 mA電流輸出。如圖10所示(僅給出1路示意圖)。
圖8 RS485電平轉(zhuǎn)換電路
圖9 AD5420菊花鏈連接
圖10 4~20 mA輸出電路
本課題采用RT-Thread作為軟件開發(fā)的操作系統(tǒng)平臺。根據(jù)任務(wù)內(nèi)容不同采用多線程設(shè)計方案,系統(tǒng)中線程劃分如圖11所示。
圖11 線程劃分與系統(tǒng)運(yùn)行示意圖
在儀器運(yùn)行過程中,軟件系統(tǒng)通常需要管理若干輸入輸出設(shè)備,RT-Thread提供一套簡單的I/O設(shè)備管理框架,如圖12所示。該框架對I/O設(shè)備進(jìn)行分層處理,從下到上依次是設(shè)備驅(qū)動層、設(shè)備對象層、設(shè)備操作接口層。
圖12 RT-Thread設(shè)備管理框架
這樣的設(shè)計降低了代碼的耦合性和復(fù)雜性,提高了系統(tǒng)的可靠性。
S-Module模塊和MCU采用半雙工串行接口進(jìn)行交互,串口參數(shù):波特率為2 400 bit/s,數(shù)據(jù)位為7位,停止位為1位,校驗(yàn)為偶校驗(yàn)。課題采用直接問答方式實(shí)現(xiàn)通信,MCU通過讀寫S-Module內(nèi)部寄存器獲取相應(yīng)功能,根據(jù)模塊化設(shè)計原則,該模塊軟件管理流程如圖13所示。
圖13 S-Module調(diào)度流程圖
S-Module模塊采用數(shù)字信號輸出,因此在硬件部分無需做特殊的濾波電路設(shè)計。而軟件上可以通過采用去極值平均法降低測量過程中產(chǎn)生的噪聲干擾。去極值濾波算法流程如圖14所示。
圖14 去極值濾波流程
4~20 mA輸出芯片AD5420通過四線制SPI協(xié)議進(jìn)行訪問,采用24位數(shù)據(jù)傳輸,其中高8位為地址位,低16位為數(shù)據(jù)位。因此需要在片選拉低時連續(xù)發(fā)送3個字節(jié)數(shù)據(jù)后再拉高片選信號。程序如下:
void ad5420_write_data(uint32_t *data)
{
uint8_t i;
uint8_t temp[6];
ad5420_latch_low();
temp[0]=cmd>>16;
temp[1]=cmd>>8;
temp[2]=cmd;
for(i=0;i < 3;i++)
{
ad5420_send_byte(temp[i]);
}
ad5420_latch_high();
}
當(dāng)需要輸出電流時,由式(5)計算出電流對應(yīng)的數(shù)字量D:
(5)
再通過式(6)計算出要發(fā)送給AD5420的實(shí)際數(shù)據(jù)后調(diào)用數(shù)據(jù)發(fā)送接口使得AD5420輸入設(shè)置的電流。
send data=0x01?16+D
(6)
式中:send data為要發(fā)送的實(shí)際數(shù)據(jù);0x01為AD5420數(shù)據(jù)寄存器地址。
儀器主要用于流程工業(yè)現(xiàn)場。運(yùn)行時,氣體由氣源流出,經(jīng)過預(yù)處理裝置后進(jìn)入S-Module傳感器,傳感器把采集結(jié)果送入儀器主板進(jìn)行顯示、傳輸、控制等處理。整套實(shí)驗(yàn)裝置如圖15所示。
圖15 實(shí)驗(yàn)裝置
在連接好實(shí)驗(yàn)裝置后,首先需對Pt100溫度采集電路進(jìn)行線性標(biāo)定、對傳感器進(jìn)行零點(diǎn)校準(zhǔn)。
首先記錄室溫(23 ℃)條件下的測量數(shù)據(jù):給儀器通入24.80%的標(biāo)準(zhǔn)CO2樣氣,調(diào)節(jié)預(yù)處理裝置中的流量閥以控制氣體流量為0.6 L/min,之后每隔10 min記錄1次樣氣濃度,測量數(shù)據(jù)如表3所示。
表3 室溫(23 ℃)濃度數(shù)據(jù)
室溫數(shù)據(jù)采集完成后,設(shè)定恒溫溫度為35 ℃,待儀器進(jìn)入恒溫狀態(tài)后,同樣以10 min時間間隔記錄數(shù)據(jù),測量數(shù)據(jù)如表4所示。
表4 恒溫(35 ℃)濃度數(shù)據(jù)
將上述數(shù)據(jù)繪制成圖,如圖16所示。從圖16可以看出,采用恒溫系統(tǒng)(圓實(shí)線)后傳感器輸出曲線較為平滑,提升了傳感器測量數(shù)據(jù)的穩(wěn)定性和準(zhǔn)確性。
圖16 濃度測量曲線
5.3.1 準(zhǔn)確性試驗(yàn)
準(zhǔn)確性指示儀器測量值和真實(shí)值之間接近程度[5],一般用相對誤差表征。設(shè)置儀器工作參數(shù)如下:恒溫35 ℃,樣氣流量為0.6 L/min,分別通入5種不同濃度CO2樣氣,每次待儀器讀數(shù)穩(wěn)定后,每隔1 min記錄1個數(shù)據(jù),記滿10組數(shù)據(jù)后求平均值作為樣氣濃度的測量值,如表5所示。
表5 室溫(23 ℃)濃度數(shù)據(jù) %
從表5數(shù)據(jù)可知,測量最大相對誤差為+0.22%,表明儀器具有較高的準(zhǔn)確性,滿足設(shè)計指標(biāo)。
5.3.2 重復(fù)性實(shí)驗(yàn)
對于儀器重復(fù)性,可利用RSD(relative standard deviation,相對標(biāo)準(zhǔn)偏差)表示,設(shè)置儀器工作溫度恒定為35 ℃,氣流為0.6 L/min,采用24.80%和12.36% 2種濃度樣氣,待儀器讀數(shù)穩(wěn)定后,每隔5 min記錄1組數(shù)據(jù),2種樣氣各測10組數(shù)據(jù),如表6所示。2路數(shù)據(jù)的RSD均小于0.15%,表明儀器具有很好的重復(fù)性。
表6 重復(fù)性數(shù)據(jù) %
5.3.3 穩(wěn)定性實(shí)驗(yàn)
儀器的穩(wěn)定性公式為
(7)
式中:stb為穩(wěn)定性;Xmax為最大測量值;Xmin為最小測量值;Xs為樣氣值。
設(shè)定儀器工作溫度恒為35 ℃,氣流為0.6 L/min,采用24.80%和12.36% 2種濃度樣氣,各測5組數(shù)據(jù),如表7所示。由數(shù)據(jù)可以知儀器具有較高的穩(wěn)定性。
表7 穩(wěn)定性數(shù)據(jù) %
開發(fā)了高性能、全中文的在線氣體分析儀,和離線分析設(shè)備相比,該分析儀器能夠有效提高石化產(chǎn)業(yè)生產(chǎn)效率和成品質(zhì)量。完成傳感器恒溫實(shí)驗(yàn)與氣體流量實(shí)驗(yàn)等與傳感器穩(wěn)定性有關(guān)的測試工作,完成準(zhǔn)確性、重復(fù)性與穩(wěn)定性等儀器性能實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明儀器符合性能設(shè)計指標(biāo),具有較高的實(shí)用性。