• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于CAN協(xié)議的多電機(jī)控制

      2014-12-23 12:17:20
      科技視界 2014年14期
      關(guān)鍵詞:報(bào)文通訊總線

      李 芃

      (四川大學(xué)錦城學(xué)院,四川 成都 610000)

      0 引言

      電機(jī)協(xié)同控制系統(tǒng)在實(shí)際生產(chǎn)過程中的應(yīng)用相當(dāng)廣泛,如配料、工業(yè)切割、機(jī)械手臂、傳動(dòng)等生產(chǎn)過程必須多臺電機(jī)協(xié)同控制。尤其是在大工件切割加工過程中,由于電機(jī)比較多、分布比較廣,采用傳統(tǒng)的控制器與電機(jī)驅(qū)動(dòng)器一對一的脈沖控制模式,不僅控制線路復(fù)雜,抗干擾能力差,且在控制過程中脈沖容易丟失或引進(jìn)干擾脈沖、可靠性低。

      現(xiàn)場總線打破了傳統(tǒng)控制系統(tǒng)一對一的結(jié)構(gòu)形式,采用智能現(xiàn)場設(shè)備,把傳統(tǒng)的脈沖傳送改為智能型總線數(shù)據(jù)傳送并具有數(shù)據(jù)完整性校驗(yàn)和重發(fā)機(jī)制等糾錯(cuò)功能。近年來利用現(xiàn)場總線實(shí)現(xiàn)電機(jī)群控制有了較多的研究,本設(shè)計(jì)利用CAN 總線通信方式靈活,通信速率高,可靠性、實(shí)時(shí)性和抗干擾能力強(qiáng)[1],且低成本的優(yōu)點(diǎn),探索基于CAN 總線的電機(jī)群控制系統(tǒng),通過編制控制協(xié)議改善電機(jī)群的協(xié)同控制性能。

      1 系統(tǒng)設(shè)計(jì)

      本系統(tǒng)設(shè)計(jì)分為硬件設(shè)計(jì)、CAN 通信網(wǎng)絡(luò)應(yīng)用層協(xié)議設(shè)計(jì)、軟件設(shè)計(jì)三個(gè)部分。

      1.1 硬件設(shè)計(jì)

      基于CAN 總線的電機(jī)群控制系統(tǒng)的由運(yùn)動(dòng)控制器、步進(jìn)電機(jī)或伺服電機(jī)(4 臺)及相應(yīng)帶CAN 總線的電機(jī)驅(qū)動(dòng)器等組成。通過CAN 總線連接成一個(gè)完整的通訊網(wǎng)絡(luò),實(shí)時(shí)傳輸各運(yùn)行參數(shù)、控制命令。系統(tǒng)的控制對象主要是4 臺電機(jī),即M1:X 軸向運(yùn)動(dòng)電機(jī)、M2:Y 軸方向運(yùn)行電機(jī)、M3:刀頭上下移動(dòng)電機(jī)(Z 軸電機(jī)),M4:刀頭旋轉(zhuǎn)電機(jī)(U 軸)。電機(jī)群控制系統(tǒng)結(jié)構(gòu)圖如圖1 所示:

      圖1 基于CANopen 協(xié)議的電機(jī)群控制系統(tǒng)框圖

      1.1.1 運(yùn)動(dòng)控制模塊

      本系統(tǒng)的主控制CPU 及各個(gè)??炜刂艭PU 均選用的基于ARM Cortex-M3 內(nèi)核的STM32F103RBT6 嵌入式處理器。該處理器帶有64KB 的Flash 和20KB 的SRAM 資源,主頻為72MHz,信號處理最高可達(dá)1.25DMips/MHz,運(yùn)算速度快,非常符合電機(jī)群控制系統(tǒng)數(shù)據(jù)計(jì)算量大的需求。因該芯片內(nèi)部帶有2 .0A 和2 .0B 的CAN 控制器,不再需要另加CAN 控制器,給CAN 通訊外圍電路設(shè)計(jì)帶來了便捷。主控制器負(fù)責(zé)位置、速度數(shù)據(jù)的運(yùn)算,將數(shù)據(jù)指令通過CAN 總線發(fā)送各分布式控制模塊。各節(jié)點(diǎn)運(yùn)動(dòng)控制模塊接到命令后,進(jìn)行相應(yīng)的操作,驅(qū)動(dòng)各自所帶電機(jī)運(yùn)動(dòng)。

      1.1.2 電機(jī)驅(qū)動(dòng)模塊

      下位節(jié)點(diǎn)接收主控制器發(fā)送的數(shù)據(jù),并對數(shù)據(jù)進(jìn)行分析處理,將其轉(zhuǎn)成脈沖信號送入步進(jìn)電機(jī)驅(qū)動(dòng)器。由于數(shù)據(jù)計(jì)算量大,且要求運(yùn)算速度快,故下位機(jī)同樣采用STM32 芯片作為CPU。步進(jìn)電機(jī)的驅(qū)動(dòng)選用LV8731V 芯片。LV8731V 是2ch H 橋驅(qū)動(dòng),內(nèi)置1ch PWM 電流控制步進(jìn)電機(jī)驅(qū)動(dòng),能設(shè)定2 相/1-2 相/W1-2 相/4W1-2 相勵(lì)磁模式,只要輸入STEP 信號、勵(lì)磁STEP 就可以進(jìn)行,非常適合帶動(dòng)步進(jìn)電機(jī),并且內(nèi)置輸出短路保護(hù)電路,無需控制電源。切割機(jī)電機(jī)系統(tǒng)采用激光切割,只需要一般的步進(jìn)電機(jī)帶動(dòng)激光探頭即可。所以這樣的組合不需要額外的驅(qū)動(dòng)設(shè)備,結(jié)構(gòu)簡單,性價(jià)比高,非常適合切割機(jī)電機(jī)系統(tǒng)。

      LV8731V 的OUTA1,OUTA2,OUTB1,OUTB2 管腳,直接連接步進(jìn)電機(jī)。LV8731V 的DC12 管腳與stm32 PA7 管腳(TIM1)相連,通過設(shè)置TIM1 來調(diào)節(jié)輸出的PWM 波控制速度。勵(lì)磁模式設(shè)定為8 細(xì)分4W1-2 相勵(lì)磁模式,通過stm32 PA6,PA7 管腳來控制。設(shè)定DM 接地,使端子為STM 模式,能控制CLK—IN 輸入的1ch 步進(jìn)電機(jī)。

      1.2 CAN 通信網(wǎng)絡(luò)應(yīng)用層協(xié)議設(shè)計(jì)

      CAN 總線是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信局域網(wǎng)絡(luò)[2]。從OSI 網(wǎng)絡(luò)模型的角度來看[1],CAN 現(xiàn)場總線僅僅定義了第1 層即物理層、第2 層即數(shù)據(jù)鏈路層(見ISO11898 標(biāo)準(zhǔn));沒有規(guī)定應(yīng)用層,需要一個(gè)高層協(xié)議來定義CAN 報(bào)文中的11/29 位標(biāo)識符、8 字節(jié)數(shù)據(jù)的使用。目前占領(lǐng)市場主流的應(yīng)用層協(xié)議是:DeviceNet 協(xié)議和CANopen 協(xié)議[5]。但是DeviceNet 和CANopen 協(xié)議難度大、規(guī)范復(fù)雜,開發(fā)周期長、成本高。針對本控制系統(tǒng)的控制對象為4 臺電機(jī)的情況,根據(jù)CAN 總線的要求,必須研究一套簡單而有效的高層通信協(xié)議。

      1.2.1 CAN 報(bào)文的分配

      CAN 一個(gè)數(shù)據(jù)幀[3]包括了幀起始、仲裁場(標(biāo)識符+RTR)、控制場、數(shù)據(jù)場(0-8bytes)、CRC、應(yīng)答場、幀結(jié)束。用戶協(xié)議需要自行設(shè)計(jì)的為仲裁場、控制場和數(shù)據(jù)場。在本電機(jī)群控制系統(tǒng)中,每一個(gè)節(jié)點(diǎn)有且只有一個(gè)其專屬的地址,地址碼和系統(tǒng)中各電機(jī)模塊對應(yīng),總線上按照地址來傳送數(shù)據(jù)。電機(jī)控制系統(tǒng)中主控節(jié)點(diǎn)為1,X 軸、Y 軸、Z 軸、U軸電機(jī)節(jié)點(diǎn)依次為2、3、4、5。由于系統(tǒng)規(guī)模比較小,節(jié)點(diǎn)數(shù)少于16個(gè),地址碼設(shè)定為4 位,同一系統(tǒng)中地址碼不能重復(fù)。目的地址的標(biāo)識符定為ID3-ID0,源地址標(biāo)識符定ID7-ID4[5]。ID9-ID8 定義為功能碼,用于表示報(bào)文所要實(shí)現(xiàn)的功能。兩位標(biāo)識符定義了4 個(gè)功能碼,分別是:0X00 表示對單個(gè)或多個(gè)節(jié)點(diǎn)寫入數(shù)據(jù);0X01 表示斷開與電機(jī)控制系統(tǒng)從節(jié)點(diǎn)的通訊連接;0X10 表示和電機(jī)控制系統(tǒng)從節(jié)點(diǎn)建立通訊連接;0X11 表示檢測網(wǎng)絡(luò)上的ID 從節(jié)點(diǎn)是否存在[2]。ID10 位定義為ACK 響應(yīng)位[4],該位用來區(qū)分幀的類型。當(dāng)響應(yīng)標(biāo)志位為0 時(shí),表示發(fā)送的是命令幀,節(jié)點(diǎn)需要應(yīng)答??刂茍鲇? 個(gè)位組成,標(biāo)準(zhǔn)格式里的幀包括數(shù)據(jù)長度代碼、IDE 位、保留位r0[5]。數(shù)據(jù)場由數(shù)據(jù)幀里的發(fā)送數(shù)據(jù)組成。它可以為0~8 個(gè)字節(jié),每個(gè)字節(jié)包含了8 位。第一個(gè)字節(jié)為命令,接下來字節(jié)都為具體要發(fā)送的數(shù)據(jù)。發(fā)送的優(yōu)先級由節(jié)點(diǎn)的ID 決定,ID 越小[4],優(yōu)先級越高。

      1.2.2 數(shù)據(jù)通訊的實(shí)現(xiàn)

      數(shù)據(jù)通訊定義了網(wǎng)絡(luò)中傳輸數(shù)據(jù)的內(nèi)容和傳輸?shù)姆绞?。電機(jī)群控制系統(tǒng)的CAN 用戶層協(xié)議通訊模式由主從方式和事件觸發(fā)方式構(gòu)成。兩種模式搭配使用,增強(qiáng)了通訊協(xié)議的靈活性。主從通訊模式用于CAN 網(wǎng)絡(luò)中的主站對于從站的訪問。事件觸發(fā)通訊模式用于從站主動(dòng)向主站傳送數(shù)據(jù)報(bào)文。

      1.2.3 網(wǎng)絡(luò)管理

      網(wǎng)絡(luò)管理的對象是于網(wǎng)絡(luò)中節(jié)點(diǎn)和報(bào)文發(fā)送狀態(tài)。對于CAN 網(wǎng)絡(luò)管理,其主要任務(wù)是處理網(wǎng)絡(luò)中的錯(cuò)誤,協(xié)調(diào)各個(gè)節(jié)點(diǎn)的狀態(tài),監(jiān)控報(bào)文的發(fā)送情況??梢苑譃楣?jié)點(diǎn)控制和通訊控制兩部分。節(jié)點(diǎn)管理[5]是指對總線上所有應(yīng)用節(jié)點(diǎn)進(jìn)行初始化,讓每個(gè)節(jié)點(diǎn)在通訊前處于準(zhǔn)備狀態(tài)并排除總線上是否存在相同的節(jié)點(diǎn)。通訊管理是管理網(wǎng)絡(luò)中通訊的報(bào)文,保證報(bào)文能夠正常地接受發(fā)送。

      1.2.4 電機(jī)設(shè)備協(xié)議的原則

      電機(jī)設(shè)備協(xié)議是網(wǎng)絡(luò)中電機(jī)設(shè)備的描述規(guī)則,在本系統(tǒng)中對CAN 應(yīng)用層協(xié)議的電機(jī)描述設(shè)備以及要執(zhí)行的命令參數(shù)定義見表1。

      表1 命令類型表

      部分主要代碼如下:

      void CAN1_Init(void),在此函數(shù)中設(shè)置過濾器,波特率以及管腳配置、中斷配置;

      void Init_RxMes(CanRxMsg *RxMessage),初始化接收幀;

      void CAN_SendInit (u8 addr),初始化節(jié)點(diǎn),addr 為目標(biāo)地址,當(dāng)addr 值取0X00 時(shí),表示廣播,各節(jié)點(diǎn)都收到信息;

      void CANSetCo(u8 addr,s32 co),設(shè)置坐標(biāo),addr 為目標(biāo)地址,co 為設(shè)置的坐標(biāo);

      void CANSetSpeed(u8 addr,s32 speed),設(shè)置速度,addr為目標(biāo)地址,speed 為設(shè)置的速度;

      void USB_LP_CAN1_RX0_IRQHandler(void),下 位 機(jī)CAN1 接 收中斷處理函數(shù),更新線圈和寄存器。通過swtich 語句來實(shí)現(xiàn)不同信息的處理。

      圖2 系統(tǒng)軟件流程圖

      1.3 軟件設(shè)計(jì)

      在電機(jī)群控制系統(tǒng)中,系統(tǒng)軟包括主控制器發(fā)送接收模塊、運(yùn)動(dòng)控制器發(fā)送接收模塊、CAN 通訊模塊。主控制器發(fā)送接收模塊向各個(gè)電機(jī)的運(yùn)動(dòng)控制器發(fā)送運(yùn)動(dòng)信息(設(shè)定位置、速度等),等待來自各運(yùn)動(dòng)控制器的反饋信息;運(yùn)動(dòng)控制器發(fā)送接收模塊接收到來自主控制器的命令后,對命令進(jìn)行解析,執(zhí)行相應(yīng)的操作控制電機(jī),并將電機(jī)的狀態(tài)信息反饋給主控制器。CAN 通訊模塊負(fù)責(zé)主控制器與各運(yùn)動(dòng)控制器之間數(shù)據(jù)通訊。系統(tǒng)軟件流程圖如圖2 所示。本設(shè)計(jì)采用美國Keil Software 公司出品的Keil uVision4 軟件開發(fā)系統(tǒng),使用C 語言來開發(fā)。

      2 測試結(jié)果

      在試驗(yàn)中,用2 個(gè)電機(jī)進(jìn)行模擬測試,主控制器(節(jié)點(diǎn)1)向X 軸(節(jié)點(diǎn)2)和Y 軸(節(jié)點(diǎn)3)兩個(gè)電機(jī)的控制器發(fā)送指令,將LA1032 邏輯分析儀直接接入節(jié)點(diǎn)2 和節(jié)點(diǎn)3 的控制芯片的TIM1 上,同時(shí)測量節(jié)點(diǎn)2 和節(jié)點(diǎn)3 的脈沖波形,通過對比分析兩電機(jī)的協(xié)同工作情況及CAN 通訊協(xié)議的通信效果。

      按編制的CAN 通訊協(xié)議,節(jié)點(diǎn)1 先發(fā)送一個(gè)廣播幀對各站點(diǎn)進(jìn)行初始化,再向節(jié)點(diǎn)2、節(jié)點(diǎn)3 同時(shí)發(fā)送周期為140us,占空比為50%的脈沖;1ms 以后,向節(jié)點(diǎn)2、節(jié)點(diǎn)3 發(fā)送周期為14us,占空比為50%的脈沖,兩種頻率不同的脈沖交替發(fā)送,相隔時(shí)間為1ms。邏輯分析儀觀察到節(jié)點(diǎn)2 和節(jié)點(diǎn)3 的波形圖如圖3。從圖3 可以看出,兩節(jié)點(diǎn)電機(jī)的執(zhí)行命令的時(shí)間差在20us 左右。表明通信協(xié)議是可行的,兩電機(jī)的同步控制誤差比較小。

      圖3 邏輯分析儀顯示的節(jié)點(diǎn)2 和節(jié)點(diǎn)3 的波形圖

      3 結(jié)束語

      以STM32RBT6 ARM 芯片為主、從控制器,通過CAN 總線利用總線廣播模式實(shí)現(xiàn)電機(jī)群協(xié)同控制,其CAN 總線通信協(xié)議比較簡單,電機(jī)群的協(xié)同控制效果好,且成本低,可靠性高,響應(yīng)速度快,該系統(tǒng)可實(shí)際應(yīng)用于工件切割、數(shù)控鉆孔。

      [1]鄔寬明.CAN 總線原理和應(yīng)用的系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1996.

      [2]麥毅強(qiáng),倪文秀,王仁龍.基于DSP 的CAN 總線通信技術(shù)研究[J].微計(jì)算機(jī)信息,2010,8-2:111-113.

      [3]彭剛.基于ARMCortex-M3 的STM32 系列嵌入式微控制器應(yīng)用實(shí)踐[M].北京:電子工業(yè)出版社,2011.

      [4]劉濤,王宗義,孔慶磊,武光田.基于CAN 總線的多電機(jī)協(xié)調(diào)運(yùn)動(dòng)控制系統(tǒng)研究[J].機(jī)床與液壓,2010:38-3.

      [5]佟為明,李鳳閣,林景波.基于CAN 總線的電力監(jiān)控器的研究[J].電工技術(shù)雜志,2004,8:68-71.

      猜你喜歡
      報(bào)文通訊總線
      《茶葉通訊》簡介
      茶葉通訊(2022年2期)2022-11-15 08:53:56
      《茶葉通訊》簡介
      茶葉通訊(2022年3期)2022-11-11 08:43:50
      基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
      汽車電器(2022年9期)2022-11-07 02:16:24
      通訊報(bào)道
      CTCS-2級報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
      淺析反駁類報(bào)文要點(diǎn)
      中國外匯(2019年11期)2019-08-27 02:06:30
      基于PCI Express總線的xHC與FPGA的直接通信
      機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計(jì)
      通訊簡史
      ATS與列車通信報(bào)文分析
      体育| 安阳县| 习水县| 体育| 浦江县| 襄汾县| 中超| 清涧县| 叶城县| 轮台县| 尉氏县| 房山区| 新兴县| 慈利县| 化隆| 纳雍县| 吴桥县| 醴陵市| 文成县| 阿合奇县| 彭泽县| 石渠县| 内黄县| 南康市| 宁南县| 保定市| 常熟市| 辉县市| 桃园县| 本溪市| 揭东县| 蓬安县| 汉阴县| 德令哈市| 安图县| 枞阳县| 福安市| 鄢陵县| 巴南区| 古丈县| 新干县|