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