李賓濤
(公安海警學院 機電管理系,浙江 寧波 315801)
CO2氣體保護焊具有高效、節能、低氫、低成本以及易于實現自動化等優點,在低碳鋼、低合金鋼、薄板鋼結構等場合得到廣泛應用。傳統的CO2氣體保護焊容易受到環境溫度和震動的影響,無論是調節精度、穩定性、可靠性都不是很理想,無法確保焊接參數的一致性,從而影響焊接質量,因此,實現焊接系統的智能化控制是當前焊接專家和學者的研究方向。在此研發了一種基于CAN總線的智能化CO2焊接控制系統。本設計分別采用ARM和MCU作為主機與送絲電機和行走電機的控制,實現焊接過程的數字化控制及參數的數字化調節與傳輸,同時采用先進的現場CAN總線技術實現遠距離數據的通信。該系統克服了傳統控制系統的缺點,具有穩定、可靠、抗干擾能力強、易實現網絡化、智能化以及遠程監控等優點。本研究對CO2氣體保護焊CAN總線的研發對焊接系統的智能控制有一定的參考意義[1]。
CAN總線控制網絡工作于多主方式,網絡中的各節點都可根據總線訪問優先權(取決于報文標識符),采用無損結構的逐位仲裁方式競爭向總線發送數據,采用對通信數據進行編碼,使不同的節點同時接收到相同的數據,這些特點使得CAN總線構成的網絡各節點之間的數據通信適時性強,并且容易構成冗余結構,提高系統的可靠性和靈活性。根據焊接系統的結構和特點設計的硬件示意如圖1所示。

圖1 系統的硬件結構
ARM9是功能強大的處理器,因此可以把焊接系統的輸入/輸出、存儲器的擴展、串口、現場顯示接口、PWM電機控制以及CAN總線控制器等都用一塊芯片完成,如圖1所示。其設計思想是采用NOR Flash存儲啟動代碼和操作系統,NAND Flash存儲應用程序。前者采用Silicon Storage Technology的4 MB NOR Flash存儲器 SST39VF3201(2M×16)作為片選線,使用地址總線和數據總線與ARM連接。后者采用Samsung的64MB NAND Flash存儲器K9F1208(64M×8),與 ARM 的 NAND Flash 控制器連接,使用數據總線 D[7:0][2]。
圖1支持NOR Flash啟動和NANDFlash啟動。當使用NAND啟動時,NAND Flash的前4 kB內容被復制到內部緩沖器Steppingstone(映射到)中,然后CPU從Steppingstone中開始執行啟動代碼。圖1中的CAN總線能完成焊接系統網絡的建立、網絡信號傳遞、總線控制以及與上位機之間的數據通信;同時還完成焊接系統電機電壓、電流數據的測試、傳輸等閉環控制[2]。
CAN總線電路包括ARM中央處理器、CAN總線控制、CAN總線收發器,選用中央處理器ARM9、CAN總線控制器用MCP2510芯片、CAN總線收發器用PAC82C250芯片。其電路連接框圖如圖2所示。

圖2 CAN總線電路
MCP25l0是一種帶有SPI接口的CAN控制器,它支持CAN技術規范V2.0A/B,能夠發送或接收標準的和擴展的信息幀,同時具有接收濾波和信息管理的功能。MCP2510通過SPI接口與中央處理器進行數據傳輸,其最高數據傳輸速率可達5 Mbps,同時,中央處理器可通過MCP2510與CAN總線上的其他處理器單元數據通信。MCP2510內含三個發送緩沖器和兩個接收緩沖器,同時還具有靈活的中斷管理能力,這些特點使得MCU對CAN總線的操作變得非常簡便。MCP2510的主要特點有:支持CAN 2.0A/B;內含3個發送緩沖器和2個接收緩沖器,可對其優先權進行編程;具有6個接收過濾器,2個接收屏蔽過濾器;具有靈活的中斷管理能力;采用低功耗CMOS工藝技術,其工作電壓范圍3.0~5.5 V,有效電流 5 mA,維持電流 10 μA[2]。
MCP2510是一款獨立CAN控制器,可簡化需要與CAN總線連接的應用,如圖3所示。

圖3 MCP2510的內部結構框圖
CAN總線驅動器PCA82C250是CAN協議控制器和物理總線間的接口,最初是為汽車的高速通訊(高達1 Mbps)應用而設計。此器件對總線提供差動發送能力,工作特性為:符合ISO11898標準;高速率(最高達1 Mbps);具有抗瞬間干擾、保護總線的能力;斜率控制,降低射頻干擾(RFI);差分接收器,抵抗較寬范圍的共模干擾,抗電磁干擾;防止總線與電源和地之間發生短路;低電流待機模式;未上電的節點對總線無影響;可以接110個節點。
在焊接時由于開關管的導通和關斷將產生一定的諧波和電磁干擾,因此抗干擾設備顯示尤其重要。主要采取了以下措施:在CAN總線的兩端加兩個60 Ω的電阻,這兩個電阻對于總線阻抗的匹配起著相當重要的作用。去掉它們會大大降低數據通信的可靠性,甚至無法通信。CANH和CANL與地之間并聯了兩個47 pF的小電容,可以濾除總線上的高頻干擾并且具有一定的防電磁輻射的能力;為了減小現場對節點的干擾,使用屏蔽雙絞線,且根據實際使用經驗,屏蔽電纜的屏蔽層無需接地[2-4]。
軟件的設計思想與相應的硬件電路對應。CAN控制器采用MCP2510芯片,其工作有五種模式:配置模式、睡眠模式、正常模式、監聽模式和回環模式。CAN總線正常工作之前,必須對MCP2510進行初始化,只有在配置模式下才能對器件進行初始化。當上電或復位時,器件自動進入配置模式,對CAN控制寄存器進行設置也可以使其進入配置模式。當進入配置模式時,所有錯誤的計數器將被清零。只有在配置模式下,才能對配置寄存器、接收過濾寄存器以及接收屏蔽寄存器進行寫操作。該程序流程如圖4所示。
CAN節點發送子程序主要完成信息寫入發送緩沖區的任務。MCP2510采用三個發送緩沖器,每一個發送緩沖器占SRAM的14字節,并映射到存儲器中。其中第一字節是與報文緩沖器相關的控制寄存器,該寄存器中的信息決定了報文在哪一種條件下被發送,并在報文發送時指示其狀態。另外用5個字節裝載標準或擴展標識符以及其他報文仲裁信息。最后用8個字節來裝載等待發送報文的8個可能的數據字節。該程序流程如圖5所示[2-6]。

圖4 MCP2510初始化程序流程

圖5 CAN發送子程序流程
CAN總線適配器由CAN微控制器完成與上位機通信協調工作,根據需要對CAN適配器微控處理器的寄存器進行讀或寫的操作,實現初始化及數據采集。CAN總線適配器上電復位和初始化后,等待著命令和數據,當命令或數據送給CAN的寄存器并置位標志位時,即完成一次通信,然后取出數據做下一步處理。與CAN適配器間的通信有查詢和中斷兩種方式。因此能使焊接系統的數據實時的傳輸給控制系統和監控系統,從而實時調節焊接參數,確保焊接的質量[2-7]。
本研究詳細分析了CAN總線在CO2焊接系統中的應用。通過分析焊接系統的工藝要求和特點,選擇功能強大的ARM9作為焊接系統的中央處理器,基于此設計ARM9外圍的CAN總線的硬件電路和軟件流程。通過整體結構設計,實現了焊接參數的設定、焊接運行時參數與CAN總線控制器之間的數據交換以及CAN總線與上位機間的數據傳輸,最終實時實現CAN總線對焊接系統運行狀態的監視和控制。
[1]余棉水,謝 宇,溫自力.基于CAN總線的數字化CO2焊接電源設計[J].制造業自動化,2010,32(7):155-159.
[2]王 杰.CAN總線在直流電機調速控制系統中的應用[D].成都:電子科技大學碩士論文,2008.
[3]劉 松,王 渝.基于CAN總線的數字式直流電機控制系統[J].微計算機信息,2003,19(4):7-9.
[4]王田苗.嵌入式系統設計與實例開發[M].北京:清華大學出版社,2002.
[5]王澤民,蘆東昕,謝 鑫,等.基于VxWorks的異常處理的研究和實現[J].計算機工程,2005,31(13):90-92.
[6]曹 珊,于秀敏,周學文,等.混合動力汽車CAN總線系統智能節點設計[J].計算機工程與應用,2006,42(15):92-93.
[7]王彥堂,李貽斌,宋 銳.基于ARM Linux平臺的CAN設備驅動程序設計與實現[J].計算機工程與應用,2007,43(15):79-82.