小麥硬度檢測控制器的設計
由于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 硬件測試結果分析
通過對上位機的傳感器檢測,設定伺服電機的控制脈沖頻率為520 Hz,壓力傳感器空載來回測定4次,測得傳感器的mV級零點值,經過多次測量壓力傳感器的零點值誤差精度在(7~8)×10-5,說明沖擊式小麥硬度檢測系統壓力傳感器的零點值是很穩定的。測定電機控制電路的方法是方向控制引腳輸入頻率為520 Hz方波脈沖來檢測對伺服電機的速度控制情況,設定伺服控制單元的α=3116,β=1,根據式(2),其中V是電機的轉速α、β也是命令補償脈沖。可以求出電機轉1圈所需的脈沖個數理論值為約42.06個/轉,通過外部中斷控制輸入42 060個脈沖,重復測試10次,結果控制精度符合要求。

對電機方向控制引腳輸入0時,傳感器向下運動,規定為正方向,輸入1時電機反轉。測試結果表明控制器的硬件電路經度和性能都達到了預期的要求。
5 結束語
基于ARM的小麥硬度檢測系統,以S3C2410為硬件設計平臺,軟件以嵌入式Linux操作系統為運行平臺,在設計和實現中充分地利用了Linux微內核、驅動可裁減的特性和多線程數據通信機制。經現場測試,監控下位機軟件能夠地穩定運行,串口能夠正確接收和發送兩端數據,達到了預期的要求。測試結果表明沖擊式小麥硬度檢測系統具有良好的使用價值。本文引用地址:http://www.104case.com/article/160512.htm
伺服電機相關文章:伺服電機工作原理
評論