基于DSP的雙足機器人運動控制系統(tǒng)設計
1 系統(tǒng)概述
雙足機器人每條腿設有5個自由度,這樣既可以實現(xiàn)基本的步行功能,又盡可能的簡化了控制變量,系統(tǒng)整體結構如圖1所示,L1~L5分別對應左腿髖側向、髖前向、膝前向、踝前向、踝側向關節(jié)電機,R1~R5對應右腿。考慮到成本因素和驅動性能,選用Maxon的EC-max系列三相無刷直流電機來驅動關節(jié)活動,其中1號和5號電機選用EC-max35型,其他均為EC-max30型。受安裝空間所限,每條腿的運動控制器都為獨立的個體,各運動控制器通過主控計算機進行協(xié)調控制并可基于運動指令單獨完成動作,類似于人類反射弧的原理,減輕主控計算機的工作量,加快反應速度,主控計算機和運動控制器之間通過CAN總線來傳遞數(shù)據(jù)。
機器人雙足步行時,主控計算機根據(jù)運動周期向底層運動控制器發(fā)送運行和停止等指令,完成對行走狀態(tài)的監(jiān)控和數(shù)據(jù)運算。單個運動控制器由DSP處理和電機控制兩部分組成:DSP處理電路負責與主控計算機和傳感器之間交換各類信息、分析接收到的數(shù)據(jù)并運算輸出相應關節(jié)電機的控制信號;電機控制電路根據(jù)控制信號驅動相應的電機動作,達到要求的速度和角度,并對光電編碼器信號進行處理,將執(zhí)行結果反饋給DSP形成閉環(huán)控制,保證執(zhí)行的精度。
數(shù)據(jù)處理器選用的是TMS320F2812,它擁有基于C/C++高效32位DSP內核,提高了運算的精度;時鐘頻率高達150 MHz,增強了系統(tǒng)的處理能力;集成了128 KB的FLASH存儲器、4 KB的引導ROM、數(shù)學運算表以及2 KB的OTP ROM,改善了芯片應用的靈活性;兩個事件管理器模塊為電機及功率變換控制提供了良好的控制功能;16通道高性能12位ADC單元提供了兩個采樣保持電路,可以實現(xiàn)雙通道信號同步采樣,適合整個運動控制器的開發(fā)需求,其代碼和指令與F24x系列完全兼容,更是保證了項目開發(fā)和產品設計的可延續(xù)性。
2 電機調速原理
系統(tǒng)用PWM波形給出無刷直流電機的轉速信息,即利用電路一周期內的占空比變化,達到平均電壓值的改變,以對應電機不同的速度值。
在TMS320F2812中可以通過配置定時周期寄存器的周期值和比較單元的比較值來產生PWM,周期值用于產生PWM波的頻率,比較值用于產生PWM波的脈寬,改變比較值可以改變PWM波的占空比,改變周期值可以改變PWM波的頻率。以事件管理器A為例,單路PWM信號的產生過程如下:
定時器1作為產生PWM信號的時基,通過控制寄存器T1CON和周期寄存器TlPR設置時鐘周期,通過寄存器COMCONA設置比較單元的各個參數(shù),產生出三角波信號,在寄存器CMPRl和ACTRA中分別設置比較值和比較輸出方式,設定的比較值實時與三角波信號比較,得到相應占空比的PWM信號。將定時器計數(shù)器T1CNT設置為連續(xù)增計數(shù)方式時,產生非對稱PWM波形,設定為連續(xù)增減計數(shù)方式時,可以得到對稱的PWM波形。
圖2所示是對稱PWM波形產生的原理:若PWM輸出為高電平有效,則當三角波的當前值小于比較值時輸出為低電平,當三角波的當前值大于比較值時輸出為高電平;低電平有效時,則反之。
如果在寄存器DBTCONx中設置了死區(qū)時間值,則相應事件管理器所有PWM輸出通道使用同一個死區(qū)值。由于加入了死區(qū),PWM波高電平脈沖的寬度減少了一個死區(qū)時間,但是周期沒有變化,所以高有效和低有效的PWM波形的占空比可分別用式(1)和(2)來計算。
通過調節(jié)占空比,可以調節(jié)輸出電壓,用這種無級連續(xù)調節(jié)的輸出電壓可以給出速度信息,因此可以通過調整PWM信號有效電平的寬度達到控制轉速的目的。
3 硬件設計
整個硬件電路包括DSP芯片TMS320F2812、電源、JTAG仿真接口、通訊、RAM、PWM、A/D、I/O擴展、備用端口、電機驅動和光電信號處理等模塊,其控制系統(tǒng)結構如圖3所示。
雙足機器人總電源采用24 V直流電源,為了滿足DSP及外圍電路的需要,需將電源轉換成5 V,3.3 V和1.8 V。首先使用DC-DC變換器將24 V轉換成5 V,再選用TPS767D318電源轉換芯片將5 V轉換成1.8 V和3.3 V。該芯片專門針對DSP設備提供穩(wěn)壓電源,為雙電源輸出,每路電源的最大輸出電流為1 A,此外該芯片的電壓漂移非常低,在最大輸出電流為1 A的情況下為350 mV,每路輸出還有過熱保護、復位和監(jiān)控輸出電壓等功能,能滿足系統(tǒng)對電源性能的要求。
系統(tǒng)特別留有JTAG接口電路,使控制器可以通過TDS510仿真器連接到計算機,其仿真信號采用JTAG標準IEEEll49.1,使用雙列14腳的插座,并將DSP上的EMU0和EMU1上拉連接至Vcc。
TMS320F2812自身集成CAN總線的控制模塊,所以在外圍電路中加入CAN總線收發(fā)器SN65HVD251D即可實現(xiàn)DSP與CAN總線的通信功能。為了確保在CAN總線傳輸信號的完整性,設計時在CAN總線的兩根傳輸線之間加上150 Ω的電阻進行阻抗匹配,可以提高CAN總線傳輸信號的精度。
利用XINTF的區(qū)域O和區(qū)域1擴展一塊存儲容量為(64K×16)b的RAM存儲器IS61LV6416-10T。其數(shù)據(jù)存取時間為10 ns,能滿足高速運行的需要,工作電壓為3.3 V,與DSP工作電壓一致,無需電平轉換電路。
此外,DSP控制系統(tǒng)中的I/0端口電壓絕大部分為3.3 V,而外部信號一般為5 V,因此需要將外部5 V信號轉換為符合DSP芯片要求的3.3 V信號,系統(tǒng)使用總線驅動器74LVX4245進行電平轉換。
電機驅動電路采用全橋驅動三相無刷直流電機的控制方式,由于要獨立控制5個電機,系統(tǒng)需按照前面的原理由DSP事件管理器生成PWM,并用其波形占空比給出轉速信息,該信息結合轉向、制動等信號通過控制電路轉換后進行電機的調速,這里使用三相無刷直流電機控制器MC33035。驅動電機時,MC33035的輸出信號施加到三相橋功率電路MPM3003上,決定功率開關器件開關頻度及換流器換相時機,使其產生出供電機正常運行所需的三相方波,根據(jù)速度電壓MC33035可改變底部半橋輸出脈沖寬度,相當于改變供給繞組的平均電壓,從而控制轉速。
4 軟件設計
運動控制系統(tǒng)軟件設計的關鍵是接收到主控計算機傳來的運動控制指令后,電機是否能夠達到要求的速度和角度,考慮到整個系統(tǒng)運行過程中不可避免的誤差,特別引入補償算法,實現(xiàn)速度和位置雙閉環(huán)PID控制,其具體的控制流程如圖4所示。
主控計算機根據(jù)步態(tài)規(guī)劃的數(shù)據(jù),發(fā)出運動指令,生成下一個運動周期各個電機的轉動方向和角度等控制參數(shù),運動控制器接收到新的數(shù)據(jù)之后,PWM控制根據(jù)數(shù)據(jù)計算出占空比信息并生成相應的PWM波,進而控制電機轉動,隨后將電機光電編碼器傳送回的信號轉換成關節(jié)位置和速度等信息,補償控制針對速度和位置誤差采用PID算法進行調節(jié),計算需要的執(zhí)行量,調整PWM波形,在每一個運動周期內使電機達到指定的速度,并使運動中的關節(jié)電機能夠克服機器人重力和外力的影響,保持在設定的角度。圖5是CCS仿真調試時,程序運行后在指定的擺動角度下監(jiān)控到的單關節(jié)電機速度跟蹤曲線,其響應時間和穩(wěn)定性基本滿足雙足步行的要求。
5 結語
介紹了一種基于DSP的無刷直流電機運動控制系統(tǒng),在控制方案的具體實現(xiàn)過程中,根據(jù)機器人腿部系統(tǒng)的自身特點,將控制器圍繞DSP處理和電機控制電路來分別設計,這樣既方便設計和調試,又增強了系統(tǒng)的靈活性和擴展性。電機驅動采用速度和位置雙閉環(huán)控制,保證運轉精度。經(jīng)測試,系統(tǒng)基本滿足運動控制的要求,為雙足步行規(guī)劃提供了試驗平臺。