步进电机基本原理及驱动方式详解

news2024/11/28 13:46:59

步进电机基本原理及驱动方式详解

  • 步进电机相关概念
    • 基本原理
    • 类型和结构
      • 转子结构
      • 定子结构
    • 励磁方式
    • ATD9800 驱动使用实例
  • 参考文献

步进电机相关概念

步进电机是一种常用于控制和定位应用的电动机,其独特的工作方式使其在许多领域中都具有广泛的应用。步进电机以其 精确的位置控制 而闻名,无论是在3D打印机、机器人、数控机床还是打印设备中,步进电机都扮演着重要的角色。

在本文中,我们将深入研究步进电机的原理,从基本的构造到工作方式,逐步揭示其背后的技术奥秘。无论您是电机领域的专业人士,还是对此感兴趣的初学者,本文都将为您提供全面而深入的了解。现在让我们开始探索步进电机的工作原理,并揭示它在现代工程中的重要性。

Stepper motors use electromagnetic coils

一种3D打印机中使用的步进电机

基本原理

与所有电动机一样,步进电动机也有一个 静止部分(定子) 和一个 运动部分(转子) 。定子上有齿,上面有线圈,而转子是永磁体或可变磁阻铁芯。下图显示了电机截面图,其中转子是可变磁阻铁芯。

image-20230607102428720

步进电机横截面

步进电机的基本工作原理如下: 通过给定子的一个或多个相通电,线圈中流动的电流产生磁场,转子与该磁场对齐实现电能到动能的转化通过依次提供不同的相位,转子可以旋转特定的量以到达所需的最终位置 。下图展示了工作原理:

  1. 线圈 A 通电,转子与其产生的磁场对齐。

  2. 线圈 B 通电,转子顺时针旋转60° 以与新磁场对齐。

  3. 线圈 C 通电,转子再顺时针旋转60° 以与新磁场对齐。

步进电机步数

步进电机原理(图中定子齿的颜色表示定子绕组产生的磁场方向)

上面的步骤可以更形象的通过一个动图来显示,随着定子不同相电流变化,转子按照固定间隔角度进行转动:

StepperMotor

类型和结构

转子结构

对于步进电机,基本上有三种类型的转子:

  • 永磁转子转子是 一块永磁体 ,与定子电路产生的磁场对齐 。该解决方案保证了良好的扭矩以及制动扭矩。这意味着无论线圈是否通电,电机都会抵抗(即使不是非常强烈)位置变化。该解决方案的缺点是与其他类型相比,它的速度和分辨率较低。

步进电机_PM

永磁式步进电机
  • 可变磁阻转子转子由 非磁化铁芯 制成,具有与定子偏移的齿 ,当我们以特定顺序激活绕组时,转子分别移动,从而使定子和转子齿之间的间隙最小。使用此解决方案可以更轻松地达到更高的速度和分辨率,但它产生的扭矩通常较低并且没有制动力矩。

步进电机变量 Reluctant01

可变磁阻步进电机
  • 混合转子 : 这种转子是前两种步进电机的组合。它具有 永磁体带齿转子和带齿定子 转子两部分极性相反,它们的齿如图所示偏移 。这种配置允许电机同时具有永磁体和可变磁阻版本的优点,特别是高分辨率、速度和扭矩。这种更高的性能需要更复杂的结构,因此成本更高。
    下图显示了该电机结构的简化示例,我们可以看到,现在转子的齿与 A 极的齿对齐,而与 B 极的齿不对齐。这意味着在下一步中,当我们关闭 A 极并激活 B 极时,转子将逆时针转动,其齿与 B 极的齿对齐。

    image-20230607105541724

    混合转子结构

定子结构

定子是电机的一部分,负责产生转子要对齐的磁场。定子电路的主要特性包括其相数和极对数,以及导线配置。 相数是独立线圈的个数极对数表示各相主齿对的占用情况 。两相步进电机是最常用的,而三相和五相电机不太常见。

二相定子绕组(左)、三相定子绕组(右)

二相定子绕组(左)、三相定子绕组(右)

两相单极对定子(左),两相双极对定子(右)。 字母表示在A+和A-之间施加正电压时产生的磁场

两相单极对定子(左),两相双极对定子(右)

励磁方式

步进电机的励磁方式分为以下几种:

  • 一相励磁 :这种方式是指 在每一瞬间,步进电机只有一个线圈导通 ,消耗电力小,但在切换瞬间没有任何的电磁作用转子上,容易造成振动,也容易因为惯性而失步。这种方式的步距角是电机固有的结构决定的,例如二相四拍电机的步距角是1.8度。

image-20230607114659534

  • 两相励磁 :这种方式是指 在每一瞬间,步进电机有两个线圈同时导通 ,输出的转矩较大,振动较小,也比一相励磁较为平稳,不易失步。这种方式的步距角也是电机固有的结构决定的,例如二相四拍电机的步距角是1.8度。

image-20230607115210417

  • 1-2相励磁 :这种方式是指 一相励磁和二相励磁交替进行 的方式,在第一相和第二相之间插入一个一二相同时通电的相。这种方式的优点是分辨率高,运转更加平滑。唯一的缺点是电机产生的力矩不是恒定的,两相通电时力矩大,单相通电时力矩小。这种方式的步距角是原来基本步距角的一半,例如二相四拍电机的步距角是0.9度。

image-20230607153759490

  • 微步驱动 :可以看作是 半步模式的进一步增强 ,因为它允许 进一步减小步长并具有恒定的扭矩输出 。这是 通过控制流过每一相的电流强度来实现 。与之前的解决方案相比,使用此模式需要更复杂的电机驱动器。下图显示了微步的工作原理:
    如果 I M A X I_{MAX} IMAX 是单相流过的最大电流:

    1. 在下面第一个图, I A = I M A X I_A = I_{MAX} IA=IMAX I B = 0 I_B=0 IB=0

    2. 在下面第二个图,控制电流以实现 I A = 0.92 × I M A X I_A = 0.92 \times I_{MAX} IA=0.92×IMAX I B = 0.38 × I M A X I_B = 0.38 \times I_{MAX} IB=0.38×IMAX ,它产生的磁场与前一个相比顺时针旋转了 22.5 ° 22.5° 22.5°

    3. 在三四五图中使用不同的电流值重复此步骤,分别达到 45 ° 45° 45° 67.5 ° 67.5° 67.5° 90 ° 90° 90° 位置。

    与半步模式相比,这种方式将步长又减少一半。虽然使用微步进有助于达到非常高的位置分辨率,但这种优势是以更复杂的设备来控制电机为代价的,并且每一步产生的扭矩更小。事实上,扭矩与定子磁场和转子磁场之间夹角的正弦成正比;因此, 步数越小,力矩越小 。这可能会导致丢步:即即使定子绕组中的电流发生变化,转子位置也不会改变。

    image-20230607161021371

在实际使用步进电机驱动器驱动中,我们常用 细分分数 来控制微步驱动的大小。步进电机的细分技术实质上是 一种电子阻尼技术 ,其主要目的是减弱或消除步进电机的低频振动,提高电机的运转精度只是细分技术的一个附带功能。细分是步进电机驱动器 将上级装置发出的每个脉冲按步进电机驱动器设定的细分系数分成系数个脉冲输出细分后电机运行时的实际步距角是基本步距角的几分之一

步进电机的细分驱动中 W1-2相, 2W1-2相, 4W1-2相 都是指步进电机相的励磁方式(excitation mode),换一句话来概括就是细分驱动该怎么实现。通常步进电机细分有2,4,8,16,32,62,128,256,512等。

因此可以简单地将不同励磁方式与行程之间的关系表述为:

  • 1相驱动 = 4细分2相驱动 = 4小步/励磁周期。 整步=4微步
  • 1-2相 = 8细分 = 8小步/励磁周期。 整步=8微步
  • W1-2相16细分 = 16小步/励磁周期。 整步=16微步
  • 2W1-2相 = 32细分 = 32小步/励磁周期。 整步=32微步
  • ………………
  • 32W1-2相 = 512细分 = 512小步/励磁周期。 整步=512微步

举个例子,在一种常用的混合式步进电机中转子有50个齿,若采用 1相驱动 / 2相驱动 ,步进电机每转一圈为4*50=200个脉冲(微步),因此每微步为1.8°,这是该步进电机的最小移动单位:

两相四线步进电机的结构与原理(原版)

若采用微步驱动,则:

  • 16细分(W1-2)对应半步,16*50=800个脉冲一圈,单步0.45°
  • 而128细分(8W1-2),意味着步进电机需要输出128*50=6400个脉冲步进电机才转一圈,单步0.05625°

ATD9800 驱动使用实例

ATD9800 驱动IC中,寄存器设置值和步数的关系如下:

image-20230607163726580

从表格中可以理解: 64/128/256细分只是驱动器实际输出波形时的分辨率,用户控制能达到的分辨率只有32细分。 超过32细分只是 平滑 ,不是 微步 ,并不能实际走到该步数! 最多只能控制到1/32整步,剩下的只是将每一微步的运动变平滑。

因此,所有细分可以直接以32细分的波形来理解。

32细分 = 2W1-2相 = 32小步/励磁周期 ==》设置值32 = 1个正弦波 = 1整步 = 32脉冲 = 32微步:

image-20230607175120666

64细分 = 2W1-2相(2步平滑) ==》设置值64 = 1个正弦波 = 1整步 = 64脉冲 = 32微步:(即 1个脉冲走2/64微步

image-20230607175327827

同理, 这里的256细分即1个脉冲走8/256微步 ,这也就是表格里步进值的由来。

所以,我们如果需要将原先W1-2相驱动的步数转换为ATD9800驱动芯片的寄存器写值,可以这么做:

#define  PHASE_1_2_SINGLE_PULSE_STEP     8         // 1-2相单脉冲步数(1个正弦周期=8微步)
#define  PHASE_W1_2_SINGLE_PULSE_STEP    16        // W1-2相单脉冲步数(1个正弦周期=16微步)
#define  SINGLE_PULSE_REG_NUM            32        // 单周期对应的寄存器值(默认32细分,1个正弦周期=32微步)

#define  FOCUS_DRIVE_PLUS   (SINGLE_PULSE_REG_NUM / PHASE_W1_2_SINGLE_PULSE_STEP)        // FOCUS单步寄存器写值,写2=W1-2相一步
#define  ZOOM_DRIVE_PLUS    (SINGLE_PULSE_REG_NUM / PHASE_1_2_SINGLE_PULSE_STEP)       // ZOOM单步寄存器写值,写4=1-2相一步

// real_focus_step = W1_2_step * FOCUS_DRIVE_PLUS;
// real_zoom_step = _1_2_step * ZOOM_DRIVE_PLUS;

这就是驱动芯片的原理。

参考文献

1:步进电机细分参数如何设置 - 知乎

2:图解: 步进电机原理与驱动方式 - 知乎

3:步进电机励磁模式_步进电机励磁方式_zhbi98的博客-CSDN博客

4:Stepper Motors: Types, Uses and Working Principle | Article | MPS

5:How a Stepper Motor Works - How To Mechatronics

6:What Is Microstepping? – Simply Explained | All3DP

7:Stepper motor - Wikipedia

8:A3977 - Microstepping DMOS Driver with Translator



部分图片来源网络,如有侵权请联系我删除。
如有疑问或错误,欢迎和我私信交流指正。
版权所有,未经授权,请勿转载!
Copyright © 2023.06 by Mr.Idleman. All rights reserved.


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/620421.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

正态总体下常见的抽样分布

1.正态总体下常见的抽样分布 本人博客:总体分布、样本分布、抽样分布的区别 本人博客:三大抽样分布 正态总体下常见的抽样分布意思是:样本来自服从正态分布的总体中,从样本中抽样后得到的分布 1.1 单个正态总体下的抽样分布&…

【高危】GitLab CE/EE 存在存储型XSS漏洞

漏洞描述 GitLab 是一款基于Git的代码托管、版本控制、协作开发平台。 在 GitLab CE/EE 15.11 至 15.11.6 版本以及 16.0 至 16.0.1 版本中,当GitLab导入GitHub仓库时,如果GitHub仓库中包含由用户构造的恶意JavaScript代码的标签颜色,解析这…

为什么说程序员和产品经理一定要学一学PMP

要回答为什么说程序员和产品经理一定要学一学PMP?我们得先看一下PMP包含的学习内容。PMP新版考纲备考参考资料绝大多数涉及IT项目的敏捷管理理念。主要来源于PMI推荐的10本参考书: 《敏捷实践指南(Agile Practice Guide)》 《项目…

Java匿名内部类、invoke方法、动态代理

一、匿名内部类 匿名内部类一般作为方法的参数,这个方法的形参为接口,而实参为匿名内部类(可以理解为接口的对象)并且重写了接口中的方法。 例如: 定义了一个接口Star: 类型为Star的引用数据类型作为方法s…

关于docker中Nacos启动成功访问不了的情况

书接上回,这段时间在忙学成在线的微服务项目,上次出现了IP修改的问题,有了一定的解决方案,复制别人的虚拟机后如何修改IP_SSSEdward的博客-CSDN博客。 这次docker正常启动了,但是出现了访问不了的情况,但是…

短视频矩阵系统源码打包附赠分享

矩阵系统源码主要有三种框架:Spring、Struts和Hibernate。Spring框架是一个全栈式的Java应用程序开发框架,提供了IOC容器、AOP、事务管理等功能。Struts框架是一个MVC架构的Web应用程序框架,用于将数据模型、Web应用程序的用户界面和控制器逻…

【备战秋招】Java异常处理

Java程序在执行过程中所发生的异常事件可分为两类: Error:Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源 耗尽等严重情况。 比如:StackOverflowError和OOM。一般不编写针对性的代码进行处理。 Exception: 其它因编程错…

使用pytorch进行FFT和STFT

首先,我们定义一个波形,幅值分别为20和38,频率为2和13: y 20 sin ⁡ ( 2 π 2 x ) 38 sin ⁡ ( 2 π 13 x ) y20 \sin (2\pi \times 2x)38\sin (2\pi \times 13x) y20sin(2π2x)38sin(2π13x) 采样频率为200Hz,采…

十四届蓝桥杯省赛CB

hinhin可否不要老&#xff0c;令创新高 A 日期统计B 01 串的熵C 冶炼金属D: 飞机降落E: 接龙数列F: 岛屿个数G: 子串简写H: 整数删除I: 景区导游J: 砍树 A 日期统计 #include <bits/stdc.h> using namespace std; #define int long long int #define pii pair<int,int…

VR云探校:解锁不一样的视角,“沉浸式”打卡校园

仲夏六月&#xff0c;又是一年高考时&#xff0c; 高考首战已经正式拉开帷幕&#xff0c; 超千万考生赴考&#xff0c;更有千万考生家长花式赴考。 少年的你披星戴月走过的路&#xff0c;终将会繁华遍地&#xff0c;今天VR全景就为千万考生和家长解锁不一样的视角&#xff0…

java观察者模式例子

观察者模式&#xff1a; 是一种常用的设计模式&#xff0c;它定义了一种一对多的关系&#xff0c;让多个观察者对象同时监听某一个主题对象&#xff0c;当主题对象状态发生变化时&#xff0c;它的所有观察者都会收到通知并且自动更新。 在观察者模式中&#xff0c;主题对象通…

Minicap编译及简单使用

什么是MiniCap 官方说法&#xff1a;Minicap提供了一个套接字接口&#xff0c;用于从Android设备流式传输实时屏幕捕获数据。它旨在用作更大程序中的组件&#xff0c;因此仅凭其本身并不是非常有用。例如&#xff0c;它在STF中用于远程控制。 个人理解&#xff1a;Minicap是用…

如何检查 Android 设备是否支持 Widevine DRM

想知道您的 Android 设备是否可以流式传输来自 Netflix 和 Amazon Prime Video 的高清视频&#xff1f;这是检查 Widevine DRM 支持的方法&#xff01; 许多流媒体服务&#xff0c;如 Netflix、Disney、Hulu 等&#xff0c;使用各种类型的数字版权管理 (DRM) 来保护其内容不被…

VulnHub项目:Hogwarts dobby

靶机地址&#xff1a;Hogwarts: Dobby ~ VulnHub 哈利波特也是初中时候最喜欢的电影~Dobby多比是马尔福加的奴隶精灵&#xff0c;出现在第二部密室中&#xff0c;后来被哈利波特的袜子所拯救&#xff0c;成为了一只快乐自由的小精灵&#xff0c;最后它在死亡圣器中&#xff0c…

keil从非0x08000000地址调试STM32单片机程序方法

在使用stm32单片机的串口IAP升级功能时&#xff0c;需要调试bootloader程序和app程序&#xff0c;一般bootloader的程序都是从0x08000000地址开始运行的&#xff0c;使用keil软件可以直接进行仿真&#xff0c;但是如果调试app程序的话&#xff0c;由于它不是从0x08000000地址开…

Java程序判断是否是回文

1 问题 利用java程序判断是否是回文。 2 方法 利用函数库&#xff0c;将输入的字符串倒置&#xff0c;看倒置后的字符串和原来的字符串是否一样&#xff0c;然后得出结论。 package practice; import java.util.Scanner; public class Huiwen { public static void main(St…

【MySQL数据库 | 第五篇】DDl操作数据库

目录 &#x1f914;DDL介绍&#xff1a; &#x1f914;语法详解&#xff1a; 1.查询&#xff1a; 1.查询所有数据库&#xff1a; 示例&#xff1a;查询自带数据库 2.查询当前数据库&#xff1a; 2.创建&#xff1a; 示例&#xff1a;创建一个名字叫做itcast的数据库&…

第一期丨INTERSPEECH 2023 论文预讲会

INTERSPEECH 2023 论文预讲会是由CCF语音对话与听觉专委会、语音之家主办&#xff0c;旨在为学者们提供更多的交流机会&#xff0c;更方便、快捷地了解领域前沿。活动将邀请 INTERSPEECH 2023 录用论文的作者进行报告交流。 INTERSPEECH 2023 论文预讲会第一期邀请到清华大学和…

【新版】系统架构设计师 - 系统工程与信息系统基础

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 文章目录 架构 - 系统工程与信息系统基础考点摘要系统工程概念系统工程方法生命周期阶段及方法 信息系统诺兰模型信息系统的生命周期信息系统的建设原则信息系统的开发方法信息系统的分类信息化系统业务处理系统【…

【高危】Apache Cassandra 存在越权漏洞导致远程命令执行

漏洞描述 Apache Cassandra 是 Apache 基金会的一个分布式 Nosql 数据库。 Apache Cassandra 的受影响版本中&#xff0c;由于没有对JMX/nodetool权限的用户做限制&#xff0c;当启动FQL/Audit日志时&#xff0c;拥有 JMX/nodetool 权限的攻击者可以以 cassandra 的身份权限执…