PLC对步进电机的快速精确定位控制(附PLC原程序)

   更新日期:2024-08-04     来源:建材之家    浏览:55    评论:0    
核心提示:步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号时就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),其旋转以固定的角度运行。可以通过控制脉冲个数来控制角位移量以达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度而达到调速的目的。步进电机作为一种控制用的特种电机,因其没有积累误差(精度为100%)而广泛应用于各种开环控制

对焊机操作时候要注意的问题—苏州安嘉

推荐简介:对焊机首要由焊接变压器、左电极、右电极、沟通接触器、送料机构和控制元件等组成。控制元件的控制程序是:按下接触器按钮,接通继电器,使沟通接触器效果,所以焊接变压器被接通。移动操纵杆使两焊件压紧,并通电加热。1.对焊机应安置在室内,并应有可靠的接零保护。当多台对焊机并列安装时,相百间距不得小于3m,应分别接在不同相位的电网上,并应分别有各自的刀型开关。2.焊机电源引线不宜过细过长,焊接时的电压降不得......
    步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号时就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),其旋转以固定的角度运行。可以通过控制脉冲个数来控制角位移量以达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度而达到调速的目的。步进电机作为一种控制用的特种电机,因其没有积累误差(精度为100%)而广泛应用于各种开环控制。
   1 定位原理及方案
  1.1 步进电机加减速控制原理

  步进电机驱动执行机构从一个位置向另一个位置移动时,要经历升速、恒速和减速过程。当步进电机的运行频率低于其本身起动频率时,可以用运行频率直接起动并以此频率运行,需要停止时,可从运行频率直接降到零速。当步进电机运行频率fb>fa(有载起动时的起动频率)时,若直接用fb频率起动会造成步进电机失步甚至堵转。同样在fb频率下突然停止时,由于惯性作用,步进电机会发生过冲,影响定位精度。如果非常缓慢的升降速,步进电机虽然不会产生失步和过冲现象,但影响了执行机构的工作效率。所以对步进电机加减速要保证在不失步和过冲前提下,用最快的速度(或最短的时间)移动到指定位置。
  步进电机常用的升降频控制方法有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#p#分页标题#e#
  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 //实现其他功能
小程序码
 
打赏
 
更多>文章标签:水电 电工维修
更多>同类水电电工资讯
0相关评论

推荐图文更多...
点击排行更多...
水电商机信息更多...
水电电工圈更多...
最新视频更多...
推荐产品更多...
天花之家 | 木门之家 | 灯具之家 | 铁艺之家 | 幕墙之家 | 五金头条 | 楼梯头条 | 墙纸头条 | 壁纸头条 | 玻璃头条 | 老姚之家 | 灯饰之家 | 电气之家 | 全景头条 | 照明之家 | 防水之家 | 防盗之家 | 区快洞察 | 潜江建材 | 仙桃建材 | 恩施建材 | 随州建材 | 咸宁建材 | 黄冈建材 | 荆州建材 | 孝感建材 | 荆门建材 | 鄂州建材 | 襄樊建材 | 宜昌建材 | 十堰建材 | 黄石建材 | 长沙建材 | 湘西建材 | 娄底建材 | 怀化建材 | 永州建材 | 郴州建材 |
建材 | 720全景 | 企业之家 | 移动社区 | 关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图 | 排名推广 | 广告服务 | 积分换礼 | RSS订阅 | sitemap | 粤ICP备14017808号-1
(c)2015-2017 BYBC.CN SYSTEM All Rights Reserved
Powered by 电工之家