步进电机28BYJ-48:如何找到角度0?或者它的初始点?

时间:2016-05-04 21:20:01

标签: python beagleboneblack gpio

我想找到一个步进电机的正面点,如果存在的话,我可以将它旋转90度或512步(2048步完全旋转)。我在步进电机上放了四个杯子,我想用杯子1的0度,杯子的杯子90度等等。我用Beaglebone Black和python语言一起使用它。到目前为止,我只能移动电机给他一些步骤。我使用Adafruit_BBIO库来控制Beaglebone的GPIO。 是否有可能获得电机的初始位置或将其移至正常位置?我以前从未使用过步进电机。

谢谢。

1 个答案:

答案 0 :(得分:1)

否 - 如果没有附加信息(输入),则无法确定步进电机的确切位置。正如您所注意到的那样,您只能移动一定数量的步骤,但除非您知道自己的起点,否则您将无法知道最终的结果。

这通常通过在已知位置使用另一个输入(通常是限位开关)来解决,使得当移动部件直接在该位置上时开关闭合。首次启动时,旋转步进器直到开关关闭,此时您知道当前位置。一旦校准了初始位置,那么您可以通过计算步数来确定您的确切位置(假设您的电机没有滑动!)

你对喷墨打印机有很多看法;当你第一次打开它们时,打印头将一直滑到一侧(几乎可以肯定有某种探测器)。那就是打印机找到它的零点。

交换机的一些替代方案:

如果您不需要完全旋转,则可以使用伺服电机代替。这些DO具有内部位置感应。

使用步进器的另一种黑客解决方案是在一个末端放置一个机械块,以防止机构通过。然后只需沿给定方向旋转步进一整圈。你知道,在某些时候你会遇到障碍并且已经停止了。这不是很好;你必须要小心,跑到停止不会损坏任何东西或敲击任何不对齐的东西。由于踏步机的性质,您的步数也可能最多3步,所以这不会超高精度。