设置步进电机STM32的起始位置

Set Home position for stepper motor STM32

我有一个 Nucleo-IHM01A1 电机驱动器来驱动装有主轴的电机。主轴的长度有限,中间有一个物体。随着电机旋转,物体沿主轴移动。

如何设置电机的Home位置,使得每次运行MCU上的程序,当物体在主轴中心时设置Home位置。

不幸的是,您描述的机械和电气设置实际上不允许以正确的方式进行自动家庭校准。

顾名思义,步进电机用于执行步骤。他们自己没有绝对定位的能力。如果您需要绝对定位,则必须在当前位置未知时(例如启动或丢失步骤后)设置您的归属点,或者向系统添加绝对编码器(然后您始终知道系统状态) .

自动家庭检测的一种解决方案是 limit switches,常用于许多机械系统,尤其是 3D 打印机和其他 CNC 机器。您可能想将其中之一添加到您的设置中,然后朝开关方向行驶,直到它被按下。然后你将它移动到将它移动到中心所需的确切步数,你就完成了。

但是,如果您无法更改设置中的任何内容,您可以只将雪橇沿一个方向移动主轴的长度。当雪橇到达终点时,电机应该停止并松开剩余的台阶。然后你把它移回中心(和以前一样步数不变),你就居中了。考虑到电机失速会使电机和电机驱动器过热。这可能会降低他们的预期寿命。

还有其他解决方案,例如伺服系统或绝对编码器,但据我了解您的目标,限位开关应该没问题。