利用PLC控制步进电机实现准确定位

发布者:MindfulYogi最新更新时间:2024-05-27 来源: elecfans关键字:PLC控制  步进电机  准确定位 手机看文章 扫描二维码
随时随地手机看文章

在自动化生产、加工和控制过程中,经常要对加工工件的尺寸或机械设备移动的距离进行准确定位控制。这种定位控制仅仅要求控制对象按指令进入指定的位置,对运动的速度无特殊要求,例如生产过程中的点位控制(比较典型的如卧式镗床、坐标镗床、数控机床等在切削加工前刀具的定位),仓储系统中对传送带的定位控制,机械手的轴定位控制等等。


在定位控制系统中常使用交流异步电机或步进电机等伺服电机作为驱动或控制元件。

实现定位控制的关键则是对伺服电机的控制。由于可编程控制器(PLC)是专为在工业环境下应用而设计的一种工业控制计算机,具有抗干扰能力强、可靠性极高、体积小等显著优点,是实现机电一体化的理想控制装置。本文旨在阐述利用PLC控制伺服电机实现准确定位的方法,介绍控制系统在设计与实施中需要认识与解决的若干问题,给出了控制系统参考方案及软硬件结构的设计思路,对于工业生产中定位控制的实现具有较高的实用与参考价值。


1 利用PLC的高速计数器指令和旋转编码器控制三相交流异步电机实现的准确定位

1.1 系统工作原理

PLC的高速计数器指令和编码器的配合使用,在现代工业生产自动控制中可实现精确定位和测量长度。目前,大多数PLC都具有高速计数器功能,例如西门子S7-200系列CPU226型PLC有6个高速计数器。高速计数器可以对脉宽小于PLC主机扫描周期的高速脉冲准确计数,不需要增加特殊功能单元就可以处理频率高达几十或上百kHz的脉冲信号。旋转编码器则可以将电动机轴上的角位移转换成脉冲值。

利用PLC的高速计数器指令和编码器控制三相交流异步电机实现的准确定位控制系统,其原理是通过与电动机同轴相连的光电旋转编码器将电机角位移转换成脉冲值,经由PLC的高速计数器来统计编码器发出的脉冲个数,从而实现定位控制。

1.2 设计与实施

以对传输带的定位控制设计为例加以说明。现需要用传输带运送货物,从货物运送起点到指定位置(终点)的距离为10 cm。现要求当传输带上的货物运行10 cm后,传输带电机停止运行。该系统硬件设置主要包括西门子S7-200CPU226型PLC、传输带电机(三相交流异步电机)、OMRON的E6A2-CW5W光电旋转编码器、松下VFO系列BFV00042GK变频器等。

该系统的工作原理是将光电编码器的机械轴和传动辊(由三相交流异步电机拖动)同轴相连,通过传动辊带动光电编码器机械轴转动,输出脉冲信号,利用PLC的高速计数器指令对编码器产生的脉冲(采用A相脉冲)个数进行计数,当高速计数器的当前值等于预置值时产生中断,经变频器控制电动机停止运行,从而实现传输带运行距离的准确定位控制。很显然,该控制系统中实现准确定位控制的关键是对PLC的高速计数器的预置值进行设置,高速计数器的预置值即为传输带运行10 cm时光电编码器产生的脉冲数。该脉冲数值与传输带运行距离、光电编码器的每转脉冲数以及传动辊直径等参数有关。该脉冲数可以通过实验测量也可通过计算得出。计算得出传输带运行10 cm对应的脉冲数为:

脉冲数=[(传动辊直径(mm)×π÷(脉冲数/转)]×传送带运行距离(mm)

在子程序中,将高速计数器HSC0设置为模式1,即单路脉冲输入内部方向控制的增/减计数器。无启动输入,使用复位输入。系统开始运行时,调用子程序HSC_INIT,其目的是初始化HSC0,将其控制字节SMB37数据设置为16#F8,对高速计数器写入当前值和预置值,同时通过中断连接指令ATCH将中断事件12(即高速计数器的当前值等于预置值中断)和中断服务程序COUNT_EQ连接起来,并执行ENI指令,全局开中断。当高速计数器的当前值等于预置值时,执行中断服务程序,将SMD42的值清零,再次执行HSC指令重新对高速计数器写入当前值和预置值,同时使M0.0置位,电动机停止运行。

2 利用PLC的高速脉冲指令控制步进电机实现准确定位

2.1 系统工作原理

步进电机因其具有结构简单、控制方便、转动惯量低、定位精度高、无累积误差和成本低廉等优点而成为工业控制的主要执行元件,尤其是在精确定位场合中得到广泛应用。在工业生产中,步进电机和生产机械的连接有很多种,常见的一种是步进电机和丝杠连接,将步进电机的旋转运动转变成工作台面的直线运动。当需要对工作台面移动距离进行定位控制时,只需要控制步进电机的转速和角位移大小即可。在非超载的情况下,步进电机的转速和角位移只取决于脉冲信号的频率和脉冲数。它输出的角位移与输入的脉冲数成正比,转速与脉冲频率成正比。改变绕组通电的相序,则可以实现步进电机反转。

目前世界上主要的PLC厂家生产的PLC均有专门的高速脉冲输出指令,可以很方便地和步进电机构成运动定位控制系统。由PLC高速脉冲指令控制步进电机实现准确定位的实质是PLC通过高速脉冲输出指令PTO/PWM输出高速脉冲信号,经步进电机脉冲细分驱动器控制步进电机的运行,从而推动工作台移动到达指定的位置,实现准确定位。

利用PLC控制步进电机实现准确定位的关键是对PLC产生的脉冲数的设定。而脉冲数与脉冲当量、传动速比、步进电机驱动器的细分数以及脉冲频率等都有关。

2.2 设计与实施

以货物仓储系统中的对直线导轨的定位控制设计为例加以说明。在仓储系统中,要求由步进电机拖动直线导轨将料块送到指定的仓库门口。假设从起点到终点的运送距离为100 mm,即要求由步进电机带动导轨作直线运动,定位距离为100 mm。

为实现准确定位,系统采用西门子S7-200系列CPU226型PLC、四通57BYG250C混合式步进电机和森创SH-20403步进电机驱动器等设备。其中CPU226型PLC的CPU有两个脉冲发生器,分别是Q0.0端子和Q0.1端子。这两个端子均可输出PTO/PWM高速脉冲信,脉冲频率可达20 kHz。根据控制要求,系统拟采用高速脉冲串输出PTO功能,PTO功能可输出一定脉冲个数和占空比为50%的方波信号。输出脉冲的周期以μs或ms为增量单位。PTO功能允许多个脉冲串排队输出,从而形成流水线。流水线分为两种:单段流水线和多段流水线。

为了消除电机的低频振荡,提高分辨率,采用了步进电机细分驱动器,驱动步距角为0.9°/1.8°,脉冲细分数设定为4。为保证速度和定位精度要求,步进电机运行一般要经历三个过程,即启动加速、恒速运行和接近定位点时的减速运行。

为了维护步进电机以及驱动设备,要求驱动脉冲频率也线性增大,所以,本定位控制系统采用多管线操作,控制电机的运行过程。设直线导轨起始位置在A点,现欲从A点移至D点,其中AD=100 mm。定位精度只与步进电机脉冲当量有关,取脉冲当量为0.11 mm/脉冲,则需要900个脉冲完成定位。步进电机运行过程中,要从A点加速到B点后恒速运行,又从C点开始减速到D点完成定位过程用200个脉冲完成升频加速,500个脉冲恒速运行,200个脉冲完成降频减速。

因此确定PTO为3段脉冲管线(AB,BC,CD)。设最大脉冲频率为1 kHz,将16#A0写入控制字节SMB67,允许多段PTO脉冲输出,时基为μs级,建立3段脉冲的包络表并对各段参数分别设置,给定段的周期增量按下式计算:

给定段的周期增量=(该段结束时的周期值-该段初始的周期值)/该段脉冲数           

这种控制方式属于对步进电机的一种开环控制,其优点是结构简单、成本低、定位准确、易于实现等。

2.3 控制系统在设计与实施过程中的注意事项

(1)PLC类型的选择。首先,PLC必须是可以输出高速脉冲的晶体管输出形式。其次,PLC输出最高脉冲频率大小必须满足控制要求。

(2)步进电机脉冲细分驱动器的选择及参数设置。

(3)步进电动机的选择。首先考虑的是步进电动机的类型选择,其次才是品种选择,根据系统要求,确定步进电动机的电压值、电流值以及有无定位转矩和使用螺栓机构的定位装置,从而就可以确定步进电动机的相数和拍数。在进行步进电动机的品种选择时,要综合考虑速比i、轴向力F、负载转矩Ti、额定转矩TN和运行频率fy,以确定步进电机的具体规格和控制装置。

(4)脉冲当量的计算。

3 利用PLC的其他方式实现的准确定位

3.1 利用PLC的PID指令及软、硬件配合实现准确定位

例如在气缸精确定位控制系统中,由PLC、电磁阀、光栅尺、气缸组成一个闭环控制系统。其中PLC作为控制运算中心,光栅尺作为检测装置检测气缸活塞移动量,并将检测结果通过PLC的模拟量输入端子反馈到PLC内部,与设定值比较,并进行PID调节,PID运算结果通过PLC的继电器输出接口驱动交流或直流电磁阀,由电磁阀的开关改变气缸活塞移动的流量,使气缸准确运动到目标位置,达到准确定位的目的。

3.2 利用PLC的EM253模块实现的准确定位

EM253位控模块是S7-200的特殊功能模块,它能够产生脉冲串,用于步进电机和伺服电机的速度和位置开环控制。它与S7-200系列PLC通过扩展的I/O总线通讯。它带有八个数字输出,在I/O的组态中作为智能模块,可提供单轴、开环移动控制所需要的功能和性能。提供高速控制,12~200 000脉冲/s。STEP7-Micro/WIN为位置控制模块的组态和编程提供了位置控制向导,可以生成组态/包络表和位置控制指令,配置EM253的运动参数、运动轨迹包络等。


4 结语

实践证明,本文提出的由PLC、旋转编码器、伺服电机等组成的准确定位控制系统具有结构简单、性价比高、易于实现等优点,可广泛地应用于工业生产及军事领域。如板材的精确定长切割、军用雷达定位系统,丝网印刷机停机控制、以及在数控机床、物料计量、送膜包装等用异步电机或步进电机实现的定位控制领域有一定的实用和参考价值。


关键字:PLC控制  步进电机  准确定位 引用地址:利用PLC控制步进电机实现准确定位

上一篇:什么是伺服电机?伺服电机是如何构造的?伺服电机的应用有哪些?
下一篇:国外电机主要生产工艺对比分析

推荐阅读最新更新时间:2024-11-11 23:29

浅谈步进电机选型及计算
步进电机是一种将电脉冲转化为角位移的执行机构,通过控制脉冲个数来控制角位移量,实现精确定位,在数字、模拟、通信等各种控制信号下,步进电机被广泛地运用在多种位置和速度控制的应用中。 判断需多大力矩:静扭矩是选择步进电机的主要参数之一。步进电机有步距角、静转矩、及电流三大要素组成。一旦这三大要素确定,步进电机的型号便确定下来了。 1、步距角的选择,电机的步距角取决于负载精度的要求,将负载的最小分辨率(当量)换算到电机轴上,每个当量电机应走多少角度。电机的步距角应等于或小于此角度。市场上步进电机的步距角一般有0.36度/0.72度(五相电机)、0.9度/1.8度(二、四相电机)、1.5度/3度 (三相电机)等。 2、静力矩
[嵌入式]
浅谈<font color='red'>步进电机</font>选型及计算
STM32控制步进电机源代码
单片机源程序如下: #include stm32f10x.h #include stm32f10x_rcc.h #include misc.h void RCC_Configuration(void); void GPIO_Configuration(void); void ZhengZhuan(u16 tt); void FanZhuan(u16 tt); void delay_ms(u16 nms); /**************************************************************************** * 名 称:int main(void) * 功 能:
[单片机]
STM32控制<font color='red'>步进电机</font>源代码
单片机 步进电机 驱动程序 ULN2003 28BYJ-48 5线4相电机
/*************** writer:shopping.w ******************/ #include reg52.h #define uint unsigned int #define uchar unsigned char uchar code FFW = { 0x01, 0x03, 0x02, 0x06, 0x04, 0x0c, 0x08, 0x09 }; uchar code REV = { 0x09, 0x08, 0x0c, 0x04, 0x06, 0x02, 0x03, 0x01 }; sbit K1 = P3 ^ 0; sbit K2 =
[单片机]
单片机 <font color='red'>步进电机</font> 驱动程序 ULN2003 28BYJ-48 5线4相电机
步进电机可以配什么减速机?
1.步进电机配减速机的原因 步进电机切换定子相电流的频率,如改变步进电机驱动电路的输入脉冲,使其变成低速运动。低速步进电机在等待步进指令时,转子处于停止状态,在低速步进时,速度波动会很大,此时如改为高速运行,就能解决速度波动问题,但转矩又会不足。即低速会转矩波动,而高速又会转矩不足,所以需要使用减速器。 2.步进电机常配减速机有哪些 减速机是一种由封闭在刚性壳体内的齿轮传动、蜗杆传动、齿轮-蜗杆传动所组成的独立部件,常用作原动件与工作机之间的减速传动装置,在原动机和工作机或执行机构之间起匹配转速和传递转矩的作用;减速机的种类繁多,按照传动类型可分为齿轮减速机、蜗杆减速机和行星齿轮减速机;按照传动级数不同可分为单级和多级
[嵌入式]
<font color='red'>步进电机</font>可以配什么减速机?
51单片机教程:二相四线步进电机驱动
第一个问题:什么是步进电机? 步进电机就是用电脉冲信号控制电机转动特定角度的一种电机。比如说你给电机一个脉冲信号电机就转动90度,那么你给电机4个脉冲信号电机就转动了一圈。这个90度,就是步进电机的步进角,给一个脉冲,它就转动一个步进角,于是它取名:步进电机 第二个问题:步进电机的特性? 在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为 步距角 ,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从
[单片机]
51单片机教程:二相四线<font color='red'>步进电机</font>驱动
stm32-A4988驱动步进电机
步进电机,不多做解释,百度一大堆,虽然写的都一样。 1.步进电机用的2相四线,下面是某淘宝图片。 2.驱动器是A4988模块,据说是3d打印机专用。 灰色的脚可以悬空,也可以用上。 ENABLE 使能 1停止 STEP pwm(50%) 控制速度 (频率范围:我试了下大概1Hz-1KHz都可以跑的,当然频率越慢,电机相当于静止状态) DIR 控制方向 2B - B+ (这里网上没怎么说清楚,只说了什么红绿蓝,鬼知道?) 1B - B- 2A - A+ 1A - A- 基本重要的就是这些,分步控制就是MS1 MS2 MS3,看
[单片机]
stm32-A4988驱动<font color='red'>步进电机</font>
STM32 PWM输出控制步进电机-3000转每分钟串口显示+电位器调速
用电位器控制步进电机转速,可以控制正反转,在电位器中点停止;越往左翻转越快,越往右正转越快。速度均匀,包含滤波。付完整代码。全部测试正常。 单片机源程序: #include led.h #include delay.h #include key.h #include sys.h #include usart.h #include timer.h #include adc.h int main(void) { u16 adcx; float temp; int a=3999; //int b=0 u16 led0pwmval=200; u8
[单片机]
步进电机加速-匀速-减速运行程序(C51源程序)
ME300系列单片机开发系统+步进电机模块演示程序 功能:步进电机以加速方式启动,转速达到程序规定的最快速度后保持一段时间匀速运转,又开始以减速 方式运行直到步进电机停止转动。由K1键控制演示程序运行。步进电机模块上D1-D4可以指示工作状态。 /******************************************************************/ /* */ /* ME300B单片机开发系统演示程序 - 步进电机加减速运行程序
[单片机]
<font color='red'>步进电机</font>加速-匀速-减速运行程序(C51源程序)
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved