郭華杰,吳才章
(河南工業(yè)大學(xué) 電氣工程學(xué)院,河南 鄭州 450001)
基于μC/OS-II的糧食水分在線檢測系統(tǒng)設(shè)計
郭華杰,吳才章
(河南工業(yè)大學(xué) 電氣工程學(xué)院,河南 鄭州450001)
針對當(dāng)前糧食水分檢測精度低以及在線實時檢測困難的情況,使用經(jīng)過實驗標(biāo)定的MS-S-2001微波水分傳感器,采用將μC/OS-II嵌入式系統(tǒng)移植到STM32單片機的方法;利用μC/OS-II的郵箱通信機制實現(xiàn)對MS-S-2001的數(shù)據(jù)采集,由μC/OS-II的可搶占式原則進行系統(tǒng)多任務(wù)調(diào)度,結(jié)合STM32的FSMC總線,實現(xiàn)對人機界面的繪制、實時數(shù)據(jù)顯示及水分動態(tài)曲線繪制。經(jīng)過小麥水分實驗的驗證研究表明,該檢測系統(tǒng)具有實時性好、穩(wěn)定性強、可靠性高等優(yōu)點,其水分測量誤差控制在 以內(nèi),完全能夠滿足在線水分檢測的要求。
水分檢測;μC/OS-II;STM32單片機;微波水分傳感器
糧食水分含量直接影響著糧食的工藝過程、儲藏過程和流通過程。在糧食進出倉、面粉加工等多數(shù)情況下,要求能夠即時動態(tài)的預(yù)報糧食水分或在線實時檢測糧食水分,即要求水分檢測在被測物的變化過程中在線式進行,這是許多傳統(tǒng)的水分測量方法如電阻法、電容法等難以達到的[1]。
針對當(dāng)前糧食水分難以實時在線檢測[2],應(yīng)用現(xiàn)代檢測技術(shù),采用靈敏度高、速度快、對環(huán)境敏感度小[3-6]的微波檢測方法對糧食水分進行在線無損檢測。在此基礎(chǔ)上,結(jié)合嵌入式實時操作系統(tǒng)μC/OS-II技術(shù),實現(xiàn)快速、實時在線糧食水分檢測,開發(fā)設(shè)計面向糧食收儲、加工等場合的糧食水分實時在線檢測系統(tǒng)。
上位機采用VB6.0和Access數(shù)據(jù)庫實現(xiàn)對數(shù)據(jù)的顯示、存儲等后續(xù)處理;當(dāng)水分含量過低或過高時(由按鍵電路設(shè)置)驅(qū)動報警電路自動報警。系統(tǒng)總體結(jié)構(gòu)圖如圖1所示。

圖1 系統(tǒng)總體結(jié)構(gòu)圖Fig.1 Structure diagram of the system
該系統(tǒng)采用經(jīng)過標(biāo)定之后的高精度MS-S-2001微波水分傳感器完成對糧食水分的實時采集。微處理器將采集得到的糧食溫度、水分等信息通過TFT模塊進行實時顯示,同時動態(tài)繪制水分曲線;通過串口將采集到的數(shù)據(jù)送給上位機,
系統(tǒng)硬件電路設(shè)計包括:數(shù)據(jù)采集電路、人機接口電路、按鍵電路、報警電路、數(shù)據(jù)通信電路。該系統(tǒng)采用STM32單片機作為控制器。STM32單片機具有FSMC接口,靈活性高,降低了系統(tǒng)設(shè)計的復(fù)雜性,提高了運行系統(tǒng)的穩(wěn)定性與可靠性[7]。
2.1微波水分傳感器
MS-S-2001微波水分傳感器是專門為測量工業(yè)生產(chǎn)中使用的固體物料的水分含量而設(shè)計,它可以分別通過模擬量(1-5 V)信號和數(shù)字量信號與PC或者遠程控制器進行連接和通信,實現(xiàn)對糧食水分等數(shù)據(jù)的實時在線采集。
2.1.1工作原理
多數(shù)微波水分傳感器檢測水分原理[1,3,8]是水對微波能量的吸收和反射等作用,導(dǎo)致微波信號的相位、幅值或頻率等參數(shù)變化的原理進行水分含量檢測的。而MS-S-2001微波水分傳感器工作原理是通過發(fā)射微波(1 GHZ),微波在被測物質(zhì)的探頭上不斷的進行發(fā)射和被反射形成傳播回路,經(jīng)由被測物質(zhì)傳播計算出傳播時間來確定傳感器周圍被測物質(zhì)的介電常數(shù),然后通過被測物質(zhì)介電常數(shù)與土壤含水率的經(jīng)驗公式推算出物料的含水率。同時,通過內(nèi)嵌的溫度傳感器信號進行溫度補償,可以獲得糧食水分含量與微波檢測信號接近理想的線性關(guān)系,進而提高水分的檢測精度。總之,MS-S-2001可以有效的克服物料和水分快速變化所引起的干擾,使測量結(jié)果穩(wěn)定可靠,測量精度可高達0.1%。其水分檢測原理示意圖如圖2所示。

圖2 MS-S-2001水分檢測示意圖Fig.2 MS-S-2001 moisture detection schematic diagram
2.1.2曲線標(biāo)定
MS-S-2001傳感器具有物料標(biāo)定功能,用戶可以根據(jù)工業(yè)現(xiàn)場的實際需求,對該傳感器進行物料水分的實驗值確定,然后將其標(biāo)定入微波傳感器及進行水分曲線標(biāo)定,使傳感器的微波原始值與真實的物料水分相對應(yīng),做出的曲線才既能夠用于測量物料水分,又能進一步提高水分檢測精度。
曲線標(biāo)定實驗所需器材:小麥、烘箱(型號DHG-9037A)、電子稱(型號MELLTER TOLEDO MS-105)、水桶、量杯和攪拌設(shè)備。
實驗步驟如下:1)取一批小麥,經(jīng)過篩分去除雜質(zhì);2)先取出一小部分樣品,用MS-S-2001先測量出微波水分反射值,再由《谷物及谷物制品水分含量測定》基本法(即烘箱法)進行小麥含水率的確定;3)將剩余的小麥分成若干等份,按照比例加水混合,制成不同水分含量的樣品,貼好標(biāo)簽,攪拌均勻后放入密封盒內(nèi),放置24 h(注意該過程要保證水分沒有散失);4)將不同水分含量的樣品按照步驟2進行測定;5)根據(jù)標(biāo)定的曲線測定實際樣品,記錄得到的水分,然后同烘箱法進行對比,通過多組對比來確定測量的準(zhǔn)確性。
在實驗驗證時,可能會出現(xiàn)所得的水分過小或者放置在水桶不同位置時水分測量結(jié)果不同,這可能是由于MS-S-2001測得的是體積含水量,物料的緊實程度出現(xiàn)變化會影響測量結(jié)果隨之變化,這與微波測量方法容易受到物料的形狀、密度、厚度的影響[9]相一致;另一方面,同一批小麥顆粒之間及顆粒內(nèi)部水分均勻度差異也會造成測量結(jié)果的不精確。因而試驗標(biāo)定曲線時,需要注意以下幾點:1)加水后為了讓小麥盡可能多的吸收水分,在放置期間的固定時間間隔還需要不斷地翻動、傾倒;2)靜態(tài)測量時:小麥充分吸收水分后再進行測量,測量的環(huán)境、測量方式要與所做試驗的環(huán)境、步驟盡可能的保持一致;3)每次測量時最好反復(fù)的傾倒,保證微波傳感器測量面一致;4)翻動、傾倒小麥時,不能讓小麥過多的撒落在桶外;5)微波水分反射值的測量時間最好在5分鐘左右,然后取這期間的平均值與小麥實際含水率進行一一對應(yīng)。
經(jīng)實驗確定的11組數(shù)據(jù)如表1所示。

表1 實驗數(shù)據(jù)表Tab.1 Experimental data table
將以上試驗數(shù)據(jù)標(biāo)定入微波水分傳感器,所標(biāo)定的曲線如圖3所示。
2.2人機接口電路設(shè)計
系統(tǒng)的人機接口電路包括TFT顯示電路及上位機軟件。顯示電路采用的是2.4寸TFT液晶顯示模塊,顯示分辨率為320*240,;使用ILI9325芯片控制液晶屏,通過TSC2046芯片控制觸摸屏,可顯示中英文字符、彩色、數(shù)字、圖案等;具有并行接口分8位和16位。STM32的FSMC支持8/16/32位的數(shù)據(jù)寬度,由于在線水分檢測的快速、實時檢測需求,硬件設(shè)計使用接口為16位并口,通過FSMC模擬8080接口進行指令和數(shù)據(jù)的傳輸,硬件設(shè)計的FSMC_NE1作為8080_CS片選信號,軟件需要選取連接的外部存儲器為 NOR FLASH;FSMC_A16作為8080_D/CX數(shù)據(jù)/命令信號,軟件需要定義的RAM基地址為0X60020000。這里需要注意的是當(dāng)FSMC使用不同的區(qū)作為片選信號時,需要選擇使用不同的外部存儲設(shè)備(NOR/PSRAM、NAND、PC卡設(shè)備);選擇不同的地址線時,RAM的基地址需要重新計算。

圖3 水分曲線標(biāo)定圖Fig.3 Moisture curve calibration diagram
μC/OS-II是一個可移植、可固化的、可裁剪的、占先式的多任務(wù)實時內(nèi)核,主要是面向中小型的嵌入式系統(tǒng),具有執(zhí)行效率高、占用空間小、實時性能優(yōu)良和可擴展性等特點[10]。軟件設(shè)計主要包括μC/OS-II的移植,系統(tǒng)任務(wù)建立,STM32單片機與MS-S-2001的通訊和人機界面。
3.1μC/OS-II在STM32單片機上的移植
移植 μC/OS-II需要修改與處理器相關(guān)的 3個文件:OS_CPU.H (C語言頭文件)、OS_CPU_C.C(C語言源文件)、OS_CPU_ASM.ASM(匯編源程序文件)[10-11]。μC/OS-II中移植部分如表2所示。
3.2系統(tǒng)任務(wù)建立
在μC/OS-II實時操作系統(tǒng)中建立并行存在的 6個任務(wù),按照優(yōu)先級從高到低分別是系統(tǒng)主任務(wù)、串口發(fā)送任務(wù)、串口接收處理任務(wù)、LED閃爍任務(wù)、觸摸屏任務(wù)、用戶界面任務(wù)。

表2 μC/OS-II移植修改部分Tab.2 μC/OS-II transplant modified part
main()主函數(shù)流程圖如圖4所示。其主要功能是用來完成系統(tǒng)主任務(wù)的建立、實時操作系統(tǒng)的啟動。系統(tǒng)主任務(wù)優(yōu)先級別最高,在μC/OS-II系統(tǒng)啟動后建立其余5個任務(wù),并根據(jù)其各自的優(yōu)先級進行任務(wù)調(diào)度、運行。其中硬件平臺初始化程序:包括系統(tǒng)時鐘初始化、串口中斷源配置、串口初始化及參數(shù)配置、TFT接口及FSMC初始化等。
3.3STM32單片機與MS-S-2001通信
根據(jù)MS-S-2001所特有的modubus協(xié)議設(shè)計數(shù)據(jù)發(fā)送和接收處理任務(wù),這兩個任務(wù)函數(shù)的設(shè)計也是整個實時系統(tǒng)實現(xiàn)的關(guān)鍵。當(dāng)成功接收到微波傳感器響應(yīng)后,通過郵箱發(fā)送函數(shù)OSMboxPost()通知接收處理任務(wù)進行接收數(shù)據(jù)的處理,否則接收處理函數(shù)中的OSMboxPend()函數(shù)會一直等待串口接收成功的信號量;然后根據(jù)MS-S-2001所特有的CRC錯誤校驗,判斷數(shù)據(jù)接收是否正確,正確且水分值在合理范圍內(nèi)則進行數(shù)據(jù)的處理、顯示,否則驅(qū)動報警電路報警,重新等待串口接收成功的信號量。接收處理任務(wù)流程圖如圖5所示。
3.4人機界面
人機界面包括兩個部分:靜態(tài)部分和動態(tài)部分。靜態(tài)部分用來顯示固定不變的橫縱坐標(biāo)的刻度值及必要的中英文字符顯示;動態(tài)部分用來顯示運行時間 (0-200S),在達到200S后進行實時曲線部分的刷新;顯示采集的溫度、水分值等信息。動態(tài)曲線繪制的流程圖如圖6所示。
為了驗證系統(tǒng)的測量精度,在實驗室進行了在線水分檢測試驗,并與實際理論值(加水量(l)=(kg)進行比較。測量結(jié)果如表3所示。

圖4 系統(tǒng)流程圖Fig.4 System flow chart

圖5 接收處理任務(wù)流程圖Fig.5 Receive processing task flow chart

圖6 曲線繪制流程圖Fig.6 Curve drawing flow chart
由表3數(shù)據(jù)可知:由于實驗標(biāo)定微波傳感器數(shù)據(jù)及μC/ OS-II的移植,使得實時在線水分檢測的誤差范圍在以內(nèi),解決了在線水分檢測的難點與提高檢測精度的問題。
系統(tǒng)采用高速單片機STM32作微處理器和移植μC/OS-II,大幅度提升設(shè)計系統(tǒng)的實時性;同時具有數(shù)據(jù)處理速度快、較高的穩(wěn)定性和可靠性等優(yōu)點,使得該系統(tǒng)完全能夠滿足在線實時檢測水分的場合。而且μC/OS-II作為源代碼公開的實時內(nèi)核及系統(tǒng)可裁剪性、可擴展性的特征,極大的增加了設(shè)計系統(tǒng)的靈活性,使得系統(tǒng)更容易管理、維護和系統(tǒng)升級。

表3 水分檢測數(shù)據(jù)及誤差Tab.3 Data and error of the system
實驗和測試結(jié)果再次表明所設(shè)計的系統(tǒng)運行穩(wěn)定可靠,具有良好的實時性;該檢測系統(tǒng)的設(shè)計解決了糧食水分在線檢測的難題,且檢測結(jié)果在誤差允許的范圍內(nèi)滿足國際要求,完全能夠為糧食的收購、運輸和儲藏提供強有力的技術(shù)保障。參考文獻:
[1]杜先鋒,張勝全,張永林.基于微波的糧食水分檢測技術(shù)與系統(tǒng)[J].武漢工業(yè)學(xué)報,2004,23(2):32-34.
[2]曹云東,林國棟,張陽,等.糧食水分在線檢測控制系統(tǒng)[J].儀表技術(shù)與傳感器,2003(4):17-19.
[3]偉利國,張小超,胡小安,等.微波在線式糧食水分檢測系統(tǒng)[J].農(nóng)機化研究,2009(6):145-147.
[4]劉文生,張永林,肖慧.小麥著水中微波水分測控系統(tǒng)設(shè)計研究[J].糧油加工與食品機械,2003(12):52-54.
[5]殷曉慧.采用微波測水與自適應(yīng)控制的小麥著水系統(tǒng)[J].面粉通訊,2007(5):32-33.
[6]孫健,周展明,唐懷建.國內(nèi)外糧食水分快速檢測方法的研究[J].糧食儲藏,2007(3):46-49.
[7]黃智偉,王兵,朱衛(wèi)華.ARM微控制器應(yīng)用設(shè)計與實踐[M].北京:北京航空航天大學(xué)出版社,2012.
[8]王永安,殷海雙,段志偉,等.基于單片機AT89C51的糧食水分檢測系統(tǒng)[J].化工自動化與儀表,2013,40(4):444-446,493.
[9]翟寶峰,郭宏林,許會.糧食水分檢測技術(shù)的綜合分析及發(fā)展?fàn)顩r[J].武漢工業(yè)學(xué)院學(xué)報,2001,5(23):413-416.
[10]LABROSSE J Jean.嵌入式實時操作系統(tǒng)[M].2版.邵貝貝等譯,北京:北京航空航天大學(xué)出版社,2003.
[11]趙劉強,林永君,馬良玉,等.基于μC/OS-II嵌入式系統(tǒng)的數(shù)據(jù)采集系統(tǒng)[J].嵌入式系統(tǒng)應(yīng)用,2010,26(2-2):62,65-66.
Design of grain moisture online detection based on μC/OS-II
GUO Hua-jie,WU Cai-zhang
(College of Electrical Engineering,Henan University of Technology,Zhengzhou 450001,China)
Using experimentally calibrated MS-S-2001 microwave moisture sensor,and the μC/OS-II embedded system transplanted to the STM32 microprocessor method to resolve the current low grain moisture detection precision as well as online real-time detection difficult circumstance;using μC/OS-II's mailbox communication mechanism to realize MS-S-2001 data acquisition;using the principle of μC/OS-II preemptive multi-task scheduling system,combined with the STM32 FSMC bus to achieve the user graphical interface drawing,real-time data display and dynamic curves draw.Proven wheat moisture experiments show that the detection system has the advantages of good real-time,high stability,high reliability,and its moisture measurement error control in less than,which can meet the requirements of the online moisture measurement.
moisture detection;μC/OS-II;STM32 microprocessor;microwave moisture sensor
TP609
A
1674-6236(2016)03-0061-04
2015-10-26稿件編號:201510189
2015年糧食公益性行業(yè)科研專項(201513003-3)
郭華杰(1991—),男,河南商丘人,碩士研究生。研究方向:檢測技術(shù)和智能儀表。