资料介绍
描述
半步电机驱动器
该项目是如何更准确地驱动双极步进电机的示例。驱动是通过软件切换 IO(bitbanging)并使用 Arduino MKR 的 PWM 定时器来完成的。对于半桥,我们使用 ST L298N 。
为什么是半步?
双极步进电机通常通过切换线圈进行四相步进。添加中间步骤使其更加准确和平滑(但扭矩会小一些)。这是一个有趣的链接,用于说明整步和半步之间的区别。我们将切换以下图表:
我们总共有 8 个状态,一个接一个地对微步进行排序。每个序列状态的时间将定义切换速度和电机速度。通过将线圈序列之一相移 180 度(4 微步),方向很容易控制。
Bitbanging 和 PWM
使用的 L298N 电机驱动器可以驱动全桥 MOSFET 并切换线圈电流的正向、负向(或关闭)。
这是通过软件 IO 切换 - 位转换 - IN1/IN2 和 IN3/IN4 输入来完成的。L298N 驱动器是内部设置的,以防止通过 IN 信号上的反相输入门在一条腿上出现捷径 - 很好 :)。也可以用 PWM 信号驱动电桥使能信号 ENA/ENB,在线性区域稍微控制电流。这是由 Arduino Micro 的硬件完成的。MKR 版本有一个 ATSAMD21,可以产生 25Khz PWM 信号。有关详细信息,请参阅我的其他高速 PWM 项目。L298N 驱动程序在Arduino Motor Shield Rev3上设置,它将数字 IO 和感应 IO 连接到模拟输入,因此我们可以测量通过电机的电流。还将使用外部电源 (12V) 并在电机护罩上提供支持。(重要:拆焊 Vin 连接!)我们使用MKR2UNO转换板将它们连接在一起。
NEMA 17 步进器
对于这个项目,我们使用 NEMA 17 格式的双极步进电机。它有 200 步(每步 1.8 度),但使用半步驱动需要 400 步转一圈。每个线圈的最大电流为 0.75A,我们通过 SenseA 以 1.65V/Amp 测量 CoilA 上的电流。
软件代码
Arduino 代码写在一张草图中。我使用全局变量来定义关键数据,例如:
- Sequencer[7][8]:每个驱动信号的 8 个 ustep 状态的序列。
- CurrentArray0[32]:用于监视电流和计算锁定的滚动数据
- ShadowArray[512]:调试数据数组,用于绘制电流图
关键例程如下,代码中自解释:
- MotorLoop(int lps, int dir):驱动电机在任何方向上进行 x 步
- int CalcArray():计算锁定状态,返回%电流偏差(*10)
- MotorPowerDown():通过关闭半桥关闭电机。(无电流)
- DataDump():通过串口转储监控和调试数据
电机回路
电机回路正在读取序列发生器阵列,写入 IO(EN1/EN2、EN3/EN4)并写入 PWM 占空比(ENA/ENB)。以微秒为单位的相位延迟也在定序器阵列中。方向是通过将 CoilB 的数组索引移动 0 或 4 来完成的。第一圈还有一个启动序列 (#define MOTORSTART)。它的启动速度稍慢(扭矩更大),然后按照编程保持在正常速度。
锁定监控
关键是理解锁仓计算。该程序在每第 3 个序列状态(最大电流驱动)中测量 CoilA 中的电流,并将其保存在监控数组中。然后计算当前*时间偏差。为什么?> Current*Time与Watt*Time成线性关系(假设电压恒定),相当于Newton*Meter,也就是系统中的能量变化量(焦耳)。测量这种能量变化并触发超过某个值,就会触发锁定。锁定触发器在代码中定义 (#define MOTORLOCK)
你的马达?
对于每个电机,此电流*时间行为都会不同。要理解这一点,您可以转储测量的电流数据(用分号分隔),并将其复制粘贴到 Xls 表,制作数据表,计算触发器和图表:
当以不同的 PWM 电平或其他时序速度驱动时,您会在测量中看到严重的斩波尖峰。有一个设置可以使电流尖峰达到一定水平以上。(#define PEAKFILTER),改变并尝试。:)
- 使用Arduino L298N控制光驱两项四线步进电机
- 电机驱动器L298N模块介绍
- Arduino实验17 L298N电机驱动模块
- Arduino使用伺服和L298N驱动器的避障车
- L298n电机驱动器Arduino开源
- 如何使用L298N电机驱动器
- arduino的L298N电机驱动模块 10次下载
- L298N电机驱动
- L298N电机驱动的使用
- L298N步进电机驱动器的详细资料介绍 46次下载
- L298N电机驱动器的详细资料合集免费下载 249次下载
- L298N直流步进两用驱动器电路图与CPB 0次下载
- L298N电机驱动器_共地电路图与PCB源文件 0次下载
- L298N直流步进两用驱动器参考程序 0次下载
- L298N电机驱动模块指导书 56次下载
- 如何正确选择步进电机驱动器 1394次阅读
- 为什么步进电机要加驱动器 790次阅读
- L298N引脚定义及功能 2.5w次阅读
- L298N模块介绍 6602次阅读
- 如何使用L298N和Arduino板控制直流电机 1w次阅读
- 基于L298N芯片对离子渗氮中压强的控制设计方案 2306次阅读
- 步进电机驱动器有什么参数_步进电机驱动器常见故障维修 1.5w次阅读
- dfrobotL298N直流电机驱动模块DF-MD介绍 3741次阅读
- 步进电机驱动器工作模式_步进电机驱动器电路图 8675次阅读
- l298n驱动电机的工作原理_L298N驱动步进电机程序 6.9w次阅读
- TMS320F28027与L298N的悬挂运动控制系统设计 3879次阅读
- 基于Intel8253与L298N的电机PWM调速方法 6762次阅读
- L298N中文资料汇总_L298N引脚图及功能_工作原理_特性参数及典型驱动电路 57.5w次阅读
- 汽车动力系统之微步步进电机驱动器技术性分析 1949次阅读
- 微步步进电机驱动器在AFS应用中堵转检测的实现 4811次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多