【发布时间】:2019-08-05 13:40:43
【问题描述】:
我在使用加速步进电机的硬代码示例时遇到问题。我可以让电机以恒定速度运行,但为了让它启动而不失步,我需要加速,因为它会移动相对较重的东西。我编写的代码似乎不想在没有附加代码的情况下迭代它的方式。代码复制到下面的 arduino 代码的 void loop() 部分。
`digitalWrite(dir, HIGH);
for(int i=0; i <= distance; i++){
Serial.println(i);
if(i<1000){
wait = 500 - (0.45*i);
}
else{
wait = 50;
}
digitalWrite(pul, HIGH);
delayMicroseconds(wait);
digitalWrite(pul, LOW);
delayMicroseconds(wait);
}`
程序不想像写的那样运行。 AccelStepper 库不是一个很好的选择,这种类型的加速应该不难添加。我不明白为什么这不起作用。
我添加了继续;在 if 和 else 语句之后也是如此,这并不能解决我的问题。
同样为了减速,我的计划是在相反的方向上做同样的事情。
【问题讨论】:
-
这是一个关于此事的 Arduino 论坛帖子,看起来他们已经解决了。查看后面帖子中的代码forum.arduino.cc/index.php?topic=489323.0