郭華杰,吳才章
(河南工業(yè)大學(xué) 電氣工程學(xué)院,河南 鄭州 450001)
基于μC/OS-II的糧食水分在線檢測(cè)系統(tǒng)設(shè)計(jì)
郭華杰,吳才章
(河南工業(yè)大學(xué) 電氣工程學(xué)院,河南 鄭州450001)
針對(duì)當(dāng)前糧食水分檢測(cè)精度低以及在線實(shí)時(shí)檢測(cè)困難的情況,使用經(jīng)過(guò)實(shí)驗(yàn)標(biāo)定的MS-S-2001微波水分傳感器,采用將μC/OS-II嵌入式系統(tǒng)移植到STM32單片機(jī)的方法;利用μC/OS-II的郵箱通信機(jī)制實(shí)現(xiàn)對(duì)MS-S-2001的數(shù)據(jù)采集,由μC/OS-II的可搶占式原則進(jìn)行系統(tǒng)多任務(wù)調(diào)度,結(jié)合STM32的FSMC總線,實(shí)現(xiàn)對(duì)人機(jī)界面的繪制、實(shí)時(shí)數(shù)據(jù)顯示及水分動(dòng)態(tài)曲線繪制。經(jīng)過(guò)小麥水分實(shí)驗(yàn)的驗(yàn)證研究表明,該檢測(cè)系統(tǒng)具有實(shí)時(shí)性好、穩(wěn)定性強(qiáng)、可靠性高等優(yōu)點(diǎn),其水分測(cè)量誤差控制在 以內(nèi),完全能夠滿足在線水分檢測(cè)的要求。
水分檢測(cè);μC/OS-II;STM32單片機(jī);微波水分傳感器
糧食水分含量直接影響著糧食的工藝過(guò)程、儲(chǔ)藏過(guò)程和流通過(guò)程。在糧食進(jìn)出倉(cāng)、面粉加工等多數(shù)情況下,要求能夠即時(shí)動(dòng)態(tài)的預(yù)報(bào)糧食水分或在線實(shí)時(shí)檢測(cè)糧食水分,即要求水分檢測(cè)在被測(cè)物的變化過(guò)程中在線式進(jìn)行,這是許多傳統(tǒng)的水分測(cè)量方法如電阻法、電容法等難以達(dá)到的[1]。
針對(duì)當(dāng)前糧食水分難以實(shí)時(shí)在線檢測(cè)[2],應(yīng)用現(xiàn)代檢測(cè)技術(shù),采用靈敏度高、速度快、對(duì)環(huán)境敏感度?。?-6]的微波檢測(cè)方法對(duì)糧食水分進(jìn)行在線無(wú)損檢測(cè)。在此基礎(chǔ)上,結(jié)合嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II技術(shù),實(shí)現(xiàn)快速、實(shí)時(shí)在線糧食水分檢測(cè),開(kāi)發(fā)設(shè)計(jì)面向糧食收儲(chǔ)、加工等場(chǎng)合的糧食水分實(shí)時(shí)在線檢測(cè)系統(tǒng)。
上位機(jī)采用VB6.0和Access數(shù)據(jù)庫(kù)實(shí)現(xiàn)對(duì)數(shù)據(jù)的顯示、存儲(chǔ)等后續(xù)處理;當(dāng)水分含量過(guò)低或過(guò)高時(shí)(由按鍵電路設(shè)置)驅(qū)動(dòng)報(bào)警電路自動(dòng)報(bào)警。系統(tǒng)總體結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖Fig.1 Structure diagram of the system
該系統(tǒng)采用經(jīng)過(guò)標(biāo)定之后的高精度MS-S-2001微波水分傳感器完成對(duì)糧食水分的實(shí)時(shí)采集。微處理器將采集得到的糧食溫度、水分等信息通過(guò)TFT模塊進(jìn)行實(shí)時(shí)顯示,同時(shí)動(dòng)態(tài)繪制水分曲線;通過(guò)串口將采集到的數(shù)據(jù)送給上位機(jī),
系統(tǒng)硬件電路設(shè)計(jì)包括:數(shù)據(jù)采集電路、人機(jī)接口電路、按鍵電路、報(bào)警電路、數(shù)據(jù)通信電路。該系統(tǒng)采用STM32單片機(jī)作為控制器。STM32單片機(jī)具有FSMC接口,靈活性高,降低了系統(tǒng)設(shè)計(jì)的復(fù)雜性,提高了運(yùn)行系統(tǒng)的穩(wěn)定性與可靠性[7]。
2.1微波水分傳感器
MS-S-2001微波水分傳感器是專門(mén)為測(cè)量工業(yè)生產(chǎn)中使用的固體物料的水分含量而設(shè)計(jì),它可以分別通過(guò)模擬量(1-5 V)信號(hào)和數(shù)字量信號(hào)與PC或者遠(yuǎn)程控制器進(jìn)行連接和通信,實(shí)現(xiàn)對(duì)糧食水分等數(shù)據(jù)的實(shí)時(shí)在線采集。
2.1.1工作原理
多數(shù)微波水分傳感器檢測(cè)水分原理[1,3,8]是水對(duì)微波能量的吸收和反射等作用,導(dǎo)致微波信號(hào)的相位、幅值或頻率等參數(shù)變化的原理進(jìn)行水分含量檢測(cè)的。而MS-S-2001微波水分傳感器工作原理是通過(guò)發(fā)射微波(1 GHZ),微波在被測(cè)物質(zhì)的探頭上不斷的進(jìn)行發(fā)射和被反射形成傳播回路,經(jīng)由被測(cè)物質(zhì)傳播計(jì)算出傳播時(shí)間來(lái)確定傳感器周?chē)粶y(cè)物質(zhì)的介電常數(shù),然后通過(guò)被測(cè)物質(zhì)介電常數(shù)與土壤含水率的經(jīng)驗(yàn)公式推算出物料的含水率。同時(shí),通過(guò)內(nèi)嵌的溫度傳感器信號(hào)進(jìn)行溫度補(bǔ)償,可以獲得糧食水分含量與微波檢測(cè)信號(hào)接近理想的線性關(guān)系,進(jìn)而提高水分的檢測(cè)精度??傊琈S-S-2001可以有效的克服物料和水分快速變化所引起的干擾,使測(cè)量結(jié)果穩(wěn)定可靠,測(cè)量精度可高達(dá)0.1%。其水分檢測(cè)原理示意圖如圖2所示。
圖2 MS-S-2001水分檢測(cè)示意圖Fig.2 MS-S-2001 moisture detection schematic diagram
2.1.2曲線標(biāo)定
MS-S-2001傳感器具有物料標(biāo)定功能,用戶可以根據(jù)工業(yè)現(xiàn)場(chǎng)的實(shí)際需求,對(duì)該傳感器進(jìn)行物料水分的實(shí)驗(yàn)值確定,然后將其標(biāo)定入微波傳感器及進(jìn)行水分曲線標(biāo)定,使傳感器的微波原始值與真實(shí)的物料水分相對(duì)應(yīng),做出的曲線才既能夠用于測(cè)量物料水分,又能進(jìn)一步提高水分檢測(cè)精度。
曲線標(biāo)定實(shí)驗(yàn)所需器材:小麥、烘箱(型號(hào)DHG-9037A)、電子稱(型號(hào)MELLTER TOLEDO MS-105)、水桶、量杯和攪拌設(shè)備。
實(shí)驗(yàn)步驟如下:1)取一批小麥,經(jīng)過(guò)篩分去除雜質(zhì);2)先取出一小部分樣品,用MS-S-2001先測(cè)量出微波水分反射值,再由《谷物及谷物制品水分含量測(cè)定》基本法(即烘箱法)進(jìn)行小麥含水率的確定;3)將剩余的小麥分成若干等份,按照比例加水混合,制成不同水分含量的樣品,貼好標(biāo)簽,攪拌均勻后放入密封盒內(nèi),放置24 h(注意該過(guò)程要保證水分沒(méi)有散失);4)將不同水分含量的樣品按照步驟2進(jìn)行測(cè)定;5)根據(jù)標(biāo)定的曲線測(cè)定實(shí)際樣品,記錄得到的水分,然后同烘箱法進(jìn)行對(duì)比,通過(guò)多組對(duì)比來(lái)確定測(cè)量的準(zhǔn)確性。
在實(shí)驗(yàn)驗(yàn)證時(shí),可能會(huì)出現(xiàn)所得的水分過(guò)小或者放置在水桶不同位置時(shí)水分測(cè)量結(jié)果不同,這可能是由于MS-S-2001測(cè)得的是體積含水量,物料的緊實(shí)程度出現(xiàn)變化會(huì)影響測(cè)量結(jié)果隨之變化,這與微波測(cè)量方法容易受到物料的形狀、密度、厚度的影響[9]相一致;另一方面,同一批小麥顆粒之間及顆粒內(nèi)部水分均勻度差異也會(huì)造成測(cè)量結(jié)果的不精確。因而試驗(yàn)標(biāo)定曲線時(shí),需要注意以下幾點(diǎn):1)加水后為了讓小麥盡可能多的吸收水分,在放置期間的固定時(shí)間間隔還需要不斷地翻動(dòng)、傾倒;2)靜態(tài)測(cè)量時(shí):小麥充分吸收水分后再進(jìn)行測(cè)量,測(cè)量的環(huán)境、測(cè)量方式要與所做試驗(yàn)的環(huán)境、步驟盡可能的保持一致;3)每次測(cè)量時(shí)最好反復(fù)的傾倒,保證微波傳感器測(cè)量面一致;4)翻動(dòng)、傾倒小麥時(shí),不能讓小麥過(guò)多的撒落在桶外;5)微波水分反射值的測(cè)量時(shí)間最好在5分鐘左右,然后取這期間的平均值與小麥實(shí)際含水率進(jìn)行一一對(duì)應(yīng)。
經(jīng)實(shí)驗(yàn)確定的11組數(shù)據(jù)如表1所示。
表1 實(shí)驗(yàn)數(shù)據(jù)表Tab.1 Experimental data table
將以上試驗(yàn)數(shù)據(jù)標(biāo)定入微波水分傳感器,所標(biāo)定的曲線如圖3所示。
2.2人機(jī)接口電路設(shè)計(jì)
系統(tǒng)的人機(jī)接口電路包括TFT顯示電路及上位機(jī)軟件。顯示電路采用的是2.4寸TFT液晶顯示模塊,顯示分辨率為320*240,;使用ILI9325芯片控制液晶屏,通過(guò)TSC2046芯片控制觸摸屏,可顯示中英文字符、彩色、數(shù)字、圖案等;具有并行接口分8位和16位。STM32的FSMC支持8/16/32位的數(shù)據(jù)寬度,由于在線水分檢測(cè)的快速、實(shí)時(shí)檢測(cè)需求,硬件設(shè)計(jì)使用接口為16位并口,通過(guò)FSMC模擬8080接口進(jìn)行指令和數(shù)據(jù)的傳輸,硬件設(shè)計(jì)的FSMC_NE1作為8080_CS片選信號(hào),軟件需要選取連接的外部存儲(chǔ)器為 NOR FLASH;FSMC_A16作為8080_D/CX數(shù)據(jù)/命令信號(hào),軟件需要定義的RAM基地址為0X60020000。這里需要注意的是當(dāng)FSMC使用不同的區(qū)作為片選信號(hào)時(shí),需要選擇使用不同的外部存儲(chǔ)設(shè)備(NOR/PSRAM、NAND、PC卡設(shè)備);選擇不同的地址線時(shí),RAM的基地址需要重新計(jì)算。
圖3 水分曲線標(biāo)定圖Fig.3 Moisture curve calibration diagram
μC/OS-II是一個(gè)可移植、可固化的、可裁剪的、占先式的多任務(wù)實(shí)時(shí)內(nèi)核,主要是面向中小型的嵌入式系統(tǒng),具有執(zhí)行效率高、占用空間小、實(shí)時(shí)性能優(yōu)良和可擴(kuò)展性等特點(diǎn)[10]。軟件設(shè)計(jì)主要包括μC/OS-II的移植,系統(tǒng)任務(wù)建立,STM32單片機(jī)與MS-S-2001的通訊和人機(jī)界面。
3.1μC/OS-II在STM32單片機(jī)上的移植
移植 μC/OS-II需要修改與處理器相關(guān)的 3個(gè)文件:OS_CPU.H (C語(yǔ)言頭文件)、OS_CPU_C.C(C語(yǔ)言源文件)、OS_CPU_ASM.ASM(匯編源程序文件)[10-11]。μC/OS-II中移植部分如表2所示。
3.2系統(tǒng)任務(wù)建立
在μC/OS-II實(shí)時(shí)操作系統(tǒng)中建立并行存在的 6個(gè)任務(wù),按照優(yōu)先級(jí)從高到低分別是系統(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所示。其主要功能是用來(lái)完成系統(tǒng)主任務(wù)的建立、實(shí)時(shí)操作系統(tǒng)的啟動(dòng)。系統(tǒng)主任務(wù)優(yōu)先級(jí)別最高,在μC/OS-II系統(tǒng)啟動(dòng)后建立其余5個(gè)任務(wù),并根據(jù)其各自的優(yōu)先級(jí)進(jìn)行任務(wù)調(diào)度、運(yùn)行。其中硬件平臺(tái)初始化程序:包括系統(tǒng)時(shí)鐘初始化、串口中斷源配置、串口初始化及參數(shù)配置、TFT接口及FSMC初始化等。
3.3STM32單片機(jī)與MS-S-2001通信
根據(jù)MS-S-2001所特有的modubus協(xié)議設(shè)計(jì)數(shù)據(jù)發(fā)送和接收處理任務(wù),這兩個(gè)任務(wù)函數(shù)的設(shè)計(jì)也是整個(gè)實(shí)時(shí)系統(tǒng)實(shí)現(xiàn)的關(guān)鍵。當(dāng)成功接收到微波傳感器響應(yīng)后,通過(guò)郵箱發(fā)送函數(shù)OSMboxPost()通知接收處理任務(wù)進(jìn)行接收數(shù)據(jù)的處理,否則接收處理函數(shù)中的OSMboxPend()函數(shù)會(huì)一直等待串口接收成功的信號(hào)量;然后根據(jù)MS-S-2001所特有的CRC錯(cuò)誤校驗(yàn),判斷數(shù)據(jù)接收是否正確,正確且水分值在合理范圍內(nèi)則進(jìn)行數(shù)據(jù)的處理、顯示,否則驅(qū)動(dòng)報(bào)警電路報(bào)警,重新等待串口接收成功的信號(hào)量。接收處理任務(wù)流程圖如圖5所示。
3.4人機(jī)界面
人機(jī)界面包括兩個(gè)部分:靜態(tài)部分和動(dòng)態(tài)部分。靜態(tài)部分用來(lái)顯示固定不變的橫縱坐標(biāo)的刻度值及必要的中英文字符顯示;動(dòng)態(tài)部分用來(lái)顯示運(yùn)行時(shí)間 (0-200S),在達(dá)到200S后進(jìn)行實(shí)時(shí)曲線部分的刷新;顯示采集的溫度、水分值等信息。動(dòng)態(tài)曲線繪制的流程圖如圖6所示。
為了驗(yàn)證系統(tǒng)的測(cè)量精度,在實(shí)驗(yàn)室進(jìn)行了在線水分檢測(cè)試驗(yàn),并與實(shí)際理論值(加水量(l)=(kg)進(jìn)行比較。測(cè)量結(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ù)可知:由于實(shí)驗(yàn)標(biāo)定微波傳感器數(shù)據(jù)及μC/ OS-II的移植,使得實(shí)時(shí)在線水分檢測(cè)的誤差范圍在以內(nèi),解決了在線水分檢測(cè)的難點(diǎn)與提高檢測(cè)精度的問(wèn)題。
系統(tǒng)采用高速單片機(jī)STM32作微處理器和移植μC/OS-II,大幅度提升設(shè)計(jì)系統(tǒng)的實(shí)時(shí)性;同時(shí)具有數(shù)據(jù)處理速度快、較高的穩(wěn)定性和可靠性等優(yōu)點(diǎn),使得該系統(tǒng)完全能夠滿足在線實(shí)時(shí)檢測(cè)水分的場(chǎng)合。而且μC/OS-II作為源代碼公開(kāi)的實(shí)時(shí)內(nèi)核及系統(tǒng)可裁剪性、可擴(kuò)展性的特征,極大的增加了設(shè)計(jì)系統(tǒng)的靈活性,使得系統(tǒng)更容易管理、維護(hù)和系統(tǒng)升級(jí)。
表3 水分檢測(cè)數(shù)據(jù)及誤差Tab.3 Data and error of the system
實(shí)驗(yàn)和測(cè)試結(jié)果再次表明所設(shè)計(jì)的系統(tǒng)運(yùn)行穩(wěn)定可靠,具有良好的實(shí)時(shí)性;該檢測(cè)系統(tǒng)的設(shè)計(jì)解決了糧食水分在線檢測(cè)的難題,且檢測(cè)結(jié)果在誤差允許的范圍內(nèi)滿足國(guó)際要求,完全能夠?yàn)榧Z食的收購(gòu)、運(yùn)輸和儲(chǔ)藏提供強(qiáng)有力的技術(shù)保障。參考文獻(xiàn):
[1]杜先鋒,張勝全,張永林.基于微波的糧食水分檢測(cè)技術(shù)與系統(tǒng)[J].武漢工業(yè)學(xué)報(bào),2004,23(2):32-34.
[2]曹云東,林國(guó)棟,張陽(yáng),等.糧食水分在線檢測(cè)控制系統(tǒng)[J].儀表技術(shù)與傳感器,2003(4):17-19.
[3]偉利國(guó),張小超,胡小安,等.微波在線式糧食水分檢測(cè)系統(tǒng)[J].農(nóng)機(jī)化研究,2009(6):145-147.
[4]劉文生,張永林,肖慧.小麥著水中微波水分測(cè)控系統(tǒng)設(shè)計(jì)研究[J].糧油加工與食品機(jī)械,2003(12):52-54.
[5]殷曉慧.采用微波測(cè)水與自適應(yīng)控制的小麥著水系統(tǒng)[J].面粉通訊,2007(5):32-33.
[6]孫健,周展明,唐懷建.國(guó)內(nèi)外糧食水分快速檢測(cè)方法的研究[J].糧食儲(chǔ)藏,2007(3):46-49.
[7]黃智偉,王兵,朱衛(wèi)華.ARM微控制器應(yīng)用設(shè)計(jì)與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2012.
[8]王永安,殷海雙,段志偉,等.基于單片機(jī)AT89C51的糧食水分檢測(cè)系統(tǒng)[J].化工自動(dòng)化與儀表,2013,40(4):444-446,493.
[9]翟寶峰,郭宏林,許會(huì).糧食水分檢測(cè)技術(shù)的綜合分析及發(fā)展?fàn)顩r[J].武漢工業(yè)學(xué)院學(xué)報(bào),2001,5(23):413-416.
[10]LABROSSE J Jean.嵌入式實(shí)時(shí)操作系統(tǒng)[M].2版.邵貝貝等譯,北京:北京航空航天大學(xué)出版社,2003.
[11]趙劉強(qiáng),林永君,馬良玉,等.基于μ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稿件編號(hào):201510189
2015年糧食公益性行業(yè)科研專項(xiàng)(201513003-3)
郭華杰(1991—),男,河南商丘人,碩士研究生。研究方向:檢測(cè)技術(shù)和智能儀表。