基于ARM的自动电阻焊控制系统的设计与实现
2021-12-24同军超张卫超
张 帆,程 鑫,同军超,张卫超
(1.武汉理工大学 机电工程学院,湖北 武汉430070;2.湖北省磁悬浮工程技术研究中心,湖北 武汉 430070)
电阻焊由于无需填充金属,辅助工序少,焊接效率高,可靠性强,焊接质量好,易实现自动化等优点[1-2],是高端设备和制造中必不可少的技术,但其一般采用380 V三相交流电供电,焊接电流高[3],可达几千甚至几万安,电极温度甚至高达1 000 ℃,还会出现金属飞溅。采用人工控制焊接部件进行焊接,准确度不高,效率较低,难以完成大批量焊接工件的焊接,且人工成本较高。目前焊接技术朝着自动化、智能化和数字化方向发展[4],机器焊接代替手工焊接成为制造业必然的趋势,且采用自动焊接技术,可以极大地提高焊接效率,改善焊接卫生及安全条件,对生产实践有着重要的现实意义。
传统的自动焊接多采用人工示教或离线编程。人工示教[5-6]是人工通过示教盒控制装有焊头的机器人末端进行运动,这种方法需要现场人工示教,为保证轨迹精度,示教点要足够多,导致规划时间长,效率低,且适应环境变化的能力弱,若工件的形状或位置发生变化,则需要重新进行示教,花费大量的时间和人力。离线编程[7-8]是在仿真环境用三维模型模拟实际的作业过程,在仿真环境中通过虚拟示教获取焊接路径后输入到机器人控制器中,这种示教方式相比于人工示教的方式减少了示教时间,提高了生产率,并且能通过仿真提前验证焊接作业的正确性和安全性,但需要针对不同的工件建立不同的模型,耗时长,效率不高。
以上两种方法均对小批量、多规格、多品类的焊接工件支持不足,设计并实现针对电阻焊的非接触、精度高、速度快、适应性强的控制系统是必不可少的,是迫在眉睫的。笔者基于“ARM(advanced RISC machines)+RS485+步进电机驱动器+步进电机+上位机”的系统结构设计了自动电阻焊控制系统,系统由软硬件构成,上下位机通过RS485串口总线进行通信实现人机交互。该系统具有开发周期短、适应性强、灵活性高、经济可靠等优点,不仅可用于电阻焊焊接,对于其他的焊接方式也有指导意义,设计理念具有实际推广价值。
1 系统总体方案设计
1.1 系统设计
自动电阻焊控制系统主要实现复位、定位、启停、加减速、运动方向等三维运动状态的控制,并通过控制这些功能的实现,来实现电极到达目标焊点完成焊接的工作。上位机对控制系统的运行状态实时监测与进程显示,对焊接总数、合格数、次品数进行统计,便于对生产效率、产能进行管理。下位机采用ARM微处理器作为主控芯片,控制步进电机实现焊接的直线运动,控制旋转气缸实现焊接的旋转运动[9-10]。
1.2 系统结构设计
自动电阻焊运动控制系统主要由主控模块、功能模块以及人机交互模块组成,其系统结构如图1所示。
图1 系统结构示意图
主控模块主要包括主控芯片、外设电路和电源电路。主控制器是整个设备的核心部分,采用ARM公司的STM32F103ZET6作为主控芯片,其主频可达72 M,外设丰富,主要包括DMA(direct memory access)、ADC(analog to digital)、PWM(pulse width modulation)、UART(universal asynchronous receiver transmitter)、RS485、SPI(serial peripheral interface)、IIC(inter-integrated circuit),可兼容多种RTOS(real time operating system),且价格便宜。电源电路为主控芯片及外设电路供电,稳定输出12 V、5 V及3.3 V电压,保证系统稳定运行。外设电路负责主控芯片及功能模块的信息传输,将主控芯片的控制信号放大,将功能模块的反馈信号输入到芯片。
功能模块由行程开关、步进电机驱动器、步进电机、启动按键、急停按键、警报灯、继电器、旋转气缸、电阻焊机组成。行程开关将机械位移信号转变成电信号,用于限制步进电机的行程,进行终端限位保护及复位。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件,在非超载情况下,电机的转速与脉冲频率成正比,电机的角位移或线位移与脉冲数成正比,易于实现开环精确控制,可靠性高。对步进电机的控制多采用步进电机驱动器,控制步进电机的转速、位移、方向及使能,可低噪声、小振动、高速度地驱动步进电机。本系统采用的是FSL40开放式丝杠模组,精度为0.05 mm,丝杠导程为10 mm,结构简单,运行稳定可靠,带载能力强。启动按键采用两个按钮串联,需左右手同时按下按键,避免员工的误触启动,提高设备的安全系数。急停按键可在紧急情况下快速按下按钮停止设备的运行,避免设备损坏及人员伤亡,重新启动时需顺时针旋转大约45°后松开。警报灯将设备状态通过视觉和听觉的信号传递给工人,当设备焊接完成则绿灯闪烁,当设备处于运行状态时黄灯闪烁,当设备焊接失败时则红灯闪烁且蜂鸣器长鸣。旋转气缸通过继电器来控制气缸控制阀带动工件旋转,满足焊接工件多角度的焊接要求,减少焊接工件的反复装夹,缩短焊接时间。电阻焊电源通过继电器来实现不同工件不同焊接程序,使其在到达目标焊点后再启动焊接程序完成焊接过程。
人机交互模块主要是通过上位机对整个焊接运动过程进行控制,对焊接通过握手协议确认上下位机通信的波特率、奇偶校验是匹配的,再通过上位机进行参数设置,对系统的目标焊点位置及脉冲频率进行设置。
2 硬件设计
2.1 电源电路
电源电路需要给主控芯片及外设电路提供稳定的12 V、5 V、3.3 V直流电,其性能和稳定性直接影响整个主控模块性能的优劣。电路设计中电源架构主要分为集中式电源架构和分布式电源架构,采用分布式电源架构可节省成本、节约PCB板面积,第一级进行AC/DC转换将输入端电源220 V转换成输入端中间电源12 V,第二极进行DC/DC转换将输入端中间电源12 V转换成5 V,再将5 V转换成3.3 V。
第一级220 V转12 V的转换电路如图2所示,采用反激式变压器开关电源,电路简单,体积小,成本低。在输入端采用保险丝、压敏电阻、热敏电阻以及共模电感提供过压、过流、过温保护,保证系统的可靠性,经整流、滤波、变压后得到输出端电压,通过光耦反馈使输出电压稳定在12 V,满足项目需求。
图2 第一级转换电路
第二级12 V转5 V的转换电路如图3所示,12 V转5 V压差较大,采用Buck电路来实现,选取芯片型号为MP2482DN,用R9和R10分压反馈的方式将输出电压稳定在5 V。
图3 第二级12 V转5 V的转换电路
第三级5 V转3.3 V的转换电路如图4所示,对于3.3 V电压,电流需求不高,但要求纹波和噪声较小,因此采用LDO(low dropout regulator)电路实现,选取芯片型号为AMS1117_3.3。
图4 第三级5 V转3.3 V的转换电路
2.2 步进电机驱动器电路
步进电机的驱动方式有3种:整步驱动、半步驱动和细分驱动[11]。对步进电机的驱动多采用步进电机细分驱动技术,细分驱动的细分数越大,电流矢量分割圆越来越稠密,提高步进电机的精度和输出转矩,步进电机运行更平稳、更顺畅,完全消除步进电机的低频振荡,缓解步进电机运行过程中的振动和噪声,从而提高步进电机的使用寿命。
驱动器主要由逻辑控制电路、功率驱动电路、保护电路及电源组成,接收来自主控芯片的脉冲控制信号,将其进行功率放大后,按一定的励磁时序产生步进电机各相励磁绕组的导通或截止信号,从而控制步进电机的转速、位移、方向及使能,控制原理如图5所示。步进电机驱动器主要电路如图6所示,采用TB67S109AFTG芯片,该芯片是一种配备PWM斩波器的双极性混合式步进电机驱动芯片,内置逻辑控制电路和功率驱动电路,由PWM控制的恒流驱动,通过3位拨码开关实现7档细分控制,通过3位拨码开关实现8档电流控制,输入都经光耦实现电气隔离、抗干扰,经测试该驱动器电路可低噪声、小振动、高速度地驱动步进电机。
图5 步进电机控制原理图
图6 步进电机驱动器电路
2.3 行程开关电平转换电路
行程开关可分为两种:机械式行程开关和接近式行程开关,机械式行程开关无需外加电源,但受环境因素影响大,响应速度慢;接近式行程开关需外加电源,响应速度快,使用寿命长,能适应各种恶劣工作环境。本系统采用6个FC-SPX30型号的接近式行程开关检测步进电机位置,分别置于X轴左端、X轴右端、Y轴前端、Y轴后端、Z轴上端、Z轴下端,采集信号输入到主控模块中。未触发时为高电平,当步进电机运行到检测范围时,有效触发为低电平,防止步进电机超过既定行程范围,并在开始运行时进行行程复位返回原点。行程开关供电电压为直流电12 V,信号线未触发时为高电平12 V,触发时为0 V,对信号线要经过处理后才能接到主控芯片IO口。在信号线上直接采用串联电阻分压的方式,会导致分压电阻难选择,可维护性差,因此采用电平转换电路直接将12 V转换成5 V。
电平转换电路如图7所示,可将1+与1-之间的电压差通过点亮光耦内部发光二极管,使光控晶闸管闭合,实现“电-光-电”的转换,使输入端为高电平时输出端为低电平,输入端为低电平时输出端为高电平,且进行电气隔离。但由于行程开关的带载能力较弱,驱动不了光耦的发光二极管,因此采用共阳极接法,将1+接+12 V,1-接信号线,利用两者间压差驱动光耦,当信号线为高电平时输出高电平,信号线为低电平时输出低电平,逻辑符合要求。
图7 电平转换电路
2.4 RS485通信电路
基于串行通信的物理层有很多标准和变种,RS485是基于UART的半双工通信方式,外接逻辑电平转换接口,正电平电压范围为+2~+6 V,负电平电压范围为-2~-6 V,采用差分信号进行传输,抗干扰能力强,传输距离远,可外挂节点多,本系统采用RS485进行主控芯片与上位机之间的通信。RS485通常采用屏蔽双绞线进行传输,但接收器的共模电压范围为-7~+12 V,超过此范围会影响通信的稳定性,甚至损坏接口,且输出信号需返回路径,否则会向外辐射电磁波,产生EMI(electro magnetic interference)问题,因此在差分线中增加地线有利于系统稳定。
RS485的通信电路如图8所示,采用SP3845芯片,将其RO及DI引脚分别与UART的RX及DI引脚相连,将RE与DE引脚直接用普通IO口来控制数据传输方向,发送采用轮询的方式,接收采用中断的方式。A与B之间接120 Ω电阻避免信号发射问题,R19是下拉电阻接到B上,R24是上拉电阻接到A上,调节空闲状态下的电压值,使通信稳定。使用瞬态抑制二极管SAF12A吸收浪涌与静电,保护SP3485芯片。
图8 RS485通信电路
3 软件设计
3.1 主控程序设计
主控程序流程如图9所示,下位机为STM32主控芯片,上位机为可收发操控指令的计算机。下位机时钟配置及外设初始化采用STM32CubeMX,可通过图形化界面生成代码,大大减轻了开发工作、成本和时间。时钟配置选取高速外部时钟为时钟源,频率为8 MHz,经PLL 9倍频后系统时钟为72 MHz,为外设提供时钟信号,外设初始化主要包括RS485初始化、PWM输出初始化、中断初始化、普通IO口初始化,总共使用到29个IO端口。经STM32CubeMX生成初始代码后,再由Keil uVision5根据项目需求完善代码,主要包括中断服务函数、RS485接收及发送函数、PWM的频率及占空比设置、应用层等代码编写。上位机开发软件为Microsoft Visual Studio 2017,以控件和代码组合的方式实现人机界面的开发,主要负责与下位机进行通信、对焊接的焊点位置及步进电机运行速度进行设置、显示系统运行状态及焊接成功与失败数量统计。
图9 主控程序流程图
3.2 上位机程序
上位机焊接系统显示界面如图10所示,左边对通信的端口、波特率、校验位、数据位、停止位进行设置,右上方对焊接总数、合格数、次品数及系统当前运行状态进行显示,右下角是对焊点位置进行设置,便于对多批量产品中的不同焊点进行焊接,并通过设置频率来控制步进电机速度,调节系统运行时间。
图10 焊接系统显示界面
上下位机通过RS485进行通信,约定协议为波特率9 600 Bit/s、无数据校验位、数据位为8位、停止位为1位,其通信状态机如图所11所示。
图11 通信状态机
4 焊接流程与实验结果分析
整个焊接过程可以分为准备阶段、焊接流程阶段和数据显示阶段。准备阶段主要是进行步进电机复位,在上位机界面设置相应的串口和相关的焊接参数等信息。焊接流程阶段中,步进电机复位,上下位机握手,握手成功后上位机向下位机发送焊接的相关参数,命令下位机控制焊头到达目标的焊点进行焊接。在系统运行的过程中,会实时反馈下位机的运行状态进行进程条的显示,焊接结束后,会将焊接总数、焊接成功和失败的数量进行显示,界面直观。搭建的电阻焊控制系统平台及其焊接结果界面分别如图12和图13所示。
图12 电阻焊控制系统平台
图13 测试结果界面
5 结论
笔者设计并实现了以ARM微处理器为核心的自动电阻焊控制系统,综合电源电路、步进电机控制、旋转气缸控制、继电器控制、串口通信和上位机界面等多个模块,控制焊头到达目标焊点完成焊接工作。焊接实验表明,焊接过程与预设的焊接过程基本重合,保证了良好的质量,且该系统支持小批量、多规格、多品类的工件焊接,只需在上位机上进行相关的设置,即可按预定的焊接轨迹进行焊接,能有效提高电阻焊的焊接效率和自动化水平,为我国焊接设备的升级和普及应用提供技术和理论参考。