摘要:針對面粉加工業對小麥硬度精密檢測的需要,提出了基于ARM的小麥
硬度檢測控制器的設計方案。為提高系統的實時性和控制精度,對小麥硬度檢測的任務進行了合理分解。根據系統功能,對控制器的各個部分進行了模塊化設計,分別介紹了功能模塊的實現和各個模塊的通信方式及伺服電機控制方法的實現。經測試小麥硬度檢測控制器的成本低、攜帶方便、穩定性好,應用前景廣闊。
小麥籽粒質地的軟、硬是評價小麥加工品質和食用品質的一項重要指標,并與小麥育種和貿易價格等多方面密切相關。小麥硬度不但與小麥加工工藝和zui終產品品質密切相關,而且與小麥的制粉品質密切相關,硬度是表征小麥研磨品質的主要指標。目前面粉加工業已經認識到小麥硬度指標的重要性。建國以來,我國一直用角質率的大小反映小麥的硬度。該測定法具有很大的局限性,如在實際操作中不易準確判斷,人為誤差大,測量工藝繁瑣等問題。研制一種高精度、率、便攜式的小麥硬度檢測控制器很有必要。
文中設計的沖擊式小麥硬度檢測控制器,以S3C2410為核心控制器,測量工藝簡單,工作可靠,同時也滿足了工業現場的實時性要求。
1、小麥硬度檢測原理分析
有關小麥硬度的方法有100多種,其中壓力法是利用壓頭或刀頭壓碎或切割方法來測定小麥硬度。這種方法需要在大量的樣品測定的基礎上,統計分析才能得出正確的結果。
本系統對小麥硬度的檢測是基于壓力法,將一定質量的小麥裝入圓筒型容器中,經過振動后以一定壓力P將其壓實。采用一定直徑D的硬質探頭由電機控制模塊驅動伺服電機以一定速度V插入盛裝小麥的容器中,富士伺服電機的電子齒輪由α、β值決定,壓入深度H由控制器的位移檢測模塊根據伺服電機的編碼器反饋的脈沖數來得到。
此式中ρ為伺服電機旋轉一周的機械移動量,α、β為命令脈沖補償,ω為電機轉動的圈數。其中壓力F可以通過公式F=KU得到,其中U為壓力傳感器輸出的電壓,K為壓力傳感器的系數。根據壓入深度H與壓力F的關系和大量的統計分析得到小麥硬度Y。
本系統的控制器主要完成伺服電機的速度和方向的控制,壓力傳感器的信號采集和探頭的位移檢測的任務。沖擊式小麥硬度檢測儀的硬件系統框圖如圖1所示。
2、室控制器硬件電路設計
2.1zui小控制系統
小麥硬度檢測系統要完成一個通道的數據采集、電機速度方向控制、壓力探頭位移的測定和通訊等功能,外圍電路豐富。控制器要完成傳感器的數據采集,對采集的數據軟件濾波和壓力探頭位移的實時測定及相關位移數據的累加等功能,數據運算量較大。本系統選用運算速度快、抗*力強的S3C2410做微控制器,能夠滿足本系統的要求。
2.2濾波與放大電路的設計
濾波電路主要濾去信號中的紋波,提高信號的抗*力。根據無源低通濾波電路原理,本系統設計了一種改進的濾波電路,如圖2所示。傳感器輸出的差分信號通過電阻R21、R23右端進入系統。其中電阻R21、R23和電容C149、C150一起組成了對地低通濾波結構,目的是濾去差分信號中的高頻噪聲干擾。并聯滌綸電容C181、C141能夠很好地衰減掉差模噪聲。高精密電阻R20、R22和鉭電容C173組成低通濾波結構,濾掉了截至頻率以上的信號,再經過滌綸電容C34、C35衰減掉了共模噪聲。壓力傳感器輸出的差分信號是mV級的電壓信號,很容易受到外界的干擾,必須進行放大處理才能送到ARM處理器中進行AD轉換。
AD620是一種低功耗的儀用放大器,特別適合做小信號的前置放大級,理論上可以放大1000倍,在此系統中可以通過圖2電路中的電位器W1對放大的倍數進行調整。
2.3電機控制電路設計
系統通過電機控制絲桿上的滑動模塊向下運動以提供均勻壓力。根據系統的需求,選用富士FALDIC-W型號的伺服電機作為執行器。伺服電機的速度的控制使用方波信號,方波的頻率控制電機的速度,在應用中使用S3C2410的GPB0引腳的TOUT0。伺服電機方向的控制需要電平信號,系統中對電機的方向的控制使用GPB1的普通I/O口,通過輸出0、1數字信號完成對電機正反方向的控制。由于對電機速度和方向需要差動信號,要對控制器發過來的脈沖和電平控制信號使用四路差動線路驅動器MC3487進行轉化為差動信號再送給伺服控制器,電路如圖3所示。
2.4位移檢測電路設計
位移檢測主要是根據伺服電機的編碼器在伺服電機轉動時反饋的脈沖數來確定探針的移動位移。其中編碼器在電機轉動一周時所發送的脈沖數可以通過伺服單元的設置模式進行設置,設置范圍為16~32768個/轉。反饋過來的脈沖信號也是差動信號,對電機反饋過來的脈沖差動信號需要使用MC3486來轉化為控制器所要的脈沖信號。這樣就可以利用控制器的外部中斷來檢測脈沖的個數。然后利用式(1)實時的測定位移傳感器探頭的位移。電路如圖4所示。為了提高準確的檢測編碼器發出的脈沖個數,這里使用了兩路脈沖檢測。其中,SFIA+、SFIA-、SFIB+和FIB-是編碼器的兩相差動信號,通過MC3486轉為脈沖信號,再通過74HC14施密特觸發器整形后,獲得較理想的矩形脈沖,然后送到外部中斷進行脈沖計數。
3、驅動軟件設計
設備驅動程序是操作系統內核和機器硬件之間的接口。設備驅動程序主要完成對設備進行初始化和釋放,把數據從內核傳送到硬件和從硬件讀取數據、讀取應用程序傳送給設備文件的數據。Linux為所有的設備文件都提供了統一的操作函數接口,方法是使用數據結構structfile_operations。這個數據結構中包括許多操作函數的指針,如open()、close()、read()和write()等。
由于Linux內核中自帶有串口和AD的驅動,故只需完成對位移檢測模塊和電機控制模塊兩部分的驅動設計就可以了。接下來就以位移檢測驅動為例來說明驅動開發的方法。前面已經提過主要是通過對編碼器發出的脈沖進行計數來實現位移檢測,脈沖的數可以使用外部中斷,在此以中斷0為例。只列出此驅動程序中比較重要的函數,如中斷處理函數以及讀寫函數的實現。在驅動的Open()函數中使用request_irq(IRQ_EINT0,button_irq_ser,SA_INTERRUPT,DEVICE_NAME,NULL)語句注冊中斷。在驅動的初始化函數中使用set_external_irq(IRQ_EINT0,EXT_FALLING_EDGE,GPIO_PULLUP_DIS)語句設置觸發中斷的類型為下降沿觸發。所以當下降沿來到時,進入中斷服務子程序。實現如下:
4、硬件測試結果分析
通過對上位機的傳感器檢測,設定伺服電機的控制脈沖頻率為520Hz,壓力傳感器空載來回測定4次,測得傳感器的mV級零點值,經過多次測量壓力傳感器的零點值誤差精度在(7~8)×10-5,說明沖擊式小麥硬度檢測系統壓力傳感器的零點值是很穩定的。測定電機控制電路的方法是方向控制引腳輸入頻率為520Hz方波脈沖來檢測對伺服電機的速度控制情況,設定伺服控制單元的α=3116,β=1,根據式(2),其中V是電機的轉速α、β也是命令補償脈沖。可以求出電機轉1圈所需的脈沖個數理論值為約42.06個/轉,通過外部中斷控制輸入42060個脈沖,重復測試10次,結果控制精度符合要求。
對電機方向控制引腳輸入0時,傳感器向下運動,規定為正方向,輸入1時電機反轉。測試結果表明控制器的硬件電路經度和性能都達到了預期的要求。
5、結束語
基于ARM的小麥硬度檢測系統,以S3C2410為硬件設計平臺,軟件以嵌入式Linux操作系統為運行平臺,在設計和實現中充分地利用了Linux微內核、驅動可裁減的特性和多線程數據通信機制。經現場測試,監控下位機軟件能夠地穩定運行,串口能夠正確接收和發送兩端數據,達到了預期的要求。測試結果表明沖擊式小麥硬度檢測系統具有良好的使用價值。