引言
MIL一sTD一1553B因其在實時控制方面的優(yōu)越性,已在工業(yè)控制領域得到了廣泛應用。CAN總線具有出色的性能,如通信速率高、控制簡單等,同時它也是現場總線中的主流產品。1553B總線和CAN總線互連具有優(yōu)秀的可靠性、實時性及使用性,因此,CAN一1553B網關的設計具有很高的應用價值。本文在原有CAN總線電機控制網絡系統(tǒng)實驗裝置的基礎上,對其軟硬件進行改造,設計了CAN一1553B網關,構建了電機控制系統(tǒng)一CAN一1553B網關一CAN一1553B網關一PC機實驗系統(tǒng),實現1553B協議與CAN協議之間的通信,利用現場總線與DsP嵌入式技術完成對伺服控制系統(tǒng)的自動控制。
1MIL一STD一1553B和CAN的對比
CAN總線是一種網絡通信協議,主要使用在要求實時處理的場合。本文的研究背景是在CAN總線電機控制網絡中加入MIL一sTD一1553B總線,由此將MIL一sTD一1553B總線與CAN總線展開對比,具體如下:
1.1可靠性
在硬件結構上,CAN總線在大部分情況下采用主機工作方式,能構建多機冗余備份系統(tǒng),進而增強了系統(tǒng)的可靠性。MIL一sTD一1553B總線主要選擇使用單主機工作方式,并且也可以操作多余度的總線結構,具有相當出色的容錯能力?;趯崟r性的前提,MIL一sTD一1553B總線為了提高數據傳輸的可靠性,選擇使用了差錯控制措施。但是,CAN總線選擇了無連接的數據報方式,大大降低了其可靠性。
1.2響應時間
MIL一sTD一1553B的響應時間較長,這個時間與節(jié)點數的數量成正比例關系:CAN總線響應時間短,并隨著節(jié)點數的增加變化不大。
如果將MIL一sTD一1553B融合到控制系統(tǒng)中和CAN總線形成互補,可以得到更好的控制效果。
2系統(tǒng)總體設計
本文構建了基于CAN總線的電機控制網絡單元,實現了對交流伺服電機的雙模位置控制:設計CAN一1553B網關,實現CAN總線與1553B總線之間的通信,完成了系統(tǒng)任務機對一臺伺服電機的網絡控制。整個網絡系統(tǒng)拓撲結構如圖1所示。
本方案采用兩塊CAN一1553B網關相連,中間采用1553B總線作為電機控制網絡的主總線。節(jié)點1的CAN一1553B網關利用TMs320LF2407芯片上集成的sCI外圍設備,采用Rs一232的接口方式與電腦相連,通過串口接收系統(tǒng)任務機發(fā)送的控制數據,轉換成符合1553B協議的信號并發(fā)送到1553B總線上,同時接收節(jié)點2反饋到1553B總線上的數據。節(jié)點2的CAN一1553B網關則掛CAN總線電機控制網絡子系統(tǒng),完成1553B協議與CAN總線協議之間的轉換,從而實現系統(tǒng)任務機通過1553B總線與CAN總線網絡之間的通信,這是本設計的重點及難點。在CAN總線電機控制網絡子系統(tǒng)中有兩個節(jié)點:控制器節(jié)點(節(jié)點3)、一臺伺服電機的信號采集與執(zhí)行機構(節(jié)點4)。其中電機信號采集與執(zhí)行機構用于接收電機的碼盤反饋信號,并將該反饋信號通過CAN總線送入控制器節(jié)點,同時接收來自控制器節(jié)點的控制量,并通過DA轉換得到模擬電壓,控制電機轉動??刂破鞴?jié)點主要有兩個功能:一是通過CAN接收網關傳來的控制方式字及位置控制量并對電機進行位置控制:二是產生CAN總線節(jié)點同步時鐘,便于采用基于時間觸發(fā)的CAN總線協議。
CAN一1553B網關的實現框圖如圖2所示。其中,CAN控制器由DsP外圍電路提供,CAN總線接口模塊實現網關與CAN總線之間的通信:CPU模塊及曼徹斯特編譯碼模塊實現了CAN總線協議與1553B總線協議之間的轉換:1553B接口模塊則實現網關與1553B總線之間的通信,從而實現系統(tǒng)任務機對CAN總線網絡節(jié)點的監(jiān)控。
本系統(tǒng)的控制對象為日本松下公司MINAs系列交流伺服電機和驅動器組成的交流伺服系統(tǒng),其中伺服驅動器采用速度控制模式,在該控制模式下,由電機控制器輸出一10~+10V的模擬電壓,輸入伺服驅動器控制端,能夠實現電機從負向最大轉速到正向最大轉速之間的速度變化,同時控制器通過正交編碼電路及捕獲電路接收來自伺服驅動器反饋的編碼器信號構成位置閉環(huán)。
CPU模塊采用TI公司數字信號處理器(DsP)TMs320LF-2407A芯片,該芯片為定點DsP,它專為數字電機和運動控制而優(yōu)化的豐富內嵌外設使得用戶能夠非常容易地構建一個單芯片控制系統(tǒng);而且該芯片擁有內嵌CAN控制器,只需外接CAN總線收發(fā)器即可完成CAN接口的設計。鑒于該芯片以上優(yōu)勢,在本系統(tǒng)網絡各節(jié)點均采用該芯片作為控制器。
CAN-1553B網關通過1553B總線接收系統(tǒng)任務機發(fā)出的控制信號,并通過CAN總線發(fā)給控制器;同時,CAN-1553B網關通過CAN總線接收位置反饋信號,把其發(fā)送給系統(tǒng)任務機,并通過MATLAB繪圖,將電機響應曲線直觀地顯示出來。
數據采集與執(zhí)行節(jié)點利用0EP及CAP電路采樣位置信號,并經過CAN總線送入控制器節(jié)點??刂破鞴?jié)點采用雙??刂扑惴▽﹄姍C碼盤反饋信號進行處理,再通過CAN總線發(fā)送給數據采集與執(zhí)行節(jié)點。數據采集與執(zhí)行節(jié)點通過12位DAC輸出控制信號,控制電機運動。同時,控制器節(jié)點也作為同步時鐘產生節(jié)點,利用DsP事件發(fā)生器的定時器定時向CAN總線發(fā)出同步時鐘信號。
3CAN-1553B網關的硬件
網關主要作用是完成數據在CAN總線和1553B總線不同協議間的相互轉換。TMs320LF2407A芯片是由美國TI公司開發(fā)的面向電機控制的低成本、高性能的DsP器件,也是本設計中的核心芯片。其指令周期最短為25ns,可以很好地滿足系統(tǒng)的實時性要求,能夠實現復雜的控制算法及各種復雜功能。
4基于CAN總線的電機控制單元硬件設計
基于CAN總線的伺服電機控制系統(tǒng)實現對一臺電機的位置伺服控制,包括兩個節(jié)點:主控制器節(jié)點、信號采集及執(zhí)行機構節(jié)點。其整體結構框圖如圖3所示。
4.1碼盤信號采集模塊
為了使位置能夠閉環(huán),需要對伺服電機轉子轉角進行測量,這是一個極其關鍵的環(huán)節(jié)。TMs320LF2407A芯片的每個事件管理器模塊都有一個功能模塊與光電編碼器相連,用于轉角和轉速的檢測,其中0EP內部設有轉向判別和倍頻功能。
在本設計中,由電機驅動器提供電機光電編碼器信號的差分輸出,即A+、A-、B+、B-、Z+、Z-,用長線接收器AM26Ls32來接收這些信號。
設計時,選擇通用定時器T2用于計算電路輸入脈沖數。T2工作于雙向加/減計數模式。光電碼盤每旋轉一周產生一個零位參考脈沖(Z相信號),DsP捕獲引腳CAP3用于捕獲該信號。當DsP捕獲到該信號,T2的計數值被捕獲,并作為計算轉角的基準值。故轉子每旋轉一周,基準值被重新刷新一次,從而保證轉角的準確性。
字式轉速測量方法包括M法、T法和M/T法。M法的主要含義為在規(guī)定的檢測時間內,根據獲得的轉速脈沖信號的個數判斷該設備的轉速。在本系統(tǒng)中采用的是M法,在0.5ms的定時時間內測量脈沖數,具體電路如圖4所示。
4.2DAC模塊
要實現對電機轉速的控制,需將經DsP計算所得的控制量轉化為-10~+10V的控制電壓。在這里采用了BURR-BRowN公司生產的12位4路雙緩沖D/A轉換芯片DAC7624外擴數模轉換輸出設備。DAC7624建立時間是10us,它有33mw的低功耗。每個DAC轉換通道都有自己的R-2R梯形網絡和輸出隔離放大環(huán)節(jié),但它們公用一個參考電壓輸入。DAC7624的低功耗、小體積使得它特別適用于閉環(huán)伺服控制系統(tǒng)。DAC7624的四個通道輸出信號電壓范圍為0~+2.5V,需要對其進行處理,將其轉化為-10~+10V送到電機驅動器,用來驅動電機。
首先經過運算放大器的第一級運放后得到的電壓為:
V1的電壓范圍是0~+5V,然后經過運算放大器構成第二級差分比例運算電路。
Vout電壓范圍是-l0~+l0+,它與數字量0V000xH0V0~~~x相對應。FDC7624芯片復位時,數字量默認為0V0800,對應模擬量輸出為l.25+,經放大器放大,輸出到驅動器的實際電壓為0,則電機停轉。
5CAN總線電機控制單元程序設計
5.1位置控制算法
筆者采用位置伺服控制的雙??刂扑惴楹诵乃惴▉韺崿F對電機的控制。在位置伺服控制中,FsP把位置目標值sR(k)(由控制計算機設定)與當前位置值sa(k)(來自正交脈沖編碼單元)進行比較,采用對應的方法進行處理,就能使位置偏差As(k)減小。
圖5簡單描述了理想定位過程中偏差As(1)和速度0的關系。
以下分別討論這三個階段:
(1)勻加速階段(0~1l):速度0(1)=am1,達到0m所需的時間1l=0m/am,本階段的運動距離
在本階段終點1=11時的位置偏差As1=As0-Asa=As0-0m2/2am。
(2)勻速運動階段(11~12):速度0(1)=0m,在本階段終點的位置偏差As2=0m2/2am。
(3)勻減速階段(12~13):速度0(1)=0m-am(1-12),偏差
即勻減速階段速度0(1)與位置偏差As(1)的關系為0(1)=√2amAs(1)。
當偏差進入一定范圍后,常采用線性控制方法。本設計采用了積分分離控制算法,克服了"積分飽和"現象。
雙模調節(jié)流程圖如圖6所示。當所需行程量比較小(<0m2/2am)時,是沒有勻速調節(jié)階段的,電機速度還沒有達到最大值時就要減速,本流程圖也考慮到了這種情況,故分為大行程、小行程分別處理。
電機的位置是通過采集編碼器的信號得到的,這里采用的是M法(利用固定采樣時間間隔內的編碼器脈沖數來確定轉速和位置),定時時間為0.5ms。在定時中斷處理程序中,采集定時器2計數器中的數值,即為當前的編碼器位置,該信號與前一時刻的編碼器位置做差,可得到該定時時間內電機軸轉過的角度,此信號即為反饋回來的位置信號,與給定位置信號比較得到偏差。
5.2電機控制網絡單元程序
本設計中,電機控制網絡單元要對一臺電機進行位置控制。主控制器通過CDN總線接收由CDN-1553B網關發(fā)送的電機位置指令,再通過CDN總線發(fā)送給采樣及執(zhí)行節(jié)點,即開始控制電機運動到指定位置。
電機控制網絡單元控制流程如圖7所示。
6系統(tǒng)調試
要實現各模塊軟硬件功能,完成對整套系統(tǒng)的協調控制,需按以下步驟對系統(tǒng)進行調試:
(1)硬件調試:調試硬件首先應保證供電電源的準確:其次,分別對電路各功能模塊進行調試,保證其功能的實現。
(2)完成單臺電機的位置伺服控制:進行單機控制算法調試時,控制器同時完成主控制器與信號采集及執(zhí)行機構的功能。本步主要對控制算法進行調節(jié),確定控制器相關參數。
(3)調試CAN總線電機控制單元:調試CAN總線的通信程序,完成主控制器節(jié)點與電機的信號采集及執(zhí)行機構節(jié)點之間的通信,繪制電機的階躍響應曲線。
(4)將CAN-1553B網關引入系統(tǒng),進行系統(tǒng)聯調,實現上位機通過1553B總線與CAN總線電機控制單元之間的通信。
調試結果如下:
(1)給定位置信號為16圈(即16×2500×4=160000個脈沖)時電機的階躍響應曲線如圖8所示。
由圖可以看出,此電機階躍響應的響應時間為372.5ms,穩(wěn)態(tài)誤差為0。
(2)給定速度信號為16個脈沖/0.5ms時電機的響應曲線如圖9所示。
給定速度信號16個脈沖/0.5ms時電機速度響應最大誤差為130個脈沖,即4.689。
(3)給定正弦信號時的正弦響應曲線如圖10所示。圖中的虛線部分為給定的正弦位置信號。
給定的正弦信號為
其中,256為脈沖數,0.0628055s為周期T。該正弦信號的最大速度為1224(9)/s。
7結語
MIL-sTD-1553B是國際廣泛采用的多路數據總線標準,在航空航天等許多軍事領域應用廣泛,并逐漸進入非軍事應用領域,我國也制定了相應的軍方標準。不過,1553B總線連接方式并不很簡單,且需花費很高的成本。CAN總線由于造價相對比較低廉、市場較易購買成品,在工業(yè)控制領域應用極為廣泛?;贒sP和CPLD,筆者設計了CAN-1553B網關,并且選擇了1553B總線來擔任電機控制系統(tǒng)的主總線,其主要用于操作系統(tǒng)與子控制系統(tǒng)之間的通信:為了更好地完成各節(jié)點之間的信息通信,采用了CAN總線作為子系統(tǒng)總線。