小麥硬度檢測控制器的設(shè)計(jì)
由于Linux內(nèi)核中自帶有串口和AD的驅(qū)動,故只需完成對位移檢測模塊和電機(jī)控制模塊兩部分的驅(qū)動設(shè)計(jì)就可以了。接下來就以位移檢測驅(qū)動為例來說明驅(qū)動開發(fā)的方法。前面已經(jīng)提過主要是通過對編碼器發(fā)出的脈沖進(jìn)行計(jì)數(shù)來實(shí)現(xiàn)位移檢測,脈沖的數(shù)可以使用外部中斷,在此以中斷0為例。只列出此驅(qū)動程序中比較重要的函數(shù),如中斷處理函數(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)下降沿來到時(shí),進(jìn)入中斷服務(wù)子程序。實(shí)現(xiàn)如下:
4 硬件測試結(jié)果分析
通過對上位機(jī)的傳感器檢測,設(shè)定伺服電機(jī)的控制脈沖頻率為520 Hz,壓力傳感器空載來回測定4次,測得傳感器的mV級零點(diǎn)值,經(jīng)過多次測量壓力傳感器的零點(diǎn)值誤差精度在(7~8)×10-5,說明沖擊式小麥硬度檢測系統(tǒng)壓力傳感器的零點(diǎn)值是很穩(wěn)定的。測定電機(jī)控制電路的方法是方向控制引腳輸入頻率為520 Hz方波脈沖來檢測對伺服電機(jī)的速度控制情況,設(shè)定伺服控制單元的α=3116,β=1,根據(jù)式(2),其中V是電機(jī)的轉(zhuǎn)速α、β也是命令補(bǔ)償脈沖??梢郧蟪鲭姍C(jī)轉(zhuǎn)1圈所需的脈沖個(gè)數(shù)理論值為約42.06個(gè)/轉(zhuǎn),通過外部中斷控制輸入42 060個(gè)脈沖,重復(fù)測試10次,結(jié)果控制精度符合要求。
對電機(jī)方向控制引腳輸入0時(shí),傳感器向下運(yùn)動,規(guī)定為正方向,輸入1時(shí)電機(jī)反轉(zhuǎn)。測試結(jié)果表明控制器的硬件電路經(jīng)度和性能都達(dá)到了預(yù)期的要求。
5 結(jié)束語
基于ARM的小麥硬度檢測系統(tǒng),以S3C2410為硬件設(shè)計(jì)平臺,軟件以嵌入式Linux操作系統(tǒng)為運(yùn)行平臺,在設(shè)計(jì)和實(shí)現(xiàn)中充分地利用了Linux微內(nèi)核、驅(qū)動可裁減的特性和多線程數(shù)據(jù)通信機(jī)制。經(jīng)現(xiàn)場測試,監(jiān)控下位機(jī)軟件能夠地穩(wěn)定運(yùn)行,串口能夠正確接收和發(fā)送兩端數(shù)據(jù),達(dá)到了預(yù)期的要求。測試結(jié)果表明沖擊式小麥硬度檢測系統(tǒng)具有良好的使用價(jià)值。本文引用地址:http://www.ex-cimer.com/article/160512.htm
伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理
評論