我正在使用 Arduino Uno、电源屏蔽(模型参考)和双极步进电机构建一个系统。
我无法使用 Arduino 的步进器库启动电机。我用
实例化我的步进器Stepper myStepper(motorSteps, motorPin1,motorPin2m motorPin3,motorPin4);
并继续使用 Arduino 提供的示例代码。
当我在Arduino上启动代码时,电机发出一些声音,但不转动。
正如您所建议的,adafruit 电机扩展板应该适合 arduino 步进器库,因为它使用 L293D 来驱动电机。它可以驱动 2 个步进器,电流为 0.6A(适用于打印机、软盘/CD/DVD 阅读器中的大多数小型步进器...)。
小心,他们似乎使用自己的库来制作这个盾牌,你可以在这里找到它:
http://www.ladyada.net/make/mshield/download.html
要了解如何连接步进器,请查看此处:
http://www.ladyada.net/make/mshield/use.html
很抱歉以这种方式回答您的评论,但我没有足够的声誉来发表评论...所以,如果您认为这是一个很好的答案,请+1我的答案:)
arduino sketch 不起作用是正常的。它是这样驱动电机的:
您的防护罩以这种方式驱动步进器:
驱动步进电机不是一个好主意,因为您甚至不需要 PWM 来驱动步进电机。它是用来驱动直流电机的。您可以编写自己的草图来使用该屏蔽驱动步进器,但您应该找到适合 arduino 的屏蔽来驱动步进器。寻找类似“UL2003步进模块”之类的东西,它的价格几美元。
编辑:我有其中一个模块,它的作用就像一个魅力。请注意您所需的电源。也许您需要类似 L298N 模块 的东西。我也有一些,而且效果很好。
如果电机发出一些声音,这是个好消息。至少你接触过它。由于它只是声音但没有运动,因此这种行为的背后可能隐藏着三件事;
我可以提供此 URL 链接来确定电机引脚分配;
步进电机有多少根电线? 4 或 6。
您的连接有故障。这就是为什么它会发出这样的声音。
用万用表测试。你发现两根电线电阻很高。另外两个人从中拿出一半。将前两个连接到电机驱动器 out1,后两个连接到 out2。
您没有提及您正在使用哪种电机驱动器。尝试使用 L298 电机驱动器屏蔽。
我认为您遇到的问题与您尝试使用的防护罩类型有关。您链接的电源屏蔽是为直流电机设计的,而您正在尝试使用步进电机(请参阅this网站了解差异说明)。
我建议尝试另一个支持使用步进电机的扩展板(如Sparkfun EasyDriver)。
问题似乎是电机引脚连接错误。 您确定将真正的绕组连接到电机吗? 用欧姆表测量电机引脚。应有两个具有引脚 A1-A2 和 B1-B2 的绕组。在这些引脚之间您应该看到一些电阻值。 然后确保以正确的顺序连接到扩展板。
在mi项目中,我使用双极电机(nema17),您可以使用A4988 pololu(或drv8825,更强大,更昂贵)轻松驱动它。 这些驱动器内部有一个 H 桥,允许您通过简单的方式控制电机:
while(1){
digitalWrite(PIN_STEP, HIGH);
delay(1000);
digitalWrite(PIN_STEP, LOW);
delay(1000);
//1RPM = 100 microsecond delay for a 1.8 degree angle motor (200 steps per
turn)
}
我建议使用 AccelStepper 库来控制使用 arduino ide 的步进器,我使用过很多库,但这个库脱颖而出 它具有基本的两个功能,它可以通过速度或位置或步数来控制步进器。这个库最主要的是代码中没有使用延迟