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