基于CAN總線的四路舵機控制器的研究
該電路采用摩托羅拉公司的H橋門驅動集成電路MC33883作為該功率電路的驅動芯片,來控制末級大功率器件N溝道MOS管IRFI40的開關組,以此組成H橋驅動電路。為了避免電機驅動板卡對主控板卡的干擾,采用高速光耦隔離器件6N137將PWM信號隔離,阻斷電機驅動板卡對主控板卡的傳導干擾。
3.軟件程序設計及其算法描述
TMS320F2812的主程序負責完成初始化并對數據進行相應處理。初始化包括對I/O接口、寄存器、處理器工作狀態以及內部控制模塊等的初始化。在初始化完成后,將會進入數據處理的運算子程序。
3.1 DSP與上位機的通信
TMS320F2812與上位機的CAN2.0A串行通信采用數據幀傳輸模式,CAN的標準數據幀可包含44~108位的數據,它的擴展數據幀可包含64~128位數據。本文采用標準楨進行通信,即CAN2.0A協議,具體如下圖所示。一個完整的標準數據楨包括幀的起始位、標識符、數據字節控制位、最多8字節的數據區,循環冗佘校驗、響應信息和幀的結束位。其中標識符和數據區為用戶指令填充,其它為CAN控制器自行產生。
![]() |
3.2 上位機測控應用程序設計
為便于舵機的控制和系統指標的測試,編制了基于外購的研華CAN通信卡的DLL動態鏈接庫,編寫了用于測控四路舵機系統的C++應用程序,即測控應用程序軟件包。該測控應用程序的用戶界面分為實時顯示區、目標位置控制區、指標測試區等幾大模塊,可以對電機的目標位置進行設定,對系統指標進行測試,并實時的將4路舵機的PWM占空比數據、目標值數據以及反饋值數據以趨勢圖的形式直觀的顯示出來,易于進行在線的分析處理和評估;另外,該程序同時也將采集到的數據存儲到文本文件中,以便后期離線處理。
3.3 增量式分段離散PID控制算法描述
舵機控制器系統的控制算法分為兩段進行:
![]() |
式中V為PWM最大輸出常量,f(PID)為線性PID算法,Emax為偏差的設定閾值,U為算法輸出值,表征PWM信號的占空比。在偏差E很大時(E>Emax),系統快速性是控制的關鍵指標,系統開環運行V,使得偏差能夠盡快縮小;在較小偏差下(E≤Emax),系統的定位精度成為關鍵指標,此時采樣值在設定值附近,按優化的增量PID控制算法運行。
![]() |
4.系統測試結果分析
聯調試驗結果表明:舵機系統在2kg*m的額定負載力矩的測試條件下,對25°階躍響應時常數小于100ms,20Hz、±1.5°振幅的頻率響應相位延時小于20°,定位精度優于0.06°,半振蕩次數小于兩次。
該系統位置階躍響應如圖5所示。舵機位置建立時間小于100ms;位置穩定性也很好。25°階躍僅需要一個半周期就可以達到穩定。
![]() |
以上分析證實,本文提出的控制系統動靜態響應性能較好、穩態精度高、對噪聲有較高的魯棒性和抗干擾性,適用于具有較高要求的控制領域,具有廣闊的應用前景。
pid控制器相關文章:pid控制器原理
評論