Зависимость длительности высокого и низких уровней при управлении шаговым двигателем

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

  1. Suyano

    Suyano Нерд

    Добрый вечер!

    Есть шаговый двигатель с 4 выводами
    [​IMG]

    И драйвер DRV8825
    [​IMG]

    Управляю без библиотек, примерно так:
    Код (C++):
    digitalWrite(StepPin, HIGH);
    delayMicroseconds(100);
    digitalWrite(StepPin, LOW);
    delayMicroseconds(100);
    Только вместо delay идет micros().

    В коде можно регулировать длительность низкого уровня и длительность высокого.

    Вопрос: есть ли определенная зависимость от выбора соотношения высокой и низкой длительности?
     
  2. b707

    b707 Гуру

    скорость ШД зависит от частоты(то есть от суммы длительностей HIGH + LOW), а не от длительности отдельных частей. Но у драйвера может быть такая характеристика, как минимальная длит. управляющего сигнала - это надо смотреть в даташите
     
    Suyano нравится это.
  3. Ariadna-on-Line

    Ariadna-on-Line Гуру

    В теории (где у элементов нет паразитных параметров) разная длительность уровней приведет к остаточному намагничиванию железа двигателя, и как следствие - к уменьшению индуктивности, и как следствие - к росту тока и потерям энергии. Но поскольку в Ардуинных проектах применяются "допотопные" схемы и нет жесткого стремления к экономичности - отпадает нужда в одинаковости длительностей. Но и делать разные длительности абсолютно никакой пользы нет.
     
    Suyano нравится это.
  4. akl

    akl Гуру

    какое намагничивание. там драйвер, от длины импульса ничего не зависит. кроме как уже заметили регистрации импульса в принципе если он слишком короткий
     
    Suyano нравится это.
  5. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Ну да - там где драйвер работает по фронту тактового сигнала - ему побоку длительность. Если же частота повторения тактовых сигналов слишком большая, драйвер их игнорирует.
     
    Suyano нравится это.
  6. parovoZZ

    parovoZZ Гуру

    DRV8825 - это контроллер шагового двигателя с интегрированным драйвером, а не просто драйвер. А про драйвер @Ariadna-on-Line всё верно написал.
     
    akl и Suyano нравится это.
  7. Suyano

    Suyano Нерд

    @b707, @Ariadna-on-Line, @akl, @parovoZZ

    Большое спасибо за ответы!
    Посмотрел даташит драйвера, там действительно много интересного (есть микрошаги, вроде защита от резонанса, защиты от КЗ, перегрева).
    Буду экспериментировать.