嵌入式实时控制三轴数控滑台实验平台的构建

2024-04-18 03:50蔺凤琴贾瑞哲李香泉车伟杰
实验室研究与探索 2024年1期
关键词:滑台圆弧报文

蔺凤琴, 贾瑞哲, 李 擎, 郭 金, 李香泉, 车伟杰

(1.北京科技大学自动化学院,北京 100083;2.景德镇学院信息工程学院,江西景德镇 333000)

0 引 言

嵌入式技术以应用为核心,基于计算机技术,适用于软硬件共存的设备或系统,也是自动化类专业的重要技术课程。但它易于上手,却难以精通[1-3]。数控滑台是数控机床中的常见设备,通过编程,链接电机、感应装置等,控制滑台模组按照软件设定程序执行运动作业、任务,大大提升了加工精度和生产效率。三轴数控滑台则构建了三维空间的工件加工,适用于工业中多数的加工场景。随着机电一体化的推进,嵌入式技术也被广泛用于数控滑台上。特别是在组合机床生产控制中,嵌入式技术通用性高、可靠性高、支持复杂指令的优点更为显著[4-5]。目前,基于二维空间设计的两轴嵌入式滑台实验平台对于飞速发展的嵌入式技术深层次应用开发显得力不从心;并且传统嵌入式数控滑台的控制系统是针对特定任务而定制、固化的软件,运行过程中无法实时进行参数优化,难以适应实际设备的快速响应需求;此外,传统嵌入式系统实验教学平台比较单一,一般采用实验箱、PC终端上位机,授课空间有限、教学效率不高。

鉴于以上原因,本文以三轴数控滑台为载体,构建了集成实时控制的嵌入式三轴数控滑台实验平台。旨在让学生对实验平台的设计和运行有深入的理解和认识[6-7],同时基于平台开展嵌入式编程、电机运动控制、视觉伺服及图像识别等相关课题的研究。此外,平台设计与产线实际应用相结合,可实时修改参数进行在线控制,学生除了学习硬件的嵌入式编程,还可以通过软件对数控滑台进行在线监控与实时控制[8-10]。

1 实验平台设计

1.1 平台技术目标

实验平台主要包含如下技术目标:

(1)C语言嵌入式编程。采用C语言完成滑台主控器(Advanced RISC Machine,ARM)核芯片的程序,让学生了解嵌入式编程的特点,体会高级编程语言——C语言对硬件的直接操作能力。

(2)三轴电动机协同运动。采用定时器输出脉冲频率来控制电动机运行速度,电动机的加速控制则选用次平滑型S型加速,实现三轴协同运动。此外,三轴圆弧、直线的插补运动设计以完成复杂的滴胶运动,定位精度达(0.01 mm)。

(3)三轴运行时参数实时优化。通过PC 端人机界面(Human Machine Interface,HMI)和移动端APP,在线监控三轴的运行时参数,可实时对各轴的运动方向、是否归零、步进速度以及步进距离等进行调整,以实现最佳目标运动轨迹。

1.2 总体架构

嵌入式三轴数控滑台实验平台构建了集软硬件及数据存储于一体的三维运动滴胶平台,通过三轴的协同运动完成滴胶,形成既定图形的产品。滴胶工艺主要用于包装、商标、冰箱贴和汽车装饰等工艺品的制作。该平台由5 部分组成:①三轴的步进电动机及驱动套件,实现各轴独立运动、插补运动;②控制器为STM32F4(STMicroelectronics)系列的ARM 核芯片,采用C语言嵌入式编程;③配备高清摄像头以及相应的图像识别功能,方便学生进行二次开发,如用于实现完善的运动物体目标识别及运动控制;④上位机软件提供PC终端及手机终端2 种模式的部署,并支持WiFi和蓝牙的连接;⑤数据存储分为两大类,均部署在PC终端,设备参数及实验案例历史数据采用oracle 数据库,运动中的过程数据以txt文本文件形式存储。总体架构如图1 所示。

图1 嵌入式实时控制三轴数控滑台实验平台总体架构

1.3 软硬件配置

平台软硬件的选取充分考虑了工程实践的需求,配置见表1 所示。

表1 实验平台软硬件配置

1.4 实验平台实物

三轴数控滑台包含多种结构,3 个移动轴由电动机进行控制,高清摄像头与滴胶管放置在Z方向的移动轴上,用于捕捉视觉信息并进行滴胶。滑台具备串口、USB等多种接口,学生可编写工程文件并通过接口控制滑台的运行过程。嵌入式实时控制三轴数控滑台实验平台实物如图2 所示。

图2 嵌入式实时控制三轴数控滑台实验平台实物

2 实验平台功能设计

2.1 三轴移动设计

三轴数控滑台的Z轴装有滴胶管,Y轴可以带动待滴胶的物体移动,因此滑台工作时需要3 个轴进行协同运动使得滴胶管和物体达到指定位置。为确保三轴运动的位置足够精确,本平台采用定时器模块来实现该要求,通过输出脉冲频率调制波形,控制定时器的输出频率,进而控制电动机的运行速度,最后保证电动机的S型加速控制,即将加速度以S 型加速的形式表现。

完全平滑型S型加速虽然维护了变加速到匀加速阶段过程的平滑性,但由于加加速度的计算过程复杂,并不适用于速度需要更换的场合,因此在电动机加速上选择次平滑型S型加速,这种方式虽然牺牲了变加速到匀加速阶段的平滑性,但加加速度的计算过程方便[11]。其加速过程如图3 所示。

图3 S型加速示意图

S型加速的具体过程较为复杂,共分为如下4 个步骤:

步骤1 将所有关于速度的单位转换为频率的单位,即

式中:f为脉冲频率,Hz;S为电动机的线速度,m/s;vf为速度频率转换系数。

步骤2 电动机加速和减速过程按比例3∶4∶3分为3 部分,同时确认S型加速的加加速度频率

式中:faa为加加速度频率,Hz;C为加加速度,m/s3;a为加速度,m/s2;t0.3为加加速的持续时间,s,其中,t0.3=0.3 ×[(S-Sstart)/a],S表示最高速度(m/s),Sstart表示初始速度(m/s)。

步骤3 将加速过程分为3 部分,其中加加速部分taa,匀加速部分tua和减加速部分tra的比例为30∶60∶45。同样,减速过程也分为3 部分,加减速部分tar,匀减速部分tur和减减速部分trr的比例为45∶60∶30。

步骤4 根据速度设置每步的频率表和脉冲数目表。

2.2 三轴插补设计

在滴胶运行过程中,滴胶管需要进行一些复杂的非直线运动,如圆弧运动。三轴需依据已有参数进行插补,运动插补是一个实时的数据密化过程,基本原理是根据给定的信息进行数值计算,实时输出参与插补运动各轴的控制参数,如加速度、位移等,继而驱动各轴电动机进行协同运动,使3 个运动轴按照理想的路线和速度运行[12-13]。平台采用了直线插补和圆弧插补2 种方式,定位精度为±0.01 mm,达同类产品先进水平。本文仅用XY轴插补进行分析,YZ轴与XZ轴插补同理。

(1)圆弧插补运动。该运动依靠步进电动机逐渐走出一个带锯齿的近似圆。其工作原理借助了圆的代数方程X2+Y2=R2,由于圆弧插补从实际执行效果上表现为横向和纵向的累加算法,因此,路径内/路径外将代替圆内/圆外。

其中,三点法确认圆心和半径位置是关键,设X、Y轴当前位置为(X0,Y0),目标点位置为(Xθ,Yθ),辅助点位置为(XAssist,YAssist),则圆心与半径位置计算式为

式中:corex=(ε×B-K×ω)/(λ ×B-A×ω);corey=(A×ε-K×λ)/(A×f-B×λ)。其中:

(corex,corey)为圆心坐标,R为半径(m)。1/4 圆弧的插补运动程序流程和路径如图4 所示。

图4 1/4圆弧插补运动程序流程和插补路径

(2)直线插补运动。数控滑台依据软件下发的“目标点位(Xθ,Yθ)”“直线插补命令项(XY,YZ,XZ)”和“速度”参数,进行直线插补运动。运动过程流程同圆弧插补运动。程序流程和第一象限直线插补路径如图5 所示。

图5 直线插补运动程序流程和直线插补运动路径

2.3 平台HMI设计

作为教学实验平台HMI的设计,既要覆盖课程知识点,又要采用先进的现代工具和流行的应用模式,使平台升级具备可持续性。因此,HMI 设计除基于传统的PC端部署模式外,还提供了移动端的APP。

(1)PC 端HMI 设计。采用模块式设计,主要包括控制器连接模块、参数设置模块、程序编辑模块和直线圆弧插补模块等。HMI 软件基于Anaconda、PyCharm平台,采用Python 语言,PC 终端部署环境最低要求:Windows 7 64 bit 操作系统,Intel i5 处理器,4 GB及以上内存。

(2)移动端APP 设计。移动端APP 的设计源于智能手机应用的不断深入,模块设计与PC 端一致,APP选用Android Studio 开发平台,平台的配置为Windows 7 64 bit操作系统,Intel i5 处理器CPU,8 GB内存,50 GB硬盘,推荐使用固态硬盘及无线网卡、摄像头、USB、麦克风等。移动端运行环境为安卓系统5.0 以上,下载软件所需内存10 MB。APP 主界面显示蓝牙连接设置及菜单栏,其中菜单栏如图6 所示。

图6 APP系统主界面的菜单栏

用移动端开展实验时,首先获取手机的蓝牙权限,搜索本机以前配对和未配对的设备,显示在相应列表。选择目标设备进行配对后,进入菜单栏。依据实验需求,进入相应模块,其中参数设置模块主要进行各轴行程、原点及速度等参数的编辑,程序编辑模块可在线读取、修改和下载程序,如图7 所示。

图7 移动端APP程序编辑界面

移动端APP 的开发和应用突破了传统教学实验平台的互动模式,开放的源代码为学生提供了二次开发和升级的基础,基于兴趣对相关知识点及实践进行深度探索[14-15]。

3 实时控制

滑台主控器ARM核芯片的程序主要通过C 语言来实现,让学生嵌入式编程中体会C 语言对硬件的直接操作能力。除了具备下载特定程序以完成定制运动轨迹外,平台提供了PC 终端和移动终端2 种上位机模式,对三轴的运行时参数进行实时监控并在线修改。

3.1 与下位机实时通信

通信是数控系统稳定运行的基础,它将平台各个部分有机地结合起来,通过信息和数据的传递,协同运转。为使平台的实验教学具有普适性,该平台支持以太网、WiFi和蓝牙3 种通信方式。其中蓝牙连接采用MODBUS-RTU 协议,其余采用MODBUS-TCP/IP协议[16]。

(1)MODBUS-TCP/IP 协议。在TCP/IP 协议中,一条完整的报文由MBAP 报文头和帧结构PDU 两部分构成,如图8 所示。

图8 移动端APP采用以太网、WiFi通信的MODBUSTCP/IP报文结构

上位机组件发送报文时,将要发送的数据整合为帧结构PDU,随后动态形成MBAP 报文头,将两者拼接为一条完整的报文并通过以太网或WIFI 发送至下位机。下位机依据报文头进行解析核对,读取帧结构中的数据并执行相应的功能,最后向上位机返回响应报文。

(2)MODBUS-RTU 协议。基于蓝牙连接的MODBUS-RTU报文结构如图9 所示。

图9 移动端APP采用蓝牙通信的MODBUS-RTU报文结构

RTU 的连接速度快,但安全性较低,因此需要校验码来保证传输数据的准确性。当上位机组件发送报文时,将数据信息与通过CRC算法得到的校验码组件为完整的报文。当下位机收到后,首先会自行计算校验码并对收到的校验码进行核对,确认无误后再执行命令。

3.2 三轴移动在线控制

三轴协同运动是滑台的基本运动,控制电动机使各轴快速而准确地到达相应位置是关键。通过参数设置界面确定各轴的脉冲当量和加速度,上位机与控制器连接后,该界面以在线参数进行初始化,可以对各参数进行修改并写入控制器,实时观察参数对各轴运动控制的影响。此外,为使学生能够更深入地参与三轴协同运动调试过程,获得最佳运动轨迹,加强对电动机运动原理的理解,HMI 提供了手动操作界面,用于实时调整各轴运行参数,如各轴的运动方向、是否归零、手动速度以及步进距离等,三轴电动机控制界面如图10 所示。

图10 三轴电动机控制界面

3.3 三轴插补在线控制

滴胶过程中,为实现复杂非直线运动轨迹,需通过三轴插补来完成。在直线圆弧插补界面,修改各轴位置、插补速度以及各轴段点和终点位置,来完成某2 轴的直线或圆弧插补运动。电动机运动轨迹的过程数据以文本形式输出并保存,便于后期比对分析。X、Y轴圆弧插补参数及运动轨迹数据如图11 所示。

图11 三轴插补界面

4 应用效果

某实验案例要求、步骤及结果如下:

(1)实验要求。通过HMI 配置串口参数并连接控制器,根据指定的起始、终点坐标,实时修改各轴运行时参数,三轴协同快速、准确到达终点位置进行滴胶。其起始坐标:X、Y、Z(0.000,0.000,0.000),终点坐标:X、Y、Z(100.000,0.000,50.000)。

(2)实验步骤。具体的实验步骤如下:

步骤1 配置串口参数并连接控制器。配置文件保存末次连接成功的串口及其参数,如图12 所示,根据需要修改参数并连接控制器。

图12 串口及其参数配置图

步骤2 各轴复位。设置各轴回原点的速度为100 mm/s,设置各轴回原点的方向,并启动回原点。

步骤3X轴独立运动。确认各轴复位后,设置X轴运动参数:独立运动速度为10 mm/s,加速度为50 mm/s,运动距离为100 mm,参数写入控制器。耗时2 ~3 s 后,X轴停止运动,此时X、Y、Z的坐标为(100.008,0.005,-0.007)。X、Y、Z各轴定位精度分别为+0.008 mm、+0.005 mm、-0.007 mm。

步骤4Y、Z轴圆弧插补运动。起点坐标为(0.000,0.000),终点坐标为(0.000,50.000),圆弧某中点坐标为(25.000,25.000),速度为25 mm/s,参数写入控制器。耗时2 ~3 s 后,Y、Z的坐标为(0.009,50.006)。Y、Z各轴定位精度分别为+0.009、+0.006 mm。

至此,X、Y、Z终点坐标为(100.008,0.009,50.006),耗时4 ~5 s,各轴定位精度分别为+0.006、+0.009 和+0.006 mm。平台的实时性满足三轴快速定位的需求,各轴的定位精度均在(0.01 mm,满足三轴协同运动的精准要求。

5 结 语

本文构建了以三轴数控滑台为载体,采用C 语言嵌入式编程完成主控器ARM 核芯片程序,并集成在线控制学习系统的实验平台。通过教学实践表明:控制对象具有普适性,即三轴数控滑台构建了三维运动空间工件的加工,适用于工业数控加工领域普遍的应用场景;控制过程具有实时性,即集成在线控制学习系统,实时监控三轴运行时参数,并进行在线修改,实现过程的精准控制;开发工具具有先进性,即基于C 语言嵌入式编程、Anaconda3 、PyCharm(2017.3.2)、Android Studio(3.4.1,内置1.8 版本JDK)开发平台,采用Python 语言(3.6)、IntelliJ IDEA 的Java 语言,结合Oracle(12Cc 标准版)数据库完成平台构建。

该平台已在本校自动化专业的实验教学中应用,提升了学生在硬件、嵌入式编程方面能力;还促进学生转变思维,从用户的角色出发,设计在线控制软件、激发其学习兴趣,以实际产线需求来促进相关课程的教学效果。同时,提高学生毕业后角色转变的效率,满足培养社会紧缺技能型人才的需求。

猜你喜欢
滑台圆弧报文
基于J1939 协议多包报文的时序研究及应用
某款汽车复合材料尾门的滑台分析及优化
浅析圆弧段高大模板支撑体系设计与应用
基于改进PID控制的机床滑台运动位移跟踪误差研究①
CTCS-2级报文数据管理需求分析和实现
外圆弧面铣削刀具
浅析反驳类报文要点
ATS与列车通信报文分析
基于PLC的液压动力滑台控制系统改进设计
数控车削圆弧螺纹程序编制与加工