РЕШЕНО Помогите решить проблему со стрелочным тахометром на шаговом двигателе

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем Cunabo, 4 янв 2021.

  1. Cunabo

    Cunabo Нуб

    Делаю стрелочный тахометр на шаговом двигателе (шаговик Sonceboz 6405R407 (даташит), плата Arduino Mega 2560) для игры-автосимулятора. Так вот, пока отлаживаю, накидывая на ардуину преобразованные в количество шагов значения оборотов. Что-то получается, но проблема в том, что при малых изменениях значений оборотов стрелка дрыгается, шаговик издаёт страшные звуки и всё такое нехорошее. Уже перепробовал кучу библиотек для шаговиков, миллиард раз переписывал код, но так ничего и не получилось. Наиболее адекватно работал самый примитивный код со стандартной библиотекой для шаговиков, а именно:
    Код (C++):

    Stepper stepper(600, 31, 33, 35, 37);
    int currentPos = 0;
    int targetPos = 0;
    String inData = "";

    void setup() {
      Serial.begin(115200);
      stepper.setSpeed(15);
    }

    void loop() {
      if((currentPos != targetPos) && (currentPos < targetPos)) {
        stepper.step(1);
        currentPos++;
      }
      if((currentPos != targetPos) && (currentPos > targetPos)) {
        stepper.step(-1);
        currentPos--;
      }
    }

    void serialEvent() {
      while(Serial.available() > 0) {
        char recieved = Serial.read();
        if(recieved == '\n') {
          targetPos = inData.toInt();
          Serial.println(targetPos);
          inData = "";
        }
        else {
          inData += recieved;
        }
      }
    }
     
    Уже голову сломал, ничё не получается, я уже отчаялся. Корявенько объяснил проблему, надеюсь поймёт кто.

    Может подскажет кто, как это можно реализовать? Или накидает небольшой кодец для примера?
     
  2. Рокки1945

    Рокки1945 Гуру

    Приветствую - а драйвер у шагового есть?
     
  3. parovoZZ

    parovoZZ Гуру

    для реализации микрошага необходим либо драйвер с поддержкой оного, либо прекрасно представлять, как его реализовать. Реализуется он на ШИМ. Здесь его и рядом нет.
     
  4. Cunabo

    Cunabo Нуб

    Да, до меня дошло, что нужен драйвер для реализации микрошагов.