??? 如果在寄存器DBTCONx中設置了死區時間值,則相應事件管理器所有PWM輸出通道使用同一個死區值。由于加入了死區,PWM波高電平脈沖的寬度減少了一個死區時間,但是周期沒有變化,所以高有效和低有效的PWM波形的占空比可分別用式(1)和(2)來計算。
???
??? 通過調節占空比,可以調節輸出電壓,用這種無級連續調節的輸出電壓可以給出速度信息,因此可以通過調整PWM信號有效電平的寬度達到控制轉速的目的。
3 硬件設計
??? 整個硬件電路包括DSP芯片TMS320F2812、電源、JTAG仿真接口、通訊、RAM、PWM、A/D、I/O擴展、備用端口、電機驅動和光電信號處理等模塊,其控制系統結構如圖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設備提供穩壓電源,為雙電源輸出,每路電源的最大輸出電流為1 A,此外該芯片的電壓漂移非常低,在最大輸出電流為1 A的情況下為350 mV,每路輸出還有過熱保護、復位和監控輸出電壓等功能,能滿足系統對電源性能的要求。
??? 系統特別留有JTAG接口電路,使控制器可以通過TDS510仿真器連接到計算機,其仿真信號采用JTAG標準IEEEll49.1,使用雙列14腳的插座,并將DSP上的EMU0和EMU1上拉連接至Vcc。
??? TMS320F2812自身集成CAN總線的控制模塊,所以在外圍電路中加入CAN總線收發器SN65HVD251D即可實現DSP與CAN總線的通信功能。為了確保在CAN總線傳輸信號的完整性,設計時在CAN總線的兩根傳輸線之間加上150 Ω的電阻進行阻抗匹配,可以提高CAN總線傳輸信號的精度。
????? 利用XINTF的區域O和區域1擴展一塊存儲容量為(64K×16)b的RAM存儲器IS61LV6416-10T。其數據存取時間為10 ns,能滿足高速運行的需要,工作電壓為3.3 V,與DSP工作電壓一致,無需電平轉換電路。
??? 此外,DSP控制系統中的I/0端口電壓絕大部分為3.3 V,而外部信號一般為5 V,因此需要將外部5 V信號轉換為符合DSP芯片要求的3.3 V信號,系統使用總線驅動器74LVX4245進行電平轉換。
??? 電機驅動電路采用全橋驅動三相無刷直流電機的控制方式,由于要獨立控制5個電機,系統需按照前面的原理由DSP事件管理器生成PWM,并用其波形占空比給出轉速信息,該信息結合轉向、制動等信號通過控制電路轉換后進行電機的調速,這里使用三相無刷直流電機控制器MC33035。驅動電機時,MC33035的輸出信號施加到三相橋功率電路MPM3003上,決定功率開關器件開關頻度及換流器換相時機,使其產生出供電機正常運行所需的三相方波,根據速度電壓MC33035可改變底部半橋輸出脈沖寬度,相當于改變供給繞組的平均電壓,從而控制轉速。
4 軟件設計
??? 運動控制系統軟件設計的關鍵是接收到主控計算機傳來的運動控制指令后,電機是否能夠達到要求的速度和角度,考慮到整個系統運行過程中不可避免的誤差,特別引入補償算法,實現速度和位置雙閉環PID控制,其具體的控制流程如圖4所示。
?
??? 主控計算機根據步態規劃的數據,發出運動指令,生成下一個運動周期各個電機的轉動方向和角度等控制參數,運動控制器接收到新的數據之后,PWM控制根據數據計算出占空比信息并生成相應的PWM波,進而控制電機轉動,隨后將電機光電編碼器傳送回的信號轉換成關節位置和速度等信息,補償控制針對速度和位置誤差采用PID算法進行調節,計算需要的執行量,調整PWM波形,在每一個運動周期內使電機達到指定的速度,并使運動中的關節電機能夠克服機器人重力和外力的影響,保持在設定的角度。圖5是CCS仿真調試時,程序運行后在指定的擺動角度下監控到的單關節電機速度跟蹤曲線,其響應時間和穩定性基本滿足雙足步行的要求。
5 結語
??? 介紹了一種基于DSP的無刷直流電機運動控制系統,在控制方案的具體實現過程中,根據機器人腿部系統的自身特點,將控制器圍繞DSP處理和電機控制電路來分別設計,這樣既方便設計和調試,又增強了系統的靈活性和擴展性。電機驅動采用速度和位置雙閉環控制,保證運轉精度。經測試,系統基本滿足運動控制的要求,為雙足步行規劃提供了試驗平臺。
評論
查看更多