陳新國
(河南工業(yè)大學后勤集團公司 河南 鄭州450001)
小麥籽粒質地的軟、硬是評價小麥加工品質和食用品質的一項重要指標,并與小麥育種和貿易價格等多方面密切相關。小麥硬度不但與小麥加工工藝和最終產(chǎn)品品質密切相關,而且與小麥的制粉品質密切相關,硬度是表征小麥研磨品質的主要指標。目前面粉加工業(yè)已經(jīng)認識到小麥硬度指標的重要性。建國以來,我國一直用角質率的大小反映小麥的硬度。該測定法具有很大的局限性,如在實際操作中不易準確判斷,人為誤差大,測量工藝繁瑣等問題。研制一種高精度、高效率、便攜式的小麥硬度檢測控制器很有必要。
文中設計的沖擊式小麥硬度檢測控制器,以S3C2410為核心控制器,測量工藝簡單,工作可靠,同時也滿足了工業(yè)現(xiàn)場的實時性要求。
有關小麥硬度的方法有100多種,其中壓力法是利用壓頭或刀頭壓碎或切割方法來測定小麥硬度。這種方法需要在大量的樣品測定的基礎上,統(tǒng)計分析才能得出正確的結果。
本系統(tǒng)對小麥硬度的檢測是基于壓力法,將一定質量的小麥裝入圓筒型容器中,經(jīng)過振動后以一定壓力P將其壓實。采用一定直徑D的硬質探頭由電機控制模塊驅動伺服電機以一定速度V插入盛裝小麥的容器中,富士伺服電機的電子齒輪由α、β值決定,壓入深度H由控制器的位移檢測模塊根據(jù)伺服電機的編碼器反饋的脈沖數(shù)來得到。
此式中ρ為伺服電機旋轉一周的機械移動量,α、β為命令脈沖補償,ω為電機轉動的圈數(shù)。其中壓力F可以通過公式F=KU得到,其中U為壓力傳感器輸出的電壓,K為壓力傳感器的系數(shù)。根據(jù)壓入深度H與壓力F的關系和大量的統(tǒng)計分析得到小麥硬度Y。
本系統(tǒng)的控制器主要完成伺服電機的速度和方向的控制,壓力傳感器的信號采集和探頭的位移檢測的任務。沖擊式小麥硬度檢測儀的硬件系統(tǒng)框圖如圖1[2]所示。
圖1 小麥硬度快速檢測系統(tǒng)結構圖Fig.1 Structure diagram of rapidly detection system of wheat hardness
小麥硬度檢測系統(tǒng)要完成一個通道的數(shù)據(jù)采集、電機速度方向控制、壓力探頭位移的測定和通訊等功能,外圍電路豐富??刂破饕瓿蓚鞲衅鞯臄?shù)據(jù)采集,對采集的數(shù)據(jù)軟件濾波和壓力探頭位移的實時測定及相關位移數(shù)據(jù)的累加等功能,數(shù)據(jù)運算量較大。本系統(tǒng)選用運算速度快、抗干擾能力強的S3C2410做微控制器,能夠滿足本系統(tǒng)的要求。
濾波電路主要濾去信號中的紋波,提高信號的抗干擾能力。根據(jù)無源低通濾波電路原理,本系統(tǒng)設計了一種改進的濾波電路,如圖2所示。傳感器輸出的差分信號通過電阻R21、R23右端進入系統(tǒng)。 其中電阻R21、R23和電容C149、C150一起組成了對地低通濾波結構,目的是濾去差分信號中的高頻噪聲干擾。并聯(lián)滌綸電容C181、C141能夠很好地衰減掉差模噪聲。高精密電阻R20、R22和鉭電容C173組成低通濾波結構,濾掉了截至頻率以上的信號,再經(jīng)過滌綸電容C34、C35衰減掉了共模噪聲。 壓力傳感器輸出的差分信號是mV級的電壓信號,很容易受到外界的干擾,必須進行放大處理才能送到ARM處理器中進行AD轉換[3]。
圖2 濾波與放大電路Fig.2 Circuit of filtering and amplifying
AD620是一種低功耗的儀用放大器,特別適合做小信號的前置放大級,理論上可以放大1 000倍,在此系統(tǒng)中可以通過圖2電路中的電位器W1對放大的倍數(shù)進行調整。
系統(tǒng)通過電機精確控制絲桿上的滑動模塊向下運動以提供均勻壓力。根據(jù)系統(tǒng)的需求,選用富士FALDIC-W型號的伺服電機作為執(zhí)行器。伺服電機的速度的控制使用方波信號,方波的頻率控制電機的速度,在應用中使用S3C2410的GPB0引腳的TOUT0。伺服電機方向的控制需要電平信號,系統(tǒng)中對電機的方向的控制使用GPB1的普通I/O口,通過輸出0、1數(shù)字信號完成對電機正反方向的控制。由于對電機速度和方向需要差動信號,要對控制器發(fā)過來的脈沖和電平控制信號使用四路差動線路驅動器MC3487進行轉化為差動信號再送給伺服控制器[3],電路如圖3所示。
圖3 電機方向速度控制電路圖Fig.3 Control circuit of speed of direction of the electric motor
位移檢測主要是根據(jù)伺服電機的編碼器在伺服電機轉動時反饋的脈沖數(shù)來確定探針的移動位移。其中編碼器在電機轉動一周時所發(fā)送的脈沖數(shù)可以通過伺服單元的設置模式進行設置,設置范圍為16~32 768個/轉。反饋過來的脈沖信號也是差動信號,對電機反饋過來的脈沖差動信號需要使用MC3486來轉化為控制器所要的脈沖信號。這樣就可以利用控制器的外部中斷來檢測脈沖的個數(shù)。然后利用式(1)實時的測定位移傳感器探頭的位移。電路如圖4所示。為了提高準確的檢測編碼器發(fā)出的脈沖個數(shù),這里使用了兩路脈沖檢測。其中,SFIA+、SFIA-、SFIB+和FIB-是編碼器的兩相差動信號,通過MC3486轉為脈沖信號,再通過74HC14施密特觸發(fā)器整形后,獲得較理想的矩形脈沖,然后送到外部中斷進行脈沖計數(shù)。
圖4 位移檢測電路Fig.4 Circuit of displacement detecting
設備驅動程序是操作系統(tǒng)內核和機器硬件之間的接口。設備驅動程序主要完成對設備進行初始化和釋放,把數(shù)據(jù)從內核傳送到硬件和從硬件讀取數(shù)據(jù)、讀取應用程序傳送給設備文件的數(shù)據(jù)。Linux為所有的設備文件都提供了統(tǒng)一的操作函數(shù)接口,方法是使用數(shù)據(jù)結構struct file_operations。這個數(shù)據(jù)結構中包括許多操作函數(shù)的指針,如open()、close()、read()和write()等[4]。
由于Linux內核中自帶有串口和AD的驅動,故只需完成對位移檢測模塊和電機控制模塊兩部分的驅動設計就可以了。接下來就以位移檢測驅動為例來說明驅動開發(fā)的方法。前面已經(jīng)提過主要是通過對編碼器發(fā)出的脈沖進行計數(shù)來實現(xiàn)位移檢測,脈沖的數(shù)可以使用外部中斷,在此以中斷0為例。只列出此驅動程序中比較重要的函數(shù),如中斷處理函數(shù)以及讀寫函數(shù)的實現(xiàn)。在驅動的Open()函數(shù)中使用request_irq(IRQ_EINT0,button_irq_ser,SA_INTERRUPT,DEVICE_NAME,NULL)語句注冊中斷。在驅動的初始化函數(shù)中使用set_external_irq(IRQ_EINT0,EXT_FALLING_EDGE,GPIO_PULLUP_DIS)語句設置觸發(fā)中斷的類型為下降沿觸發(fā)。所以當下降沿來到時,進入中斷服務子程序[5]。實現(xiàn)如下:
應用程序在進行每次檢測時,需要通過寫函數(shù)把上次記得的脈沖個數(shù)key_down_cnt清零。寫函數(shù)的實現(xiàn)如下:
得到脈沖個數(shù)key_down_cnt的值可以通過讀函數(shù)來實現(xiàn)[6]如下:
通過對上位機的傳感器檢測,設定伺服電機的控制脈沖頻率為520 Hz,壓力傳感器空載來回測定4次,測得傳感器的mV級零點值,經(jīng)過多次測量壓力傳感器的零點值誤差精度在(7~8)×10-5,說明沖擊式小麥硬度檢測系統(tǒng)壓力傳感器的零點值是很穩(wěn)定的。測定電機控制電路的方法是方向控制引腳輸入頻率為520 Hz方波脈沖來檢測對伺服電機的速度控制情況,設定伺服控制單元的α=3 116,β=1,根據(jù)式(2),其中V是電機的轉速α、β也是命令補償脈沖??梢郧蟪鲭姍C轉1圈所需的脈沖個數(shù)理論值為約42.06個/轉,通過外部中斷控制輸入42 060個脈沖,重復測試10次,結果控制精度符合要求。
對電機方向控制引腳輸入0時,傳感器向下運動,規(guī)定為正方向,輸入1時電機反轉。測試結果表明控制器的硬件電路經(jīng)度和性能都達到了預期的要求。
基于ARM的小麥硬度檢測系統(tǒng),以S3C2410為硬件設計平臺,軟件以嵌入式Linux操作系統(tǒng)為運行平臺,在設計和實現(xiàn)中充分地利用了Linux微內核、驅動可裁減的特性和多線程數(shù)據(jù)通信機制。經(jīng)現(xiàn)場測試,監(jiān)控下位機軟件能夠地穩(wěn)定運行,串口能夠正確接收和發(fā)送兩端數(shù)據(jù),達到了預期的要求。測試結果表明沖擊式小麥硬度檢測系統(tǒng)具有良好的使用價值。
[1]過文儀,陳啟祥.基于ARM芯片的小型嵌入式系統(tǒng)設計與程序開發(fā)[J].數(shù)字技術與應用,2010,11(3):45-46.GUO Wen-yi,CHEN Qi-xiang.Designing chips of ARM-based for small embedded system and development of program[J].Digital Technology and Application,2010,11(3):45-46.
[2]溫婷,程緒建,劉曉方.基于ARM的智能多串口板監(jiān)控軟件的設計與實現(xiàn) [J].微電子學與計算機,2010,11(27):178-180.WEN Ting,CHENG Xu-jian,LIU Xiao-fang.Design and realization of monitoring software on ARM-based intelligent multi-channel UART board[J].Microelectronics and Computer,2010,11(27):178-180.
[3]韓祖淵,張赤斌,徐揚.基于 ARM7的高精度陣列式皮帶秤微控制器的設計[J].儀表技術與傳感器,2010,9(2):61-62.HAN Zu-yuan,ZHANG Chi-bin,XU Yang.Design of micro controller of high precision and array type belt weigher based on ARM7[J].Instrument Technique and Sensor,2010,9(2):61-62.
[4]博創(chuàng)科技.嵌入式系統(tǒng)試驗指導書[M].北京:北京博創(chuàng)興業(yè)科技有限公司,2002.
[5]商斌.Linux設備驅動開發(fā)入門與編程實踐[M].北京:電子工業(yè)出版社,2009.
[6]Roberts E S.C語言的科學和藝術[M].翁惠玉,張冬茉,楊鑫,等譯.北京:機械工業(yè)出版社,2005.