步进电机控制(PLC)
步进电机控制(PLC)
目录
1、系统控制要求... 2
一、控制要求... 2
二、说明... 2
三、三相六拍步进电机简介... 3
2、设计方案及流程图... 4
一、设计基础... 4
二、设计方案... 4
三、流程图... 6
3. I/O分配表... 7
4.外部接线图... 7
6.梯形图... 8
7.系统调试与总结... 11
一、调试分析... 11
二、总结... 12
1、系统控制要求
一、控制要求
设计一个三相六拍环形分配器控制脉冲进而控制步进电机运行。
该程序应具有:
- 电机正反转控制
- 转速控制:快速(0.5s)、中速(1s)、慢速(2s)
- 定步控制:执行8步后自动停止
- 高分要求:正反转/转速可以任意组合
二、说明
步进电机是电流在线圈中按顺序切换而使电机转轴作步矩式转的电机 。切换是由输入驱动的脉冲信号来完成的,每给驱动电路一个脉冲,电机转轴就按要求旋转一定的角度。故这种电机可以用输入的脉冲数来控制电机的转角,并且转速由脉冲的频率决定。
本实训的步进电机采用单-双相励磁,如下图:
表中的S1、 S2 、S3 分别为步进电机三相激励线圈A、B、C的控制开关。
三、三相六拍步进电机简介
设A相首先通电,转子齿与定子A、A’对齐(图1a)。然后在A相继续通电的情况下接通B相,这时定子B、B′极对转子齿2、4产生磁拉力,使转子顺时针方向转动,但是A、A’极继续拉住齿1、3,因此,转子转到两个磁拉力平衡为止,这时转子的位置如图1b所示,即转子从图1a位置顺时针转过了15°。接着A相断电,B相继续通电,这时转子齿2、4和定子B、B’极对齐(图1c),转子从图1c的位置又转过了15°,其位置如图1d 所示。这样,如果按A→AB→B→BC→C→CA→A.的顺序轮流通电,则转子便顺时针方向一步一步地转动,步距角15°。电流换接六次,磁场旋转一周,转子前进了一个齿距角。如果按A→AC→C→CB→B→BA→A.的顺序通电,则电机转子逆时针方向转动。采用六拍方式时,转子走六步前进一个齿距角,即每走一步前进六分之一齿距角,由上面介绍可知,步进电机具有结构简单、维护方便、精确度高、起动灵敏、停车准确等性能。此外,步进电动机的转速决定于电脉冲频率,并与频率同步。
2、设计方案及流程图
一、设计基础
在步进电机控制系统中,步进电机作为一种控制用的特种电机,利用其没有积累误差的特点,广泛应用于各种控制中。对于步进电动机来讲,它受控于脉冲量,比直
流电机或交流电机组成的开环精度高,适用于精度要求不太高的机电一体化伺服传动系统。
步进电机的驱动电源开环控制基本上由脉冲发生器、脉冲分配器和脉冲放大器三部分组成。
所以对于三相六拍步进电机的控制转换为 对于A、B、C输出脉冲的控制,所以我们只要使用PLC输出不同周期的脉冲对步进电机进行驱动。
二、设计方案
整体的设计方案如下:
定时脉冲输出设计
使用一个时间Time变量作为所需的延迟时间输入到定时器延时的时间中,在用这个定时器时间一到控制转换输出状态为高电平,同时启用使用另外一个定时器(固定时间)控制输出为低电平(比前面的时间短很多),这样就实现一个脉冲的输出。同时设计在按键按下触发使用移位指令 将时间数值送过去。从而实现实时改变步进电机的运行速度。
脉冲驱动A、B、C三相输出控制
因为步进电机一个周期走完需要6拍,也就是有6个状态,用顺序功能图进行设计时候就很繁琐,因为有六个状态,3个输出,所以我们可以对六个状态进行编码(数字电子技术),每一步对应一个状态,每一个状态对应一个输出。这里有两种思路,一种,将增计数器的输出CV设一个变量,代表一步的状态,然后进行|==|的判断,等等与0就是第一步,等等1就是第二部……以此类推。以上这种方案比较繁琐,需要多处判断指令;第二种方案使用移位指令。从100000一直移位,移到000001.
采用移位指令进行步进控制。每右移1位,代表电机一步,据此,可作出移位寄存器输出状态及步进电机正反转绕组的状态真值表,从而得出三相绕组的控制逻辑关系式。
正转时;
A相:Q0.O=MO.5+M0.4+M0.0
B相:Q0.1=M0.4+MO.3+MO.2
C相:Q0.2=MO.2+MO.1+MO.0
反转时:
A相:Q0.O=M0.5+MO.4+M0.0
B相:Q0.1=M0.2+MO.1+MO.0
C相:Q0.2=M0.4+MO.3+M0.2
正反转设计
为了简单,我使用了一个常闭的按钮作为正反转的控制,这样简化了程序(减少了自锁、互锁环节),实际生活中,安全隐患可能较大,但作为实验,能简单则简单,而且查找程序错误也比较的方便。
三、流程图
3. I/O分配表
控制信号 |
信号名称 |
元件名称 |
地址编码 |
输入信号 |
启动 |
常开按钮 |
I0.0 |
正、反转 |
常闭按钮 |
I0.4 |
|
低速开关 |
常开按钮 |
I0.1 |
|
中速开关 |
常开按钮 |
I0.2 |
|
高速开关 |
常开按钮 |
I0.3 |
|
定步、不定步控制 |
常闭按钮 |
I0.3 |
|
输出信号 |
控制A相绕组 |
Q0.0 |
|
控制B相绕组 |
Q0.1 |
||
控制C相绕组 |
Q0.2 |
4.外部接线图
6.梯形图
Part one:启动
Part two :速度选择
Part three :移位初始化
Part Four 脉冲生成+移位
Part Five 计数
Part six:
Part seven:
Part eight:
7.系统调试与总结
一、调试分析
软件调试
首先,由于上机的次数比较少,导致编程的时候有点生疏。主要有以下几点:
1、上升沿指令用得不是很明白。
用线圈的常开上升沿指令需要设定一个存储位,这个存储位不能设置成和本身一样,或者其他已经存在变量,否者很难出结果。在这个点卡了不少时间。
2、步进电机是通过脉冲控制的。
由于实验前并不知道对步进电机的控制是通过脉冲实现的,以为步进电机是通过对相电平的识别实现的,所以饶了不少弯路,最后从脉冲定时器找到灵感。这主要是查资料查找得不够充分,以后会改进。
3、定时器的PV上的值是Time类型的变量。
对于变量的类型不是很清晰,但是在编译中出错了,通过对在变量表中对变量类型的更改才通过编译,明白变量的类型也是挺重要的。
4、常闭开关的妙用
常闭开关有两种状态,闭合、断开,这两者是分离的,因此在效果对立(不是这个,就是)的两个功能中可以使用,可以减少不少的编程量(自锁、互锁可以省略),但实际生产中不推荐用。
硬件调试
要注意的是IO口与相应类型的按钮要对应好,否者很难出结果。调试的时候使用监视模式,可以很清楚的看到按钮按下是否起作用了。
二、总结
通过这次设计实践。我提高了了PLC的编程能力,对PLC的工作原理和使用方法也有了更深刻的理解。在对理论的运用中,提高了我们的工程素质,在没有做实践设计。以前,我们对知道的撑握都是思想上的,对一些细节不加重视,当我们把自己想出来的程序与到PLC中的时候,问题出现了,不是不能运行,就是运行的结果和要求的结果不相符合。能过解决一个个在调试中出现的问题,我们对PLC的理解得到加强,看到了实践与理论的差距。
参考文献:
1、廖常初. S7-1200 PLC编程及应用.第2版[M]. 机械工业出版社, 2010.
2、叶真. 步进电机的PLC控制梯形图程序设计[J]. 应用技术学报, 2007, 7(002):83-86.
步进电机控制(PLC)相关推荐
- 基于西门子S7-1200PLC的步进电机控制
摘要:本文以西门子S7-1200系列PLC.步进电机及西门子KTP700PN触摸屏为研究对象,步进电机控制为例,利用TIA Portal V15.1编程软件进行硬件组态和软件编程,实现了PLC以及触摸 ...
- 微型计算机步进电机控制,步进电机的微型计算机控制
步进电机的微型计算机控制 维普资讯 http://doc.xuehai.net 第 5期 20 0 7年 5月 山西焦煤科技 S a x o ig C a ce c& T c n l g h ...
- 基于ESP8266WiFi步进电机控制
■ 步进平台驱动模块 在 基于ESP8266WiFi控制的不仅升降机械平台 介绍了该机械平台的特性和支持命令,但还存在一下两部分内容需要改造: 在步进电机控制的升降平台运动过程中,两端的极限位置没有能 ...
- 【STM32 .Net MF开发板学习-11】步进电机控制(非PWM模式)
选用的步进电机的型号为28BYJ-48(或MP28GA,5V,转速比1/64),驱动电路选用 uln2003芯片的驱动板,其控制时序图如下: 四相八拍:A->AB->B ->BC - ...
- 微型计算机kong控制技术,AT89C2051单片机在步进电机控制中的应用
AT89C2051单片机在步进电机控制中的应用 作者:贾方, 张志胜 作者单位:东南大学,机械工程系,江苏,南京,210096 刊名: 机械设计与制造工程 英文刊名:MACHINE DESIGN AN ...
- 步进电机的计算机控制系统设计,基于计算机并口的步进电机控制系统设计
[摘要]本文提出了一种基于计算机并口的步进电机的控制方法,精确实现对步进电机旋转方向.转速及步距数的控制,用计算机并行口与步进电机进行通信,具有传输率高.低成本的特点.本文对步进电机控制系统的驱动电路 ...
- 步进电机控制(Proteus仿真+代码
两相四线步进电机控制 原理图: 控制代码: #include <REGX52.H> #define uc unsigned char #define ui unsigned intsbit ...
- 【STM32 Net MF开发板学习-11】步进电机控制(非PWM模式)
选用的步进电机的型号为28BYJ-48(或MP28GA,5V,转速比1/64),驱动电路选用uln2003芯片的驱动板,其控制时序图如下: 四相八拍:A->AB->B ->BC -& ...
- 单片机c语言 步进电机,步进电机控制(单片机C语言).doc
步进电机控制(单片机C语言) 模块二 简单应用实例调试 任务2 步进电机控制(H22) 任务要求 用单片机P1端口控制步进电机,编写程序输出脉冲序列到P1口,控制步进电机正转.反转,加速,减速. 二. ...
- 单片机C语言步进电机实训报告,步进电机控制实训报告.doc
步进电机控制实训报告 2010/2011学年第学期 专用周 课程名称 :班 级 : : : 教学周数 : 地 点 : 指导教师 :介绍了一种基于AT8952单片机步进电机的设计,系统分为.LCD显示步 ...
最新文章
- eclipse中使用maven创建项目JDK版本默认是1.5解决方法
- idea springboot jrebel hotreloaded
- 微信小程序 文字居中
- 微信的充值页面为啥长这样?(多图)
- 聚类 | 超详细的性能度量和相似度方法总结
- 2013年东北赛B题(数位DP)
- Oauth2.0和1.0区别
- IClient for js开发之地图的加载
- 多项式辗转相除法求最大公约数_多项式的一些性质
- Docker使用概览图
- 关于 HttpServlet、GenericServlet 和 Servlet 的关系
- Spring ORM+Hibernate?Out!换 Spring Data JPA 吧!
- php+美图秀秀,美图秀秀头像编辑器的使用? thinkphp+七牛方案
- Java编写简单的爱心
- Ubuntu20.04禁用触摸屏键盘
- JMS之——ActiveMQ 高可用与负载均衡集群安装、配置(ZooKeeper + LevelDB + Static discovery)
- WGCLOUD——如何统计用户的日活(dau)、月活(mau)数据
- Python创建自己的聊天机器人
- 我为什么而活着——对知识的向往,对爱情的追求
- 薅羊毛 | Python 自动化带你轻松赚钱(完结版)