肖習鵬 蘭曉龍 尹小龍 龔建軍 何力
【摘 要】在二代堆型核電廠中使用模擬溫度控制器對通風管路系統進出風口空氣溫度進行控制,模擬溫度控制器存在精度差和調校復雜的缺點。本文介紹了一種以微控制器芯片STM32核心的溫度控制器研制方案。文中介紹了硬件電路結構和軟件流程的設計,對微控制器外設的硬件配置和軟件設計做了詳細的闡述。試驗結果表明,該溫度控制器能夠對通風管路系統溫度穩定可靠控制,測量精度滿足研制技術規格書要求,可以實現對模擬溫度控制器的替換升級。
【關鍵詞】STM32;溫度控制;數據采樣;數據傳輸
中圖分類號: TP277 文獻標識碼: A 文章編號: 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 引言
在二代堆型核電廠管路通風系統中需要對管路空氣溫度進行控制。模擬溫度控制器是由歐洲供貨廠家八十年代生產制造的,原生產廠家已經停止生產此系列的溫度控制器且停止了技術服務。現在正在使用的模擬溫度控制器已經進入了老化階段且經常損壞。
模擬溫度控制器的工作方式以及初始參數,都是通過模擬電位器設置。在模擬溫度控制器安裝就位之前,需要對模擬電位器撥盤進行仔細調校,因此其對管路系統溫度的調節和控制比較粗糙,受人為因素的影響較大。模擬溫度控制器的調校周期較短,其齒狀電氣接口反復插拔,容易銹蝕和損壞,加快了老化的速度。
工業上通用的溫度控制器基本上無法滿足現有通風管路系統對溫度控制器電氣接口以及控制方式的要求。因此利用現有的成熟的數字電路設計技術,在保證電氣接口和控制原理不變的要求下,設計出了一種采用可編程微控制芯片STM32為核心的溫度控制電路。采用嵌入式硬件電路和軟件編程技術,簡化了原模擬電路結構,且具有一定的擴展性,便于軟件版本的升級。溫度控制器的工作方式和參數設置通過液晶面板上的按鍵設置,參數值和溫度測量值直接在液晶面板上顯示。
本文介紹了以微控制器STM32芯片為核心的溫度控制器的硬件結構和軟件流程設計。對硬件電路模塊和外設軟件設置進行了詳細的闡述。
1 溫度控制器硬件結構
溫度控制器通過硬齒狀電氣連接器與通風管路系統控制機柜內接線底座相連。溫度控制器電路由傳感器信號調理模模塊,STM32微控制器,輸出通道,電源模塊和液晶顯示模塊組成。傳感器信號調理模塊對外部兩路溫度傳感器輸入信號進行濾波,放大和隔離處理。STM32微控制器利用自帶的多通道ADC對兩路傳感器信號采樣[1-2]。由采樣數據計算出管路進風口溫度和出風口溫度。根據控制邏輯,將計算出溫度值與初始設置值和回差值比較,邏輯運算結果控制輸出通道輸出。同時將溫度測量值和初始參數設置值送至液晶顯示屏上顯示。電源模塊對電路板上其他電路模塊供電。硬件電路結構框圖見如圖1所示。下面對微控制器外設配置以及輸出模塊作詳細的闡述。
STM32微控制器是由意法半導體公司生產的基于新一代Cortex-M3架構的32位的ARM芯片[3]。內核和外設的工作電壓均為3.3V,具有非常低的功耗[4]。片上集成了豐富且功能全面的外設。工作主頻可以達到72MHz,外設工作頻率可以根據需要在軟件編程時進行設置[5]。通用輸入輸出接口(GPIO口)可以根據需要應用需要重新定義,模擬信號的采樣順序,采樣頻率以及采樣數據傳輸方式可以由軟件設置。在本設計中,利用微控制器片上16通道的12位模數轉換器(ADC)中的兩個通道對兩路傳感器信號進行采樣,先采集管路入口處溫度傳感器溫度再采集出口溫度傳感器溫度,采樣頻率根據現場溫度變換情況在調試階段設置,采樣完成后,數據通過直接存儲器存取(DMA)的方式,直接讀入動態存儲空間內開辟的數組內。由采樣數據計算出管路入口和出口處溫度傳感器的溫度值。根據控制邏輯,微控制器控制控制GPIO口和數模轉換器(DAC)輸出。STM32微控制器芯片以及外圍的晶振、退耦電容等構成核心電路模塊如圖2所示。
溫度控制器輸出通道有兩種類型的輸出,干觸點信號和4-20mA信號。STM32微控制芯片GPIO口輸出高低電平控制固態繼電器線圈的勵磁,從而使繼電器輸出干觸點信號給下游電路。DAC輸出的電壓信號在輸出通道經過V/I變換后,輸出通用的4-20mA標準工業電流信號[6]。干觸點信號控制下游加熱器的投入和切除,4-20mA電流信號控制管路空氣進口和出口處的電磁閥,使風門開度維持在一定范圍之內。V/I變換電路的電路原理圖如圖3所示。
2 溫度控制器控制原理
溫度控制器的輸出由進風口溫度變量和出風口溫度兩個變量控制。當工作方式為max時,兩變量作用的輸入輸出邏輯關系如圖4所示。當工作方式為min時,輸入輸出邏輯關系如圖5所示。
管路系統進風口和出風口處溫度傳感器測得的空氣溫度分別為Tc和Tg,進風口溫度設置值為Xe,回差值為kXp,出風口溫度設置值為Xk,回差值為Xp。初始設置參數Xk,Xe,Xp,KXp將坐標第一象限平面分成三個區域:左斜線,右斜線和橫線區域。
假設溫度控制器工作于max方式,棕色區域是當進出風口溫度Xc或Xg中的任一測量值在左斜線區域,溫度控制器輸出觸點閉合信號和20mA電流信號。Xc或Xg在橫線區域,溫度控制器輸出觸點閉合信號和比例電流信號,Xc和Xg均在右斜線區域,溫度控制器無輸出。用邏輯關系式表示如下:
(1)Xc≥Xk+Xp || Xg≥Xe+K*Xp
輸出20mA電流信號和觸點信號
(2)(Xk+Xp>Xc>Xk) || (Xe+K*Xp>Xg>Xe)
輸出比例電流信號和觸點信號
(3)Xc≤Xk && Xg≤Xe
無輸出
假設溫度控制器工作于min方式,棕色區域是當進出風口溫度Xc或Xg中的任一測量值在左斜線區域,溫度控制器輸出觸點閉合信號和20mA電流信號。Xc或Xg在橫線區域,溫度控制器輸出觸點閉合信號和比例電流信號,Xc和Xg均在右斜線區域,溫度控制器無輸出。用邏輯關系式表示如下:
(1)Xc≤Xk-Xp || Xg≤Xe-K*Xp
輸出20mA電流信號和觸點信號
(2)(Xk-Xp 輸出比例電流信號和觸點信號 (3)Xc≥Xk && Xg≥Xe 無輸出 3 溫度控制器的軟件設計 溫度控制器的軟件設計與硬件結構密切相關,系統軟件總流程圖如圖6所示。 溫度控制器上電后,先進行系統自檢和系統寄存器初始化,然后對ADC、DMA、GPIO和DAC等外設的寄存器進行初始化設置。兩個傳感器信號調理通道輸出的模擬信號采樣順序為:進風口溫度傳感器信號采樣,出風口溫度傳感器信號采樣。管路系統空氣溫度溫度變化緩慢[7],因此設置模數轉換器的工作頻率為500kHz,采樣周期設置為236.7個工作時鐘周期[8]。采樣數據通過直接寄存器存儲操作操作傳輸到在數據存儲區開辟的數組內,采樣100次后,刷新一次存儲數組。由采樣數據計算進出口溫度值時,首先對100次采樣數據做一次均值濾波,消除傳感器輸入信號噪聲和采樣噪聲,采用均值濾波后,使液晶顯示屏上顯示的測量數據穩定,變化平緩[9-10]。在數據顯示的時候,可以查看溫度設置值和回差值。 4 試驗結果及分析 微控制器STM32通過GPIO口輸出數字量和ADC輸出電壓信號至輸出通道,輸出通道將數字量信號轉換成繼電器干觸點信號,實現了控制器與下游系統的隔離。輸出的模擬電壓信號通過V/I變換,得到符合工業標準的4-20mA電流信號。微控制器輸出結果滿足控制原理的邏輯關系式。通道輸出電流信號平滑無跳變。 溫控器的溫度測量誤差要求在0.5%之內(滿量程范圍0~99.9℃),下表1顯示的是在使用標準電阻箱作為進、出風口溫度傳感器輸入阻值,參照Pt100分度表,對應溫度的理論值和測量值。最后一列計算出了二者的差值。 由表1可知,測量溫度值與理論值的最大誤差為0.3℃,在要求的滿量程0.5℃誤差范圍之內,完全滿足對溫度高精度測量的要求。 5 結束語 本文針對核電廠通風管路系統進出口溫度測量和控制的要求,在保證電氣接口和控制邏輯不變的條件下,設計出了一種基于微控制器STM32的溫度控制電路。試驗結果表明,該溫度控制器可以在核電廠通風管路系統中穩定可靠的工作,可以實現對下游加熱器和電磁閥等精確控制,并可以對管路進出口空氣溫度的高精度測量,比原模擬溫度控制更便于操作和維護。 【參考文獻】 [1]曹圓圓.基于STM32的溫度測量系統[J].儀器儀表與分析監測,2010(1):16-18. [2]張旭,亓學廣,李世光,等.基于STM32電力數據采集系統的設計[J].電子測量技術,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微控制器原理與實踐[M].北京:北京航空航天大學出版社,2008:318-338. [5]李寧.基于MDK的STM32處理器應用開發[M].北京:北京航空航天大學出版社,2008:304-327. [6]胡惠軼,宋勝博,李澤滔.二線制4~20mA電流環電路的設計,[J].四川大學學報(自然科學版),2008(10):23-24. [7]彭剛,春志強.基于RAM Cortex-M3的STM32系列嵌入式微控制器應用[M].北京:電子工業出版社,2011:320-346. [8]任殿慧,周巧娣,章雪挺,等.一種鉑電阻測溫電路的非線性校正方法[J].電子器件,2010,33(5):603-607. [9]周繼裕,陳思露,符少文.基于均值滑動濾波算法和STM32電子秤的設計[J].現代電子技術,2017,40(10):10-12,15. [10]彭宏,趙鵬博.邊緣檢測中的改進型均值濾波算法[J].計算機工程,2017,43(10):172-178.