历史上的今天
今天是:2024年11月02日(星期六)
2021年11月02日 | 基于3D打印机中推动步进电机的极限控制
2021-11-02 来源:elecfans
原理:
在3D打印领域,新手通常很难理解步进电机的真正驱动方式,比如不少工程师会问这样的问题“我的电机额定电压是4.6V,但是我的打印机有12/24V电源,我可以使用它吗?”。
这是因为我们每天使用的大多数电子产品都使用恒压可变电流电源,这就是我们过去的认知。一个12V的LED灯带将由一个稳定的、可控的12V供电,电流消耗将随着二极管数量(负载)的增加而增加。
步进电机以相反的方式供电-电流是恒定的/可控的(稍后再详细说明),所需的电压随负载变化而变化。这就是为什么在3D打印中12V电源被24V甚至更高电压的电源所取代---因为(除了其他好处之外)采样这种方式打印机可以为电机提供更高的能量,达到更高的运动速度和更好的动态效果,尽管电机的电流保持在同一数值。
但是典型的电源提供恒定的电压,它是如何转换为调节、控制电流的?这是步进电机驱动器的工作,比如TMC2208。

电流调节是通过一种叫做PWM的技术实现的(脉宽调制)。电压是可以通过使用MOSFET实现非常快速的打开和关闭,以致电流在一个所需的水平浮动。但这种电流控制方法不适用于简单的电阻负载--电流调节只能在驱动线圈和磁铁或其他线圈一起使步进电机旋转时实现。
线圈-电感-有一个有趣的特性---它“减缓”了电流,为其加上“惯性”。这意味着,如果施加电压,流过电感的电流不会立即上升,而是缓慢上升。当电压被切断时,同样的事情还会发生——电流不会立即降到0A,而是会随着时间的推移而减少。
顺便说一下,LED实际上也是电流控制的---但对于一个简单的LED灯带来说,一个电阻就足以调节电流,所以最终LED灯带可以看作一个恒压设备工作。
实际测量
在实际测量中可以清楚地看到所描述的电流控制方法:

黄色曲线表示通过电机线圈的电流,青色线表示正在接通/断开的电压。该测量是在待机期间进行的,此时电机不旋转,但保持其位置。电流几乎是恒定的,电压有规律地在短时间内打开,然后再关闭。请注意,这种切换正在发生超过30000次每秒!
当马达开始运动时,有趣的事情就发生了,电流波形的形状不再是平的,它是正弦波。要使电机旋转,电流需要改变以改变励磁磁场,从而产生运动。这一原理适用于所有无刷电机。TMC2208用来主动测量和调节电流,生成一个具有设定幅值的正弦电流形状,有效电压相应地变化。旋转速度取决于当前正弦波的频率。
不用担心电压测量的波动。幅值-在屏幕底部看到或多或少等于我们使用的电源电压32V。RMS值是传送到电机线圈的“多少”有效电压的指标。在这种情况下,测量/计算值不是很精确,但它表明在这个速度下,我们提供的电压低于标称电源电压的40%。
当我们放大时,我们可以清楚地看到前面提到的电感的特殊性质:

当电压打开时,电流上升,但与电压上升/下降的速度相比相当缓慢。当我们关闭电压时,流过线圈的电流下降,但还是相当缓慢。在它达到过低之前,驱动器再次打开电源,电流再次上升。
这基本上就是我们如何保持电流在所需的水平的方法,另请注意,MOSFET 开关导通的时间(电压保持导通的时间)取决于正弦波上的“位置”。当我们查看正弦波时,我们可以看到变化缓慢(靠近顶部/底部)和变化较快(Y 轴上接近零)的区域。如果我们希望电流遵循这种形状,我们只需要在正弦波的“快速区域”中施加更长时间的电压!

微小的不规则性、与理想、平滑的正弦形状的偏差被称为纹波,并且在使用 PWM 控制线圈电流时总是存在。
电机负载的影响
在这一点上一个非常重要的问题出现了-是什么导致所需电压(提供给电机的实际功率)随负载变化而变化?这就是BEMF------每台电机固有的特性。我不想在本文中深入探讨这种现象的物理细节-–简单地说,旋转期间的电机线圈会产生“反”电压,该电压与我们从电源施加到电机的电压相反,这就是为什么它被称为反电动势。速度(或负载)越高,我们需要对抗的BEMF就越高。
BEMF受三个主要因素的影响:
• 电机线圈电感——越小越好
• 设置电流 - 电流越高,电机越强,但产生的 BEMF 也是如此
• 速度/机械负载——当然,BEMF 会随着负载的增加而增加。这就是使用TrinamicStallGuard 的无传感器归位的工作原理——它测量 BEMF!
BEMF的实际影响:
在下面的测量中,我们可以看到加速移动和两个区域的特写——低速/高速

当速度仍然很低时,电机控制器仍有足够的余量来很好地调节电流,因此可以认为正弦波是理想的。但如果我们稍后再放大一些,我们可以看到电流看起来更像一个三角形,并且施加的电压不是很精确。那是因为控制器没有电压余量来正确调节电流,实际上,虽然电机仍在运行,但正弦波会失真。
现在我们了解了如何控制步进电机,我们可以进入下一点并回答最后一个问题——当 BEMF 如此之高以至于与电源电压接近时会发生什么?您可能会猜测电机将开始失步——的确这样,但不会立即出现!老实说,我对驱动器和电机处理极端速度的能力感到惊讶。让我们来看看:

这是使用 24V 电源在一个完整运行期间流过电机线圈的电流。打印机从静止状态开始,然后以 9000 mm/s2 的速度加速到 900 mm/s,最后停止。那么,实际发生了什么?一开始,驱动器能够保持一个正弦波,但稍后,当 BEMF 接近电源电压时,波形会变差,正如我们在上面看到的那样。但此时打印机仍然没有达到所需的速度——很快电机产生的反电动势电压太高,以致不可能达到设定的电流值,它下降,直到达到所需的速度,然后振幅变得稳定,但我们不再看到正弦波——在这一点上,它更接近于方波。
这些结果看起来很糟糕,但实际上——结果还好!机器在这样的设置下运行一年多也不会有问题。在高速应用中,这是很正常的。当然,扭矩大大降低,精度可能不太完美,但减速后,电机恢复标称扭矩,位置精准。900mm/s 是我在开始失步之前认为安全的最大速度。
我还尝试使用来自示波器的原始数据来计算和显示操作期间的平均“电压消耗”。
事实证明这比我预期的要难一些,所以结果只是指示性的——这就是为什么没有提供数字的原因。反正:

两幅图以“Local RMS”表示电压和电流,这或多或少是平均有效值。
我们可以看到,随着速度的增加,我们需要施加越来越多的电压,直到达到极限,此时电流会下降一点。从这些图表中得出两个重要结论:
• 我们永远无法提供 100% 的电源电压,因为我们需要改变电流 -》 我们需要一些时间让它下降。
• 在高速情况下,我们无法为电机提供全功率。
更高的供电电压的好处
可能一些人可能已经意识到,在大多数测量中,我使用的是 32V,而不是 24V 电源。确实如此——我将我的机器升级到了 32V,这就是为什么我决定玩弄我的示波器并比较这两种选择。
它值得吗?确实!

使用之前的设置参数,波形形状看起来好多了,电流幅度比以前高约 60%,这意味着再电机开始丢步之前有更好的稳定性和更高的余量。另一方面,我可以以相当高的加速度进行打印,甚至达到 1200 毫米/秒的速度,而不是更高的安全余量!并不是说它对FDM打印机有多大意义。。。。。。但我对结果非常满意。
总结和建议!
即使是几伏的差异也会改善我们步进电机驱动器的操作或让我们达到更高的速度。有时更高的打印速度会导致打印质量下降,但这通常不是什么大问题,至少我们可以提高行进速度,这不仅会减少打印时间,而且还有助于回缩调整。
凭借我们获得的所有知识,现在我们可以更自信地为我们的机器选择电机。所以:
确保电机额定电感和电阻尽可能的低
对于像TMC2208 或 TMC2130 这样的驱动器,额定电流为1.5-1.7A电机应该是最佳的
对于 TMC2209、TMC2660 和 TMC51X0,额定电流为2.0 – 2.5A 电机即可
选择尽可能高的电机电源电压,但要仔细检查您的驱动器和主板的额定值!
就我个人而言,我认为在接下来的几年里,我们将看到越来越多的 36V 和更高版本的 48V 主板用于Reprap/商业 3D 打印机,因此我们的机器变得越来越好,并且可以利用的速度会提升。唯一的缺点是加热器通常设计为 24V - 但也许这也会改变!
史海拾趣
|
本帖最后由 jameswangsynnex 于 2015-3-3 19:58 编辑 你知道各种电阻的型号是如何命名的嘛?你了解湿敏电阻、光敏电阻、气敏电阻、力敏电阻的特性和区别嘛?你对电容器的标称电容量和允许偏差等主要参数是否已经非常熟悉了,那你知道他们在不同电路上 ...… 查看全部问答> |
|
【光纤通信系统--第三版】--Fiber Optic Communication Systems Fiber Optic Communication Systems Fiber-Optic Communication Systems, 3rd Edition Govind P. Agrawal ISBN: 978-0-471-21571-4 Hardcover 576 pages June 2002 目录: Preface. 1. Introduction. 1.1 Historical Perspective. 1. ...… 查看全部问答> |
|
wince的无线网络搜索连接对话框中,有一个\"新的无线网络可用时通知我\"的复选框,用它能够设置是否自动搜索无线网络. 由于刚功能打开会使系统反应变慢,想通过API来能实现关闭该功能,要用什么API.… 查看全部问答> |
|
请教各位高手: 我使用的平台是philips的LPC23**系列MCU,用keil编译调试,系统分两部分:一是人机交互的界面及键盘菜单控制;二是实时控制程序。人机交互界面部分本来想用C实现,但觉得其逻辑结构比较复杂,所以想用C++来实现(不 ...… 查看全部问答> |
|
如何向U盘扇区写大文件?大于256M,如何写?writefile?deviceiocontrol?内存映射?这些都怎么用?我用了WRITEFILE(),但写进去的都不对,没有成功过,不知道怎么写,项目急用,困惑了好久,真诚向各位请教,谢谢!… 查看全部问答> |
|
在驱动程序中如何获取系统目录路径? 得到类似下面的结果 L\"\\\\Device\\\\HarddiskVolume1\\\\Windows\\\\System32\\\\ 谢谢.… 查看全部问答> |
|
电机控制ST在业界第一个推出了基于Cortex-M3内核的无传感器电机控制方案我想问一下,3210B评估板上实现AC电机控制,供电怎么只有AC30V?请问版主,使用STM32F10x做PMSM电机的效果如何?异步电机变频控制方案何时出,我想比较TI DSP他们到底区 ...… 查看全部问答> |




