摘 要: 針對仿人機(jī)器人手臂模塊化關(guān)節(jié)的結(jié)構(gòu)與性能要求,設(shè)計出一種成本低、結(jié)構(gòu)緊密、耦合性能好且適用于工程實踐的環(huán)形伺服驅(qū)動控制系統(tǒng)。該系統(tǒng)主要由MFC控制界面發(fā)送指令,通過USB CAN與主控芯片STM32進(jìn)行通信,由STM32完成PID控制專用運(yùn)動控制芯片LM629并監(jiān)視其反饋信息。實驗結(jié)果表明,該系統(tǒng)結(jié)構(gòu)穩(wěn)定、合理、可行。
關(guān)鍵詞: LM629;關(guān)節(jié)控制器;STM32
目前,機(jī)器人多以直流電機(jī)驅(qū)動,用伺服控制器實現(xiàn)對直流電機(jī)的驅(qū)動控制[1]。隨著機(jī)器人的發(fā)展,機(jī)器人關(guān)節(jié)小型化、輕量化要求越來越高,因此伺服控制器的緊湊設(shè)計就顯得越來越重要[2]。
本文設(shè)計的控制器集驅(qū)動、控制于一體,使用專用的電機(jī)運(yùn)動控制芯片LM629[3],能方便、快捷地對系統(tǒng)進(jìn)行設(shè)計并控制。采用現(xiàn)場總線CAN技術(shù),具有可靠性高、實時性強(qiáng)、應(yīng)用靈活和性價比高等特點(diǎn)[4],可以方便地組成多軸控制系統(tǒng)。
1 伺服控制系統(tǒng)整體方案
由上位機(jī)和LM629組成的模塊化直流伺服控制系統(tǒng)主要由運(yùn)動控制模塊、驅(qū)動模塊、CAN總線通信模塊和電源模塊4部分組成。
系統(tǒng)總體框圖如圖1所示,上位機(jī)通過CAN總線與STM32相互通信,上位機(jī)界面如圖2所示,主要初始化CAN總線通信的各種參數(shù),并給STM32發(fā)送各種電機(jī)運(yùn)行需要的數(shù)據(jù)以及電機(jī)運(yùn)行方式等命令。STM32與控制芯片LM629通過數(shù)據(jù)口與控制口相連接,主要給LM629傳送由上位機(jī)接收的運(yùn)動參數(shù)以及PID數(shù)據(jù),并且接收LM629返回的位置速度以及中斷等信息。LM629精密運(yùn)動控制器根據(jù)接收的運(yùn)行參數(shù)以及編碼器反饋回來的信號完成輸出脈寬符號信號PWMS和脈寬量值信號PWMM,然后經(jīng)過L6203功率放大后驅(qū)動直流電機(jī)。
STM32自身帶有CAN控制器,上位機(jī)通過USB CAN與STM32進(jìn)行通信,其收發(fā)報文格式如圖3所示。
1.1 控制系統(tǒng)硬件基本結(jié)構(gòu)
控制系統(tǒng)硬件結(jié)構(gòu)如圖4所示。STM32的GPIO口與LM629的端口相連接。其中GPIOE與LM629的D0~D7相連接,傳輸數(shù)據(jù)及指令;讀取信號RD與GPIOB中PB3相連,用于讀取狀態(tài)數(shù)據(jù),低電平有效;寫入信號WR與PB6相連,用于寫指令和數(shù)據(jù),低電平有效;片選信號CS與PB4相連,用于選擇LM629,低電平有效;端口選擇PS與PB5相連,用于選擇指令或者數(shù)據(jù)端口。低電平選擇指令,高電平選擇數(shù)據(jù)。主機(jī)中斷HI與PA8相連接,LM629有6個中斷源,所有中斷源都是通過該引腳申請中斷,當(dāng)HI為高電平時,STM32進(jìn)行中斷響應(yīng),通過讀取狀態(tài)字來判斷具體產(chǎn)生中斷的中斷源,相應(yīng)的中斷處理程序就對該中斷進(jìn)行處理。輸出的PWMM與PWMMS信號再經(jīng)過L6203全控橋驅(qū)動電路放大,輸出控制電機(jī)。L6203的ENABLE與PB2相連接,開啟或者關(guān)閉電機(jī)。增量編碼器提供伺服位置閉環(huán)的反饋。LM629中梯形速度輪廓發(fā)生器為操作中的位置或速度模式計算必需的軌跡。在操作中,LM629從設(shè)定位置減去反饋位置,得到的位置誤差由數(shù)字濾波器處理來驅(qū)動電機(jī)到設(shè)定位置。
1.2 控制系統(tǒng)軟件設(shè)計
LM629是為各種可以提供增量型位置反饋信號的直流以及直流無刷伺服電機(jī)的伺服機(jī)構(gòu)設(shè)計的專用運(yùn)動控制處理器[5],內(nèi)部含有梯形速度曲線控制器、可編程16位系數(shù)的數(shù)字PID濾波器以及32位位置、速度和加速度寄存器等,因此硬件結(jié)構(gòu)較簡單,重點(diǎn)是軟件設(shè)計。
系統(tǒng)總體流程圖如圖5所示,系統(tǒng)首先初始化,然后對LM629進(jìn)行復(fù)位,若復(fù)位成功,則裝載PID參數(shù),軌跡運(yùn)行參數(shù),開始運(yùn)行;若是復(fù)位不成功,則重新復(fù)位。注意對LM629寫命令和數(shù)據(jù)時首先要查詢是否忙,即先要讀取狀態(tài)字,若查詢到忙位為“1”,則繼續(xù)查詢,直到忙位變?yōu)椤?”后方可寫入命令或者數(shù)據(jù)。
復(fù)位流程圖如圖6所示,硬件復(fù)位RST輸入,低電平有效,上升沿觸發(fā),復(fù)位脈沖必須邏輯低并且超過8個時鐘周期[6]。當(dāng)LM629的復(fù)位腳釋放之后,狀態(tài)端口應(yīng)該讀出“00H”。如果復(fù)位成功,狀態(tài)字會在1.5 ms之內(nèi)變成“84H”或者“C4H”;如果狀態(tài)字沒有在1.5 ms內(nèi)變成“84H”或者“C4H”,執(zhí)行另一次復(fù)位,并重復(fù)上述步驟。為確保復(fù)位被正常執(zhí)行,執(zhí)行一個RSTI指令。如果芯片正確復(fù)位,狀態(tài)字會從“84H”或者“C4H”變成“80H”或者“C0H”;如果這個(變化)沒有發(fā)生,執(zhí)行另一個復(fù)位,并重復(fù)上述步驟。
初始化流程圖如圖7所示,主要是對STM32 GPIO口進(jìn)行設(shè)置。
1.3 PID參數(shù)調(diào)整[7]
按照式(1)進(jìn)行PID參數(shù)調(diào)整:
使用LM629芯片對于軟件設(shè)計方面的主要優(yōu)勢在于:該芯片內(nèi)部自帶速度生產(chǎn)控制器以及PID調(diào)節(jié)器,不用在軟件方面進(jìn)行大量的算法運(yùn)算。
2 實驗結(jié)果分析
由于LM629輸出的是PWMS和PWMM波形,PWMS是表示電機(jī)運(yùn)行方向,PWMM是量值信號[8],此實驗中電機(jī)運(yùn)行模式為簡單的絕對位置模式,軌跡控制雙字為:0x002A。給定的理想速度波形應(yīng)該是LM629梯形速度發(fā)生器產(chǎn)生的梯形波。圖8為PWMS波形,表示電機(jī)是正向運(yùn)行,圖9和圖10分別是PWMM波形。圖9波形占空比越來越小,速度越來越大,代表加速段;圖10波形占空比越來越大,速度越來越小,PWMS,PWMM參數(shù)的值由PID參數(shù)以及軌跡參數(shù)決定。
采樣時間=2 048/系統(tǒng)時鐘頻率(4 MHz)
最低采樣時間T1=2 048/4 MHz
最高采樣時間T2=2 048×256/4 MHz
LM629提供3個輸入:兩個積分信號和一個索引脈沖信號。積分信號用于保持電機(jī)的軌跡和絕對位置,可提供編碼器提供的線數(shù)的4倍分辨率。
LM629自帶的PID參數(shù)調(diào)節(jié)器、梯形速度發(fā)生器、高分辨率以及濾波器可以對接收到的反饋信息實現(xiàn)高頻響應(yīng)并進(jìn)行實時運(yùn)算。運(yùn)算結(jié)果及時發(fā)送給電機(jī)以校正運(yùn)動誤差,確保電機(jī)能穩(wěn)定、高精度的運(yùn)行。
本文利用高精度運(yùn)動控制器LM629,能執(zhí)行高性能數(shù)字運(yùn)動控制所需要的實時計算而且使得主機(jī)控制接口由高級指令簡化,硬件結(jié)構(gòu)簡單、成本低、精度高、系統(tǒng)緊湊、通信方式可靠,便于擴(kuò)展。
參考文獻(xiàn)
[1] 王延忠,鄒武,戈紅霞,等.基于AT89S52單片機(jī)的直流電動機(jī)驅(qū)動控制系統(tǒng)[J].新技術(shù)新工藝,2012(8):81-82.
[2] 李宗帥,董春,陳靜.基于PCI總線和LM629的移動機(jī)器人伺服控制器研究[J].微電機(jī),2008,41(12):36-38.
[3] 鄭靜,渠慎豐.小功率伺服無刷直流電機(jī)驅(qū)動器設(shè)計[J].電子測量技術(shù),2006,29(3):130-132.
[4] 王華,王立權(quán),韓金華.電機(jī)專用運(yùn)動控制器LM629的應(yīng)用研究[J].電子器件,2005,28(2):370-373.
[5] 孫玉芝,王揮.單片機(jī)與LM629芯片相結(jié)合的全數(shù)字位置直流伺服系統(tǒng)[J].電氣自動化,2003,25(2):23-25.
[6] 關(guān)洪海.基于CAN總線分布式機(jī)械臂控制系統(tǒng)設(shè)計[J].煤礦機(jī)械,2012,33(8):243-244.
[7] 李小光.基于ARM9和LM629的電機(jī)伺服控制系統(tǒng)設(shè)計[J].沈陽工程學(xué)院學(xué)報,2010,6(4):351-353.
[8] 華平,徐堅,李秀玲.機(jī)械手關(guān)節(jié)運(yùn)動控制模塊設(shè)計[J].機(jī)械研究與應(yīng)用,2009(6):95-97.