PLC对步进电机的快速精确定位控制

发布者:快乐球球最新更新时间:2022-04-21 来源: elecfans关键字:PLC  步进电机  定位控制 手机看文章 扫描二维码
随时随地手机看文章

步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号时就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),其旋转以固定的角度运行。可以通过控制脉冲个数来控制角位移量以达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度而达到调速的目的。步进电机作为一种控制用的特种电机,因其没有积累误差(精度为100%)而广泛应用于各种开环控制


1 定位原理及方案

1.1 步进电机加减速控制原理

步进电机驱动执行机构从一个位置向另一个位置移动时,要经历升速、恒速和减速过程。当步进电机的运行频率低于其本身起动频率时,可以用运行频率直接起动并以此频率运行,需要停止时,可从运行频率直接降到零速。当步进电机运行频率fb》fa(有载起动时的起动频率)时,若直接用fb频率起动会造成步进电机失步甚至堵转。同样在fb频率下突然停止时,由于惯性作用,步进电机会发生过冲,影响定位精度。如果非常缓慢的升降速,步进电机虽然不会产生失步和过冲现象,但影响了执行机构的工作效率。所以对步进电机加减速要保证在不失步和过冲前提下,用最快的速度(或最短的时间)移动到指定位置。


步进电机常用的升降频控制方法有2种:直线升降频(图1)和指数曲线升降频(图2)。指数曲线法具有较强的跟踪能力,但当速度变化较大时平衡性差。直线法平稳性好,适用于速度变化较大的快速定位方式。以恒定的加速度升降,规律简练,用软件实现比较简单,本文即采用此方法。


1.2 定位方案

要保证系统的定位精度,脉冲当量即步进电机转一个步距角所移动的距离不能太大,而且步进电机的升降速要缓慢,以防止产生失步或过冲现象。但这两个因素合在一起带来了一个突出问题:定位时间太长,影响执行机构的工作效率。因此要获得高的定位速度,同时又要保证定位精度,可以把整个定位过程划分为两个阶段:粗定位阶段和精定位阶段。粗定位阶段,采用较大的脉冲当量,如0.1mm/步或1mm/步,甚至更高。精定位阶段,为了保证定位精度,换用较小的脉冲当量,如0.01mm/步。虽然脉冲当量变小,但由于精定位行程很短(可定为全行程的五十分之一左右),并不会影响到定位速度。为了实现此目的,机械方面可通过采用不同变速机构实现。


工业机床控制在工业自动化控制中占有重要位置,定位钻孔是常用工步。设刀具或工作台欲从A点移至C点,已知AC=200mm,把AC划分为AB与BC两段,AB=196mm,BC=4mm,AB段为粗定位行程,采用0.1mm/步的脉冲当量依据直线升降频规律快速移动,BC段为精定位行程,采用0.01mm/步的脉冲当量,以B点的低频恒速运动完成精确定位。在粗定位结束进入精定位的同时,plc自动实现变速机构的更换。


2 定位程序设计

2.1 PLC脉冲输出指令

目前较为先进的PLC不仅具有满足顺序控制要求的基本逻辑指令,而且还提供了丰富的功能指令。Siemens S7-200系列PLC的PLUS指令在Q0.0和Q0.1输出PTO或PWM高速脉冲,最大输出频率为20KHz。脉冲串(PTO)提供方波输出(50%占空比),用户控制周期和脉冲数。脉冲宽度可调制(PWM)酮能提供连续、变占空比输出,用户控制周期和脉冲宽度。本文采用PTO的多段管线工作方式实现粗定位,PTO的单段管线方式实现精定位。


上述例子中,假定电机的起动和结束频率是2KHz,最大脉冲频率是10KHz。在粗定位过程中,用200个脉冲完成升频加速,400个脉冲完成降频减速。使用PLC的PTO多段管线脉冲输出时,用下面的公式计算升降频过程中的脉冲增量值。


给定段的周期增量=(ECT—ICT)/Q

式中:ECT=该段结束周期时间

ICT=该段初始周期时间


利用这个公式,加速部分(第1段)周期增量为2,减速部分(第3段)周期增量为1。因第2段是恒速部分,故周期增量为0。如果PTO的包络表从VB500开始存放,则表1为上例的包络表值。


2.2 源程序

//主程序

LD SM0.1 //首次扫描为1

R Q0.0,1 //复位映像寄存器

CALL 0 //调用子程序0,初始化粗定位相关参数

LD M0.0 //粗定位完成

R Q0.0,1

CALL 1 //调用子程序1,初始化精定位相关参数

//子程序0,粗定位

LD SM0.0

MOVB 16#A0,SMB67 //设定控制字:允许PTO操作,选择ms增量,选择多段操作

MOVW 500,SMW168 //指定包络表起始地址为V500

MOVB 3,VB500 //设定包络表段数是3

MOVW 500,VW501 //设定第一段初始周期为500ms

MOVW -2,VD503 //设定第一段周期增量为-2ms

MOVD 200,VD505 //设定第一段脉冲个数为200

MOVW 100,VW509 //设定第二段初始周期为100ms

MOVW 0,VD511 //设定第二段周期增量为0ms

MOVD 1360,VD513 //设定第二段脉冲个数为1360

MOVW 100,VW517 //设定第三段初始周期为100ms

MOVW 1,VD519 //设定第三段周期增量为1ms

MOVD 400,VD521 //设定第三段脉冲个数为400

ATCH 2,19 //定义中断程序2处理PTO完成中断

ENI //允许中断

PLS 0 //启动PTO操作

//子程序1,精定位

LD SM0.0 //首次扫描为1

MOVB 16#8D,SMB67 //允许PTO功能,选择ms增量,设定脉冲数和周期

MOVW 500,SMW68 //设定精定位周期为500ms

MOVD 400,SMD72 //设定脉冲个数为400

ATCH 3,19 //定义中断程序3处理PTO完成中断

ENI //允许中断

PLS 0 //启动PTO操作

//中断程序2

LD SM0.0 //一直为1

= M0.0 //启动精定位

//中断程序3

LD SM0.0 //一直为1

= M0.1 //实现其他功能


关键字:PLC  步进电机  定位控制 引用地址:PLC对步进电机的快速精确定位控制

上一篇:编制PLC程序的基本步骤
下一篇:西门子STEP7编程软件中的对象与对象体系

推荐阅读最新更新时间:2024-11-13 11:33

采用AT89S52和VC++的实现步进电机实时显示控制系统设计
1 引言 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下, 电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给 电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周 期性的误差而无累积误差,使得在速度、位置等控制领域,用步进电机来控制变的非常的简 单。本文设计了一种基于AT89S52 单片机和VC++的步进电机控制系统,可以实现对步进 电机的基本控制及状态实时显示。 2 系统组成 使用、控制步进电机必须由环形脉冲源、功率放大电路等部分组成控制系统,脉冲信号 一般由单片机或CPU产生,一般脉冲信号的占空比为0.3-0.4左右,电机转速越高,占空
[单片机]
采用AT89S52和VC++的实现<font color='red'>步进电机</font>实时显示<font color='red'>控制</font>系统设计
plc控制
PLC控制系统是在传统的顺序控制器的基础上引入了微电子技术、计算机技术、自动控制技术和通讯技术而形成的一代新型工业控制装置,目的是用来取代继电器、执行逻辑、记时、计数等顺序控制功能,建立柔性的远程控制系统。具有通用性强、使用方便、适应面广、可靠性高、抗干扰能力强、编程简单等特点。 PLC概述 PLC内部工作方式一般是采用循环扫描工作方式,在一些大、中型的PLC中增加了中断工作方式。当用户将用户程序调试完成后,通过编程器将其程序写入PLC存储器中,同时将现场的输入信号和被控制的执行元件相应的连接在输入模块的输入端和输出模块的输出端,接着将PLC工作方式选择为运行工作方式,后面的工作就由PLC根据用户程序去完成,右图是PLC执行过
[工业控制]
在工业领域中,用嵌入式还是用PLC
PLC:ProgrammableLogicController,可编程逻辑控制器。 PLC是种专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。 那么在工业领域用嵌入式,还是用可编程逻辑控制器(PLC)? 一、适合用嵌入式的场合 如果仔细留意的话,如果是批量生产的标准工业产品,并且里边需要有一些复杂的运算的话,通常会用到嵌入式系统。比如变频器,标准工业机械手,一些专机设备等等。 有些产品是批量生产的,最开始采用嵌入式系统来专项研发时,需要投入一定的财力和人
[嵌入式]
L297,L298驱动步进电机原理图proteus仿真+程序 LCD显示速度
L297,L298驱动步进电机的原理图,亲测可用 L297,L298驱动步进电机的51单片机程序如下: #include AT89X51.h int delay(); void inti_lcd(); void show_lcd(int); void cmd_wr(); void ShowState(); void clock(unsigned int Delay) ; void DoSpeed(); //计算速度 //正转值 #define RIGHT_RUN 1 //反转值 #define LEFT_RUN 0 sbit RS=0xA0; sbit RW=0xA1; sbit E=0xA2; char Spe
[单片机]
L297,L298驱动<font color='red'>步进电机</font>原理图proteus仿真+程序 LCD显示速度
PLC与外接按钮开关接线方法图解
一个电机控制电路如图1所示,电路中使用常开按钮启动电机,用常闭按钮停止电机运行,图1中KM是控制电机电源的继电器。这样的电路若是使用plc时的外接线图如图2所示。同时为使PLC运行,在PLC中输入由图2转换来的图3所示的梯形图程序。 图1 电机控制电路 图2 PLC的外接线图 将图3所示的梯形图下载到PLC中后,发现KM继电器不动作,电机不能启动。这是因为按下启动按钮SB1时,PLC输入继电器00400常开触点接通,而输入继电器00401的常闭触点却因为连接了常闭按钮SB2处于断开状态,所以线圈00300不能得电。怎样才能使线圈00300得电呢?这就需要将00401触点变成常开触点,经过这样变化的梯形图如图4所示。 图
[嵌入式]
<font color='red'>PLC</font>与外接按钮开关接线方法图解
缩短PLC程序扫描周期的方法
  提高plc运行效率,缩短完成相同任务时的执行时间。   提醒:初学者不必在意本文归纳的做法,以程序易读、规范为目标,完成功能要求即可。   1、可以用“字”的时候尽量避免用“双字”,可以用整数时,尽量避免用实数。   2、优先使用富余的(硬件连接以外的)IB、IW、ID、QB、QW、QD,其次是M,S;   3、尽量避免数据类型转换,不得不用时,尽量用AC存放中间变量,减少转换次数。或者编程时先预留出存储空间,比如:用VW2存整数时,VW0空出不用,就可以直接以VD0的形式来进行访问VW2中的数据;   4、减少非必要网络扫描,把可以设条件执行的网络(特别是AIW、AQW),归类到子程序中作条件调用(例如定时中断);
[嵌入式]
步进电机的作用_步进电机选型
  步进电机的作用   步进电机是一种定角度运转的电动机,其作用主要是用于控制精度要求较高的定位、旋转、平移等机械系统的运动。步进电机通常与控制器一起使用,通过向电机提供精确的脉冲信号来控制其旋转角度和速度。   步进电机可以实现较高的精度和稳定性,具有以下几个方面的应用:   位置控制:步进电机可以实现精确的位置控制,因此广泛应用于打印机、数码相机、数控机床、电子秤、绘图仪等设备。   运动控制:步进电机可以控制机械系统的运动,如平移、旋转、升降等,应用于自动化生产线、包装机械、卷帘门、自动售货机等。   流量控制:步进电机可以控制流体阀门的开启和关闭,应用于自动喷涂、液体充装、化学反应等领域。   总的来说,步进电机由于其
[嵌入式]
两相步进电机优缺点分析
以下是这些电机的优缺点概述: 一、优点: (1)成本低: 两相永磁式(PM)型步进电机通常比同等大小的混合式(HB)型步进电机的价格低。 (2)气隙大、噪音低: 与混合式(HB)型步进电机相比,永磁式(PM)型步进电机具有更大的气隙和爪级构造,步距角度大,使得在相同转速下,切换次数较少,噪音较低。 (3)分辨率高: 两相混合式(HB)型步进电机通常具有较高的分辨率,如一般步距角为1.8°,使得其得到广泛应用。 (4)转矩大: 两相混合式(HB)型步进电机与多相混合式(HB)型步进电机相比,驱动功率管用量多,但价格便宜,且转矩大。 (5)精度高: 两相步进电机是一种具有高精度的电机,其精度可以达到极高水平,因为每一次步进角度都是固定
[嵌入式]

推荐帖子

哪个帮我下,,我帖子在下面
哪个帮我下,,我帖子在下面哪个帮我下,,我帖子在下面哪个帮我下,,我帖子在下面十万着急dddddddddddddddddd
pyy1980 单片机
请推荐一块学习WinCE的开发板
想转入WinCE卡发,看了些文章和资料,弄了个中文的CE6的模拟器,用vmware跑了个wince(虽然启动后鼠标要几分钟才动一下),现在好像无从下手了,所以想买块板子实际操作一下,练练手,请各位兄弟介绍一下,哪家的开发板好点,包括板子的质量,资料,和售后服务,尤其是资料和软件方面的技术支持,请各位兄弟根据自己买板子的经历介绍一下经验跟教训,谢谢!请推荐一块学习WinCE的开发板你做应用的话就模拟器先用着吧,我模拟器也没感觉很慢啊。做应用使用模拟器就可以了。———————————————
king315 WindowsCE
LCD清屏速度问题
最近用了LCD,分辨率320*240,用149直接驱动。已经点亮并正确显示,现在的问题是清屏的速度太慢,慢的不能让人接受,是用在终端机上的,速度慢肯定是个问题。我想问,如果我换高频的晶振,提高MCLK,清屏的速度大约能提高多少?(我现在用的是默认的MCLK)还有什么能提高清屏速度的办法?LCD清屏速度问题我现在的做法是,写了哪一块,清屏的时候就只清那一块,但是速度还是慢啊有什么好注意吗?为什么我的帖子没有人回啊~~提高时钟是个办法看看是否有显示等待或者其它一般来说你只要给LC
xw99 微控制器 MCU
单片机 MSP430 模拟IIC编程(2)
//////////////////////////////////////////////////voidI2C_Master_Init(void)/***InitializesI2C.MakesSCLandSDAhigh.*/{//bitbangingP3SEL&=~(SCL|SDA);//SetGPIOfunctionP3OUT&
Aguilera 微控制器 MCU
FPC电路板生产需要哪些操作
FPC线路板的生产过程中会用到很多的作业工序,整理来说有以下三大类:机械操作、化学制作、高温作业。1.机械操作使用机械生产FPC线路板的步骤有:开料裁切、钻孔、激光切形等生产步骤。这些步骤由于机械的固定性,考验的是生产人员的使用机械的熟练度度和生产经验,一般在这些岗位的操作人员都是长久以来进行FPC线路板生产的人员。2.化学制作这个步骤中包含了:电镀、蚀刻、除胶、溶液清洗。电镀分为电镀导通孔和电镀金手指两部分,电镀通孔是为了使得多层板可以导通,
方学放 PCB设计
USB2.0 B型封装的四个圆点顺序是什么?求教
USB2.0B型封装的四个圆点顺序是什么?请赐教,新手画PCB板,一窍不通~~~在最后一张图里4个圆点USB2.0B型封装的四个圆点顺序是什么?求教 四个圆点顺序就是安装图中的1,2,3,4如何连接是原理图已经确定好的,PCB封装的其实就是在板子上搞6个孔,4个小孔(0.92),2个安装固定孔(2个大孔直径2.3)如果有封装检查一下和最后一个图的尺寸是否一致,如果没有封装,就按最后一个图上标的尺寸画,如下图,红框的尺寸一个都不能错有实物可以测一下! 谢谢!直接
顾念深笙 PCB设计
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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