基于ARM的漿果采摘機械手運動控制研究
2.1 主控制模塊設(shè)計
為了能夠滿足機器人控制需求,同時兼顧機器人對控制器體積、重量、功耗等敏感特性的要求,主控制模塊采用Samsung 公司基于ARM920T 核(適用于實時環(huán)境) 的低功耗、16/32bit、高性能的RISC 微處理器S3C2410,其主頻為266MHz。操作系統(tǒng)則選用源碼公開、專為ARM 設(shè)計,可靠性高的實時、多任務(wù)內(nèi)核arm-Linux。
要使微處理器能夠正常工作,必須對其外圍進行擴展,圖3 所示為實現(xiàn)整個ARM 主控制模塊的硬件系統(tǒng)原理圖。
電源模塊負(fù)責(zé)為整個模塊提供穩(wěn)定、干凈的直流電源。JTAG 調(diào)試單元用來實現(xiàn)程序的在線調(diào)試。串行通信模塊則通過RS232 通訊標(biāo)準(zhǔn)實現(xiàn)主控制模塊與上位機的通訊。為使系統(tǒng)能夠運行較大的程序(如LINUX內(nèi)核和文件系統(tǒng)),在微處理器外圍擴展了32M 字節(jié)的SDRAM 內(nèi)存芯片。擴展了16M 字節(jié)的FLASH 芯片作為程序和數(shù)據(jù)的存儲設(shè)備,以保證掉電時程序和數(shù)據(jù)不會丟失。
2.2 驅(qū)動模塊設(shè)計
本機器人系統(tǒng)采用直流電機控制,電機驅(qū)動芯片選用ST公司的L298。L298 是ST 公司生產(chǎn)的一種高電壓、大電流電機驅(qū)動芯片。該芯片的主要特點是工作電壓高,輸出電流大,瞬間峰值電流可達3A,持續(xù)工作電流為2A;內(nèi)含兩個H 橋的高電壓大電流全橋式驅(qū)動器,可用來驅(qū)動直流電動機、步進電動機、繼電器和線圈等感性負(fù)載;采用標(biāo)準(zhǔn)TTL 邏輯電平信號控制;具有兩個使能控制端,在不受輸入信號影響的情況下允許或禁止器件工作;有一個邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作;可外接檢測電阻,將變化量反饋給控制電路。
2.3 反饋模塊設(shè)計
本系統(tǒng)的電機使用光電編碼器進行測速。光電編碼器具有低慣量、低噪聲、高分辨率和高精度等特點,適合于控制直流電機。將編碼器產(chǎn)生的脈沖信號經(jīng)變換得到電動機速度用于速度反饋形成速度閉環(huán),同時可以對脈沖信號進行計數(shù)和運算,從而得到采摘機器手的位置和速度。
3 控制系統(tǒng)軟件設(shè)計
控制系統(tǒng)中控制任務(wù)的實現(xiàn)由應(yīng)用程序來完成,應(yīng)用程序設(shè)計的好壞將直接決定整個系統(tǒng)的控制質(zhì)量和控制效率。為了更好地進行系統(tǒng)調(diào)試以及功能擴展,控制系統(tǒng)軟件也采用了模塊化結(jié)構(gòu)設(shè)計。系統(tǒng)主程序主要分為初始化模塊和運行模塊兩大部分。
3.1 初始化模塊
初始化模塊需要完成的工作是:異常向量表定義、堆棧初始化、系統(tǒng)變量初始化、中斷系統(tǒng)初始化、I/O 初始化和外圍初始化等操作。
3.2 運行模塊
運行模塊通過中斷形式進行,包括測速模塊、PID控制模塊和PWM波輸出模塊。主要工作流程為:首先判斷是否有新的速度指令,若有,則判斷出速度大小和方向,并將其轉(zhuǎn)換成程序中規(guī)定的統(tǒng)一形式,以方便進行PID 控制;然后判斷是否有新的傳感器反饋值,若有,則計算出電機的速度大小,并執(zhí)行電機的PID 控制程序,接著調(diào)用電機驅(qū)動程序,改變PWM 占空比,輸出PWM 波,實現(xiàn)電機的速度控制。測速模塊每隔一定采樣時間對光電編碼器脈沖進行采樣,以得到速度反饋值,運行模塊的主要流程如圖4 所示。
4 結(jié)束語
基于ARM 的運動控制系統(tǒng)是漿果采摘機器人系統(tǒng)的一個重要組成部分。ARM 微處理器性能好、功耗低、體積小、移植性較好。以ARM 微處理器為核心的運動控制系統(tǒng)可以通過硬件平臺的改進和升級、軟件算法的再生和模塊化使整個控制系統(tǒng)具備可移植性,具有一定應(yīng)用價值。
評論