基于DSP和CAN的電機同步控制系統與通信
0 引言
傳統的多電機控制系統適用于要求不高、相對簡單、電機分布比較集中的場合。而對于運動控制中實時性、可靠性、可擴展性、傳輸距離、傳輸速度等要求較高的場合,需要采用高傳輸速度、遠傳輸距離、可靠性較高的通信方式和處理速度快、功能強大、能夠實現復雜控制策略的處理器。
控制器局域網CAN(Controller Area Network)是一種有效支持分布式控制和實時控制的串行通信網絡。它屬于現場總線范疇,與現有的其它總線相比,它是一種分散式、數字化、雙向、多站點的通信系統,具有速率高、可靠性好、智能化高、連接方便等諸多優點,在分布式測試和工業控制等相關領域的應用越來越廣泛[1]。
數字信號處理器(Digital Signal Processor,DSP)是一種高速專用微處理器,TMS320F2407A運算功能強大,能實現高速輸入和高速率傳輸數據,且帶CAN總線接口。它專門處理以運算為主且不允許延遲的實時信號,可高效進行快速傅里葉變換運算。數字信號處理器的精度高,可靠性好,其先進的品質與性能可為電機控制提供高效可靠的平臺[2]。
鑒于CAN總線的通信優勢和DSP的強大處理能力,利用二者完全可以設計完成要求較高的多電機控制網絡系統。這種功能強大、智能化和網絡化程度較高的網絡系統滿足了工藝復雜、要求較高的多電機控制,它正在興起并成為多電機控制網絡系統的發展趨勢[3]。
1 系統結構及其實現
基于CAN總線網絡的新型多電機同步控制系統,采用總線式多主多從網絡拓撲結構。當系統中不僅有工程師層還包括管理層即多個主節點時,主主通信將實現不同功能主節點的交流(如圖1)。整個控制系統由三部分組成:CAN總線、上級PC機、DSP控制系統。系統采用PC 機作為監控主機,實現對各節點的監控和管理;CAN 總線接口卡完成CAN協議的物理層和數據鏈路層功能,實現PC 機與CAN 總線之間的通信;各從節點通過DSP完成數據的收發和對交流電機的控制[4]。
主節點采用PC微機(或其他兼容機),通過PCI總線雙路智能CAN網卡(通信適配器)與CAN總線相連,進行信息交換。CAN網卡電路共分為三大部分:由DS89C420微處理機、74LS373鎖存器、32KB的RAM 62256、32KB的EPROM 27256組成的主機部分;雙口RAMIDT7005S35PF及其控制電路;由SJA1000、光電隔離電路、82C250組成的CAN控制器和CAN總線接口電路。
從節點由兩部分構成:電機控制板和功率驅動板。從節點的基本框圖如圖2所示。電機控制板以TMS320LF2407A為核心,外圍采用各功能模塊。其中,PWM模塊用于驅動功率器件,A/D模塊用來把系統所需要的電流模擬量變換成數字量,實現電流環反饋控制。磁場平衡式霍爾電流傳感器(LEM模塊)把互感器、磁放大器、霍爾元件和電子線路集成在一起,具有測量、反饋、保護三種功能,LEM模塊的輸出輸入到DSP的三路A/D轉換口,轉換成數字信號后,再進行相應的處理。光電碼盤把檢測信息反饋到DSP的正交編碼脈沖電路(QEP),實現速度環反饋控制。當LF2407A的QEP被使能(禁止捕獲功能),定時器2對引腳CAP1/QEP1和CAP2/QEP2、定時器4對引腳CAP4/QEP3和CAP5/QEP4上的脈沖數目和頻率分別計數,可得到電機的角位移和轉速。功率驅動板由整流濾波、IGBT驅動、以及IGBT橋和反饋電路組成[5]。
2 軟件設計
2.1 CAN 總線網絡通信協議設計
CAN 總線采用一種串行數據通信協議,它能有效地支持具有較高安全等級的分布實時控制。根據CAN總線技術規范CAN2.0A、CAN2.0B,本文設計了用戶通信協議,各個節點都按此協議傳送信息。用戶通信協議的幀結構共10個字節(2個字節標識符、8個字節數據和變量),其定義如圖3所示。
PRI:1為低優先級,0為高優先級,而剩余的優先級由源地址決定,低地址優先級高。
幀類型:100為單幀廣播;000為單幀點對點。
命令或物理變量名:cmd0、cmd1的功能定義有很多,表1僅給出了幾種典型的定義。節點根據接收到的數據中兩個字節的內容來確定被傳送的內容。
物理變量序號:0~255。
Data3~Data0:定義為一個物理變量數據,4字節長整數,原碼表示。數據類型為整型、布爾型或浮點型。
評論