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