一、前言
在上一篇中详细讲到了三菱PLC的上机流程,本篇进入正题,讲解如何使用三菱PLC进行步进电机的控制,主要分为步进电机基础知识、三菱PLC步进电机控制基础、项目实战三部分。
二、步进电机基础知识
-
基本定义 步进电机是一种将电脉冲信号转换为精确角位移或线位移的开环控制电机。每输入一个脉冲,电机按固定步距角转动,其转速和停止位置仅由脉冲频率和数量决定,与负载无关。
-
工作原理
- 电磁驱动:定子绕组通电后产生磁场,吸引或排斥转子(永磁体或导磁材料)旋转特定角度。例如,两相混合式电机通过交替改变定子线圈电流方向实现步进。
- 微步驱动:通过正弦波电流控制,将单一步距细分为更小角度(如1/32步),提升精度并减少振动。
- 就目前的使用场景来看我们在一般工程中使用的都是微步驱动的步进电机,至于电磁驱动的步进电机用在比较大型的场景例如磁悬浮。
-
步进电机运动原理
步进电机的控制精度依赖于绕组电流的相位与幅值精确调制。尽管微步驱动(Microstepping)理论上需要两相正弦波电流的矢量合成,但主流控制器(如PLC、MCU、FPGA)的通用I/O端口仅支持PWM方波信号输出(固定占空比或频率可调)。因此,需通过步进电机驱动器实现以下关键信号转换与增强功能:
-
方波-正弦波调制技术
驱动器内置细分控制模块,将PLC输出的方波脉冲序列转化为正弦/余弦相位差电流。例如,16细分模式下,驱动器通过查表法生成两相阶梯状正弦波电流,实现步距角从1.8°降至0.1125°的平滑运动。 -
电流矢量合成与功率放大
驱动器采用H桥电路对控制信号进行功率放大,并通过电流闭环反馈(如斩波限流技术)确保绕组电流与目标波形一致。此过程可抑制因电机反电动势引起的力矩波动。 -
脉冲-相位同步机制
PLC输出的脉冲频率(PPS)与方向信号(DIR)通过驱动器转换为相位切换时序。例如,在双极四线制电机中,驱动器根据DIR信号调整A+/A-与B+/B-绕组的通电顺序,实现正反转控制。 -
细分驱动的硬件实现
高端驱动器集成数字信号处理器(DSP),通过预设细分参数(如1/32步)对输入方波进行插值运算,生成高分辨率相位电流。此技术可消除传统全步/半步驱动的共振问题,降低运动噪声。
说人话就是:步进电机的控制需要正弦波但是一般来说无论PLC还是MCU亦或是FPGA等器件,不做特殊处理从IO口输出的都是方波,当然这里主要讨论PLC,PLC只能输出不同频率不同占空比的方波,因此需要对应的步进电机驱动板将PLC输出的时钟信号(控制信号)和方向信号转化为供步进电机工作的电流信号。
三、三菱PLC步进电机控制基础
根据前文所说,我们知道输入到电机的信号不是直接从PLC输出的信号要经过步进电机驱动板转化,那么我们怎么样控制电机转速呢?
首先确定电机的步进角(由电机决定)
再确定电机驱动板的细分数(由电机驱动板卡决定)
步进电机转一圈需要的脉冲数
步进电机每转一圈所需的脉冲数取决于电机的基本步距角和细分数。具体来说,如果知道步进电机的一个基本步距角(即电机接收一个脉冲所转动的角度),并且知道驱动器设置的细分程度,那么就可以计算出电机转一圈需要多少个脉冲。
- 首先,确定步进电机的基本步距角,比如1.8度。
- 然后,根据驱动器上的细分设置,例如32细分,这意味着每个基本步距角被分成了32份,每一脉冲会让电机转动更小的角度。
- 计算一圈(360度)需要的脉冲数,就是用360度除以经过细分后的每步角度。在这个例子中,一圈需要的脉冲数等于360度除以细分后的每步角度(1.8度除以细分系数)。
每秒钟产生的脉冲数(PPS)
每秒钟能产生的脉冲数取决于系统的时钟频率以及生成每个PWM脉冲所需的时间(或者说是系统时钟周期数)。这个值反映了控制器能够向步进电机发送脉冲的速度。
- 如果知道系统的时钟频率,并且知道为了产生一个PWM脉冲需要多少个系统时钟周期,就可以计算出每秒钟可以产生的脉冲数量。
- 例如,如果系统时钟频率很高,并且设定每个PWM脉冲由一定数量的系统时钟周期组成,那么可以通过系统时钟频率除以每个PWM脉冲所需的系统时钟周期数来得到每秒能产生的脉冲数。
步进电机的转速(RPM)
步进电机的转速可以用每分钟转过的圈数来表示。这取决于每秒钟产生的脉冲数和转一圈所需的脉冲数。
- 转速计算基于每秒钟产生的脉冲数(PPS)除以转一圈所需的脉冲数,然后乘以60转换成每分钟的转速。
- 这意味着,通过调整细分设置或改变每秒钟发送的脉冲频率,可以控制步进电机的转速。增加细分级别会减少每次脉冲让电机转动的角度,而增加脉冲频率则会加快电机的转速。
综上所述,步进电机转动的圈数直接与接收到的PWM脉冲数量相关,而PWM脉冲的数量又受到系统时钟频率、细分设置以及每个PWM脉冲持续时间的影响。通过调节这些参数,可以精确地控制步进电机的位置和速度。
上面可能有点复杂,简单点来说就是知道电机的步进角,然后知道电机驱动板的细分数,对应PLC来说,PLC的一个脉冲(50占空比)电机就走步进角/细分数这么多度,知道这个现在你想算转速圈数需要的PWM频率和时间,不用我多说了吧。
四、项目实战
目的实现步进电机的运动并控制其按照不同的频率进行运动。首先利用MOV命令为不同寄存器存不同的频率(根据电机类型和电机驱动板计算,计算方法前文有)。
PLSY可以让PLC内部的输出器件在继电器有效时间内输出预定数量个频率的PWM波。
电机频率自动化程序,每跑固定数量的脉冲后自动更新(按前面寄存器设置顺序进行更新),在更新到最后一个寄存器值以后以该频率一直运行。