基于DSP的數字溫度傳感器控制系統
0 引言
20世紀60年代以來(lái),數字信號處理器(Digital Signal Processing,DSP)伴隨著(zhù)計算機和通信技術(shù)得到飛速發(fā)展,應用領(lǐng)域也越來(lái)越廣泛。在溫度控制方面,尤其是固體激光器的溫度控制,受其工作環(huán)境和條件的影響,溫度的精度要求比較嚴格,之前國內外關(guān)于溫度控制基本上都采用溫度敏感電阻來(lái)測量溫度,然后用風(fēng)冷或者水冷方式來(lái)達到溫度控制效果,精度不夠且體積大。本文基于DSP芯片TMS320F2812與數字溫度傳感器DSl8B20設計出一個(gè)溫度測量系統,根據測量所得的溫度與設定的參量,并利用模糊PID算法計算出控制量,利用該控制量調節由DSP事件管理器產(chǎn)生PWM波的占空比,并作用于半導體制冷器,以達到溫度控制效果,實(shí)現控制精度高,體積小的溫度控制系統。
1 系統硬件組成
1.1 DSl8820功能結構與使用
DSl8820是DALLAS公司生產(chǎn)的一線(xiàn)式數字溫度傳感器,具有3引腳T0-92小體積封裝形式;溫度測量范圍為-55~+125℃;可編程為9~12位A/D轉換精度,測溫分辨率可達0.0625℃;CPU只需一根埠線(xiàn)就能與諸多DSl8B20通信,占用微處理器的端口較少,可節省大量的引線(xiàn)和邏輯電路。以上特點(diǎn)使DSl8B20非常適合用于遠距離多點(diǎn)溫度檢測系統中。
DSl8B20的管腳排列如圖1所示。DQ為數字信號輸入/輸出端;GND為接地;VDD為外接供電電源輸入端(在寄生電源接線(xiàn)方式時(shí)接地)。DS-l8B20中的溫度傳感器可完成對溫度的測量,用16位符號擴展的二進(jìn)制補碼讀數形式提供,以O.0625℃/LSB形式表達,其中S為符號位。例如+125℃的數字輸出為07DOH,+25.0625℃的數字輸出為0191H,-25.0625℃的數字輸出為FF6FH,-55℃的數字輸出為FC90H。
1.2 DSP介紹
這里所用DSP為T(mén)MS320,它是美國TI公司新推出的低價(jià)位、高性能的16位定點(diǎn)DSP,是專(zhuān)為控制應用系統而設計的,其主頻可達150 MHz,本系統中所用晶振為45 MHz,片內集成了外圍設備接口,主要起控制和計算作用。
1.3 半導體制冷器簡(jiǎn)介
半導體制冷器是根據帕爾貼效應制成的,由兩種不同金屬組成一對熱電偶,當熱電偶邁入直流電流后因直流電通入的方向不同,將在熱電偶結點(diǎn)處產(chǎn)生吸熱和放熱現象。制冷器結構如圖2所示。
把一個(gè)N型和P型半導體的粒子用金屬連接片焊接成一個(gè)電偶對。當直流電流從N極流向P極時(shí),上端產(chǎn)生吸熱現象,此端稱(chēng)冷端,下端產(chǎn)生放熱現象,此端稱(chēng)熱端,如果電流方向反過(guò)來(lái),則冷熱端相互轉換。
1.4 硬件連接
DSl8B20與DSP連接主要有兩種方式:寄生電源方式和外部供電方式。本文采用外部供電方式,其中18B20的DQ口與F2812的GPIOA0口連接,具體連接如圖3所示。
2 溫度測量
要進(jìn)行溫度控制,首先要測量所控制目標的溫度值,在本系統中,具體使用數字溫度傳感器DSl8B20與DSP結合,并利用CCS編寫(xiě)程序,本系統開(kāi)發(fā)平臺為CCS 2.2,前期安裝及芯片設置在此省略,程序流程如圖4所示。
DSl8B20的控制包括三種時(shí)序:復位、寫(xiě)時(shí)序、讀時(shí)序。
復位:主機總線(xiàn)在t0時(shí)刻發(fā)送一個(gè)復位脈沖(最短為480μs的低電平信號),接著(zhù)在t1時(shí)刻釋放總線(xiàn)并進(jìn)入接收狀態(tài);DS1820在檢測到總線(xiàn)的上升沿之后等待15~60μs,接著(zhù)在t2時(shí)刻發(fā)出存在脈沖(低電平持續60~240μs)。
寫(xiě)時(shí)序:對于DSl8B20的寫(xiě)時(shí)序分為寫(xiě)O時(shí)序和寫(xiě)1時(shí)序兩個(gè)過(guò)程。寫(xiě)O時(shí)序和寫(xiě)1時(shí)序的要求不同,當要寫(xiě)0時(shí)序時(shí),總線(xiàn)要被拉低至少60 μs,保證DSl8B20能夠在15~45μs之間正確地采樣I/O總線(xiàn)上的“O”電平,當要寫(xiě)1時(shí)序時(shí),單總線(xiàn)被拉低之后,在15μs之內就得釋放單總線(xiàn)。寫(xiě)數據持續時(shí)間應大于60μs且小于120μs,兩次寫(xiě)操作時(shí)間間隔要大于1μs。
讀時(shí)序:對于DSl8B20的讀時(shí)序同樣分為讀0時(shí)序和讀1時(shí)序兩個(gè)過(guò)程。對于DSl8B20的讀時(shí)序是從DSP把單總線(xiàn)拉低之后,在15 s之內就得釋放單總線(xiàn),以便讓DSl8B20把數據傳輸到單總線(xiàn)上。DSl8B20在完成一個(gè)讀時(shí)序過(guò)程,至少需要60μs才能完成。
需要注意的是,在程序編寫(xiě)時(shí)不管是復位,還是讀寫(xiě),都要注意配置GPIOA0端口的狀態(tài)(輸入或輸出),同時(shí)時(shí)序非常重要,本文中的延時(shí)都是經(jīng)過(guò)多次測試后總結出來(lái)的,根據DSP芯片的晶振不同,延時(shí)程序都會(huì )改變,否則DSl8B20不會(huì )正常工作。
3 溫度控制
3.1 脈寬調制PWM輸出
TMS320的事件管理模塊總共能輸出16路PWM信號,文中僅需要輸出一路占空比可調的PWM信號,并設計從PWMl引腳輸出該方波信號。文中選用通用定時(shí)器1(T1)作為時(shí)基;全比較單元1保存調制值;計數方式采用連續增計數模式。PWM占空比值與T1的三角波數據比較,輸出PWM信號控制半導體制冷片工作。各寄存器設置如下(高速外設時(shí)鐘為22.5 MHz):
文中設計的PWM周期為 1.825 ms,TMS320F2812的計數器記數范圍為0~5DC。因此當系統裝入CMPRl寄存器的值為0或5DCH時(shí),輸出恒為高電平或低電平?,F以向CMPRl寫(xiě)入1 500為例,PWMl引腳的輸出周期為1.825 ms的方波。
3.2 溫度控制軟件設計
根據前面敘述,用DSl8B20讀取溫度采樣值,再通過(guò)參數自整定的Fuzzy-PID算法對數據進(jìn)行處理:根據E和Ec的狀況,由模糊控制規律再通過(guò)模糊表推導出△KP,KI,KD,根據式(1)計算出KP,KI,KD的大小,再計算出U的初值和△U,由式(2)實(shí)時(shí)計算控制量U。通過(guò)參數轉換,將U轉換為PWM參數,修改EvaRegs.CMPRl的數值,改變PWM的占空比,從而控制TEC的制冷/制熱功率。
程序流程圖如圖5所示
3.3 實(shí)驗結果
完成以上程序編寫(xiě)后,首先利用仿真器進(jìn)行溫度測量模擬,在標準溫度計所得室溫為31.2℃時(shí),在CCS軟件中利用快速觀(guān)測窗口檢測到的溫度值為31.187 5℃。通過(guò)實(shí)驗證明,在外界溫度為31℃,采用默認設置(穩定溫度為25℃)時(shí),該溫度控制系統能使被控物體的溫度穩定在25℃,溫度穩定時(shí)間小于100s,精度可達到O.1℃以下,達到了工業(yè)控制要求。
4 結語(yǔ)
利用DSP的高速處理能力,結合DSl8B20精準的溫度讀取能力,以及利用CCS開(kāi)發(fā)出溫度控制系統。該溫度控制系統中應用了Fuzzy-PID算法。設計目標是:在同樣的控制精度條件下,使系統的過(guò)渡時(shí)間及超調量盡可能減小,以改善控制效果。采用復合控制,使系統能有效抑制純滯后的影響,當參數變化較大以及有干擾時(shí),仍能取得較好的控制效果。
評論