基于CAN總線的分布式位置伺服系統(tǒng)設計
3.2 單片機程序
單片機的主程序流程如圖3所示,包括單片機與82527的初始化程序和各子程序。對反復執(zhí)行的程序段利用主程序調用子程序的方式實現(xiàn)。子程序主要有閉環(huán)控制子程序、故障處理子程序和參數(shù)修改子程序[6]。本文引用地址:http://www.biyoush.com/article/151843.htm
系統(tǒng)的閉環(huán)控制采用的是Bang-Bang算法。該算法是一種時間最優(yōu)控制,且算法簡單,便于單片機實現(xiàn),又能滿足系統(tǒng)控制精度的要求。設精度允許的推桿位置誤差帶為[-Δ1,Δ2],當前偏差為e(t),-Δ1≤e(t)≤Δ2時,可認為推桿當前位置即為給定要求的位置。若把控制量u(t)歸一化處理,則此算法可以表示為:
由于伺服電機正轉和反轉時推桿運動的慣性不同,所以正、反向最大誤差允許值Δ2和Δ1一般是不相等的。圖4是Bang-Bang算法子程序流圖。
故障處理程序處理的故障包括CAN通信中斷故障、位置反饋斷線故障、電機堵轉故障等,通過對這些故障的自動處理或給出提示信息提高了系統(tǒng)的可靠性??刂破髟诓煌瑘龊鲜褂脮r,對一些參數(shù)的要求也不相同,如控制器CAN報文的ID、通信波特率、控制死區(qū)、位置標定等參數(shù)的值都可以通過CAN總線報文進行人工修改。本設計選用的X5045芯片帶有512字節(jié)的E2PROM,可由單片機對其存儲空間進行串行讀寫,因此,X5045芯片除了實現(xiàn)單片機的上電復位和看門狗功能外,還可把需要進行修改的參數(shù)存放在其E2PROM空間中。對故障處理和參數(shù)修改子程序的具體編寫這里不再詳述。
4 實驗結果及分析
本系統(tǒng)實現(xiàn)1個腳踏板同時對2個油門閥的控制,腳踏板電位器輸出的電壓信號經(jīng)主控制器PLC的模擬量輸入口進行A/D轉換,再通過CAN總線接口發(fā)給2個伺服驅動節(jié)點,控制油門閥的開度快速精確跟蹤腳踏板的運動變化。在實際應用過程中,PLC還用于整車的其他控制功能。由于通信線使用的是普通雙絞線的特征阻抗120 Ω,所以需要在CAN總線兩端的CANH和CANL之間各加1個120 Ω的終端電阻,使總線阻抗匹配,以較好地抑制干擾。
經(jīng)過實驗,系統(tǒng)能夠達到以下要求:
(1)在波特率250 Kb/s、總線長度100 m的情況下,各節(jié)點之間通信正常,2個伺服驅動節(jié)點能正常工作。
(2)推桿的有效運動長度約為50 mm,5 s內可實現(xiàn)全程運動,可滿足油門閥調節(jié)快速性的要求。
(3)圖5是調試過程中通過CodeSys開發(fā)環(huán)境的變量觀察窗口繪出的2個推桿運動的階躍響應曲線,其中圖5(a)是控制推桿伸出的情況,圖5(b)是縮回的情況。圖中,x表示位置給定量的階躍變化,y1、y2分別表示2個推桿位置對階躍給定的動態(tài)響應曲線。由圖可以看出,2個推桿的位置均能及時跟隨給定量的變化,并能達到控制精度的要求。
本文設計的分布式直流電動伺服系統(tǒng)已經(jīng)應用在某大型工程運輸車的油門閥控制中,其工作穩(wěn)定可靠,與氣動油門相比,大大提高了油門控制的響應速度和系統(tǒng)的可靠性。該系統(tǒng)的伺服驅動節(jié)點結構簡單、成本低廉,CAN總線網(wǎng)絡的應用使整個系統(tǒng)具有很強的通用性和可擴展性,根據(jù)應用需要可以方便地增減驅動節(jié)點的數(shù)量,實現(xiàn)更多軸和多點的伺服控制系統(tǒng),并進一步實現(xiàn)多電機的協(xié)同控制。
伺服電機相關文章:伺服電機工作原理
評論