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