韓 旭,呂其兵
(西南交通大學(xué)材料科學(xué)與工程學(xué)院,四川成都610031)
基于CAN總線和USB存儲(chǔ)的焊接參數(shù)采集系統(tǒng)
韓 旭,呂其兵
(西南交通大學(xué)材料科學(xué)與工程學(xué)院,四川成都610031)
針對(duì)焊接生產(chǎn)監(jiān)控和質(zhì)量評(píng)估中存在的問(wèn)題,提出一種基于CAN總線和USB存儲(chǔ)的焊接參數(shù)采集與傳輸方案,并重點(diǎn)設(shè)計(jì)了采集節(jié)點(diǎn)的硬件和軟件。數(shù)據(jù)采集節(jié)點(diǎn)以STM32微控制器為核心,對(duì)焊機(jī)的焊接電流、電壓等參數(shù)進(jìn)行實(shí)時(shí)采集并通過(guò)CAN總線傳輸?shù)缴衔粰C(jī);同時(shí),利用USB接口芯片CH376擴(kuò)展節(jié)點(diǎn)的USB主控功能,實(shí)現(xiàn)對(duì)采集數(shù)據(jù)的高速本地USB存儲(chǔ)。CAN總線通信方案采用分時(shí)上傳的調(diào)度方式,避免多節(jié)點(diǎn)通信時(shí)可能出現(xiàn)的總線擁堵。測(cè)試表明,該系統(tǒng)成功實(shí)現(xiàn)了對(duì)采集數(shù)據(jù)的低速CAN總線傳輸和高速本地存儲(chǔ),有助于促進(jìn)焊接生產(chǎn)監(jiān)控技術(shù)的發(fā)展。
焊接;數(shù)據(jù)采集;CAN總線;USB存儲(chǔ)
近年來(lái),在工業(yè)生產(chǎn)信息化的背景下,很多制造環(huán)節(jié)都進(jìn)行了相關(guān)升級(jí)改造。然而,焊接生產(chǎn)車(chē)間的信息化進(jìn)程相對(duì)滯后,存在以下問(wèn)題:已有車(chē)間監(jiān)控系統(tǒng)采集頻率低,只能實(shí)現(xiàn)一般的監(jiān)控、管理功能,而某些特殊工位要求采集數(shù)據(jù)能進(jìn)行焊縫質(zhì)量分析,目前常用的方法是單獨(dú)配置一套專(zhuān)門(mén)的焊接過(guò)程監(jiān)測(cè)設(shè)備,但價(jià)格昂貴、企業(yè)投入高[1]。如何兼顧這兩方面的要求,以低成本實(shí)現(xiàn)焊接生產(chǎn)過(guò)程監(jiān)測(cè)和質(zhì)量分析的功能,在此結(jié)合CAN總線傳輸和USB存儲(chǔ)的優(yōu)勢(shì),探討一種解決方案。
CAN總線是一種能夠有效支持分布式實(shí)時(shí)控制的串行通信網(wǎng)絡(luò)。其特點(diǎn)為傳輸介質(zhì)為雙絞線,抗干擾能力強(qiáng);采用非破壞性仲裁機(jī)制避免總線沖突;采用短幀報(bào)文減少傳輸出錯(cuò)率;可擴(kuò)展性好,可根據(jù)需要隨意增刪總線上的節(jié)點(diǎn)[2]。因此,基于CAN總線的數(shù)據(jù)采集系統(tǒng)具有很高的可靠性和靈活性。同時(shí),USB存儲(chǔ)技術(shù)廣泛應(yīng)用于移動(dòng)存儲(chǔ)領(lǐng)域,具有速度快、容量高、成本低等優(yōu)點(diǎn)。將其應(yīng)用到焊接數(shù)據(jù)采集中,可實(shí)現(xiàn)下位機(jī)節(jié)點(diǎn)對(duì)焊接參數(shù)的獨(dú)立高速存儲(chǔ),既能擴(kuò)展下位機(jī)的容量,又能滿足特殊焊接工位對(duì)高速數(shù)據(jù)采集和質(zhì)量分析的需求。
系統(tǒng)整體結(jié)構(gòu)如圖1所示,采用一主多從的工作方式。CAN以太網(wǎng)網(wǎng)關(guān)作為主節(jié)點(diǎn),接收現(xiàn)場(chǎng)從節(jié)點(diǎn)發(fā)送的焊接數(shù)據(jù),并將其轉(zhuǎn)換為以太網(wǎng)數(shù)據(jù)后發(fā)送至上位機(jī)。數(shù)據(jù)采集板作為從節(jié)點(diǎn),將采集的焊接參數(shù)通過(guò)CAN總線發(fā)送至上位機(jī),同時(shí)將參數(shù)連續(xù)高速地寫(xiě)入本地USB存儲(chǔ)設(shè)備,實(shí)現(xiàn)低速數(shù)據(jù)傳輸和高速數(shù)據(jù)存儲(chǔ)的結(jié)合。通過(guò)設(shè)置各節(jié)點(diǎn)CAN過(guò)濾器,使從節(jié)點(diǎn)發(fā)送的焊接參數(shù)信息只能被上位機(jī)節(jié)點(diǎn)接收,而主節(jié)點(diǎn)能夠以廣播的方式向各個(gè)從節(jié)點(diǎn)發(fā)送控制命令。根據(jù)CAN總線協(xié)議,單層CAN網(wǎng)絡(luò)最多可支持110個(gè)節(jié)點(diǎn),如需掛載更多節(jié)點(diǎn),可加入CAN中繼器組建多層CAN網(wǎng)絡(luò)。作為分布式數(shù)據(jù)采集系統(tǒng),本系統(tǒng)靈活性高,可根據(jù)需要增加或減少焊機(jī)節(jié)點(diǎn)而無(wú)需更改系統(tǒng)的軟硬件。
圖1 系統(tǒng)整體結(jié)構(gòu)框圖
數(shù)據(jù)采集節(jié)點(diǎn)的硬件結(jié)構(gòu)如圖2所示,主要由傳感器接口電路、模擬信號(hào)調(diào)理電路、CAN總線接口電路和USB主控接口電路組成。傳感器方面,使用霍爾電流傳感器采集焊接電流,使用基于熱質(zhì)量流量計(jì)量的氣體流量傳感器采集氣體流量,焊接電壓經(jīng)隔離和濾波電路處理后直接送入A/D轉(zhuǎn)換引腳,使用歐姆龍旋轉(zhuǎn)編碼器模塊采集送絲速度,將焊絲的直線運(yùn)動(dòng)轉(zhuǎn)化為脈沖信號(hào)。主控芯片采用基于ARM Cortex-M3內(nèi)核的32位增強(qiáng)型微控制器STM32F103ZET6。該芯片性能遠(yuǎn)優(yōu)于51單片機(jī),最高工作頻率72 MHz,內(nèi)置64 kB的片內(nèi)RAM和512kB的片內(nèi)FLASH,以及豐富的片上資源和通信接口,如IIC、SPI、CAN等。內(nèi)置3個(gè)12位精度的A/D轉(zhuǎn)換器,多達(dá)16個(gè)模擬輸入通道,最高采樣頻率1MHz;配備1個(gè)CAN控制器,支持CAN 2.0A和CAN 2.0B協(xié)議,波特率高達(dá)1 Mbps;內(nèi)置可變靜態(tài)存儲(chǔ)控制器(FSMC),可靈活高效地實(shí)現(xiàn)對(duì)各種類(lèi)型的外部存儲(chǔ)器等并口通信設(shè)備的擴(kuò)展①STM32 Reference Manual.ST Microelectronics,2009;②CH376技術(shù)手冊(cè).江蘇沁恒股份有限公司,2010.。
圖2 數(shù)據(jù)采集節(jié)點(diǎn)硬件結(jié)構(gòu)框圖
2.1 CAN總線接口電路
STM32芯片自帶CAN控制器,還需一CAN收發(fā)器才可接入CAN總線。選用TI公司的SN65HVD 230作為CAN收發(fā)器,接口電路如圖3所示??紤]到焊接車(chē)間的電磁干擾,在STM32和CAN收發(fā)器之間加入光耦隔離電路。PA12和PA11分別為STM32的CAN控制器發(fā)送引腳和接收引腳,經(jīng)高速光耦6N137構(gòu)成的隔離電路與CAN收發(fā)器相連,實(shí)現(xiàn)總線上各節(jié)點(diǎn)間的電氣隔離,增強(qiáng)系統(tǒng)抗干擾能力。此外,在收發(fā)器的差分電平發(fā)送端和接收端之間并聯(lián)一個(gè)120 Ω的終端電阻,以匹配總線上的阻抗,消除信號(hào)在傳輸線末端的反射和回波,提高CAN總線數(shù)據(jù)傳輸?shù)姆€(wěn)定性。
2.2 USB主控接口電路
采用低成本的USB主控芯片CH376擴(kuò)展節(jié)點(diǎn)的USB存儲(chǔ)功能。該芯片內(nèi)置USB通信協(xié)議基本固件和FAT12/16/32文件系統(tǒng)管理固件,避免讓主控芯片處理龐大的文件系統(tǒng),大大降低系統(tǒng)開(kāi)銷(xiāo)②。CH376支持8位并口、SPI和異步串口等通信方式,為提高通信速度,系統(tǒng)選用并口方式與STM32通信。與51單片機(jī)不同,STM32與并口器件通信通過(guò)可變靜態(tài)存儲(chǔ)控制器(FSMC)接口來(lái)實(shí)現(xiàn)。FSMC是一種新型的存儲(chǔ)器擴(kuò)展技術(shù),它可根據(jù)外部存儲(chǔ)器類(lèi)型,發(fā)出相應(yīng)的數(shù)據(jù)、地址、控制信號(hào)來(lái)匹配外部存儲(chǔ)器的工作時(shí)序,使STM32能夠擴(kuò)展SRAM、NOR Flash、PSRAM等多種類(lèi)型的外部存儲(chǔ)器。CH376并口工作時(shí)序與SRAM存儲(chǔ)器相似,故可參考SRAM的擴(kuò)展方式配置FSMC。CH376與FSMC的連接方法如圖4所示。
圖3 CAN總線接口電路
圖4 CH376與STM32連接示意
3.1 USB存儲(chǔ)程序設(shè)計(jì)
USB存儲(chǔ)程序流程如圖5所示,有三個(gè)關(guān)鍵點(diǎn):(1)初始化FSMC是STM32與CH376正常通信的關(guān)鍵,需設(shè)置FSMC的基本特征和時(shí)序參數(shù),根據(jù)SRAM時(shí)序模型和CH376的并口時(shí)序即可確定。(2)在U盤(pán)指定目錄新建一個(gè)TXT格式的文本文件,此過(guò)程需調(diào)用CH376官方的文件系統(tǒng)接口函數(shù)。首先初始化CH376,設(shè)置其工作在主機(jī)模式;然后調(diào)用CH376DiskConnect函數(shù)等待U盤(pán)連接,連接成功后使用CH376DiskMount命令初始化磁盤(pán);確認(rèn)磁盤(pán)準(zhǔn)備就緒后,調(diào)用CH376FileOpen函數(shù)判斷文件是否存在,若不存在則通過(guò)CH376FileCreate函數(shù)新建文件。(3)向TXT文件寫(xiě)入焊接數(shù)據(jù)。以扇區(qū)(512字節(jié))為單位對(duì)文件進(jìn)行讀寫(xiě),在RAM中開(kāi)辟一個(gè)8 kB的臨時(shí)緩沖區(qū),按“四路焊接參數(shù)值+當(dāng)前時(shí)/分/秒+換行符”的固定格式將數(shù)據(jù)存入緩沖區(qū)內(nèi),當(dāng)緩沖區(qū)滿4 kB時(shí)執(zhí)行扇區(qū)寫(xiě)入命令,并及時(shí)更新文件長(zhǎng)度。U盤(pán)數(shù)據(jù)的還原通過(guò)計(jì)算機(jī)上的LabVIEW讀取程序完成,還原公式為
式中X為焊接參數(shù)的真實(shí)值;Uref為STM32內(nèi)置AD轉(zhuǎn)換器的參考電壓;D8和D4分別為12位AD轉(zhuǎn)換結(jié)果的高8位和低4位;P為傳感器輸入輸出比。
圖5 USB存儲(chǔ)程序流程
3.2 采集節(jié)點(diǎn)主程序設(shè)計(jì)
采集節(jié)點(diǎn)主程序流程如圖6所示,由參數(shù)采集與USB存儲(chǔ)主程序、CAN定時(shí)發(fā)送、CAN接收中斷和外部脈沖中斷(圖中略去)等程序組成。主程序中的系統(tǒng)初始化主要是對(duì)STM32的時(shí)鐘和外設(shè)進(jìn)行初始化,在此重點(diǎn)介紹CAN標(biāo)識(shí)符過(guò)濾器的初始化。其作用是根據(jù)報(bào)文標(biāo)識(shí)符(ID)選擇性接收總線上的報(bào)文。標(biāo)識(shí)符過(guò)濾器有屏蔽位和列表兩種工作模式,在屏蔽位模式下可以收到一組特定的報(bào)文(ID在一定范圍內(nèi)),而列表模式下只能接收到單一類(lèi)型報(bào)文。本系統(tǒng)中,從節(jié)點(diǎn)設(shè)置為標(biāo)識(shí)符列表模式,只接收主節(jié)點(diǎn)的廣播的時(shí)基同步命令;主節(jié)點(diǎn)則設(shè)置為標(biāo)識(shí)符屏蔽位模式,可接收各個(gè)從節(jié)點(diǎn)發(fā)送的焊接數(shù)據(jù)。
圖6 主程序流程
在數(shù)據(jù)采集與濾波程序中,ADC工作在掃描并連續(xù)轉(zhuǎn)換模式,開(kāi)啟3個(gè)規(guī)則組通道,依次對(duì)電流、電壓、氣流3路信號(hào)進(jìn)行循環(huán)采樣。同時(shí)開(kāi)啟DMA,使數(shù)據(jù)直接從ADC數(shù)據(jù)寄存器傳入RAM的結(jié)果數(shù)組內(nèi),無(wú)需CPU干涉,既能提高數(shù)據(jù)傳輸效率,又能減輕CPU的工作負(fù)擔(dān)。在數(shù)據(jù)處理上,采用平均值濾波算法,取連續(xù)20次采樣值的算術(shù)平均值作為最終采樣結(jié)果。
采集數(shù)據(jù)的CAN總線發(fā)送通過(guò)定時(shí)器的定時(shí)中斷完成。CAN發(fā)送優(yōu)先級(jí)由節(jié)點(diǎn)報(bào)文標(biāo)識(shí)符ID決定,當(dāng)總線上只有幾個(gè)節(jié)點(diǎn)時(shí),依靠ID優(yōu)先級(jí)調(diào)度,采用隨機(jī)上傳的發(fā)送模式即可。當(dāng)總線上節(jié)點(diǎn)很多時(shí),ID優(yōu)先級(jí)調(diào)度會(huì)延長(zhǎng)總線仲裁的時(shí)間,影響通信效率。因此,本系統(tǒng)采用分時(shí)上傳的調(diào)度策略,通信時(shí)序如圖7所示。主節(jié)點(diǎn)每隔1 s向總線廣播時(shí)基同步命令,各從節(jié)點(diǎn)接收到命令后同時(shí)啟動(dòng)定時(shí)器,所有從節(jié)點(diǎn)定時(shí)器的單次定時(shí)時(shí)間均設(shè)置為Δt,但各節(jié)點(diǎn)定時(shí)發(fā)送程序中的定時(shí)周期設(shè)定值并不相同,等于圖7中的節(jié)點(diǎn)號(hào),從而實(shí)現(xiàn)數(shù)據(jù)的分時(shí)傳輸??偵蟼髦芷跒椋╪+1)×Δt,與主節(jié)點(diǎn)時(shí)基同步命令的廣播周期一致。
圖7 多節(jié)點(diǎn)通信時(shí)序
(1)CAN總線通信測(cè)試。首先分析110個(gè)節(jié)點(diǎn)通信時(shí)的總線負(fù)載情況。一方面,為保證1幀/s的上傳頻率,要求每個(gè)節(jié)點(diǎn)必須在9.09 ms內(nèi)將數(shù)據(jù)發(fā)送完畢,而系統(tǒng)中一個(gè)數(shù)據(jù)包占用兩個(gè)擴(kuò)展幀,長(zhǎng)度為256 bit;另一方面,為保證500 m的通信距離,CAN波特率設(shè)置為100kb/s,傳輸1bit需用時(shí)10μs。所以,單個(gè)節(jié)點(diǎn)每次發(fā)送用時(shí)為256×10=2.56 ms,完全滿足前述發(fā)送用時(shí)要求,此時(shí)通信負(fù)載率僅為2.56/9.09≈28.2%,不會(huì)出現(xiàn)總線擁堵。下面模擬這種負(fù)載情況并測(cè)試數(shù)據(jù)傳輸?shù)臏?zhǔn)確性,采用一個(gè)節(jié)點(diǎn)每隔9 ms通過(guò)CAN總線向上位機(jī)發(fā)送兩個(gè)擴(kuò)展數(shù)據(jù)幀,數(shù)據(jù)域?yàn)椤?x00 0x12 0x34 0x56 0x78 0xAB 0xCD 0xEF”,幀ID為0xAA,波特率為100 kb/s。在計(jì)算機(jī)上使用CANTest查看報(bào)文接收情況,部分報(bào)文如圖8所示,反復(fù)測(cè)試結(jié)果表明CAN總線數(shù)據(jù)傳輸準(zhǔn)確、穩(wěn)定。
(2)USB存儲(chǔ)功能測(cè)試。按固定格式向U盤(pán)連續(xù)寫(xiě)入測(cè)試數(shù)據(jù)包(長(zhǎng)度為16個(gè)字節(jié)),結(jié)束后通過(guò)計(jì)算機(jī)查看U盤(pán)中的TXT文件。結(jié)果表明,數(shù)據(jù)被準(zhǔn)確存入U(xiǎn)盤(pán)。經(jīng)統(tǒng)計(jì),寫(xiě)入速度平均為190 kB/s,相當(dāng)于平均每秒記錄12 160組焊接參數(shù)。熔化極氣體保護(hù)焊中,熔滴過(guò)渡過(guò)程對(duì)焊縫成形、焊接飛濺和接頭的質(zhì)量影響明顯,CO2電弧焊
Page 124
Welding parameters acquisition system based on CAN bus and USB storage
HAN Xu,LV Qibing
(School of Materials science and Engineering,Southwest Jiaotong University,Chengdu 610031,China)
In order to solve the problems of real-time monitoring and quality evaluation in welding,this paper proposed a welding parameter acquisition and transmission scheme based on CAN bus and USB storage,and designed the hardware and software of the acquisition node.The CAN acquisition node,centered on 32-bit embedded microcontroller,was responsible for collecting and processing welding current,voltage and other parameters,which could be sent to CAN master node through CAN bus network.With the help of USB-HOST interface chip CH376,the acquisition node could achieve high speed local USB storage.In the communication scheme,the time sharing upload scheduling method was adopted to avoid low communication efficiency.Tests showed that the system had successfully implemented low-speed CAN bus transmission and high-speed local storage for data acquisition,which helped to promote the development of welding production monitoring technology.
welding;data acquisition;CAN bus;USB storage
TG409
A
1001-2303(2017)04-00
10.7512/j.issn.1001-2303.2017.04.
獻(xiàn)
郭吉昌,朱志明,閆國(guó)瑞,等.基于UG的弧焊機(jī)器人離線編程系統(tǒng)開(kāi)發(fā)[J].電焊機(jī),2017,47(03):1-6.
2017-01-13
韓旭(1990—),男,河北石家莊人,在讀碩士,主要從事焊接設(shè)備及其自動(dòng)化的研究。