文柳
(遵義市產(chǎn)品質(zhì)量檢驗(yàn)檢測(cè)院,中國(guó)遵義,563000)
智能溫控系統(tǒng),使現(xiàn)代化電子技術(shù)、嵌入式系統(tǒng)及傳感器技術(shù)相結(jié)合的綜合產(chǎn)物。在具體的存儲(chǔ)環(huán)境中,智能化、綜合化的信息處理正在逐漸取代人工參與的工作量。一方面能夠減小工作量,另一方面也能通過(guò)較為完整的采集、處理控制的嵌入式系統(tǒng)實(shí)現(xiàn)任務(wù)。同樣地,定制化的溫控系統(tǒng)能夠應(yīng)對(duì)各類的環(huán)境。通過(guò)單片機(jī)作為核心控制器,對(duì)環(huán)境的采集、控制能夠進(jìn)行多樣化,精細(xì)化的把控。
隨著人們對(duì)于室內(nèi)存儲(chǔ)環(huán)境要求的不斷提高,系統(tǒng)的自動(dòng)化、智能化一方面展現(xiàn)了當(dāng)下發(fā)展的方向,同時(shí)也代表了社會(huì)的技術(shù)創(chuàng)造性突飛猛進(jìn)。
單片微控制器,又稱單片機(jī)。是集成電路芯片較為典型的一種類型??梢詷?gòu)成搭載多種外設(shè)的功能性系統(tǒng)。并且體積小,功能強(qiáng)。隨著技術(shù)的不斷發(fā)展,單片機(jī)的功能會(huì)變得更強(qiáng),價(jià)格更低。這就為它廣闊的應(yīng)用前景打下了堅(jiān)實(shí)的基礎(chǔ)。而智能家居、智能溫控類系統(tǒng)通過(guò)微電子技術(shù)、傳感器技術(shù)、嵌入式技術(shù)等,利用傳感器獲得外界環(huán)境信息。并通過(guò)單片機(jī)對(duì)多個(gè)環(huán)境數(shù)據(jù)數(shù)據(jù)進(jìn)行處理,控制對(duì)應(yīng)的外部設(shè)備來(lái)調(diào)整外部環(huán)境或者發(fā)送信息等。
本系統(tǒng)由硬件軟件兩個(gè)部分組成:硬件結(jié)構(gòu)是嵌入式系統(tǒng)的基礎(chǔ)和運(yùn)行平臺(tái),通過(guò)該平臺(tái)為系統(tǒng)的運(yùn)行提供物理支持與通信接口,主要包括嵌入式處理器芯片和外圍設(shè)備。本系統(tǒng)包含采集模塊和功能性驅(qū)動(dòng)模塊。其中溫濕度傳感器、光照強(qiáng)度傳感器為;觸摸屏、藍(lán)牙模塊、步進(jìn)電機(jī)、PWM、存儲(chǔ)模塊為功能性模塊。
軟件是系統(tǒng)運(yùn)行的核心部分,性能越強(qiáng)大的處理器越需要軟件進(jìn)行資源的合理分配調(diào)度。系統(tǒng)總體框圖如圖1。
圖1 系統(tǒng)總體設(shè)計(jì)框圖
本系統(tǒng)選用STM32F103ZET6作為核心處理器,這是基于ARM Cortex-M3系列的處理器,其中包含512K字節(jié)的FLASH容量,并且包含豐富的資源;GPIO、定時(shí)器、串口、USB、ADC、FSMC接口、硬件IIC、硬件SPI等。STM32如圖2。
圖2 STM32微處理器
系統(tǒng)最小系統(tǒng)包括復(fù)位電路、晶振電路、調(diào)試下載接口電路、微處理芯片。對(duì)于STM32來(lái)說(shuō),還需要啟動(dòng)選擇電路這一部分。復(fù)位電路與時(shí)鐘電路如圖3、圖4。
圖3 復(fù)位電路
圖4 時(shí)鐘電路
值得注意的是,BOOT選擇電路的BOOT0,BOOT1電平狀態(tài)的不同決定了芯片在復(fù)位完成后從哪個(gè)區(qū)域進(jìn)行執(zhí)行,且第一種方法使最為常見(jiàn)的使用方法。BOOT選擇電路如圖5。
圖5 BOOT選擇電路
溫濕度傳感器具備了數(shù)字模塊采集和溫濕度兩種信號(hào)獲取技術(shù),能夠同時(shí)進(jìn)行溫濕度信號(hào)檢測(cè)并進(jìn)行輸出。
溫濕度傳感器如圖6。
圖6 溫濕度傳感器
能夠滿足0-50℃的溫度測(cè)量以及20%-90%的濕度測(cè)量?;景ㄏ到y(tǒng)運(yùn)行的各類環(huán)境條件。
光照采集一種兩線式串行總線接口的集成電路,可以根據(jù)收集的光線強(qiáng)度數(shù)據(jù)來(lái)進(jìn)行環(huán)境監(jiān)測(cè),其具有高分辨率,可支持較大范圍的光照強(qiáng)度變化。
電容式觸摸屏,它支持多點(diǎn)觸摸,能夠很好地滿足游戲,電影、辦公等人機(jī)交互的應(yīng)用。對(duì)于工作環(huán)境相對(duì)惡劣的工業(yè)控制來(lái)說(shuō)并不適用。而電阻式觸摸屏則沒(méi)有這些限制,因此在工業(yè)控制領(lǐng)域的輸入操作設(shè)備中占有絕對(duì)優(yōu)勢(shì)。本系統(tǒng)涉及的人機(jī)交互很大一部分就是通過(guò)單片機(jī)驅(qū)動(dòng)實(shí)現(xiàn)。模塊接口如圖7。
圖7 模塊接口圖
電阻觸摸屏的屏體部分是一塊多層復(fù)合薄膜,由一層玻璃或有機(jī)玻璃作為基層,表面涂有一層透明的導(dǎo)電層,上面再蓋有一層外表面經(jīng)過(guò)硬化處理、光滑防刮的塑料層。當(dāng)外力使兩層ITO接觸時(shí),電阻就會(huì)發(fā)生變化??刂破魍ㄟ^(guò)這個(gè)變化的電阻的變化情況來(lái)判斷觸碰點(diǎn)的坐標(biāo)。
本系統(tǒng)通過(guò)STM32F103ZET6為硬件基礎(chǔ),結(jié)合各類采集模塊、功能模塊以及觸摸屏模塊為硬件基礎(chǔ),并結(jié)合FREERTOS進(jìn)行應(yīng)用層任務(wù)的調(diào)度,以此實(shí)現(xiàn)智能溫控系統(tǒng)的基本任務(wù)。軟件設(shè)計(jì)應(yīng)滿足低耦合高內(nèi)聚的定性標(biāo)準(zhǔn)?;谶@種要求,采用-重精簡(jiǎn)、高效、低成本的嵌入式實(shí)時(shí)操作系統(tǒng)就顯得非常重要。軟件任務(wù)框架如表1。
表1 任務(wù)軟件框架圖
因?yàn)樵撓到y(tǒng)涉及操作系統(tǒng),則對(duì)于軟件構(gòu)成來(lái)說(shuō),對(duì)于軟件層次的劃分與使用就顯得格外重要。對(duì)于系統(tǒng)的穩(wěn)定運(yùn)行來(lái)說(shuō)系統(tǒng)層和應(yīng)用服務(wù)層來(lái)說(shuō)是格外重要的。硬件層是通過(guò)各類元器件外設(shè)的數(shù)據(jù)手冊(cè)編寫(xiě)的驅(qū)動(dòng)代碼。
應(yīng)用層是實(shí)現(xiàn)需求的軟件部分,是由多個(gè)包含任務(wù)句柄、優(yōu)先級(jí)、堆棧、功能函數(shù)等部分的任務(wù)組成??梢愿鶕?jù)需求實(shí)現(xiàn)對(duì)應(yīng)的任務(wù)。并且多個(gè)任務(wù)之間可以通過(guò)隊(duì)列、信號(hào)量、事件標(biāo)志組、任務(wù)通知進(jìn)行通信。
本系統(tǒng)將整個(gè)代碼劃分為三個(gè)部分:初始化部分、FREERTOS部分、應(yīng)用任務(wù)部分。
初始化部分首先初始化使用到的外設(shè),并分配應(yīng)用層各個(gè)任務(wù)的優(yōu)先級(jí)、堆棧。并通過(guò)開(kāi)始任務(wù)創(chuàng)建各個(gè)應(yīng)用任務(wù)。
本系統(tǒng)的存儲(chǔ)記錄設(shè)計(jì)使用的存儲(chǔ)芯片通過(guò)協(xié)議進(jìn)行通信。存儲(chǔ)芯片空間較大,因此寫(xiě)入以扇區(qū)為操作單位,并需要在寫(xiě)入前對(duì)該扇區(qū)進(jìn)行擦除操作。發(fā)送時(shí)以字節(jié)為最基本的單位。
首先初始化用于校準(zhǔn)存儲(chǔ)地址的i,并讀取溫濕度、光照強(qiáng)度的數(shù)值。并將數(shù)據(jù)依次發(fā)送,直到扇區(qū)寫(xiě)入完畢重新從地址開(kāi)始寫(xiě)入。并將數(shù)據(jù)通過(guò)串口連接的藍(lán)牙之間進(jìn)行通信,并通過(guò)連接到電腦的藍(lán)牙將數(shù)據(jù)顯示到串口上位機(jī)中。
報(bào)警任務(wù)優(yōu)先級(jí)較高,為了確保出現(xiàn)溫濕度、光照強(qiáng)度異常時(shí)能夠及時(shí)響應(yīng)。主要通過(guò)聲光報(bào)警來(lái)進(jìn)行預(yù)警。
本系統(tǒng)從硬件的選型、系統(tǒng)架構(gòu)的設(shè)計(jì)以及軟件的控制方式等基本角度出發(fā),通過(guò)參考學(xué)習(xí)大量相關(guān)文獻(xiàn),實(shí)現(xiàn)了基于FREERTOS的智能溫控系統(tǒng)的嵌入式方案,并且本系統(tǒng)在實(shí)現(xiàn)功能的同時(shí)也保證了一定的可靠性以及定制化的功能。該系統(tǒng)能夠在保障穩(wěn)定性的同時(shí)降低成本,在一定程度上提高了系統(tǒng)的靈活性。
在具體的實(shí)現(xiàn)過(guò)程中,由于時(shí)間和能力有限,在硬件方面考慮并不周全,對(duì)于軟件部分的實(shí)現(xiàn)也并不是十分順利,多次出現(xiàn)了邏輯導(dǎo)致的BUG。浪費(fèi)了大量的時(shí)間,導(dǎo)致未能按照周進(jìn)度的預(yù)期實(shí)現(xiàn)系統(tǒng)的功能開(kāi)發(fā)。盡管最終實(shí)現(xiàn)了基本的功能要求,但在操作系統(tǒng)的使用上并不夠深度,沒(méi)能在本次設(shè)計(jì)中充分體現(xiàn)出使用操作系統(tǒng)的優(yōu)勢(shì)。同時(shí),測(cè)量的參數(shù)也十分有限,沒(méi)能從多個(gè)角度去分析系統(tǒng)。本系統(tǒng)還可以加入遠(yuǎn)程的訪問(wèn)、APP的對(duì)接、語(yǔ)音模塊、能耗分析等。從而實(shí)現(xiàn)真正意義上的“智能”。