包 妍 ,袁 宏,高明亮 ,杜士鵬
(1.沈陽工業(yè)大學(xué) 電氣工程學(xué)院,遼寧 沈陽 110136;2.沈陽工程學(xué)院 自控系,遼寧 沈陽 110136)
目前,相關(guān)行業(yè)領(lǐng)域一直在不斷探索研究節(jié)能、智能、過程簡化的溫度控制方法。本文研究以FPGA芯片為核心的溫度控制系統(tǒng),將其應(yīng)用在制冷工況中。
此系統(tǒng)采用自頂向下的設(shè)計(jì)方法,使用模塊化設(shè)計(jì),配以硬件語言編程,只修改源程序,不必更改硬件電路,就可實(shí)現(xiàn)在線編程,時(shí)時(shí)控制,從而有效地減少系統(tǒng)的體積,不但增加了系統(tǒng)可靠性,降低研制成本,并且能夠?qū)刂七壿嬤M(jìn)行修改升級(jí),十分靈活?;贔PGA芯片開發(fā)的設(shè)計(jì)方法和控制方式,正得到越來越多的應(yīng)用[1]。圖1為采用FPGA技術(shù)構(gòu)建的系統(tǒng)結(jié)構(gòu)圖。
圖1 系統(tǒng)結(jié)構(gòu)圖
傳統(tǒng)模擬信號(hào)溫度檢測(cè)通常使用熱敏電阻等器件作為感溫元件,這類器件需A/D轉(zhuǎn)換等后續(xù)處理電路,且可靠性相對(duì)較差,使用中需要解決引線誤差補(bǔ)償、多點(diǎn)測(cè)量誤差和放大電路零點(diǎn)漂移誤差等技術(shù)問題。另外,溫度采集現(xiàn)場(chǎng)各種電磁干擾信號(hào)較強(qiáng),模擬溫度信號(hào)容易受到干擾而產(chǎn)生測(cè)量誤差,影響測(cè)量精度。
為了克服上述一系列問題,本研究采用美國Dallas半導(dǎo)體公司1-Wire系列的高精度數(shù)字式溫度傳感器DS18B20。它具有超小體積,超低硬件資源占用率,抗干擾能力強(qiáng),精度高,附加功能強(qiáng)等諸多優(yōu)點(diǎn)。
DS18B20的內(nèi)部結(jié)構(gòu)如圖2[2]所示 。主要由四部分組成:光刻ROM、溫度傳感器、非易失性的溫度報(bào)警觸發(fā)器TH和TL配置寄存器。
圖2 DS18B20 內(nèi)部結(jié)構(gòu)圖
DS18B20測(cè)溫原理:低溫度系數(shù)晶振振蕩固定頻率的脈沖信號(hào)送給計(jì)數(shù)器1。高溫度系數(shù)晶振隨溫度變化振蕩率明顯改變,產(chǎn)生信號(hào)作為計(jì)數(shù)器2脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1預(yù)置值減到0時(shí),溫度寄存器值將加1,計(jì)數(shù)器1的預(yù)置重新被裝入,計(jì)數(shù)器1重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。
參照?qǐng)D2,訪問DS18B20的流程:初始化,發(fā)送ROM命令,發(fā)送功能命令,使主設(shè)備知道從設(shè)備存在并可以工作。通過發(fā)送ROM命令可以知道某特定的DS18B20是否存在或者是否超過溫度設(shè)定閘門值。
發(fā)送功能命令,即可讀寫DS18B20的存儲(chǔ)區(qū),啟動(dòng)溫度轉(zhuǎn)化,設(shè)定電源供電方式。每個(gè)命令均對(duì)應(yīng)不同代碼,在總線上傳送時(shí),由器件根據(jù)接收代碼完成相應(yīng)操作。DS18B20的單線通信功能為分時(shí)完成。主要操作時(shí)序分為:初始化、主機(jī)寫0、主機(jī)寫1、主機(jī)讀0、主機(jī)讀1。
本研究采用支持SOPC的芯片EP2C8Q208作為系統(tǒng)控制器。它是Cyclone II系列的FPGA芯片,支持Nios II嵌入式處理器。采用這個(gè)系統(tǒng)解決方案可以縮短開發(fā)周期、減少器件數(shù)目、提高了系統(tǒng)可靠性,使系統(tǒng)易實(shí)現(xiàn)、易升級(jí)、易移植,具有較強(qiáng)的適應(yīng)性和可擴(kuò)展性。
在FPGA芯片中設(shè)計(jì)接口,用該接口對(duì)溫度傳感器DS18B20進(jìn)行檢測(cè)采集,測(cè)得溫度值存入FPGA內(nèi)部寄存器中作數(shù)據(jù)處理,計(jì)算比較當(dāng)前熱量值是否足夠達(dá)到平衡,使整個(gè)系統(tǒng)做出反應(yīng)進(jìn)行相應(yīng)控制,如控制制冷系統(tǒng)閘門開啟個(gè)數(shù)及報(bào)警指示等。
EP2C8Q208通過使用Quartus II軟件、Nios II集成開發(fā)環(huán)境(IDE),可以很好地完成對(duì)系統(tǒng)的控制。本研究根據(jù)系統(tǒng)的偏差變化率來控制,溫度控制系統(tǒng)的結(jié)構(gòu)如圖3所示。
圖3 控制器構(gòu)成的控制系統(tǒng)結(jié)構(gòu)
(1)
由于采樣過程中采樣周期固定不變,為簡化運(yùn)算過程,本設(shè)計(jì)中用偏差變化量來代替偏差變化率,如式(2)所示。
(2)
1)偏差e的計(jì)算。由于時(shí)刻k時(shí)偏差為e(k)=r-c(k),對(duì)于FPGA來說只要一個(gè)減法器便可實(shí)現(xiàn)運(yùn)算。設(shè)在FPGA設(shè)計(jì)中當(dāng)前時(shí)刻為n,則偏差E(n):E(n)=R-C(n)=R+NOT{C(n)}+Cin。一般設(shè)定值和實(shí)際值都是正數(shù),此時(shí)偏差為:
E(n)=R-C(n)={0,R}+NOT{0,C(n)}+Cin
(3)
(4)
式(4)中,X1(n)、X2(n)用來判斷偏差的范圍,X3(n)、X4(n)用來判斷偏差變化率的范圍。
X1(n)=E(n)+E0=E(n)-(-E0)
(5)
根據(jù)公式(5)可以推斷偏差的工況,即:
IF Xl(n)符號(hào)位為‘1’
THEN Xl(n)<0 //即E(n)< (-E0)
IF Xl(n)符號(hào)位為‘0’,
THEN Xl(n)1≥0 //即E(n)≥(-E0)
通過對(duì)DS18B20數(shù)字傳感器結(jié)構(gòu)性能、溫度采集方式、通信過程進(jìn)行分析,同時(shí)對(duì)FPGA芯片EP2C8Q208的使用特點(diǎn)進(jìn)行分析,研究出合理的將二者有機(jī)結(jié)合,應(yīng)用于制冷工況的溫度控制方法。該系統(tǒng)時(shí)時(shí)接收溫度參數(shù),計(jì)算比較熱量值是否達(dá)到要求,并做出相應(yīng)的溫度控制,以其非常簡潔的硬件電路、穩(wěn)定的方式控制系統(tǒng)制冷量。本研究亦可擴(kuò)展報(bào)警指示等功能,具有廣泛應(yīng)用前景。
[參考文獻(xiàn)]
[1] Robert Francis, Jonathan Rose, Zvonko Vranesic. Fast technology mapping for lookup table-based FPGAs [C]. Proc of the 28th conference on ACM/IEEE design automation, 1991, 27-233.
[2] DS18B20 Datasheet [ EB/ OL ]. Dallas : Dallas Semiconductor Corporation ,2005.
[3] Narashiman Chakravarthy, Ji-zhong Xiao. FPGA-based control system for miniature robots.The IEEE International Conference on Intelligent Robots and Systems[C].Beijing.2006:3399-3404.
[4] 譚思云,徐武雄.九點(diǎn)控制器的動(dòng)態(tài)性能研究[J].武漢理工大學(xué)學(xué)報(bào),2002,24(11):78-79.
[5] Sun Xiao-ming,Zhang Nan-lun.Nine-Point controller[C].Proceedings of the 4th World Congress on Intelligent Control and Automation,Shanghai,China,2002, 644-648.