李賓濤
(公安海警學(xué)院 機(jī)電管理系,浙江 寧波 315801)
CO2氣體保護(hù)焊具有高效、節(jié)能、低氫、低成本以及易于實(shí)現(xiàn)自動(dòng)化等優(yōu)點(diǎn),在低碳鋼、低合金鋼、薄板鋼結(jié)構(gòu)等場(chǎng)合得到廣泛應(yīng)用。傳統(tǒng)的CO2氣體保護(hù)焊容易受到環(huán)境溫度和震動(dòng)的影響,無論是調(diào)節(jié)精度、穩(wěn)定性、可靠性都不是很理想,無法確保焊接參數(shù)的一致性,從而影響焊接質(zhì)量,因此,實(shí)現(xiàn)焊接系統(tǒng)的智能化控制是當(dāng)前焊接專家和學(xué)者的研究方向。在此研發(fā)了一種基于CAN總線的智能化CO2焊接控制系統(tǒng)。本設(shè)計(jì)分別采用ARM和MCU作為主機(jī)與送絲電機(jī)和行走電機(jī)的控制,實(shí)現(xiàn)焊接過程的數(shù)字化控制及參數(shù)的數(shù)字化調(diào)節(jié)與傳輸,同時(shí)采用先進(jìn)的現(xiàn)場(chǎng)CAN總線技術(shù)實(shí)現(xiàn)遠(yuǎn)距離數(shù)據(jù)的通信。該系統(tǒng)克服了傳統(tǒng)控制系統(tǒng)的缺點(diǎn),具有穩(wěn)定、可靠、抗干擾能力強(qiáng)、易實(shí)現(xiàn)網(wǎng)絡(luò)化、智能化以及遠(yuǎn)程監(jiān)控等優(yōu)點(diǎn)。本研究對(duì)CO2氣體保護(hù)焊CAN總線的研發(fā)對(duì)焊接系統(tǒng)的智能控制有一定的參考意義[1]。
CAN總線控制網(wǎng)絡(luò)工作于多主方式,網(wǎng)絡(luò)中的各節(jié)點(diǎn)都可根據(jù)總線訪問優(yōu)先權(quán)(取決于報(bào)文標(biāo)識(shí)符),采用無損結(jié)構(gòu)的逐位仲裁方式競(jìng)爭(zhēng)向總線發(fā)送數(shù)據(jù),采用對(duì)通信數(shù)據(jù)進(jìn)行編碼,使不同的節(jié)點(diǎn)同時(shí)接收到相同的數(shù)據(jù),這些特點(diǎn)使得CAN總線構(gòu)成的網(wǎng)絡(luò)各節(jié)點(diǎn)之間的數(shù)據(jù)通信適時(shí)性強(qiáng),并且容易構(gòu)成冗余結(jié)構(gòu),提高系統(tǒng)的可靠性和靈活性。根據(jù)焊接系統(tǒng)的結(jié)構(gòu)和特點(diǎn)設(shè)計(jì)的硬件示意如圖1所示。
圖1 系統(tǒng)的硬件結(jié)構(gòu)
ARM9是功能強(qiáng)大的處理器,因此可以把焊接系統(tǒng)的輸入/輸出、存儲(chǔ)器的擴(kuò)展、串口、現(xiàn)場(chǎng)顯示接口、PWM電機(jī)控制以及CAN總線控制器等都用一塊芯片完成,如圖1所示。其設(shè)計(jì)思想是采用NOR Flash存儲(chǔ)啟動(dòng)代碼和操作系統(tǒng),NAND Flash存儲(chǔ)應(yīng)用程序。前者采用Silicon Storage Technology的4 MB NOR Flash存儲(chǔ)器 SST39VF3201(2M×16)作為片選線,使用地址總線和數(shù)據(jù)總線與ARM連接。后者采用Samsung的64MB NAND Flash存儲(chǔ)器K9F1208(64M×8),與 ARM 的 NAND Flash 控制器連接,使用數(shù)據(jù)總線 D[7:0][2]。
圖1支持NOR Flash啟動(dòng)和NANDFlash啟動(dòng)。當(dāng)使用NAND啟動(dòng)時(shí),NAND Flash的前4 kB內(nèi)容被復(fù)制到內(nèi)部緩沖器Steppingstone(映射到)中,然后CPU從Steppingstone中開始執(zhí)行啟動(dòng)代碼。圖1中的CAN總線能完成焊接系統(tǒng)網(wǎng)絡(luò)的建立、網(wǎng)絡(luò)信號(hào)傳遞、總線控制以及與上位機(jī)之間的數(shù)據(jù)通信;同時(shí)還完成焊接系統(tǒng)電機(jī)電壓、電流數(shù)據(jù)的測(cè)試、傳輸?shù)乳]環(huán)控制[2]。
CAN總線電路包括ARM中央處理器、CAN總線控制、CAN總線收發(fā)器,選用中央處理器ARM9、CAN總線控制器用MCP2510芯片、CAN總線收發(fā)器用PAC82C250芯片。其電路連接框圖如圖2所示。
圖2 CAN總線電路
MCP25l0是一種帶有SPI接口的CAN控制器,它支持CAN技術(shù)規(guī)范V2.0A/B,能夠發(fā)送或接收標(biāo)準(zhǔn)的和擴(kuò)展的信息幀,同時(shí)具有接收濾波和信息管理的功能。MCP2510通過SPI接口與中央處理器進(jìn)行數(shù)據(jù)傳輸,其最高數(shù)據(jù)傳輸速率可達(dá)5 Mbps,同時(shí),中央處理器可通過MCP2510與CAN總線上的其他處理器單元數(shù)據(jù)通信。MCP2510內(nèi)含三個(gè)發(fā)送緩沖器和兩個(gè)接收緩沖器,同時(shí)還具有靈活的中斷管理能力,這些特點(diǎn)使得MCU對(duì)CAN總線的操作變得非常簡(jiǎn)便。MCP2510的主要特點(diǎn)有:支持CAN 2.0A/B;內(nèi)含3個(gè)發(fā)送緩沖器和2個(gè)接收緩沖器,可對(duì)其優(yōu)先權(quán)進(jìn)行編程;具有6個(gè)接收過濾器,2個(gè)接收屏蔽過濾器;具有靈活的中斷管理能力;采用低功耗CMOS工藝技術(shù),其工作電壓范圍3.0~5.5 V,有效電流 5 mA,維持電流 10 μA[2]。
MCP2510是一款獨(dú)立CAN控制器,可簡(jiǎn)化需要與CAN總線連接的應(yīng)用,如圖3所示。
圖3 MCP2510的內(nèi)部結(jié)構(gòu)框圖
CAN總線驅(qū)動(dòng)器PCA82C250是CAN協(xié)議控制器和物理總線間的接口,最初是為汽車的高速通訊(高達(dá)1 Mbps)應(yīng)用而設(shè)計(jì)。此器件對(duì)總線提供差動(dòng)發(fā)送能力,工作特性為:符合ISO11898標(biāo)準(zhǔn);高速率(最高達(dá)1 Mbps);具有抗瞬間干擾、保護(hù)總線的能力;斜率控制,降低射頻干擾(RFI);差分接收器,抵抗較寬范圍的共模干擾,抗電磁干擾;防止總線與電源和地之間發(fā)生短路;低電流待機(jī)模式;未上電的節(jié)點(diǎn)對(duì)總線無影響;可以接110個(gè)節(jié)點(diǎn)。
在焊接時(shí)由于開關(guān)管的導(dǎo)通和關(guān)斷將產(chǎn)生一定的諧波和電磁干擾,因此抗干擾設(shè)備顯示尤其重要。主要采取了以下措施:在CAN總線的兩端加兩個(gè)60 Ω的電阻,這兩個(gè)電阻對(duì)于總線阻抗的匹配起著相當(dāng)重要的作用。去掉它們會(huì)大大降低數(shù)據(jù)通信的可靠性,甚至無法通信。CANH和CANL與地之間并聯(lián)了兩個(gè)47 pF的小電容,可以濾除總線上的高頻干擾并且具有一定的防電磁輻射的能力;為了減小現(xiàn)場(chǎng)對(duì)節(jié)點(diǎn)的干擾,使用屏蔽雙絞線,且根據(jù)實(shí)際使用經(jīng)驗(yàn),屏蔽電纜的屏蔽層無需接地[2-4]。
軟件的設(shè)計(jì)思想與相應(yīng)的硬件電路對(duì)應(yīng)。CAN控制器采用MCP2510芯片,其工作有五種模式:配置模式、睡眠模式、正常模式、監(jiān)聽模式和回環(huán)模式。CAN總線正常工作之前,必須對(duì)MCP2510進(jìn)行初始化,只有在配置模式下才能對(duì)器件進(jìn)行初始化。當(dāng)上電或復(fù)位時(shí),器件自動(dòng)進(jìn)入配置模式,對(duì)CAN控制寄存器進(jìn)行設(shè)置也可以使其進(jìn)入配置模式。當(dāng)進(jìn)入配置模式時(shí),所有錯(cuò)誤的計(jì)數(shù)器將被清零。只有在配置模式下,才能對(duì)配置寄存器、接收過濾寄存器以及接收屏蔽寄存器進(jìn)行寫操作。該程序流程如圖4所示。
CAN節(jié)點(diǎn)發(fā)送子程序主要完成信息寫入發(fā)送緩沖區(qū)的任務(wù)。MCP2510采用三個(gè)發(fā)送緩沖器,每一個(gè)發(fā)送緩沖器占SRAM的14字節(jié),并映射到存儲(chǔ)器中。其中第一字節(jié)是與報(bào)文緩沖器相關(guān)的控制寄存器,該寄存器中的信息決定了報(bào)文在哪一種條件下被發(fā)送,并在報(bào)文發(fā)送時(shí)指示其狀態(tài)。另外用5個(gè)字節(jié)裝載標(biāo)準(zhǔn)或擴(kuò)展標(biāo)識(shí)符以及其他報(bào)文仲裁信息。最后用8個(gè)字節(jié)來裝載等待發(fā)送報(bào)文的8個(gè)可能的數(shù)據(jù)字節(jié)。該程序流程如圖5所示[2-6]。
圖4 MCP2510初始化程序流程
圖5 CAN發(fā)送子程序流程
CAN總線適配器由CAN微控制器完成與上位機(jī)通信協(xié)調(diào)工作,根據(jù)需要對(duì)CAN適配器微控處理器的寄存器進(jìn)行讀或?qū)懙牟僮?,?shí)現(xiàn)初始化及數(shù)據(jù)采集。CAN總線適配器上電復(fù)位和初始化后,等待著命令和數(shù)據(jù),當(dāng)命令或數(shù)據(jù)送給CAN的寄存器并置位標(biāo)志位時(shí),即完成一次通信,然后取出數(shù)據(jù)做下一步處理。與CAN適配器間的通信有查詢和中斷兩種方式。因此能使焊接系統(tǒng)的數(shù)據(jù)實(shí)時(shí)的傳輸給控制系統(tǒng)和監(jiān)控系統(tǒng),從而實(shí)時(shí)調(diào)節(jié)焊接參數(shù),確保焊接的質(zhì)量[2-7]。
本研究詳細(xì)分析了CAN總線在CO2焊接系統(tǒng)中的應(yīng)用。通過分析焊接系統(tǒng)的工藝要求和特點(diǎn),選擇功能強(qiáng)大的ARM9作為焊接系統(tǒng)的中央處理器,基于此設(shè)計(jì)ARM9外圍的CAN總線的硬件電路和軟件流程。通過整體結(jié)構(gòu)設(shè)計(jì),實(shí)現(xiàn)了焊接參數(shù)的設(shè)定、焊接運(yùn)行時(shí)參數(shù)與CAN總線控制器之間的數(shù)據(jù)交換以及CAN總線與上位機(jī)間的數(shù)據(jù)傳輸,最終實(shí)時(shí)實(shí)現(xiàn)CAN總線對(duì)焊接系統(tǒng)運(yùn)行狀態(tài)的監(jiān)視和控制。
[1]余棉水,謝 宇,溫自力.基于CAN總線的數(shù)字化CO2焊接電源設(shè)計(jì)[J].制造業(yè)自動(dòng)化,2010,32(7):155-159.
[2]王 杰.CAN總線在直流電機(jī)調(diào)速控制系統(tǒng)中的應(yīng)用[D].成都:電子科技大學(xué)碩士論文,2008.
[3]劉 松,王 渝.基于CAN總線的數(shù)字式直流電機(jī)控制系統(tǒng)[J].微計(jì)算機(jī)信息,2003,19(4):7-9.
[4]王田苗.嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā)[M].北京:清華大學(xué)出版社,2002.
[5]王澤民,蘆東昕,謝 鑫,等.基于VxWorks的異常處理的研究和實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2005,31(13):90-92.
[6]曹 珊,于秀敏,周學(xué)文,等.混合動(dòng)力汽車CAN總線系統(tǒng)智能節(jié)點(diǎn)設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用,2006,42(15):92-93.
[7]王彥堂,李貽斌,宋 銳.基于ARM Linux平臺(tái)的CAN設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(15):79-82.