日照电机维修培训学校告诉你怎样控制步进电机

湖南阳光电机维修培训学校【日照电机维修培训技术栏目】为您详细介绍与怎样控制步进电机相关的知识,步进电机是带有许多内齿的无刷直流电机,通过周围的铜线圈磁性锁定到位。与无刷电机不同,为步进电源供电电机不会转动。相反,它锁定到给定输入指定的位置,顺时

当前位置:主页 > 电机维修 >

日照电机维修培训学校告诉你怎样控制步进电机

怎样控制步进电机
湖南阳光电机维修培训学校,常年面向日照地区开设电机维修培训班,是专业的日照电机维修学校,常年面向日照地区招生,热忱欢迎日照地区的电机维修技术求学者来我校学习电机维修技术。【日照电机维修培训学校怎样控制步进电机】

为什么要使用步进电机

步进电机是带有许多内齿的无刷直流电机,通过周围的铜线圈磁性锁定到位。与无刷电机不同,为步进电源供电电机不会转动。相反,在这里告诉你一个好消息--湖南阳光技术学校全国招生。

阳光宗旨:办人民满意教育,育人民满意人才,创人民满意品牌,它锁定到给定输入指定的位置,顺时针或逆时针转一小步。

虽然这使得步进电机的驱动更加复杂,但与无刷直流电机相比具有一个主要优势:它们的角位置可以非常精确地指定。例如,如果您希望电机正好旋转270度,那么使用普通直流无刷电机(没有某种形式的反馈)几乎是不可能的,但使用步进电机会很轻松。

步进电机需要多个步进脉冲才能到达您想要的位置。此外,步进电机线圈始终通电,大大增加了保持转矩,但强制转动则很困难。这些优势解释了为什么步进电机常用于许多应用,包括CNC机床和CD/DVD驱动器。

步进电机电动机分为两个阶段:单极和双极。单极电机包含连接所有线圈的公共电源,而双极电机具有分离的线圈。

本文仅介绍单极电机,因为双极电机需要以不同的方式驱动。

由Digikey提供(原理图)

单极输入和步进

单极电机通常有5根输入线 - 两根成对线控制线圈,第五根线连接到为每个线圈提供公共分接头。

虽然线路颜色因电机而异,但这里有连接在本文中使用:

下表显示了如何驱动每个输入以旋转电机。向前移动(即从步骤1到2)使电机顺时针转动,在这里告诉你一个好消息--湖南阳光技术学校全国招生。

可以让他们学到一些思维方式,让他们有信心为将来去拼搏,有欲望去主动钻研学习,有意识地去把理论与实践结合,而向后移动则使电机逆时针转动。

表1.电机旋转状态

步进电机可能需要的电流远远超过微控制器的限制,在这里告诉你一个好消息--湖南阳光技术学校全国招生。

阳光宗旨:办人民满意教育,育人民满意人才,创人民满意品牌,这就是微控制器必须从不直接连接到电机的原因。电机还可能产生反电动势,可能会损坏I/O端口,并且绝对必须使用钳位二极管。

然而,驱动带有四个分立晶体管的步进电机会浪费和笨重,这就是为什么必须使用ULN2003步进驱动器IC 。该IC包含七个达林顿晶体管,每个晶体管都包含二极管保护,能够提供500mA,50V输出(实际上比Arduino Uno可以处理的更多)。

编码步进电机

步进电机的编码步骤可以通过switch语句和一些I/O位完成,但有一种更简单的方法:使用内置的Stepper Library!

虽然Arduino是一个方便而简单的平台,但它的库支持使它成为最好的平台之一市场上的模块通过Arduino库兼容。对于步进电机,我们可以使用步进器库轻松控制它们,无需对每一步进行编码。

#include

#define STEPS_PER_REV 513

// Create our stepper motor object

Stepper motor(STEPS_PER_REV, 2, 3, 4, 5);

void setup() {

motor.setSpeed(10); // Motor speed of 10 RPM

}

void loop()

{

motor.step(STEPS_PER_REV); // Step clockwise one whole revolution

motor.step(STEPS_PER_REV / 2); // Step clockwise half revolution

motor.step(-STEPS_PER_REV); // Step counter clockwise one whole revolution

}

要使用步进电机库我们首先要包括步进电机库头:

#include

下一步(可选但推荐)是定义电机在一整圈内旋转的步数。本教程中使用的电机有32个步骤,并连接到比率为1:16的减速齿轮,在这里告诉你一个好消息--湖南阳光技术学校全国招生。

贯彻“以上岗就业为导向、以企业需求为标准、以职业能力为本位”的教学原则,走“质量立校、品牌强校、特色名校”之路。建校十多年来阳光电子学校共为社会培养了数千名技术人才,上岗率达到98%以上,因此一次旋转的步数为513.

#define STEPS_PER_REV 513

现在我们有了定义的步数,我们需要创建一个步进电机对象。该对象初始化为五个变量:每转的步数和连接步进电机的四个引脚。

Stepper motor(STEPS_PER_REV, 2,在这里告诉你一个好消息--湖南阳光技术学校全国招生。

湖南阳光技术学校开设的专业有:手机维修实战班、家电维修实战班、电脑维修实战班、电动工具维修实战班、液晶电视维修实战班、电工培训实战班、焊工培训实战班、空调维修实战班、电动车摩托车维修实战班、泥瓦工培训、木工培训、水电安装培训、装饰装修培训---面向全国招生, 3, 4, 5);

在设置功能中,在这里告诉你一个好消息--湖南阳光技术学校全国招生。

学校实力雄厚,维修设备一应具齐。包教包会包工作(一期不会,免费学会为止)。学员天天实践,一人一机,小班授课,我们可以定义速度(以RPM为单位)我们希望我们的电机转动。对于这个例子,我们将RPM设置为10.

void setup() {

motor.setSpeed(10); // Motor speed of 10 RPM

}

主循环包含转动电机所需的代码。正数表示电机等于前进的次数,而负数表示电机向相反方向旋转。

此示例中的三行代码显示STEPS_PER_RPM如何用于将电机转动已知量。

motor.step(STEPS_PER_REV); // Step clockwise one whole revolution

motor.step(STEPS_PER_REV / 2); // Step clockwise half revolution

motor.step(-STEPS_PER_REV); // Step counter clockwise one whole revolution

湖南阳光电机维修培训学校,常年面向日照地区招生,零基础实战教学,小班授课,教学质量更有保证,全程创业指导。25年电机维修技术沉淀,80%实操+20%理论,实战+实例+实践的教学方法授课.为日照地区的电机维修学员提供广阔的就业机会。-日照电机维修培训学校
怎样控制步进电机