使用S7-200SMART定时器直接控制四相八拍步进电机

        S7-200SMART是西门子公司的一款小型PLC。本文介绍一种PLC直接控制步进电机的方法,会附带梯形图程序。

        现有能搜到的很多教程都是使用步进电机驱动器,然后用开发工具中使用向导生成PWM子程序调用,这种方法因为简便可靠,也是目前实际工程中使用最多的。还可以使用PTO,也是使用开发工具中的向导初始化。以上两种方法都可以搜到很多教程。只用定时器直接控制的很少有教程。本文介绍的直接控制就是不适用电机驱动器,仅依靠PLC的计时器来生成控制脉冲。

步进电机简述

        既然是控制步进电机,我们就要先了解步进电机。步进电机分为三大类:永磁式、反应式、混合式。具体区别自行查阅即可,此处不赘述(别问,问就是懒的码)。

        四相步进电机通过给四个定子线圈通电顺序和时间的不同,从而形成强度和方向不同的旋转磁场,吸引转子以不同方向和速度旋转。按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。本文介绍的就是八拍驱动的方法。

5a289a81314f43b0be6b3a976c8b93fc.png

控制原理:

四相八拍电机的四相线圈分别用 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(八拍进给控制的字节变量)。

d150a40e2a464f2eabedb8809605f27e.png

f5f681ba71354ae0acfa56a8b82b267e.png

56b9458d6230491993068349c393070e.png

91f066c7e36244c3a1425ce66d1ff94c.png

b7f9c29762f24523b6d32f355d7759ed.png

c377d4517227449d8f92d7e9ed4f79c8.png

 

这里要提醒各位一个我在编程中忽略的问题:

在控制脉冲的程序部分我先是写了如下的梯形图,结果发现输出继电器存在问题,没有按照我程序输出,但是软件上显示的是没有问题,输出继电器均可正常输出。我先是拆了试验箱,验证了步进电机是没有问题的,然后使用电源依次给定子线圈按照控制次序依次供电,发现可以正常运转。故,肯定是程序存在问题。问题就是输出继电器线圈不能重复使用,如下图:

b6bdc3543b3e4b62bae3da1ae5cf2400.png

 解决方法就是使用一组中间继电器来作为8拍的输出,再用这些中间继电器去控制真正的输出ABCD四相的线圈。

后记

        完成PLC直接控制步进电机对我而言没有太大难度。但这次设计也感触颇深,本以为自己学的还行。调试半天找不出毛病,信誓旦旦地觉得自己的程序是没有问题的。拆解实验箱,单独调试步进电机无果后,老师一语道破天机,输出继电器线圈不能重复使用,方觉自己的无知与渺小。学海无涯更无止境,一知半解贻笑大方。

猜你喜欢

转载自blog.csdn.net/weixin_63268005/article/details/130953066
今日推荐