王 桔 洪 梅
(長春大學 電子信息工程學院,長春130022)
恒溫箱是航空、汽車、家電、科研等領(lǐng)域必備的測試設(shè)備,用于測試和確定電工、電子及其他產(chǎn)品及材料進行高溫試驗的溫度環(huán)境變化后的參數(shù)及性能,是用來在一定的溫度下飼養(yǎng)或培養(yǎng)生物或生物的一部分(細胞等)的箱型器具[1]。適合電子、電器、通訊、儀表、車輛、塑膠制品、金屬、食品、化學、建材、醫(yī)療、航天等制品檢測質(zhì)量之用。
在實驗室中,特別是生物實驗室,我們?yōu)榱说玫礁訙蚀_的實驗數(shù)據(jù),對于恒溫實驗環(huán)境要求嚴格。所以針對實驗室來說,恒溫箱的作用顯得相當重要,對于我們實驗室的研究過程以及研究結(jié)果將產(chǎn)生很大的影響。同時更加準確的研究結(jié)果對于我們由此產(chǎn)生的試驗成果的實際運用產(chǎn)生積極的作用。
在工業(yè)生產(chǎn)中,恒溫箱的應(yīng)用是廣泛的,工廠車間的產(chǎn)品以及由此相關(guān)的工業(yè)生產(chǎn)都是基于恒溫環(huán)境的后續(xù)發(fā)展。所以恒溫箱的作用在工業(yè)中更是處于舉足輕重的地位。同時在工業(yè)生產(chǎn)過程中我們對于恒溫箱的要求也相對更加嚴格,比如質(zhì)量的可靠性、恒溫箱的維護管理費用、恒溫箱的本身價位等,
在醫(yī)藥方面,醫(yī)用恒溫箱主要用于藥品,試劑的儲存,運輸;疫苗,血液的冷藏保溫,透析液的加溫,生理鹽水的加溫等。
本系統(tǒng)包括STM32F103 核心板、PT1000 溫度傳感器、放大電路、4×4 矩陣鍵盤、聲光報警電路、液晶顯示屏、驅(qū)動電路、繼電器控制電路、半導體制冷片及PTC 加熱片,如圖1 所示。
PT1000 溫度傳感器輸出電壓經(jīng)放大電路放大后送到STM32F103 核心板的模數(shù)轉(zhuǎn)換接口,轉(zhuǎn)化成數(shù)字量后經(jīng)STM32F103 單片機處理得到相應(yīng)的溫度信息。在某一時刻箱內(nèi)如果低于設(shè)置溫度則通過繼電器控制電路使PTC 加熱片開始加熱,經(jīng)H 橋驅(qū)動電路正向驅(qū)動制冷片使半導體制冷片開始加熱箱體。當箱內(nèi)溫度高于設(shè)置溫度時,STM32F103 單片機發(fā)出控制指令,經(jīng)驅(qū)動電路反向驅(qū)動制冷片使半導體制冷片開始制冷。在液晶顯示屏上顯示箱內(nèi)實際溫度和設(shè)置溫度。通過4×4 矩陣鍵盤輸入設(shè)置溫度,也可以在觸摸屏上直接輸入設(shè)置溫度。
系統(tǒng)采用PID 算法控制單片機輸出PWM 的占空比從而控制半導體制冷片的功率。在某一時刻箱內(nèi)溫度如果低于設(shè)置溫度則PTC 加熱片開始加熱,經(jīng)H 橋驅(qū)動電路正向驅(qū)動制冷片使半導體制冷片開始加熱箱體。當箱內(nèi)溫度高于設(shè)置溫度時,STM32F103 單片機發(fā)出控制指令,經(jīng)驅(qū)動電路反向驅(qū)動制冷片使半導體制冷片開始制冷。
圖1 系統(tǒng)設(shè)計方案
PID 是比例控制(P)、積分控制(I)和微分控制(D)的簡稱。在過程控制中,按偏差的比例(P)、積分(I)和微分(D)進行控制的PID 控制器是應(yīng)用最廣泛的一種自動控制器。PID 調(diào)節(jié)規(guī)律[2]是連續(xù)系統(tǒng)動態(tài)品質(zhì)校正的一種有效方法,它的參數(shù)整定方式簡單,結(jié)構(gòu)形式靈活??刂泣c包含兩種PID 控制算法,分別是:增量式算法,位置式算法[3]。
本設(shè)計采用位置式算法,將實際溫度與目標溫度之差經(jīng)比例微分積分運算后擬合成PWM 占空比數(shù)值的變化曲線,輸出給光耦H 橋驅(qū)動電路??刂破鞲鶕?jù)第n 次被控變量采樣結(jié)果與設(shè)定值之間的偏差e(n)計算出第n 次采樣之后所輸出的控制變量。位置式PID 控制算法的數(shù)學表達式為:
其中u(n-1)是第n-1 次采樣之后所輸出的控制變量。控制變量u(n)的值將決定第n 次采樣之后執(zhí)行器的動作位置。離散化公式:
常用的數(shù)字濾波器算法有中值判斷法、算術(shù)平均值法、加權(quán)濾波法、滑動濾波法[4]。中值濾波的基本原理是把數(shù)字圖像或數(shù)字序列中一點的值用該點的一個鄰域中各點值的中值代替,讓周圍的值接近的真實值,從而消除孤立的噪聲點。中值濾波對脈沖噪聲有良好的濾除作用,特別是在濾除噪聲的同時,能夠保護信號的邊緣,使之不被模糊[5]。中值濾波的算法比較簡單,也易于用硬件實現(xiàn)。算術(shù)平均法是求出一定觀察期內(nèi)預測目標的時間數(shù)列的算術(shù)平均數(shù)作為下期預測值的一種最簡單的時序預測法。常用的有簡單算術(shù)平均法和加權(quán)算術(shù)平均法?;瑒訛V波法就是把連續(xù)取N 個采樣值看成一個隊列,隊列的長度固定為N,每次采樣到一個新數(shù)據(jù)放入隊尾,并扔掉原來隊首的一次數(shù)據(jù).把隊列中的N 個數(shù)據(jù)進行算術(shù)平均運算,就可獲得新的濾波結(jié)果。此方法對周期性干擾有良好的抑制作用,平滑度高 適用于高頻振蕩的系統(tǒng)。
比較幾種濾波方法可以得出。如圖2 所示,中值判斷法更適合恒溫箱的軟件設(shè)計。
本系統(tǒng)的調(diào)試從傳感器的數(shù)據(jù)輸入開始到PWM 的輸出再到GPIO 的測試每一步都要經(jīng)過數(shù)據(jù)的比對。傳感器的數(shù)據(jù)輸入使用的是STM32 單片機的AD 端口,使用ADC 時常常需要不間斷采集大量的數(shù)據(jù),在一般的器件中會使用中斷進行處理,但使用中斷的效率還是不夠高。在STM32 中,使用ADC 時往往采用DMA傳輸?shù)姆绞?,由DMA 把ADC 外設(shè)轉(zhuǎn)換得的數(shù)據(jù)傳輸?shù)絊RAM,再進行處理,甚至直接把ADC 的數(shù)據(jù)轉(zhuǎn)移到串口發(fā)送給上位機。
圖2 中值判斷法
測試使用的端口是ADC1 的通道11,單片機上的引腳為PC1,AD 的轉(zhuǎn)換結(jié)果保存在全局變量ADCConvertedValue 中。將放大器的輸出端接到PC1 上,打開電源后,將ADC 的測試程序燒寫到單片機中,進行在線調(diào)試,觀察Watch1 窗口中ADC-ConvertedValue 值的變化,如圖3 所示。
圖3 Watch1 窗口中ADC-ConvertedValue 值
變量ADC-ConvertedValue 的結(jié)果與真實值相比誤差很小,ADC 端口調(diào)試通過。
在STM32 芯片上,I/O 引腳可以被軟件設(shè)置成各種不同的功能,如輸入或輸出,所以被稱為GPIO(General-purpose I/O)。而GPIO 引腳又被分為GPIOA、GPIOB-GPIOG 不同的組,每組端口分為0~15,共16 個不同的引腳,對于不同型號的芯片,端口的組和引腳的數(shù)量不同。
控制LED 就要選定需要控制的特定引腳,配置需要的特定功能,設(shè)置GPIO輸出電壓的高低。
將LED 測試程序燒寫到單片機中,如圖4 所示,進入調(diào)試界面并全速運行,可以觀察到LED 燈間隔500 毫秒閃爍,GPIO 端口沒有錯誤,調(diào)試完成。
圖4 調(diào)試界面
PWM 由通用定時器產(chǎn)生。通用定時器是通過可編程預分頻器驅(qū)動的16 位自動裝載計數(shù)器構(gòu)成。它適用于很多種場合,包括測量輸入信號的脈沖長度或者產(chǎn)生輸出波形[6]。使用定時預分頻器和RCC 時鐘控制器預分頻器,脈沖長度和波形周期可以再幾個微妙到幾個毫秒之間調(diào)整[7]。定時器是完全獨立的沒有相互共享任何單片機資源。
調(diào)試使用的是定時器3 的2 通道,實現(xiàn)KHz 的不同占空比波形。槳測試程序燒寫到單片機中,進人在線調(diào)試狀態(tài),用示波器觀察輸出端口的波形如圖5 所示。
圖5 示波器顯示的波形圖
本文提出了基于微型計算機機測量和控制技術(shù)的恒溫箱系統(tǒng),STM32F103 單片機作為系統(tǒng)的核心,使用半導體制冷片作為系統(tǒng)的加熱、制冷設(shè)備,轉(zhuǎn)換效率較高,與使用壓縮機的恒溫箱相比更節(jié)能更環(huán)保。
系統(tǒng)初步完成了最初的設(shè)計要求并基本實現(xiàn)了總體功能。經(jīng)過測試,系統(tǒng)的恒溫范圍在25℃-80℃。超調(diào)量為1℃,達到穩(wěn)定的時間為10min 左右,如圖6 所示本設(shè)計的實物圖。
圖6 基于STM32 單片機的恒溫箱系統(tǒng)實物圖
[1] 徐亞飛,劉官敏,高國章,等.溫箱溫度PID 與預測控制[J].武漢理工大學學報(交通科學與工程版),2004,28(4):554-557.
[2] 呂芮棟,張志文.以MSP430F149 為核心的溫度檢測儀的硬件模塊和軟件設(shè)計[J].現(xiàn)代電子技術(shù).,2012,35(1):199-201.
[3] 施春寧,張中華,王濤.談PID 控制的理論分析[J].山西建筑,2012,38(3):238-240.
[4] 張鵬飛,齊曉慧.基于N 溝道MOS 管H 橋驅(qū)動電路設(shè)計與制作[J].科技信息,2012(20):147,149.
[5] 廖建興.基于DB6225 芯片的H 橋電機驅(qū)動器[J].研究與設(shè)計,2012(1):32-35.
[6] 汪亮亮.溫室溫度檢測及報警器的設(shè)計與功能實現(xiàn)[J].電腦知識與技術(shù),2012,8(12):2906-2907.
[7] TomaszKlopot,Jacek czeczot..Flexible function block implementation[J].Energy and Environment,2014,4(4):21-23.