使用S7-200SMART定时器直接控制四相八拍步进电机
S7-200SMART是西门子公司的一款小型PLC。本文介绍一种PLC直接控制步进电机的方法,会附带梯形图程序。
现有能搜到的很多教程都是使用步进电机驱动器,然后用开发工具中使用向导生成PWM子程序调用,这种方法因为简便可靠,也是目前实际工程中使用最多的。还可以使用PTO,也是使用开发工具中的向导初始化。以上两种方法都可以搜到很多教程。只用定时器直接控制的很少有教程。本文介绍的直接控制就是不适用电机驱动器,仅依靠PLC的计时器来生成控制脉冲。
步进电机简述
既然是控制步进电机,我们就要先了解步进电机。步进电机分为三大类:永磁式、反应式、混合式。具体区别自行查阅即可,此处不赘述(别问,问就是懒的码)。
四相步进电机通过给四个定子线圈通电顺序和时间的不同,从而形成强度和方向不同的旋转磁场,吸引转子以不同方向和速度旋转。按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。本文介绍的就是八拍驱动的方法。
控制原理:
四相八拍电机的四相线圈分别用 A、B、C、D 表示。
当电机正转时,其工作方式如下:A→AB→B→BC→C→CD→D→DA→A。
当电机反转时,其工作方式如下:A→AD→D→DC→C→CB→B→BA→A。
设计要求:
设计程序实现对步进电机启动、停止、正转、反转的控制及实现 3 档调速即快速、中速、慢速。控制模块中的步进电机工作方式为四相八拍电机的四相线圈分别用 A、B、C、D 表示。需要使用数码管显示电机档位。
PLC梯形图程序实现
此程序I/O配置分配情况如下表:
I/O口 |
连接端口 |
I/O口 |
连接端口 |
I0.0 |
启动 |
Q0.3 |
步进电机D相 |
I0.1 |
停止 |
Q1.0 |
数码管A段 |
I0.2 |
正转 |
Q1.1 |
数码管B段 |
I0.3 |
反转 |
Q1.2 |
数码管C段 |
I0.4 |
快速 |
Q1.3 |
数码管D段 |
I0.5 |
慢速 |
Q1.4 |
数码管E段 |
Q0.0 |
步进电机A相 |
Q1.5 |
数码管F段 |
Q0.1 |
步进电机B相 |
Q1.6 |
数码管G段 |
Q0.2 |
步进电机C相 |
下面是使用s7-200 smart官方集成开发环境Step 7MicroWIN SMART软件编程实现对四相八拍步进电机控制的程序。工作原理及对此程序的解释均以注释的形式在下图中给出。此处仅声明程序中出现的变量的含义:VB10(存放电机转速挡位的字节变量)、VW50(存放转速的字变量,即脉冲宽度)、VB100(八拍进给控制的字节变量)。
这里要提醒各位一个我在编程中忽略的问题:
在控制脉冲的程序部分我先是写了如下的梯形图,结果发现输出继电器存在问题,没有按照我程序输出,但是软件上显示的是没有问题,输出继电器均可正常输出。我先是拆了试验箱,验证了步进电机是没有问题的,然后使用电源依次给定子线圈按照控制次序依次供电,发现可以正常运转。故,肯定是程序存在问题。问题就是输出继电器线圈不能重复使用,如下图:
解决方法就是使用一组中间继电器来作为8拍的输出,再用这些中间继电器去控制真正的输出ABCD四相的线圈。
后记
完成PLC直接控制步进电机对我而言没有太大难度。但这次设计也感触颇深,本以为自己学的还行。调试半天找不出毛病,信誓旦旦地觉得自己的程序是没有问题的。拆解实验箱,单独调试步进电机无果后,老师一语道破天机,输出继电器线圈不能重复使用,方觉自己的无知与渺小。学海无涯更无止境,一知半解贻笑大方。
使用S7-200SMART定时器直接控制四相八拍步进电机相关推荐
- 四相八拍步进电机的转速如何计算?
四相步进电机有两种运行方式 1.四相四拍:2.四相八拍. #拍数# 完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-B ...
- 四相八拍步进c语言程序,5线四相八拍步进电机的C51演示程序
本试验板设有四个按键,其功能分别为"启动/停止""正转/反转""速度-""速度+". 定义P2口与试验板相接,低四位为驱 ...
- stc8a8k64s4单片机控制步进电机(四相八拍)实现顺时针转一圈和逆时针转一圈
步进电机28BYJ48型四相八拍电机,电压为DC5V-DC12V.当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动.每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就 ...
- 四相八拍步进c语言程序,四相八拍的步进电机简单的驱动
简单介绍: 1. 步进电机:就是将电脉冲信号转变为角位移或者线位移的 开环控制 电机 2. 开环控制:即开环控制系统,就是不降控制的结果反馈回来影响当前控制的系统. 所谓开环:就是没有反馈 3. 四相 ...
- 步进电机控制器设计 利用Quartus ii9.0设计一个具有四相单四拍,四相双四拍和四相八拍的脉冲分配器
步进电机控制器设计 利用Quartus ii9.0设计一个具有四相单四拍,四相双四拍和四相八拍的脉冲分配器. 设计一个三选一数据选择器来控制pause信号选择工作方式,以及用两个74160与两个744 ...
- Verilog步进电机角度控制器设计(四相八拍)+程序
目录 一.摘要 二.步进电机转动角度与脉冲数,转数与脉冲频率的关系 三.实现代码分为三个模块
- 四相八拍步进电机驱动
基于瑞萨R7F0C908 简介: 步进电机是将电脉冲信号转变成角位移或线位移的开环控制元件. 驱动形式: 双环形脉冲信号,功率驱动电路组成 驱动方式: 依次通电A-AB-B-BC-C-CD-D-DA ...
- 步进电机-STM32单片机控制四相五线步进电机的程序
单片机控制步进电机的方法很简单,可以用IO口输出脉冲控制线圈电流驱动电机旋转,可分为四相四拍,四相八拍.四相电机,有四相四拍运行方式AB-BC-CD-DA-AB,四相八拍运行方式即 A-AB-B-BC ...
- 西门子s7 200smart与台达伺服电机 运动控制的学习,目标:用触摸屏和西门子smart 控制
西门子s7 200smart与台达伺服电机 运动控制的学习,目标:用触摸屏和西门子smart 控制 器件:西门子s7 200 smart PLC,台达伺服电机,昆仑通态触摸屏(带以太网),中途可以加路 ...
最新文章
- Infragistics NetAdvantage 2006 Volume 2 CLR 2.0曲折安装
- java unsafe cas_Java Unsafe CAS 小试
- poj3258 River Hopscotch (二分搜索,考虑最大值最小问题)
- 【解决方案】无法将grub-efi-amd64-signed软件包安装到/target/【安装Ubuntu】
- pyspark intersection代码示例
- 【原创】数据库中为什么不推荐使用外键约束
- 前端学习(1605):组件传值
- ASP.NET中共有哪几种类型的控件?其中,HTML控件、HTML服务器控件和WEB服务器控件之间有什么区别
- python3迭代器是什么,python3 迭代器
- 程序员山洞开发程序,两年敲45万行代码,网友:一般人扛不住
- 为什么我会弃Java,选择了Kotlin——专访《Java编程思想》作者 Bruce Eckel
- 为archlinux选择国内镜像
- Yii源码解读 - 事件
- 201510月职称计算机题目,职称计算机考试模拟题库-Excel试题及答案11
- 表达式的LenB(123程序设计ABC)的值是27吗
- php图形验证码验证,php图片验证码代码
- 如何将docx文本转换成使用微信小程序rich-text能编译的格式
- buctoj周赛14
- 白光模块?彩光模块?
- 经典功率谱估计(直接法、间接法、直接法的改进(包括Bartlett法、Welch法))
热门文章
- 机械设备行业做网络推广
- 个人DIY一套全智能机器人基本流程
- 常规onerror 的使用 和 vue 里面的onerror使用
- 高通开发系列 - linux kernel内核升级msm-4.9升级至msm-4.19(1)
- altera cyclone v IOE delay 设置
- cad怎么另存为pdf?分享一个简单方式
- MySQL中的EXISTS用法
- MathType7.4变回6.9
- 【邢不行|量化小讲堂系列23-Python量化入门】不用再自己写技术指标了 | TA-lib视频教程
- MySQL优化三:查询性能优化之基础部分