摘要:糧食中的水分按物理性質可分為結合水(結晶水)和游離水(自由水)。結合水是在糧粒生長過程中自然形成的,存在于糧食細胞內與糧粒內親水物質結合得很牢固,性質很穩定,難以解吸,結合水不參加導電;游離水是通過物理吸附作用凝聚在糧食內部的毛細管內和分子間隙中的水分,它具有普通水的導電性質,平時檢測指示的水分指的是游離水。本文根據糧食的介電特性,設計了完整的測試方案,它具有低功耗、便于攜帶、具有語音提示功能、操作方便、人機界面友好等特點,可廣泛地應用于糧食的調撥、征購、儲藏、加工等環節中。
1、引言
糧食中的水分按物理性質可分為結合水(結晶水)和游離水(自由水)。結合水是在糧粒生長過程中自然形成的,存在于糧食細胞內與糧粒內親水物質結合得很牢固,性質很穩定,難以解吸,結合水不參加導電;游離水是通過物理吸附作用凝聚在糧食內部的毛細管內和分子間隙中的水分,它具有普通水的導電性質,平時檢測指示的水分指的是游離水。如果不加選擇地購進和儲藏糧食,必然會影響糧食的儲藏周期,導致糧食的過早發霉、變質、腐爛,因此必須時刻在意糧食的水分含量,本文根據糧食的介電特性,利用凌陽科技公司的SPCE061A單片機的快速運算與處理數據的能力和語音功能的特點,設計了完整的測試方案,它具有低功耗、便于攜帶、具有語音提示功能、操作方便、人機界面友好等特點,可廣泛地應用于糧食的調撥、征購、儲藏、加工等環節中。
2、SPCE061A單片機簡介
SPCE061A是中國臺灣凌陽科技公司推出的一款以μnSPTM為核心的基于SOC(SystemOnChip)技術的16位單片機。SPCE061A中包括2K字節的SRAM和32K字節的閃存ROM;32位可編程的多功能I/O端口;兩個16位可編程定時器/計數器;14個中斷源,兩級優先級,三種中斷類型;32768Hz實時時鐘;低電壓復位/監測功能;可編程的看門狗功能;7通道10位A/D輸入和單通道內置麥克風放大器和自動增益控制AGC功能的聲音A/D轉換器;雙通道10位D/A音頻轉換器;具有ICE(InCircuitEmula2tion)接口,能夠方便的實現在線仿真和程序的下載;SPCE061A在2.6~3.6V工作電壓范圍內的工作頻率范圍為0.32~49.152MHz,較高的數據處理速度使SPCE061A能夠非常容易地、快速地處理復雜的數字信號,SPCE061A能夠實現用于處理數字信號的16位316位的內積運算,因此非常適合于數字語音識別和應用領域。凌陽的指令系統采用精簡指令集,它以字為單位,從而格式緊湊、靈活;執行時間短。由此可見,SPCE061A是一款以單片機的價格獲得DSP處理速度的具有高性價比的單片機。
3、系統軟硬件設計
3.1系統的硬件設計
系統的硬件結構圖如圖1所示:
圖1硬件結構圖
數字溫度傳感器采用DALLAS公司的單總線器件DS18B20,用于補償環境溫度對糧食內部水分的影響,環境溫度直接以“一線總線”的數字方式傳輸,省去了溫度傳感器的放大處理等環節,大大提高了系統的抗干擾性,適合于惡劣環境的現場溫度測量。同時它只占用單片機的一個端口,節約了系統的硬件資源,因此具有較高的性價比。
糧食水分的測試通常采用電阻法和電容法,由于非金屬干燥物質的電阻很大,通常能達到幾十到幾百兆歐,要使這樣大的電阻流過電流必須在檢測電極兩端加上高電壓,即使這樣獲得的電流也只是微安級的,必須要經過放大等處理措施,因此用電阻法檢測獲得的測量信號微弱,影響測量精度。本電路采用電容法進行測量,經過實驗的反復驗證,水分傳感器采用圓柱形容器測量糧食的含水量比平板式容器要準確些,操作也較方便,測量值受邊緣效應影響較小。信號調理電路采用555芯片構成的非重復觸發的單穩觸發電路,如圖2所示:
圖2信號調理電路
糧食中的水分含量越大,糧食的介電常數就越大,電容值就越大。電容與水分存在一定的函數關系,同時在單穩觸發電路中,輸出的脈沖寬度Tpo=RCln3,其中C就是要測的電容值,因此水分與脈沖寬度存在函數關系,只要測出脈沖寬度就可獲得糧食水分的含量。信號的采樣波形如圖3所示。脈寬的測量由單片機的外中斷和定時中斷來完成,由于SPCE061A的EXT1和EXT2均為負跳沿觸發中斷,因此在555的輸出端加一級反相器,EXT1中斷采樣輸出信號的上跳沿,然后再經過一級反相器,EXT2采樣輸出信號的下跳沿。兩者采樣的時間差就是脈沖寬度。時間差的計算可由單片機的定時中斷來實現,在EXT1的中斷程序里開啟定時中斷,在EXT2的中斷程序里關閉定時中斷。電路中的同步觸發信號來自單片機的輸出控制端口使采樣和計時保持同步,提高系統的測量精度。
圖3信號采樣波形
為了降低功耗,系統采用圖形點陣式LCD顯示。相應的數據線和控制線與SPCE061A的16位并行A口連接,用來顯示測量的糧食的種類、每次測量的數值、次數、平均值,以及測量的修正值。整個人機界面清晰、明確。
按鍵輸入部分由品種選擇鍵、修正值輸入鍵、保存鍵、測試鍵、平均鍵、清除鍵等組成,根據需要,可測量大米、小麥、高粱等不同種類的糧食。
SPCE061A的音頻輸出采用雙通道的DAC方式,即數字信號通過10位DAC轉換成3mA驅動電流的模擬輸出,語音提示信號輸出經過驅動放大以后,通過揚聲器輸出。
3.2系統軟件設計
糧食水分測試儀是具有區域特色的產品,它對不同地區的糧食作物具有不同的測量基準值,因此在測試之前,需要根據不同的糧食種類,在不同的狀態下建立起標準的數據庫,這些數據可以預先存入系統中,也可以由用戶根據標準現場設定。這樣在測試時就與標準值進行比較,判斷是否合乎標準。
軟件采用模塊化設計,包括初始化程序、鍵盤掃描、溫度采樣、水分采樣中斷處理、測量數據線性化和溫度漂移的補償的數據處理、語音提示等模塊。主程序負責整個系統的協調與控制工作,通過調用不同的模塊完成相應的工作。本測試儀以每個品種10次隨機采樣的算術平均值作為測量結果,有效地提高了測量的準確性和重復性。在測試完成后就輸出語音提示,判斷所測試的水分為多少并且是否合格。主程序的流程圖如圖4所示:
圖4主程序流程圖
4、語音提示系統工作原理
SPCE061A的音頻輸出有兩種方式,一種是音調輸出方式,另一種是語音輸出方式,兩者的區別在于輸出的控制機理不同。前者是通過控制定時器溢出所產生的不同頻率來決定聲波振動次數的多少,從而決定發出的聲音音調的高低;后者是用與聲音數據采樣率相同的速率將聲音數據通過數模轉換通道還原成音頻電壓或電流輸出,其中聲音數據采樣率決定了聲音音質的好壞,并決定了聲音數據所需要占據的存儲空間[3]。提示語音的輸入可以采用兩種方式:一是通過PC機的聲卡,用麥克風采集語音的3.wav文件;二是用SPCE061A系統采集語音信號,通過通信模塊將語音信號傳送到PC機上保存。第二種方式,因為它能保證語音特征的一致性,從而減少硬件系統不一致帶來的誤差。不管采用哪種方式,3.wav文件占用的存儲空間很大,對于微控制器來說想要存儲大量的語音信息顯然是不可能的,必須將音頻文件壓縮。為了方便用戶使用,凌陽公司的SPCE061A提供了各種音頻壓縮編碼的算法和API函數庫,即SACM-LIB。用戶只須了解每個模塊所要實現的功能及參數的內容,然后調用該API函數即可實現該功能。凌陽科技公司提供三種不同壓縮率的語音提示的算法,表1是各種壓縮算法名稱及編碼率類型。
表1SPCE061A的語音壓縮算法及編碼率類型
這三種壓縮算法的區別在于壓縮率不同、音質也不同。SACMA2000壓縮率相對較小,音質較好,相應的資源占用較多。SACMS240的壓縮率zui大,音質相對較差。SACMS480介于這兩者之間。本系統在沒有擴展存儲器的情況下,采用SACMS240方式,它可容納210秒的語音數據。語音播放子程序包括語音播放程序和服務中斷程序,語音播放程序主要完成D/A轉換器、TIMERA定時器和音量的初始化,從ROM里取出預先壓縮好的語音數據,解壓縮后存放在播放隊列中,中斷服務程序定時地從播放隊列中讀取數據,從D/A轉換器轉換后送揚聲器發出聲音。播放程序如下:
Sound:_proc;
r1=1;
callF_SACM_S240_Initial;
r1=8;
callF_SACM_S240_Volume;
r1=[Speech_1];
r2=dac1;
r3=Ramp_UpDn_On;
callF_SACM_S240_Play;
LOOP;
callF_SACM_S240_ServiceLoop[syg1];
callF_SACM_S240_Status;
testr1,0x0001;
jzSound_End;
jmpLOOP;
Sound_End;
retf;
endp;
5實驗測試結果
本測試儀采用浮動三點定標法對各種不同種類的糧食預先定標,用戶在使用時可直接測量,以小麥為例,在不同的水分情況下,實測值與標準值的數據比對如表2所示:
表2實測值與標準值的比對
經過非線性補償和誤差修正,本測試儀的測量誤差≤±0.5%,測量的水分范圍為3~35%,重復誤差≤0.1%,使用的溫度范圍為0~40℃?;旧线_到國內外同類*產品的技術指標??蛇m用于多種種類的糧食水分測量,具有比較廣闊的市場前景。
參考文獻
[1]薛鈞義,等.凌陽十六位單片機原理及應用[M].北京:北京航空航天大學出版社,2003,2
[2]張永林,等.糧食水分在線測量技術評述[J].武漢工業學院學報,2003,(12):36-40
[3]李晶姣.嵌入式語音技術及凌陽16位單片機應用[M].北京:北京航空航天大學出版社