基于SPCE061A的高精度多通道溫度測(cè)量系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
溫度的測(cè)量與控制在工農(nóng)業(yè)生產(chǎn)、日常生活及科學(xué)研究中有著廣泛的應(yīng)用。由于常用溫度傳感器的非線性輸出及一致性較差,使溫度的測(cè)量方法和手段相對(duì)較復(fù)雜,也給電路的調(diào)試增加了難度。為此,設(shè)計(jì)了以臺(tái)灣凌陽公司生產(chǎn)的SPCE061A 16位高性能單片機(jī)為系統(tǒng)控制核心。采用DALLAS公司的DS18820作為溫度傳感器的三通道高精度溫度測(cè)控儀,該測(cè)控儀實(shí)現(xiàn)了溫度數(shù)據(jù)和日期、時(shí)間的顯示與保存;可輸出顯示三組溫度和三路控制信號(hào),具有故障和報(bào)警狀態(tài)提示等功能,保證了測(cè)試的精度以及系統(tǒng)的可靠性和控制要求。
1 系統(tǒng)硬件設(shè)計(jì)
多通道智能溫度測(cè)控儀的硬件電路原理框圖如圖1所示,測(cè)控儀主要由SPCE061A單片機(jī)、溫度傳感器DS18B20和LCD顯示電路、鍵盤電路、串/并轉(zhuǎn)換電路、時(shí)鐘電路等組成。
微處理器是系統(tǒng)的核心,它控制測(cè)量過程,進(jìn)行數(shù)據(jù)處理。它的設(shè)計(jì)和選用要考慮傳感器的測(cè)量速度、精度、分辨率及數(shù)據(jù)處理能力等。對(duì)于集成傳感器,設(shè)計(jì)微處理器(Microprocessor)的功能要適當(dāng),設(shè)計(jì)時(shí)既要考慮產(chǎn)品質(zhì)量、可靠性,又要考慮降低成本,簡(jiǎn)化結(jié)構(gòu),滿足芯片尺寸的要求。因此,選用SPCE061A作為系統(tǒng)微處理器。
SPCE061A芯片是凌陽公司推出的一款高性價(jià)比的16位單片機(jī),其主要特性為:工作電壓:CPU的內(nèi)核工作電壓VDD=3.0~3.6 V,I/O口的工作電壓VDDH=VDD~5.5 V;CPU時(shí)鐘的頻率為:0.32~49.152 MHz;內(nèi)置2 Kword SRAM和32 KB閃存ROM;系統(tǒng)處于備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài)),耗電小于2μA@3.6 V;具備觸鍵喚醒的功能;32位通用可編程輸入/輸出端口;2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值);7通道10位電壓模/數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模/數(shù)轉(zhuǎn)換器;2個(gè)10位數(shù)/模轉(zhuǎn)換(DAC)輸出通道;14個(gè)中斷源可來自定時(shí)器A/B,時(shí)基,2個(gè)外部時(shí)鐘源輸入,鍵喚醒;具備串行設(shè)備接口;低電壓復(fù)位(LVR)和低電壓監(jiān)測(cè)(LVD)功能;內(nèi)置在線仿真(In-Circuit Emulation,ICE)。另外16位單片機(jī)具有一套易學(xué)易用、效率較高的指令系統(tǒng)和集成開發(fā)環(huán)境。在此環(huán)境中,支持標(biāo)準(zhǔn)C語言,可以實(shí)現(xiàn)C語言與凌陽匯編語言的互相調(diào)用。
1.1 溫度數(shù)據(jù)采集
溫度數(shù)據(jù)采集電路選用Dallas公司生產(chǎn)的DS18B20。DS18B20是“一線總線”數(shù)字化溫度傳感器,測(cè)量溫度范圍為-55~+125℃,在-10~+85℃范圍內(nèi),精度為士O.5℃。該器件只有3個(gè)引腳(即電源VDD、地線GND、數(shù)據(jù)線DQ),不需要外部元件,一條數(shù)據(jù)線進(jìn)行通信。設(shè)計(jì)系統(tǒng)檢測(cè)溫度范圍設(shè)計(jì)為-10~+85℃,精度為0.2℃,已經(jīng)能夠滿足絕大多數(shù)工作環(huán)境的要求;用9 b數(shù)字量來表示溫度;每次將溫度轉(zhuǎn)換成數(shù)字量需時(shí)200 ms。在單總線工作方式下,允許一條信號(hào)線上掛接多個(gè)DS18B20,DS18B20都有惟一的ROM代碼(64位產(chǎn)品序列號(hào))。在多點(diǎn)溫度測(cè)控系統(tǒng)中,ROM代碼是識(shí)別和操作DS18B20的基礎(chǔ);無論讀取,還是選擇對(duì)某一個(gè)傳感器進(jìn)行操作,主機(jī)必須發(fā)送64位ROM代碼。
為了保證測(cè)試精度,系統(tǒng)設(shè)計(jì)了A,B,C三個(gè)溫度采集通道,以便測(cè)試溫度場(chǎng)分布較大的環(huán)境。當(dāng)溫度達(dá)到設(shè)定要求時(shí),控制電路可以產(chǎn)生相應(yīng)的控制動(dòng)作,比如切斷加熱電源或者發(fā)出告警信號(hào)。DS18B20溫度與轉(zhuǎn)換數(shù)值之間的關(guān)系見表1。
1.2 人機(jī)接口
系統(tǒng)鍵盤由SPCE061A的IOB5~8組成,它們分別是功能鍵、增加鍵、減少鍵、復(fù)位鍵。用來實(shí)現(xiàn)溫、度上、下限及控制時(shí)間的設(shè)置功能。測(cè)控儀采用驅(qū)動(dòng)128段LCD顯示器,用于顯示現(xiàn)場(chǎng)的溫度值、時(shí)間、故障和報(bào)警狀態(tài)。HT1621是一個(gè)128(32×4)段、內(nèi)存映射、多功能、I2C接口的LCD驅(qū)動(dòng)器。這里利用其兩線串行模式與單片機(jī)接口,簡(jiǎn)化了與單片機(jī)的接口電路設(shè)計(jì),并減少了硬件資源的占用。
2 系統(tǒng)軟件設(shè)計(jì)
主程序主要完成系統(tǒng)初始化、掃描鍵盤、溫度采樣并對(duì)采樣數(shù)值進(jìn)行運(yùn)算、顯示溫度及控制輸出等工作。主程序流程圖如圖2所示。定時(shí)器B用于定時(shí)控制采樣的時(shí)間。系統(tǒng)設(shè)定采樣周期為2 s,而控制周期為500μs。通過鍵盤設(shè)定控制溫度數(shù)值,輸入后做相應(yīng)的數(shù)據(jù)備份,即將參數(shù)存入單片機(jī)SPCE061A內(nèi)的FLASH ROM中。
系統(tǒng)采用數(shù)字PID算法來提高系統(tǒng)的控制精度,PID用增量式表示為:
由于溫度響應(yīng)具有遲滯性,屬于一階延時(shí)系統(tǒng),若采用常規(guī)PID算法,控制效果不好,并且會(huì)出現(xiàn)較大的超調(diào)量。為了解決這一問題.設(shè)計(jì)采用積分分離PID算法,從實(shí)驗(yàn)結(jié)果來看,性能指標(biāo)均有所提高。
當(dāng)被控量與設(shè)定值偏差較大時(shí),取消積分作用;當(dāng)被控量與設(shè)定值偏差很小時(shí),加入積分作用,即系統(tǒng)啟動(dòng)、停止或大幅度改變?cè)O(shè)定值時(shí),只用比例控制和微分控制,然后才加入積分控制,這樣更有利于改善動(dòng)態(tài)特性和消除靜差。具體做法是:針對(duì)被控對(duì)象參量,設(shè)定一個(gè)偏差的門限e0,當(dāng)過程控制中偏差e(n)的絕對(duì)值大于e0時(shí),系統(tǒng)不引入積分控制,只用PD控制;當(dāng)偏差e(n)的絕對(duì)值小于e0時(shí),才引入積分控制,即采用PID控制。對(duì)計(jì)算公式的積分項(xiàng),乘一個(gè)權(quán)系數(shù)μ,按式(3)取值:
μ=1,當(dāng)|e(n)|≤e0
3 系統(tǒng)調(diào)試
系統(tǒng)調(diào)試中,采用電加熱器對(duì)1 kg水進(jìn)行加熱,DS18B20將溫度信號(hào)變?yōu)閿?shù)字信號(hào),讀入CPU,通過軟件對(duì)溫度數(shù)據(jù)進(jìn)行校正,同時(shí)將所測(cè)溫度在LCD上進(jìn)行實(shí)時(shí)顯示。根據(jù)系統(tǒng)程序控制,進(jìn)行PID運(yùn)算以及輸出控制,最終由CPU給出控制加熱回路的有效電壓。PID參數(shù)整定:系統(tǒng)采用擴(kuò)充臨界比例度法來整定。
通過實(shí)驗(yàn)測(cè)量,被控對(duì)象的純滯后時(shí)間為20 s左右,因此選擇采樣周期為2 s。通過實(shí)測(cè)數(shù)據(jù)比較,選擇控制度為1.2,采用PI控制,經(jīng)過對(duì)參數(shù)進(jìn)行微調(diào),最后得出最佳PID參數(shù),即KP=2.11,K1=0.043。在系統(tǒng)調(diào)試中實(shí)測(cè)數(shù)據(jù)表明,控制器平均控制精度在士0.2℃之內(nèi)。表2為調(diào)試過程中3個(gè)通道的1次數(shù)據(jù)記錄。從數(shù)據(jù)可以看出,當(dāng)設(shè)定溫度為80℃時(shí),最后穩(wěn)定溫度為80.2℃,控制精度比較高。
4 結(jié) 語
多通道溫度測(cè)控系統(tǒng)采用抗干擾性能強(qiáng),功耗低的SPCE061A16位單片機(jī)和一線式數(shù)字溫度傳感器DS18B20,使系統(tǒng)的硬件電路結(jié)構(gòu)得到高度簡(jiǎn)化。軟件采用高精度的PID控制算法,使測(cè)量及控制性能得到顯著提高。經(jīng)實(shí)際使用證明,具有測(cè)量精度高.硬件電路合理,性價(jià)比高,使用方便等特點(diǎn),克服了傳統(tǒng)溫度儀測(cè)量精度低,電路復(fù)雜,調(diào)試及標(biāo)定困難等缺點(diǎn)。該系統(tǒng)可應(yīng)用到大部分溫度、溫差的高精度控制場(chǎng)合中。