李宾涛
(公安海警学院 机电管理系,浙江 宁波 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.