摘 要: 根據(jù)電熱爐對溫度數(shù)據(jù)檢測精密性以及實時控制可靠性的要求,,提出了一種基于嵌入式處理器的爐溫采集與控制系統(tǒng),。分析了該系統(tǒng)的工作原理和結(jié)構(gòu),設(shè)計了系統(tǒng)的硬件,,完成了數(shù)據(jù)采集,、精確溫度控制以及數(shù)據(jù)存儲等功能。研制出一臺基于ARM(S3C2440A)的溫度采集與控制系統(tǒng),,試驗驗證了該系統(tǒng)數(shù)據(jù)采集的可靠性和溫度控制的精確性,。該系統(tǒng)具有良好的經(jīng)濟性和實用價值。
關(guān)鍵詞: 嵌入式,;流驅(qū)動,;模糊自適應(yīng)控制;ADOCE
現(xiàn)代工業(yè)生產(chǎn)和人們的日常生活中熱處理技術(shù)得到廣泛應(yīng)用,。隨著科學技術(shù)的不斷發(fā)展,,人們對熱處理過程中精確度和可靠性方面的要求也不斷提高,,電熱爐作為熱處理中的一種重要工具,其溫度檢測和控制就顯得格外重要,。
當前的溫度采集與控制系統(tǒng)多以單片機為核心,,雖然能夠滿足數(shù)據(jù)采集與控制的基本要求,但其終端功能較少,,采樣精度和速度較低,,系統(tǒng)的設(shè)計復(fù)雜,升級困難,,兼容性和可讀性較差,,數(shù)據(jù)不易長期存儲,對以后的發(fā)展帶來了諸多不便,。
本文以時下廣泛應(yīng)用的嵌入式微型處理器ARM為核心,,搭載嵌入式WINCE操作系統(tǒng),設(shè)計研發(fā)了一套高精度溫度采集與控制系統(tǒng),,并對該系統(tǒng)的硬件設(shè)計,、底層驅(qū)動以及系統(tǒng)中軟件功能的實現(xiàn)進行了詳細的闡述。
1 系統(tǒng)的總體架構(gòu)及硬件構(gòu)成
1.1 系統(tǒng)總體架構(gòu)
本系統(tǒng)采取嵌入式處理器搭載嵌入式系統(tǒng)的模式對數(shù)據(jù)進行采集,,并根據(jù)數(shù)據(jù)的反饋對溫度進行控制,。
系統(tǒng)采用三星公司的ARM9系列S3C2440A芯片,將外部傳感器的數(shù)據(jù)經(jīng)過濾波,、放大等一系列處理后,,利用內(nèi)置的10位A/D轉(zhuǎn)換器進行模擬量到數(shù)據(jù)量的轉(zhuǎn)換,最高轉(zhuǎn)換頻率可達2.5 MHz,;數(shù)據(jù)傳遞到ARM內(nèi),,在LCD顯示器上進行顯示,顯示結(jié)果經(jīng)過系統(tǒng)處理后,,可采用多種方式進行顯示,,如曲線顯示、數(shù)字顯示等,。轉(zhuǎn)換后的數(shù)據(jù)通過模糊算法處理后,,與預(yù)先設(shè)定的數(shù)值進行比較,將結(jié)果反饋到控制器中進行控制,;本系統(tǒng)采用自動控制和手動控制兩種方式對溫度進行控制操作,。
系統(tǒng)搭載的WINCE操作系統(tǒng)功能強大,對采集到的數(shù)據(jù)進行實時直觀顯示的同時,,并對數(shù)據(jù)進行存儲,,以便以后查詢使用;其便于操作的界面和良好的人機交互性,使得操作和管理更加方便[1],。
1.2 系統(tǒng)硬件設(shè)計
本系統(tǒng)的處理核心為Samsung公司的S3C2440A芯片,。其主頻為400 MHz,最高可達533 MHz,,32 bit總線,,使得數(shù)據(jù)處理與傳輸都有較快的速度;內(nèi)部有8路10 bit內(nèi)置A/D轉(zhuǎn)換器,,最高轉(zhuǎn)換頻率為2.5 MHz,,使得采樣精度較高;外部傳感器根據(jù)具體精度要求可以選用不同精度的傳感器,;外部校正電路是由運放和電阻電感組成的濾波和放大電路,,對外部干擾進行硬件消除;控制執(zhí)行電路由繼電器進行操作,;擴展有串口,、RJ-45網(wǎng)絡(luò)接口、USB接口和SD卡槽等多種接口,,便于以后升級[2]。系統(tǒng)硬件結(jié)構(gòu)圖如圖1所示,。
2 系統(tǒng)軟件設(shè)計
對于整個系統(tǒng)而言,,軟件的設(shè)計關(guān)系到數(shù)據(jù)采集和控制的精確性和穩(wěn)定性,在高速數(shù)據(jù)采集與控制系統(tǒng)中更是對軟件的設(shè)計提出了更高的要求,。軟件的設(shè)計主要包括ARM內(nèi)部A/D轉(zhuǎn)換驅(qū)動,、溫度的控制以及數(shù)據(jù)存儲的實現(xiàn)。
2.1 內(nèi)部A/D轉(zhuǎn)換驅(qū)動的實現(xiàn)
ARM內(nèi)部A/D轉(zhuǎn)換是通過對S3C2440A內(nèi)部的模數(shù)轉(zhuǎn)換相關(guān)寄存器進行操作來實現(xiàn)的,,其主要包括ADCCON(ADC控制寄存器),、ADCDAT(ADC轉(zhuǎn)換數(shù)據(jù)寄存器)及ADCDLY(ADC開始延時寄存器)等。ADCCON控制寄存器主要用來設(shè)置A/D轉(zhuǎn)換器的相關(guān)參數(shù),,在初始化過程中,,要在ADCCON中設(shè)置預(yù)分頻器值、模擬輸入通道以及A/D轉(zhuǎn)換使能等控制變量,,在ADCDLY中設(shè)置開始延時值,;在數(shù)據(jù)轉(zhuǎn)換過程中,ADCDAT的0~9數(shù)據(jù)位儲存A/D轉(zhuǎn)換的數(shù)據(jù)值,,通過底層驅(qū)動的映射,,在WINCE中對ADCDAT中的數(shù)據(jù)進行讀取即可獲得傳感器A/D轉(zhuǎn)換后的數(shù)據(jù)[2],如圖2所示,。
WINCE系統(tǒng)中,,應(yīng)用程序通過文件系統(tǒng),以訪問文件的形式訪問驅(qū)動程序,調(diào)用IOCTL向驅(qū)動程序傳遞各種指令,,底層驅(qū)動通過DeviceManager與ARM的底層硬件進行交流,。其示意圖如圖3所示。
在本系統(tǒng)中,,采用流驅(qū)動形式完成底層硬件的訪問,,流驅(qū)動是WINCE下的一種常規(guī)驅(qū)動,其作為硬件功能的一種軟件抽象,,將硬件功能以函數(shù)的形式提供給外部應(yīng)用程序和操作系統(tǒng),,應(yīng)用程序通過流驅(qū)動接口函數(shù)與外部應(yīng)用程序進行通信。常用的流驅(qū)動程序接口函數(shù)主要有XXX_Close,、XXX_Init,、XXX_Open、XXX_IO-
Control,、XXX_Read,、XXX_Write等(其中“XXX”為驅(qū)動名稱)。當外部應(yīng)用程序調(diào)用與流驅(qū)動相關(guān)函數(shù)時,,自動調(diào)用相應(yīng)的流驅(qū)動接口函數(shù),,完成與驅(qū)動的交流。例如,,當外部應(yīng)用程序調(diào)用DeviceIoControl時,,驅(qū)動就會調(diào)用XXX_IOControl。根據(jù)IO_CTL_XXX的數(shù)值決定執(zhí)行何種操作,。
本系統(tǒng)中,,在WINCE外部應(yīng)用程序中調(diào)用CreateFile()函數(shù),底層驅(qū)動便會響應(yīng)XXX_Open函數(shù),,通過文件的形式打開底層驅(qū)動,。驅(qū)動通過DeviceManager獲得硬件中A/D轉(zhuǎn)換的數(shù)據(jù),在A/D轉(zhuǎn)換數(shù)據(jù)寄存器0~9數(shù)據(jù)位存儲A/D轉(zhuǎn)換后的數(shù)據(jù),。外部應(yīng)用程序通過調(diào)用ReadFile()函數(shù),,調(diào)用底層驅(qū)動程序中的XXX_Read函數(shù),讀取底層驅(qū)動中的內(nèi)容,,獲得寄存器中的數(shù)據(jù)[3-4],。
2.2 溫度控制的實現(xiàn)
系統(tǒng)在測量溫度的同時,要對溫度的高低進行控制,,以期使溫度滿足一定的要求,,因此,溫度控制的實現(xiàn)也是本系統(tǒng)中的一個重要功能,。
2.2.1 溫度控制總體設(shè)計
溫度由固態(tài)繼電器控制電加熱絲實現(xiàn),,繼電器的控制信號由ARM的PWM輸出控制,與A/D轉(zhuǎn)換相似,PWM的信號由應(yīng)用程序調(diào)用流驅(qū)動接口函數(shù)控制相應(yīng)的寄存器來實現(xiàn),。
系統(tǒng)的溫度控制分為自動模式和手動模式,。自動模式情況下根據(jù)檢測到的傳感器數(shù)據(jù),按照預(yù)先設(shè)定好的程序控制繼電器,,對電熱爐進行加熱,;切換到手動模式時,會屏蔽自動模式的程序,,根據(jù)用戶的要求來執(zhí)行繼電器的相應(yīng)操作,。
在自動模式的程序設(shè)計中,當溫度低于某一設(shè)定值(即臨界溫度)時,,啟動相應(yīng)的繼電器進行加熱,,加熱爐采用不同功率的電熱絲,溫度越低啟動電熱絲的功率越大,,以使溫度能夠快速回到目標溫度,;考慮到電熱絲加熱后會有余溫,在距離目標溫度尚有一定距離時,,即停止加熱(停熱溫度),,余溫會使溫度繼續(xù)上升,當溫度下降之后再啟動繼電器,,根據(jù)下降的溫度不同,,再次啟動不同功率、不同數(shù)量的電熱絲進行工作,,如圖4所示。
在手動調(diào)節(jié)模式下,,會對自動模式中的程序進行屏蔽,,而只是根據(jù)操作者的規(guī)定進行調(diào)節(jié)。手動模式可以根據(jù)需要在自動模式需要關(guān)閉的情況下進行短時間的控制,。
2.2.2 溫度精確控制的實現(xiàn)
電熱爐應(yīng)用場合一般比較復(fù)雜,,受到較多的干擾,其具有嚴重的非線性以及時變性,,確定模型的常規(guī)控制方法很難實現(xiàn)溫度的精確控制,。
傳統(tǒng)的模糊控制方法是將不確定的控制對象模型變量用模糊條件語句進行描述,并根據(jù)經(jīng)驗確定模型的各個參數(shù)及控制規(guī)則,;自適應(yīng)控制方法是通過自適應(yīng)學習,、聯(lián)想、類比等能力來調(diào)整控制參數(shù)的權(quán)值,、減小誤差的一種控制方法,,具有很好的容錯性和魯棒性。本系統(tǒng)采用模糊控制與自適應(yīng)控制相結(jié)合的方法,結(jié)合兩種控制方法的優(yōu)點,,以達到對溫度的精確控制[5],。
系統(tǒng)中加入性能測試部件、控制量校正部件和控制規(guī)則修正部件,,以實現(xiàn)系統(tǒng)的自適應(yīng)控制,。
根據(jù)得到的最新的校正量與前一次的偏差、偏差變化率以及控制量,,由控制規(guī)則修正部件建立新的控制規(guī)則以及相關(guān)的校正系數(shù)并儲存,,作為下一次的校正規(guī)則。
如此循環(huán),,達到自動調(diào)整控制規(guī)則以適應(yīng)新變化的目的,,以160 ℃控制為例,其仿真圖如圖8所示,,其中曲線①為模糊自適應(yīng)控制,,曲線②為普通PID控制。
根據(jù)輸出量,,執(zhí)行單元設(shè)置PWM波的占空比,,調(diào)節(jié)固態(tài)繼電器信號,控制電熱絲的加熱間隙,,對電熱爐進行加熱,,并根據(jù)溫度的高低啟用不同的電加熱絲,令系統(tǒng)的溫度控制執(zhí)行單元更加精確,。
2.3 數(shù)據(jù)存儲的實現(xiàn)
系統(tǒng)另一個重要作用是將外部傳感器采集到的數(shù)據(jù)進行存儲,,以備后續(xù)的查詢使用。
系統(tǒng)擴展在板128 MB Nand Flash存儲以及支持32 GB的外部SD擴展槽,,為數(shù)據(jù)存儲提供了足夠的空間,。系統(tǒng)搭載有WINCE操作系統(tǒng),其支持嵌入式數(shù)據(jù)庫的操作,,為數(shù)據(jù)的存儲提供了軟件支持,。
系統(tǒng)存儲功能利用ADOCE實現(xiàn),應(yīng)用程序采用ADO技術(shù)通過OLE可以對數(shù)據(jù)庫中的數(shù)據(jù)進行訪問和處理,。數(shù)據(jù)庫訪問原理如圖9所示,。ADOCE是微軟公司為WINCE所有數(shù)據(jù)類型提供的戰(zhàn)略性高級接口,為數(shù)據(jù)訪問提供了一種高性能,、統(tǒng)一的方式,,為WINCE操作系統(tǒng)中增加了一種新的數(shù)據(jù)庫功能[3,7],。
本系統(tǒng)利用ADOCE,,在WINCE系統(tǒng)下調(diào)用ADO的一系列對象,,如Connection、Recordset,、Field,、Error函數(shù),在ARM內(nèi)部存儲空間中創(chuàng)建Access數(shù)據(jù)庫,,在Access中創(chuàng)建相應(yīng)的表格,,表格中除了存儲數(shù)據(jù)之外,還可以根據(jù)要求存儲時間,、日期,。存儲的數(shù)據(jù)可為以后的工作提供查詢、借鑒,。
本套系統(tǒng)采用嵌入式處理器,,實現(xiàn)了對加熱爐溫度精確、快速的采集與控制,,嵌入式系統(tǒng)的搭載,,克服了傳統(tǒng)數(shù)據(jù)采集系統(tǒng)終端的缺點,使得爐內(nèi)溫度的顯示更加形象直觀,,控制更加方便,。模糊自適應(yīng)控制使得溫度控制更加精準。嵌入式處理器與系統(tǒng)的結(jié)合,,實現(xiàn)了一系列如爐體溫度存儲,、溫度超限報警提示等功能,整個系統(tǒng)在軟件和硬件方面的兼容性和可擴展性都很強,,便于系統(tǒng)間的交流和日后升級,。隨著嵌入式處理器和嵌入式系統(tǒng)的不斷完善與發(fā)展,此電熱爐溫度采集與控制系統(tǒng)的設(shè)計理念將會有很好的實用和參考價值,。
參考文獻
[1] 魯力,,張波.嵌入式TCP/IP協(xié)議高速電網(wǎng)絡(luò)數(shù)據(jù)采集系統(tǒng)[J].儀器儀表學報,2009,,30(2):405-409.
[2] Samsung.S3C2410X32-BIT RISC Microprocessor User’s Manual[S].2003.
[3] 孫鑫,余安萍.VC++深入詳解[M].北京:電子工業(yè)出版社,,2006.
[4] FLETCHER N H,,ROSSING T D.The physics of musical instruments(2nded)[M].Berlin:Springer-Verlag,1998.
[5] 劉興堂.應(yīng)用自適應(yīng)控制[M].西安:西北工業(yè)大學出版社,,2003.
[6] FORSBERG C,,KARR H.High performance PID regulator for EAF control[C].Steel Technology International,1997:151-157.
[7] 何宗鍵.Windows CE嵌入式系統(tǒng)[M].北京:北京航空航天大學出版社,,2006.