一.工控之运动控制专题

工控运动控制相关知识点记录。
运动控制科普

1.简介

控制分为:过程控制(偏连续性控制,气体液体流速等)和运动控制(偏离散性控制,例如气缸、阀门、电机等)。

运动控制包括:开环(步进电机)、半开环(伺服电机)、闭环(光栅、直线电机)。精度:开环<半开环<闭环。

如果我们的项目涉及到一些运动相关的控制,我们必然会提前选择好电机,如果要求精度比较高,一般会选择伺服电机,否则的话,我们可以选择步进电机来进行运动控制,但是,无论是步进电机还是伺服电机,一般都是和其对应的驱动器是配套的。那么后续的问题在于如何通过步进(伺服)驱动器进行步进(伺服)电机的控制?
一般来说,我们有以下几种方案:

  1. 采用PLC进行控制,目前市场上的大部分PLC都是支持运动控制的,大部分PLC可以扩展到32轴,根据驱动器类型可以采用脉冲控制、总线控制或模拟量控制。

  2. 采用运动控制卡控制,运动控制卡是专门进行运动控制的一种控制器,可以进行多达256轴的控制,运动控制卡需要PC编程。

  3. 采用运动控制器控制,运动控制器与运动控制卡不同之处在于,可以脱离PC电脑的束缚,编写完程序下载到控制器里,即可直接对驱动器进行控制。

电机在低转速的时候,是控制不稳定的,有很大的波动,这个和电机内部结构是有很大关系的,所以电机一般都是上千转。

2.运动控制卡

1.简介

运动控制卡控制方式:运动控制卡 → 驱动器 → 电机 → 机械运动。

控制器或者控制卡的性能主要取决于控制算法,不同厂家控制卡的性能差别可能非常大。目前常见工业应用中比较高端的有以色列ACS,美国Aerotech,这是属于第一梯队的,其他国外的流行品牌还有elmo、PMAC、Galil、欧姆龙等。国内的有固高、雷赛、正运动、柏楚等,与国外产品相比仍然有一定差距,但也在不断突破。

根据控制器传递命令给驱动器的方式,可以分为总线型、模拟量型、PWM型、脉冲型控制卡。目前,总线型控制卡是最主流的,各大厂家的口号都是一网到底,这个网就是指的总线,就是通过一根总线把所有模块都接上去,确实方便。其他三种类型控制卡也有各自的特色,所以都并行存在于主流市场。

2.运动控制卡和PLC的区别

运动控制卡与PLC都是控制器,主要负责工业自动化系统中运动轴控制、输入输出信号控制;
PLC肯定是通用一些,通讯组态都比较灵活,选择也很多!一般运动控制卡CPU模块是4轴,但可以扩展,现在大部分都能扩到32轴。一般低端点的PLC有两个高速输出点,可以控制2轴步进,也可以购买相关的轴控制模块,或者有直接控制伺服的PLC,一般也是可以到32轴。如果跟PLC比,PLC专长在于逻辑IO控制,而运动控制卡就跟专业伺服电机的控制对运动而已他的指令很简单,控制的方式更多。齿轮,插补,凸轮等但在IO处理起来就不像有PLC的梯形图那么简单,要语言编程。

运动控制卡:基于PC界面,由于PC机的强大功能,因此与其一起组成的运动控制器功能最强,但其工作稳定性、可靠性较差。运动控制卡通过PCI插槽将控制卡插在PC的主机上;利用高级编程语言C++、C#、VB、VB.NET、labview等编程语言进行开发;编程中使用运动控制卡厂商提供的控制卡API接口函数,来实现对控制卡资源的使用;运动控制卡通过发送脉冲的方式控制伺服或步进驱动器来控制伺服电机或步进电机、通过读取输入信号、控制输出信号来实现对继电器、传感器、气缸等IO的控制;运动控制卡主要的优势在于利用PC强大的功能,比如CAD功能、机器视觉功能、软件高级编程等;利用FPGA+DSP / ARM + DSP芯片的功能实现高精度的运动控制(多轴直线、圆弧插补等,运动跟随,PWM控制等)。

PLC可编程逻辑控制器:主要功能是对开关量进行逻辑控制,并有简单的运动控制(直线轨迹控制)、运算、数据处理等功能,通常采用触摸屏作人机界面。具有工作可靠,编程简单等优点,但其运动控制功能相对简单。PLC的应用过程中主要通过PLC+HMI,这就导致可视化界面受到极大地限制,实际应用过程中最大的问题就是不能实现导图功能;现在由于机器视觉大力的发展与应用,PLC与机器视觉的结合难度很大;目前有部分厂商给PLC提供一种机器视觉方案,独立的PC机处理视觉部分,将处理的结果发送给PLC,PLC来应用所接收数据进行操作。这种方式提高了开发成本,一套控制系统需要两套软件来执行。

3.运动控制卡开发体系

在这里插入图片描述

4.固高运动控制卡开发事项

  1. 选卡的选项要注意是否有PSO功能,能支持几个轴。以GSN系列为例,卡包含2个模块,每个模块可以装4各轴,总共可以装8各轴。
  2. 一般要在轴插补的时候打开PSO,但是插补的轴要在同一个模块上。

3. 电机减速机、扭矩

减速机的原理是什么?
电机加上减速机可以实现低速大扭矩,减速机(增扭机)的作用就是减小速度,增大输出扭矩。根据能量守恒,转速低了扭矩自然要高。

为什么要用到减速机?
是由于电机运转时转速很高,但扭力很小,此时利用一个减速装置来降低电机转速,同时提升负载能力(提升扭力或扭矩),等于提高了电机的工作能力。因为能量守恒定律告诉我们,电机输出功率不可能无缘无故地变,只可能因为各种损耗变成热能量了。功率不变,速度减小,那就使力量(力矩)变大了;而且我们想要理想的扭矩,要么要一个大的伺服,要么要一个小的伺服加一个减速机,结果一般是一个伺服加一个减速机的成本小于一个大号伺服的价格。

4. 伺服电机、步进电机

步进电机是通过控制脉冲的个数控制转动角度的,一个脉冲对应一个步距角。 伺服电机是通过控制脉冲时间的长短控制转动角度的。

伺服电机是一种精密控制电机,它的构成可以分为以下几个部分:

  • 转子:伺服电机的转子是电机的旋转部分,通常由永磁体或者电磁线圈构成。电机通过控制转子的位置和速度来实现精确运动控制。
  • 定子:电机的定子是电机的定位部分,通常由铁芯和线圈构成。当电流通过线圈时,它会产生磁场,使定子中的铁芯产生磁力吸引转子,从而实现电机的运动。
  • 编码器:编码器是伺服电机的反馈元件,它可以测量电机的位置和速度。编码器通常由光电系统或者磁电系统组成,可以将电机的运动状态转换为数字信号,供控制器使用。
  • 控制器:控制器是伺服电机的核心部件,它负责实时控制电机的转速和位置。控制器通常由微处理器和放大器构成,可以根据编码器反馈的信号进行闭环控制,在预定时间内实现精确运动。

对于伺服电机,一个轴控卡可以控制多个驱动器,每个驱动器只能控制一个轴,从而导致一个轴运动控制卡来控制多个轴。
伺服电机组成:位置环、速度环、电流环。运动伺服一般都是三环控制系统,从内到外依次是电流环、速度环、位置环。
伺服电机可以通过编码器来告诉驱动器电机具体转了多少。

步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

5. 点位运动、连续运动、直线和圆弧插补运动

点位运动是指:运动控制器控制运动平台从当前位置开始以设定的速度运动到指定位置后准确地停止。
点位运动只关注终点坐标,对运动轨迹的精度没有要求。点位运动的运动距离由脉冲数决定,运动速度由脉冲频率决定。
多轴同时做点位运动,称之为多轴联动。

如果从起点到终点都需要按照规定的路径运动,就必须采用直线插补或圆弧插补功能。

连续运动是指:电机从起始速度开始运行,加速至最大速度后连续运动;只有当接收到停止指令或外部停止信号后,才减速停止。
连续运动指令其实就是速度控制指令,国外运动控制器将此指令称为 JOG 指令。

为了实现轨迹控制,运动控制卡按照一定的控制策略控制多轴联动,使运动平台用微小直线段精确地逼近轨迹的理论曲线,保证运动平台从起点到终点上的所有轨迹点都控制在允许误差范围内。这种控制策略称为插补算法,因此轨迹运动通常称为插补运动。插补运动有许多种类,如:直线插补、圆弧插补、螺旋线插补等。

6.软限位和正限位

软限位是通过软件设置的限制,用于限定轴的运动范围,防止超出机械结构所能承受的极限。软限位的范围一般比硬限位的范围要小。软限位可以在安装调试过程中根据实际情况进行设置,例如避免与其他设备干涉或限制机器人的运动范围。软限位的设置不需要额外的成本,并且可以避免误操作造成财产损失。

硬限位是通过机械结构实现的限制,用于限定轴的运动范围。通常通过安装限位块或设置机械结构上的螺丝孔来实现。硬限位的设置是确保设备和人员安全的重要措施。在机器人中,部分型号的机器人的部分关节轴可能会有硬限位的解决方案。不同型号的机器人可能有不同的硬限位设置方法和规格。

软限位通过软件设置,硬限位通过机械结构实现。软限位主要用于避免干涉和限制运动范围,而硬限位主要用于确保设备和人员的安全。

7.脉冲当量、脉冲数、脉冲频率

脉冲当量是当控制器输出一个定位控制脉冲时,所产生的定位控制移动的位移。对直线运动来说,是指移动的距离,对圆周运动来说,是指其转动的角度。简单说,就是发一个脉冲,电机能走多少距离,也就是电机的最小精度。我们控制电机运动,就是向电机发送脉冲信号。那么如果想得到前进的距离,就需要将脉冲个数*脉冲当量,来得到这个距离。

而脉冲数就是对应发脉冲的个数来控制电机移动的距离,我们需要计算出就需要将脉冲个数乘以脉冲当量,来得到这个距离。

脉冲频率是指每秒向电机发送的脉冲数量。通常情况下,脉冲频率越高,电机转速越快。因此脉冲频率越高,电机速度越快。

简而言之,脉冲总量确定电机位移,脉冲频率确定电机速度。

8.回零:光电开关和编码器信号

电机控制轴回零一般有2种方式:光电开关和编码器。
光电开关是外部的,编码器是内部的,最好用内部的编码器信号,因为相比光电开关稍微准确一点。而且编码器外部的位置容易变动,归零的速度不一样会对归零的位置有影响,因此对精度要求稍高的话,可以采用编码器回零方式。

9.前瞻

前瞻功能是指对插补运动指令来进行预计算,在拐角或者高曲率的地方,增高或降低相应速度,使直线和曲线部分的整个运动保持匀速。在进行插补运动时候,往往要打开前瞻功能。

设想一个场景,在实际加工过程中,为追求加工效率会开启连续插补,运动轨迹的拐角处若不减速,当拐角较大时,会对机台造成较大冲击,影响加工精度。若关闭连续插补,使拐角处减速为0,虽然保护了机台,但是加工效率受到了较大影响,所以提供了前瞻指令,使在拐角处自动判断是否将拐角速度降到一个合理的值,既不会影响加工精度又能提高加工的速度,这就是轨迹前瞻功能的作用。  运动控制器的轨迹前瞻可以根据用户的运动路径自动计算出平滑的速度规划,减少机台的冲击,从而提高加工精度。自动分析在运动缓冲区的指令轨迹将会出现的拐点,并依据用户设置的拐角条件,自动计算拐角处的运动速度,也会依据用户设定的最大加速度值计算速度规划,使任何加减速过程中的加减速都不超过ACCEL和DECEL的值,防止对机械部分产生破坏冲击力。

10.PSO

PSO功能是指让运动轨迹等间距输出,这样可以保证在拐角处也能匀速运动或者控制激光出光。

以激光打标为例,假如我们要用激光在一张板子上画一个正方形:

class LaserMarkingExample {
    struct Point {
        double x;
        double y;
        bool laserState;  // true = 开激光,false = 关激光
    };

    void markSquare() {
        // 正方形的四个角点
        vector<Point> squarePoints = {
            {0,    0,    true},    // 起点,开激光
            {100,  0,    true},    // 右移
            {100,  100,  true},    // 上移
            {0,    100,  true},    // 左移
            {0,    0,    true},    // 回到起点
        };

        // 没有PSO的情况
        void markWithoutPSO() {
            // 可能会出现位置和激光不同步的问题
            for(auto point : squarePoints) {
                moveToPosition(point.x, point.y);
                setLaser(point.laserState);  // 激光可能滞后或提前
            }
        }

        // 使用PSO的情况
        void markWithPSO() {
            // PSO确保激光和位置精确同步
            setPSOPoints(squarePoints);  // 设置PSO点位
            startMotion();               // 启动运动
            // PSO自动在正确的位置触发激光
        }
    }
};

实际效果对比:

没有PSO:

  • 运动到位置 → 延时 → 开激光

  • 可能会在拐角处出现烧灼

  • 直线段可能起始不齐

使用PSO:

  • 位置和激光完全同步

  • 拐角清晰

  • 直线段起始整齐

就像用笔画正方形:

没有PSO = 一边走一边看到位了才下笔

有PSO = 精确知道什么位置下笔,动作连贯流畅

PSO就是确保"笔"(激光、喷头等)在精确的位置动作,不早也不晚。

3.ACS控制卡

  1. ACS的PSO功能就是指的PEG,位置比较输出,如下:

  2. ACSPL+代码就是写入Buffer的代码,一些复杂的激光切割指令可以通过写入Buffer。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值