基于SPCE061A的水溫監(jiān)控系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:采用單片機(jī)SPCE061A作為溫度監(jiān)控核心部件,結(jié)合PT100傳感器完成對(duì)水溫的采樣,通過(guò)數(shù)字濾波技術(shù)消除系統(tǒng)的干擾還原當(dāng)前的溫度值,并且對(duì)采集到的溫度值進(jìn)行比例積分微分運(yùn)算處理,實(shí)現(xiàn)了一種水溫監(jiān)控系統(tǒng)的設(shè)計(jì)。測(cè)試結(jié)果表明,該系統(tǒng)具有良好的溫控能力。
關(guān)鍵詞:SPCE061A;單片機(jī);溫度控制;PID;Pt100
溫度控制無(wú)論在工業(yè)控制領(lǐng)域還是消費(fèi)電子領(lǐng)域應(yīng)用都非常廣泛,如工業(yè)控制中的鍋爐、加熱爐的控制,消費(fèi)電子領(lǐng)域的熱水器、飲水機(jī)的控制。內(nèi)部都涉及到溫度控制。且目前控制算法的豐富也為溫度控制提供了便利條件,應(yīng)用較為普遍地有比例積分微分(PID)控制、模糊控制等。
1 系統(tǒng)硬件設(shè)計(jì)
本系統(tǒng)以SPCE061A為控制核心,包括傳感器電路、鍵盤和顯示電路、繼電器控制電路和UART通信電路4大模塊。利用SPCE061A自帶的10位A/D轉(zhuǎn)換器,結(jié)合PT100溫度傳感器完成對(duì)水溫的采樣,通過(guò)數(shù)字濾波等技術(shù)消除系統(tǒng)的干擾因素還原當(dāng)前的溫度值,通過(guò)數(shù)碼管顯示出來(lái),并且對(duì)采集到的溫度值進(jìn)行PID運(yùn)算處理.實(shí)現(xiàn)對(duì)水溫的控制。除此之外,系統(tǒng)還要實(shí)現(xiàn)PC機(jī)與單片機(jī)的上下位機(jī)通信功能,在PC機(jī)上實(shí)時(shí)顯示溫度加熱曲線。系統(tǒng)整體框圖如圖1所示。
1.1 SPCE061A核心控制器
SPCE061A是一款16位u'nspTM內(nèi)核的微控制器,該微控制器不僅能夠?qū)崿F(xiàn)基本控制功能同時(shí)還具有一些DSP功能。該芯片內(nèi)嵌32k的Flas-hROM和2 k字的SRAM,同時(shí)還集成了ADC、DAC、AGC放大電路等,是一顆功能強(qiáng)大的SOC芯片。該芯片擁有8路10位精度的ADC,其中一路為音頻轉(zhuǎn)換通道,另外7路可作為普通的AD轉(zhuǎn)換通道。它可以實(shí)現(xiàn)簡(jiǎn)單的加減運(yùn)算,為了處理復(fù)雜的算術(shù)運(yùn)算還添加了硬件乘法器,能夠進(jìn)行n項(xiàng)內(nèi)積運(yùn)算。最高系統(tǒng)時(shí)鐘可達(dá)到49 MHz,較高的處理速度使SPCE061A能夠非常容易快速地進(jìn)行復(fù)雜的算術(shù)邏輯運(yùn)算。本系統(tǒng)所采用的是61板,而61板就是SPCE061的開發(fā)系統(tǒng),61板除了具有單片機(jī)最小系統(tǒng)外,還有電源電路、音頻電路、復(fù)位電路和按鍵等。
1.2 傳感器電路
傳感器電路包括測(cè)量電橋和放大電路兩部分,如圖2所示。
本系統(tǒng)的溫度傳感器采用鉑熱電阻溫度傳感器PT100,鉑熱電阻的物理化學(xué)性能在高溫和氧化性介質(zhì)中很穩(wěn)定,它能用作工業(yè)測(cè)溫元件,且此元件線性較好,在0~100℃時(shí),最大非線性偏差小于0.5℃。R2、R3、R和PT100組成傳感器測(cè)量電橋,為了保證電橋輸出電壓信號(hào)的穩(wěn)定性,電橋的輸入電壓通過(guò)TL431穩(wěn)至2.5 V。從電橋獲取的差分信號(hào)通過(guò)兩級(jí)運(yùn)放放大后輸入單片機(jī)。電橋的一個(gè)橋臂采用可調(diào)電阻R3,通過(guò)調(diào)節(jié)R3可以調(diào)整輸入到運(yùn)放的差分電壓信號(hào)大小,通常用于調(diào)整零點(diǎn)。
放大電路采用LM358集成運(yùn)算放大器,為了防止單級(jí)放大倍數(shù)過(guò)高帶來(lái)的非線性誤差,放大電路采用兩級(jí)放大,如圖2所示,前一級(jí)約為10倍,后一級(jí)約為3倍。溫度在0~100℃變化,當(dāng)溫度上升時(shí),PT100阻值變大,輸入放大電路的差分信號(hào)變大,放大電路的輸出電壓AV對(duì)應(yīng)升高。[!--empirenews.page--]
1.3 鍵盤和顯示電路
鍵盤直接使用61板自帶的按鍵,不需要另外連接硬件即可使用。顯示電路采用LED鍵盤模組來(lái)實(shí)現(xiàn),LED鍵盤模組采用DC 5 V供電,集成了LED、KEY、數(shù)碼管功能,作為SPCE061A外圍器件的擴(kuò)展模塊來(lái)使用。LED模塊擴(kuò)展了6位8段數(shù)碼管,最大顯示數(shù)據(jù)為999 999;有8個(gè)發(fā)光二極管,8個(gè)按鍵(可以組成1x8KEY也可組成2x4KEY),1個(gè)電位器,可以提供0~5 V的模擬電壓信號(hào)或者0~3.3 V的模擬電壓,與模組輸入的VDD有關(guān)。鍵盤和顯示電路主要用來(lái)設(shè)定和顯示實(shí)時(shí)溫度。
1.4 繼電器控制電路
本系統(tǒng)的主要功率器件為一個(gè)交流220 V/1 000 W的電加熱器,采用繼電器來(lái)驅(qū)動(dòng)該加熱器。繼電器選擇OMRONG6B—1174P型繼電器,該繼電器具有觸發(fā)電壓低(DC:5 V),可控功率大(AC:8 A,250 V),以及反應(yīng)時(shí)間短等優(yōu)點(diǎn)。采用NPN8050三極管驅(qū)動(dòng)繼電器,當(dāng)控制端Ctrl加載高電平信號(hào)時(shí)三極管導(dǎo)通,繼電器工作,當(dāng)控制端Ctrl為低電平信號(hào)時(shí)三極管截止,繼電器停止工作。繼電器的周圍有續(xù)流保護(hù)電
路和工作指示電路,功率驅(qū)動(dòng)部分電路如圖3所示。Ctrl為繼電器控制信號(hào)輸入端,通過(guò)單片機(jī)的IOA7控制。J2為控制加熱器的開關(guān)接口。
2 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)程序的控制思想:設(shè)置目標(biāo)溫度后,系統(tǒng)采樣水溫,并通過(guò)預(yù)設(shè)溫度,當(dāng)前溫度,歷史偏差等進(jìn)行PID運(yùn)算產(chǎn)生four輸出參數(shù),通過(guò)該參數(shù)控制加熱時(shí)間,從而調(diào)節(jié)加熱器的平均功率,實(shí)現(xiàn)系統(tǒng)的PID控制。整體功能通過(guò)主程序和中斷服務(wù)程序配合實(shí)現(xiàn)。中斷服務(wù)包括IRQ5_2Hz中斷,IRQ5_4Hz中斷,IRQ2_TimerB中斷以及IRQ6_TMB2(1 024 Hz)中斷。這里主要介紹主程序流程和主要子程序流程。系統(tǒng)首先初始化I/O、TimerB、UART等部件,之后進(jìn)入主循環(huán),進(jìn)行溫度采樣和相關(guān)處理。本系統(tǒng)軟件設(shè)計(jì)的核心思想就在于PID控制的實(shí)現(xiàn),在系統(tǒng)運(yùn)行過(guò)程中通過(guò)按KEY3鍵重新設(shè)置目標(biāo)溫度。主程序流程如圖4所示。
[!--empirenews.page--]
2.1 A/D轉(zhuǎn)換子程序
A/D轉(zhuǎn)換:每間隔1s執(zhí)行一次溫度采樣操作.每次采樣執(zhí)行18次A/D轉(zhuǎn)換;在IRQ5_2Hz中斷服務(wù)程序中完成,IRQ5_2Hz用以提供1 s時(shí)間以確定AD采樣的時(shí)間間隔,A/D轉(zhuǎn)換子程序流程圖如圖5所示。
2.2 溫度PID控制的實(shí)現(xiàn)
本方案利用位置式PID算法,將溫度傳感器采樣輸入作為當(dāng)前輸入,然后與設(shè)定值進(jìn)行相減得偏差,然后再對(duì)之進(jìn)行PID運(yùn)算產(chǎn)生輸出結(jié)果four,然后讓four控制定時(shí)器的時(shí)間進(jìn)而控制加熱器。IRQ2_TimerB提供溢出頻率為64 Hz的中斷信號(hào),配合主程序的PID運(yùn)算結(jié)果four確定加熱時(shí)間,實(shí)現(xiàn)加熱器功率調(diào)節(jié),該部分子程序流程圖如下圖6所示。
3 系統(tǒng)運(yùn)行性能測(cè)試
本系統(tǒng)的關(guān)鍵之處在于PID控制。對(duì)于PID系統(tǒng)來(lái)說(shuō),系統(tǒng)性能的好壞主要取決于PID控制的參數(shù)的設(shè)定。由PID控制原理知:比例(P)控制能迅速反應(yīng)誤差,減小穩(wěn)態(tài)誤差:比例作用的加大,會(huì)引起系統(tǒng)的不穩(wěn)定。積分(I)控制的作用,只要系統(tǒng)有偏差存在,積分作用不斷地積累,輸出控制量以消除誤差;積分作用太強(qiáng)會(huì)使系統(tǒng)超調(diào)加大,甚至使系統(tǒng)出現(xiàn)振蕩。微分(D)控制可以減小超調(diào)量,克服振蕩,使系統(tǒng)的穩(wěn)定性提高,同時(shí)加快系統(tǒng)的動(dòng)態(tài)響應(yīng)速度,減小調(diào)整時(shí)間,從而改善系統(tǒng)的動(dòng)態(tài)性能。
本系統(tǒng)能夠?qū)崿F(xiàn)的基本功能如下:
1)溫度的實(shí)時(shí)采集顯示:
2)對(duì)溫度的變化能夠做出及時(shí)的處理,能夠應(yīng)用PID調(diào)節(jié);
3)通過(guò)UART實(shí)現(xiàn)上下位機(jī)通信。并在上位機(jī)上顯示溫度的變化曲線。
在系統(tǒng)調(diào)試過(guò)程中,通過(guò)改變關(guān)鍵的PID系統(tǒng)參數(shù)Kp、Kd,觀察系統(tǒng)運(yùn)行性能的變化,以使系統(tǒng)處于最佳運(yùn)行狀態(tài),以下是測(cè)試過(guò)程及測(cè)試結(jié)果。
1)Kp=1.5、Kd=1.0(溫升:20~40℃)對(duì)應(yīng)的曲線如圖7所示,由圖形可以看出來(lái),由于過(guò)大,造成超調(diào)量過(guò)大。
[!--empirenews.page--]
2)Kp=1.2、Kd=1.0(溫升:40~60℃)對(duì)應(yīng)的曲線如圖8所示,由圖形可以看出來(lái),由于過(guò)小,系統(tǒng)的快速性不好,反應(yīng)比較遲鈍。
3)Kp=1.3、Kd=1.0(溫升:30~50℃)對(duì)應(yīng)的曲線如圖9所示,由圖形可以看出來(lái),由于過(guò)小,系統(tǒng)的超調(diào)量比較大,而且預(yù)測(cè)性不好,造成溫度長(zhǎng)時(shí)間超調(diào)。
4)Kp=1.3、Kd=2.0((溫升:50~70℃))對(duì)應(yīng)的曲線如圖10所示,由圖形觀察可知:選擇適中,系統(tǒng)的超調(diào)量很小,而且超調(diào)維持時(shí)間很短就會(huì)恢復(fù)平衡點(diǎn)。
通過(guò)以上幾次的測(cè)量曲線分析,最終選擇Kp=1.3、Kd=2.0。此時(shí)溫度控制指標(biāo)如下:靜態(tài)誤差:T≤0.5℃;分辨率:0.1℃;超調(diào)量:T≤0.5℃。這樣的情況下,系統(tǒng)運(yùn)行情況可以達(dá)到最好。
4 結(jié)論
基于16位單片機(jī)SPCE061A的DSP功能以及快速的處理能力,本系統(tǒng)的數(shù)據(jù)采集和運(yùn)算處理十分的方便簡(jiǎn)單,另外由于IDE支持標(biāo)準(zhǔn)的C語(yǔ)言函數(shù)庫(kù),使得復(fù)雜的數(shù)學(xué)運(yùn)算變得輕而易舉,大大減小了編程的難度。另外采用VC實(shí)現(xiàn)上下位機(jī)相互通信,在上位機(jī)直接顯示溫度的變化曲線,直接觀察控制的性能,并根據(jù)曲線適當(dāng)?shù)男薷南到y(tǒng)的PID參數(shù),使控制達(dá)到最優(yōu)化。