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