fpga驱动步进电机转动指定角度_通过PLC实现步进电机定位控制的方法
三菱PLC和步进电机驱动器的接线图
步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号时就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),其旋转以固定的角度运行。可以通过控制脉冲个数来控制角位移量以达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度而达到调速的目的。步进电机作为一种控制用的特种电机,因其没有积累误差(精度为100%)而广泛应用于各种开环控制。
定位原理及方案
步进电机加减速控制原理
步进电机驱动执行机构从一个位置向另一个位置移动时,要经历升速、恒速和减速过程。当步进电机的运行频率低于其本身起动频率时,可以用运行频率直接起动并 以此频率运行,需要停止时,可从运行频率直接降到零速。
当步进电机运行频率fb>fa(有载起动时的起动频率)时,若直接用fb频率起动会造成步进 电机失步甚至堵转。同样在fb频率下突然停止时,由于惯性作用,步进电机会发生过冲,影响定位精度。如果非常缓慢的升降速,步进电机虽然不会产生失步和过 冲现象,但影响了执行机构的工作效率。
所以对步进电机加减速要保证在不失步和过冲前提下,用最快的速度(或最短的时间)移动到指定位置。
步进电机常用的升降频控制方法有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自动实现变速机构的更换。
定位程序设计内容梗概
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为上例的包络表值。
源程序
主程序
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,VW503 //设定第一段周期增量为-2ms
MOVD 200,VD505 //设定第一段脉冲个数为200
MOVW 100,VW509 //设定第二段初始周期为100ms
MOVW 0,VW511 //设定第二段周期增量为0ms
MOVD 1360,VD513 //设定第二段脉冲个数为1360
MOVW 100,VW517 //设定第三段初始周期为100ms
MOVW 1,VW519 //设定第三段周期增量为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 //实现其他功能
fpga驱动步进电机转动指定角度_通过PLC实现步进电机定位控制的方法相关推荐
- fpga驱动步进电机转动指定角度_【硬见小百科】步进电机工作原理及实现方法...
步进电机的工作原理 步进电动机是一种把电脉冲信号转换成机械角位移的控制电机.所谓电脉冲,类似于脉搏,感受到脉搏跳动的时候类似于脉冲的高电平,不跳的时候为低电平,这就是电脉冲信号.角位移单位是弧度. 步 ...
- fpga驱动步进电机转动指定角度_PLC对步进电机进行定位控制程序
三菱PLC和步进电机驱动器的接线图 步进电机是一种将电脉冲转化为角位移的执行机构.当步进驱动器接收到一个脉冲信号时就驱动步进电机按设定的方向转动一个固定的角度(称为"步距角"),其 ...
- fpga驱动oled iic显示代码_【接口时序】6、IIC总线的原理与Verilog实现
欢迎FPGA工程师加入官方微信技术群 点击蓝字关注我们FPGA之家-中国最好最大的FPGA纯工程师社群 一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件:ISE ...
- 2怎么升级固件_西门子PLC固件升级,S71200 固件升级方法
西门子plc如何升级固件?最近使用西门子PLC不知道怎么升级固件 1.使用存储卡更新CPU固件. 2.使用TIA 软件更新CPU固件. 3.通过Web访问方式更新CPU固件. 本文将详细介绍上述方法中 ...
- web服务器的打开方法_西门子PLC固件升级,S71200 固件升级方法
西门子plc如何升级固件?最近使用西门子PLC不知道怎么升级固件 1.使用存储卡更新CPU固件. 2.使用TIA 软件更新CPU固件. 3.通过Web访问方式更新CPU固件. 本文将详细介绍上述方法中 ...
- c52单片机控制l298n步进电机角度_【设计图文】单片机实现的步进电机控制系统(开题报告+论文+文献综述+外文翻译+DWG图纸)...
点击标题上方"微Life梦Heart阅读",关注. 设计图文626 摘 要[快速浏览摘要]单片微型计算机简称单片机.它是把组成微型计算机的各功能部件:中央处理器.CPU.随机存取 ...
- Arduino UNO使用库实现步进电机指定角度旋转
Arduino UNO使用库实现步进电机指定角度旋转 步进电机和驱动器相关的资料 https://pan.baidu.com/s/1udb4MyEOXk4CTO7TKRHj6w 提取码: fuea 步 ...
- stm32控制舵机任意角度_如何对舵机建模仿真?
卓大大 您能发篇推文讲解一下舵机控制的传递函数如何求解吗 在做智能车仿真时卡在这里了. 舵机的传递函数如何建立 的确,宅在家里手里没有实际的智能车模,也无法实际调试.利用所学习的理论知识来对智能车建模 ...
- python运行系统找不到指定文件_系统找不到指定文件_系统找不到指定的文件_python 系统找不到指定的文件 - 云+社区 - 腾讯云...
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我正在构建一个依赖于另一个库的特定库,当我这样做时,我收到以下警告消息:&quo ...
- 用FPGA驱动AD9910输出跳频信号
使用FPGA驱动AD9910的方法总结 文章目录 使用FPGA驱动AD9910的方法总结 前言 一.概述 二.寄存器配置 1.SPI串行接口 1.SPI读写时序 2.状态机设计实现寄存器读写 3.单频 ...
最新文章
- 97.16% 的加班率,给你 3 倍工资:你愿意去大厂吗?
- 准备入门IC的全局观念系列-下
- 微信小程序-豆瓣电影TOP250
- 设计模式在实际业务应用中的介绍之2——业务工厂
- Java黑皮书课后题第5章:**5.32(游戏:彩票)修改程序清单3-8,产生一个两位数的彩票。这两位数是不同的
- JVM Attach机制实现
- java将xml中的标签名称转为小写_深入学习Java Web(七): JSTL标签库
- primefaces_PrimeFaces:在动态生成的对话框中打开外部页面
- 千年3 『自动杀猪·无限挂』千年3脚本 千年3外挂
- PIC单片机的入门认识(以PIC12为学习目标)
- git顏色所代表的意义
- Pomodoro技术的失败如何使我成为2倍更好的程序员
- Yii2 composer安装asset packagist 再提速 静态资源安装
- hdr_beg(host) hdr_reg(host) hdr_dom(host)
- 1rem、1em、1vh、1px各自代表的含义
- IE浏览器打不开网页解决方法之一
- element ui 图片加载失败_element图片懒加载的问题
- 挫折中前行-aspera下载数据
- Direct3D - 术语专场,管线
- 爬取某家乐数据并部署到Linux ,实现自动爬取,定期发送邮件