我在加速步进电机的硬代码示例中遇到问题。我可以让电机以恒定速度运行,但为了让它启动而不失步,我需要加速,因为它会移动相对较重的东西。我编写的代码似乎不想在没有附加代码的情况下迭代它的方式。代码复制到下面的 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 语句之后,这并不能解决我的问题。
同样为了减速,我的计划是在相反的方向上做同样的事情。