2

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

同样为了减速,我的计划是在相反的方向上做同样的事情。

4

0 回答 0