深圳市賽元微電子有限公司 翟冠杰
隨著我國工業化進程的不斷推進,高精度溫度控制成為很多生產工藝和關鍵環節,在一些高精尖設備的生產和控制領域,溫度控制的要求不斷提高,傳統的溫度控制系統表現出了明顯的不適應性,在性能上已很難滿足工藝要求。本文對現有的普通溫度控制技術進行了改進分析,并將其應用于嵌入式系統中,設計了一套基于賽元ARM內核MCU的智能溫度控制系統。首先對系統進行了總體設計,明確了設計要求和目標,然后對硬件系統的關鍵技術進行了分析,從主控單元、調試接口、存儲單元和內核移植等方面進行了著重研究,最后對PID算法進行改進,使其可以自適應復雜環境的變化,達到智能化控制的目的。應用表明,本系統可以適應不同環境下的高精度溫度控制,穩定性良好,具有重要的應用價值。
社會的進步需要科技水平的支撐,尤其是工業領域,對工業控制有著極為強烈的依賴。隨著我國工業化進程的不斷深化,越來越多的工業場合需要實現高精度的溫度控制,同時要求控制系統具備較強的可靠性和穩定性,比如航空航天領域中的電熱保護單元、消防設備中的火災檢測單元等等。現有的溫度控制單元一般都可以實現對單一產品或工位的溫度檢測和控制,但對于流水線式的批量生產則很難滿足要求。隨著工業化大生產時代的到來,人們要求系統能夠對大批量的產品進行動態檢測,并且可以克服環境的影響實現精確溫度控制。為此,本文提出了一種新的自適應溫度控制算法,并通過嵌入式系統開發,成功實現了一款以賽元ARM內核MCU為核心的智能溫度控制系統。滿足了當前工業化批量生產的溫度檢測要求。
在微電子和計算機技術的推動下,嵌入式系統成為了工業控制領域中的重要組成部分,并受到了眾多業內人士濃度研究,其應用范圍也不斷擴大,目前已深入到工業生產的方方面面,成為工業控制系統的重要發展趨勢之一。由于溫度控制系統一般應用于軍事、消防、重要工藝環節的控制,因此在性能上一般都有著極為苛刻的要求。本文根據實際情況,設計了一款基于PID控制和模糊控制的改進型自適應溫度控制算法,實現了控制算法對工作環境的自適應,使其適用性更加廣泛,在各種復雜的環境和工況下仍能保持高性能工作。設計了以B/S架構為基礎的人機交互模塊,同時能夠完成對實時數據的實時計算,對歷史數據的統計與分析,實現對溫度參數的實時監測與預警。
溫度的變化對于工業領域來說往往是動態的,并且對溫度的控制要求十分精確,這就需要采集大量的溫度樣本,但這又給數據處理帶來了巨大的壓力,而本系統可以實現在高精度采樣的同時完成對數據的實時分析,并根據結果對溫度進行動態調整。系統以Cortex-M3處理器作為主控核心,充分發揮了其在大數據處理和動態溫度控制方面的優勢。系統總體框架如圖1所示。
溫度控制系統的處理精度和速度主要取決于其控制的核心處理器性能,因此ARM控制核心的選型十分關鍵。本文采用了以賽元Cortex-M3為內核的SC32F9103系列處理器,充分利用了其ARMv7-M結構和Thumb-216/32位混合指令集的優勢,在保證系統性能的條件下實現了系統的低功耗運行,該處理器還提供了通用的串行調試和JTAG接口功能,為系統的調試提供了很大的便利,使程序開發變得更加簡潔高效。另一方面,該芯片在32位除法和單周期乘法方面的支持方面較好,因此在運行速度方面得到了保證,因此在溫度控制系統的應用中具有獨特的優勢。

圖1 控制系統整體框架
調度是系統開發的關鍵步驟,是保證軟件和硬件按照預定邏輯進行工作的重要過程,調度接口的設計是為了更好地實現對嵌入式控制系統的仿真和現場調試工作。在本系統中,考慮到通用性的要求,采用了國際標準測試協議JTAG,該接口可以實現對芯片內部進行仿真、測試和調試等基本功能。在嵌入式系統的調試中,需要一臺宿主機和一臺目標機,調試時要通過宿主機來控制目標機,通過仿真器琮控制主控芯片,使用戶編寫的程序可以成功運行起來。調試結果將通過反方向由目標機向宿主機傳遞,使開發人員可以及時知道微處理單元的工作情況,以便為程序的跟蹤、調試和優化提供參考依據。
在嵌入式系統中,由于系統的運行及對被控制對象的控制過程需要依賴于用戶編寫的程序,因此在斷電之后用戶程序必須可以保持下來。這就需要用到Flash存儲器。一般來說,Flash存儲器用于存放用戶的程序源代碼和相應的基礎數據,即使系統被有意或無意中關機,當再次開機后,也可以通過讀取Flash來恢復用戶程序和基礎數據。考慮到Flash存儲單元的重要性,本文采用了16位AT49BV322A來搭建溫度控制系統的Flash存儲單元,其工作電壓為3V,供電后由其自身內部的寄存器來完成程序的編寫如果系統中途掉電,一次啟動后程序將從上次斷開位置自動繼續運行。為了兼顧程序運行速度,本文將一些中間變量和局部產生的數據放在SDRAM中,以進一步提高數據存取速度,盡管SDRAM在斷電后無法恢復數據,但由于其保存的是臨時數據,可在程序執行后重新生成,因而不影響系統的正常運行。
考慮到跨平臺運行問題,本系統要求具備在各平臺運行的能力,因此采用Linux系統作為操作系統,以支持整個智能溫度控制系統的運行。在Linux系統中,最關鍵的是做好其內核管理工作,根據操作系統工作原理及本系統的設計方案,智能溫度控制系統在啟動的時候會通過加載程序把內核文件拷貝到主機內存中,當內核加載完成后,才具備系統運行所需要的驅動條件。但原始的Linux系統是一個復雜的系統,對于本文設計的智能溫度控制系統來說顯然過于冗余,另一方面,溫度控制系統的存儲單元也沒有足夠的容量來存放巨大的內核文件,因此本文考慮對ARM芯片嵌入式系統的功能進行適當的裁剪,然后再進行內核的移植,在這個過程中僅僅將必須的功能模塊加載進去,無關的功能則不做處理。
內核移植的具體步驟如下:首先登錄內核官網獲取內核源代碼,然后根據SC32F9103系列處理器的特點和參數,通過patch補丁對內核源代碼進行升級,以保證其與ARM芯片之間的兼容性。本文修改了內核路徑下的makefile文件,以此完成對各項基本功能模塊的自定義。成功編譯后,一個符合智能溫度溫度控制系統的最小功能模塊的Linux系統就完成了。
在自動控制領域,使用最廣泛的控制算法有模糊控制算法、專家控制算法和PID控制算法,其中PID控制算法的應用最為流行,在實現上也最為簡單,但隨著工業領域對溫度控制系統性能的提高,常規的算法已很難達到要求。因此,本文在傳統PID算法的基礎上進行了改進,使其可以適應不同環境下的控制需求,提高穩定性和控制精度。系統以模糊控制的偏差變量以及偏差變化率為輸入,以PID自適應的調節參數為輸出,并求出其關系式。然后把偏差變量以及偏差變化率看成是一個特殊的模糊子集,再次對其輸出進行定義,再通過Matlab仿真得出最優化參數,最終得到輸入與輸出的隸屬函數曲線分布。該算法可以通過環境溫度的變化對輸入進行調節,實現了PID的實時動態自整定,使輸出參數可以得到線性調節。
本文在給出了總體設計方案的基礎上,對基于賽元ARM內核MCU的智能溫度控制系統進行了詳細設計,并以高精尖工業應用領域為目標,對溫度控制系統的智能化控制算法進行了論證,使其在主控單元運行速度、存儲單元優化、系統內核精簡以及自適應PID控制算法精度上都得到了很大的優化。本文系統在某材料制造企業中進行了為期三個月試運行,完全滿足生產線的大批量實時溫度檢測,系統運行穩定可靠,精度符合生產工藝需求,驗證了本系統設計的合理性。隨著智能化時代的到來,以及《中國制造2025》戰略的提出,賽元ARM內核芯片的性能將進一步提高,我國工業生產對溫度控制的要求也會越來越高,高精度、穩定、安全、可靠的智能溫度控制系統的需求也會日益強烈,因此本系統具有很大的推廣應用價值及市場空間。作者簡介:翟冠杰(1973—),男,河南人,碩士,現供職于深圳市賽元微電子有限公司,主要從事集成電路芯片設計及銷售工作,專注于8051內核8位Flash MCU和ARM內核32位MCU產品的設計和銷售。