肖習(xí)鵬 蘭曉龍 尹小龍 龔建軍 何力
【摘 要】在二代堆型核電廠中使用模擬溫度控制器對(duì)通風(fēng)管路系統(tǒng)進(jìn)出風(fēng)口空氣溫度進(jìn)行控制,模擬溫度控制器存在精度差和調(diào)校復(fù)雜的缺點(diǎn)。本文介紹了一種以微控制器芯片STM32核心的溫度控制器研制方案。文中介紹了硬件電路結(jié)構(gòu)和軟件流程的設(shè)計(jì),對(duì)微控制器外設(shè)的硬件配置和軟件設(shè)計(jì)做了詳細(xì)的闡述。試驗(yàn)結(jié)果表明,該溫度控制器能夠?qū)νL(fēng)管路系統(tǒng)溫度穩(wěn)定可靠控制,測(cè)量精度滿足研制技術(shù)規(guī)格書要求,可以實(shí)現(xiàn)對(duì)模擬溫度控制器的替換升級(jí)。
【關(guān)鍵詞】STM32;溫度控制;數(shù)據(jù)采樣;數(shù)據(jù)傳輸
中圖分類號(hào): TP277 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 2095-2457(2018)05-0193-003
【Abstract】In the second generation of the Nuclear Power Plant,the analog temperature controller is used to control the inlet and outlet air temperature of the ventilation pipeline system.The analog temperature controller has the disadvantages of poor accuracy and complex adjustment.A design of temperature controller based on the core of the microcontroller chip STM32 is introduced.The structure of hardware circuit and the design of software flow are introduced,and the hardware configuration and software design of the peripherals of the microcontroller are described in detail.The experimental results show that the temperature controller can control the temperature of the ventilation pipeline system stably and reliably,and the measurement accuracy meets the requirements of the technical specification.Which can realize the replacement and upgrading of the analog temperature controller.
【Key words】STM32;Temperature Control;Data Acquisition;Data Transmission
0 引言
在二代堆型核電廠管路通風(fēng)系統(tǒng)中需要對(duì)管路空氣溫度進(jìn)行控制。模擬溫度控制器是由歐洲供貨廠家八十年代生產(chǎn)制造的,原生產(chǎn)廠家已經(jīng)停止生產(chǎn)此系列的溫度控制器且停止了技術(shù)服務(wù)?,F(xiàn)在正在使用的模擬溫度控制器已經(jīng)進(jìn)入了老化階段且經(jīng)常損壞。
模擬溫度控制器的工作方式以及初始參數(shù),都是通過模擬電位器設(shè)置。在模擬溫度控制器安裝就位之前,需要對(duì)模擬電位器撥盤進(jìn)行仔細(xì)調(diào)校,因此其對(duì)管路系統(tǒng)溫度的調(diào)節(jié)和控制比較粗糙,受人為因素的影響較大。模擬溫度控制器的調(diào)校周期較短,其齒狀電氣接口反復(fù)插拔,容易銹蝕和損壞,加快了老化的速度。
工業(yè)上通用的溫度控制器基本上無法滿足現(xiàn)有通風(fēng)管路系統(tǒng)對(duì)溫度控制器電氣接口以及控制方式的要求。因此利用現(xiàn)有的成熟的數(shù)字電路設(shè)計(jì)技術(shù),在保證電氣接口和控制原理不變的要求下,設(shè)計(jì)出了一種采用可編程微控制芯片STM32為核心的溫度控制電路。采用嵌入式硬件電路和軟件編程技術(shù),簡(jiǎn)化了原模擬電路結(jié)構(gòu),且具有一定的擴(kuò)展性,便于軟件版本的升級(jí)。溫度控制器的工作方式和參數(shù)設(shè)置通過液晶面板上的按鍵設(shè)置,參數(shù)值和溫度測(cè)量值直接在液晶面板上顯示。
本文介紹了以微控制器STM32芯片為核心的溫度控制器的硬件結(jié)構(gòu)和軟件流程設(shè)計(jì)。對(duì)硬件電路模塊和外設(shè)軟件設(shè)置進(jìn)行了詳細(xì)的闡述。
1 溫度控制器硬件結(jié)構(gòu)
溫度控制器通過硬齒狀電氣連接器與通風(fēng)管路系統(tǒng)控制機(jī)柜內(nèi)接線底座相連。溫度控制器電路由傳感器信號(hào)調(diào)理模模塊,STM32微控制器,輸出通道,電源模塊和液晶顯示模塊組成。傳感器信號(hào)調(diào)理模塊對(duì)外部?jī)陕窚囟葌鞲衅鬏斎胄盘?hào)進(jìn)行濾波,放大和隔離處理。STM32微控制器利用自帶的多通道ADC對(duì)兩路傳感器信號(hào)采樣[1-2]。由采樣數(shù)據(jù)計(jì)算出管路進(jìn)風(fēng)口溫度和出風(fēng)口溫度。根據(jù)控制邏輯,將計(jì)算出溫度值與初始設(shè)置值和回差值比較,邏輯運(yùn)算結(jié)果控制輸出通道輸出。同時(shí)將溫度測(cè)量值和初始參數(shù)設(shè)置值送至液晶顯示屏上顯示。電源模塊對(duì)電路板上其他電路模塊供電。硬件電路結(jié)構(gòu)框圖見如圖1所示。下面對(duì)微控制器外設(shè)配置以及輸出模塊作詳細(xì)的闡述。
STM32微控制器是由意法半導(dǎo)體公司生產(chǎn)的基于新一代Cortex-M3架構(gòu)的32位的ARM芯片[3]。內(nèi)核和外設(shè)的工作電壓均為3.3V,具有非常低的功耗[4]。片上集成了豐富且功能全面的外設(shè)。工作主頻可以達(dá)到72MHz,外設(shè)工作頻率可以根據(jù)需要在軟件編程時(shí)進(jìn)行設(shè)置[5]。通用輸入輸出接口(GPIO口)可以根據(jù)需要應(yīng)用需要重新定義,模擬信號(hào)的采樣順序,采樣頻率以及采樣數(shù)據(jù)傳輸方式可以由軟件設(shè)置。在本設(shè)計(jì)中,利用微控制器片上16通道的12位模數(shù)轉(zhuǎn)換器(ADC)中的兩個(gè)通道對(duì)兩路傳感器信號(hào)進(jìn)行采樣,先采集管路入口處溫度傳感器溫度再采集出口溫度傳感器溫度,采樣頻率根據(jù)現(xiàn)場(chǎng)溫度變換情況在調(diào)試階段設(shè)置,采樣完成后,數(shù)據(jù)通過直接存儲(chǔ)器存?。―MA)的方式,直接讀入動(dòng)態(tài)存儲(chǔ)空間內(nèi)開辟的數(shù)組內(nèi)。由采樣數(shù)據(jù)計(jì)算出管路入口和出口處溫度傳感器的溫度值。根據(jù)控制邏輯,微控制器控制控制GPIO口和數(shù)模轉(zhuǎn)換器(DAC)輸出。STM32微控制器芯片以及外圍的晶振、退耦電容等構(gòu)成核心電路模塊如圖2所示。
溫度控制器輸出通道有兩種類型的輸出,干觸點(diǎn)信號(hào)和4-20mA信號(hào)。STM32微控制芯片GPIO口輸出高低電平控制固態(tài)繼電器線圈的勵(lì)磁,從而使繼電器輸出干觸點(diǎn)信號(hào)給下游電路。DAC輸出的電壓信號(hào)在輸出通道經(jīng)過V/I變換后,輸出通用的4-20mA標(biāo)準(zhǔn)工業(yè)電流信號(hào)[6]。干觸點(diǎn)信號(hào)控制下游加熱器的投入和切除,4-20mA電流信號(hào)控制管路空氣進(jìn)口和出口處的電磁閥,使風(fēng)門開度維持在一定范圍之內(nèi)。V/I變換電路的電路原理圖如圖3所示。
2 溫度控制器控制原理
溫度控制器的輸出由進(jìn)風(fēng)口溫度變量和出風(fēng)口溫度兩個(gè)變量控制。當(dāng)工作方式為max時(shí),兩變量作用的輸入輸出邏輯關(guān)系如圖4所示。當(dāng)工作方式為min時(shí),輸入輸出邏輯關(guān)系如圖5所示。
管路系統(tǒng)進(jìn)風(fēng)口和出風(fēng)口處溫度傳感器測(cè)得的空氣溫度分別為Tc和Tg,進(jìn)風(fēng)口溫度設(shè)置值為Xe,回差值為kXp,出風(fēng)口溫度設(shè)置值為Xk,回差值為Xp。初始設(shè)置參數(shù)Xk,Xe,Xp,KXp將坐標(biāo)第一象限平面分成三個(gè)區(qū)域:左斜線,右斜線和橫線區(qū)域。
假設(shè)溫度控制器工作于max方式,棕色區(qū)域是當(dāng)進(jìn)出風(fēng)口溫度Xc或Xg中的任一測(cè)量值在左斜線區(qū)域,溫度控制器輸出觸點(diǎn)閉合信號(hào)和20mA電流信號(hào)。Xc或Xg在橫線區(qū)域,溫度控制器輸出觸點(diǎn)閉合信號(hào)和比例電流信號(hào),Xc和Xg均在右斜線區(qū)域,溫度控制器無輸出。用邏輯關(guān)系式表示如下:
(1)Xc≥Xk+Xp || Xg≥Xe+K*Xp
輸出20mA電流信號(hào)和觸點(diǎn)信號(hào)
(2)(Xk+Xp>Xc>Xk) || (Xe+K*Xp>Xg>Xe)
輸出比例電流信號(hào)和觸點(diǎn)信號(hào)
(3)Xc≤Xk && Xg≤Xe
無輸出
假設(shè)溫度控制器工作于min方式,棕色區(qū)域是當(dāng)進(jìn)出風(fēng)口溫度Xc或Xg中的任一測(cè)量值在左斜線區(qū)域,溫度控制器輸出觸點(diǎn)閉合信號(hào)和20mA電流信號(hào)。Xc或Xg在橫線區(qū)域,溫度控制器輸出觸點(diǎn)閉合信號(hào)和比例電流信號(hào),Xc和Xg均在右斜線區(qū)域,溫度控制器無輸出。用邏輯關(guān)系式表示如下:
(1)Xc≤Xk-Xp || Xg≤Xe-K*Xp
輸出20mA電流信號(hào)和觸點(diǎn)信號(hào)
(2)(Xk-Xp 輸出比例電流信號(hào)和觸點(diǎn)信號(hào) (3)Xc≥Xk && Xg≥Xe 無輸出 3 溫度控制器的軟件設(shè)計(jì) 溫度控制器的軟件設(shè)計(jì)與硬件結(jié)構(gòu)密切相關(guān),系統(tǒng)軟件總流程圖如圖6所示。 溫度控制器上電后,先進(jìn)行系統(tǒng)自檢和系統(tǒng)寄存器初始化,然后對(duì)ADC、DMA、GPIO和DAC等外設(shè)的寄存器進(jìn)行初始化設(shè)置。兩個(gè)傳感器信號(hào)調(diào)理通道輸出的模擬信號(hào)采樣順序?yàn)椋哼M(jìn)風(fēng)口溫度傳感器信號(hào)采樣,出風(fēng)口溫度傳感器信號(hào)采樣。管路系統(tǒng)空氣溫度溫度變化緩慢[7],因此設(shè)置模數(shù)轉(zhuǎn)換器的工作頻率為500kHz,采樣周期設(shè)置為236.7個(gè)工作時(shí)鐘周期[8]。采樣數(shù)據(jù)通過直接寄存器存儲(chǔ)操作操作傳輸?shù)皆跀?shù)據(jù)存儲(chǔ)區(qū)開辟的數(shù)組內(nèi),采樣100次后,刷新一次存儲(chǔ)數(shù)組。由采樣數(shù)據(jù)計(jì)算進(jìn)出口溫度值時(shí),首先對(duì)100次采樣數(shù)據(jù)做一次均值濾波,消除傳感器輸入信號(hào)噪聲和采樣噪聲,采用均值濾波后,使液晶顯示屏上顯示的測(cè)量數(shù)據(jù)穩(wěn)定,變化平緩[9-10]。在數(shù)據(jù)顯示的時(shí)候,可以查看溫度設(shè)置值和回差值。 4 試驗(yàn)結(jié)果及分析 微控制器STM32通過GPIO口輸出數(shù)字量和ADC輸出電壓信號(hào)至輸出通道,輸出通道將數(shù)字量信號(hào)轉(zhuǎn)換成繼電器干觸點(diǎn)信號(hào),實(shí)現(xiàn)了控制器與下游系統(tǒng)的隔離。輸出的模擬電壓信號(hào)通過V/I變換,得到符合工業(yè)標(biāo)準(zhǔn)的4-20mA電流信號(hào)。微控制器輸出結(jié)果滿足控制原理的邏輯關(guān)系式。通道輸出電流信號(hào)平滑無跳變。 溫控器的溫度測(cè)量誤差要求在0.5%之內(nèi)(滿量程范圍0~99.9℃),下表1顯示的是在使用標(biāo)準(zhǔn)電阻箱作為進(jìn)、出風(fēng)口溫度傳感器輸入阻值,參照Pt100分度表,對(duì)應(yīng)溫度的理論值和測(cè)量值。最后一列計(jì)算出了二者的差值。 由表1可知,測(cè)量溫度值與理論值的最大誤差為0.3℃,在要求的滿量程0.5℃誤差范圍之內(nèi),完全滿足對(duì)溫度高精度測(cè)量的要求。 5 結(jié)束語 本文針對(duì)核電廠通風(fēng)管路系統(tǒng)進(jìn)出口溫度測(cè)量和控制的要求,在保證電氣接口和控制邏輯不變的條件下,設(shè)計(jì)出了一種基于微控制器STM32的溫度控制電路。試驗(yàn)結(jié)果表明,該溫度控制器可以在核電廠通風(fēng)管路系統(tǒng)中穩(wěn)定可靠的工作,可以實(shí)現(xiàn)對(duì)下游加熱器和電磁閥等精確控制,并可以對(duì)管路進(jìn)出口空氣溫度的高精度測(cè)量,比原模擬溫度控制更便于操作和維護(hù)。 【參考文獻(xiàn)】 [1]曹圓圓.基于STM32的溫度測(cè)量系統(tǒng)[J].儀器儀表與分析監(jiān)測(cè),2010(1):16-18. [2]張旭,亓學(xué)廣,李世光,等.基于STM32電力數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].電子測(cè)量技術(shù),2010,33(11):90-93. [3]ST Microelectronics Corporation,STM32F103xC/STM32F103xD/STM32F103xE.Datasheet[EB/OL].(2015-2-23).http://www.st.com/web/en/resource/technical/document/datasheet/CD00191185.pdf. [4]王永虹,徐煒,郝立平.STM32系列ARM cortex-M3微控制器原理與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2008:318-338. [5]李寧.基于MDK的STM32處理器應(yīng)用開發(fā)[M].北京:北京航空航天大學(xué)出版社,2008:304-327. [6]胡惠軼,宋勝博,李澤滔.二線制4~20mA電流環(huán)電路的設(shè)計(jì),[J].四川大學(xué)學(xué)報(bào)(自然科學(xué)版),2008(10):23-24. [7]彭剛,春志強(qiáng).基于RAM Cortex-M3的STM32系列嵌入式微控制器應(yīng)用[M].北京:電子工業(yè)出版社,2011:320-346. [8]任殿慧,周巧娣,章雪挺,等.一種鉑電阻測(cè)溫電路的非線性校正方法[J].電子器件,2010,33(5):603-607. [9]周繼裕,陳思露,符少文.基于均值滑動(dòng)濾波算法和STM32電子秤的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2017,40(10):10-12,15. [10]彭宏,趙鵬博.邊緣檢測(cè)中的改進(jìn)型均值濾波算法[J].計(jì)算機(jī)工程,2017,43(10):172-178.