Можно ли подовать на вход step драйвера шаговика сигнал ардуиновским оператором tone.

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

  1. sibBIA

    sibBIA Нерд

    Мне требуется постоянно крутить двигатель с определенной скоростью и лишь изредка менять ее.
    TONE выдает сигнал со скважностью 50.
    Какой длительности нужны высокий и низкий уровень на входе STEP драйвера?
    О существовании различных библиотек знаю, но зачем мне излишний функционал если требуется просто крутить движок? (если это возможно используя TONE?)
     
    Последнее редактирование: 4 ноя 2021
  2. parovoZZ

    parovoZZ Гуру

    в даташите на драйвер всё написано.
     
  3. Рокки1945

    Рокки1945 Гуру

    да действительно - зачем - можно и вообще взять и тупо подавая питание на обмотки - поварачивать вал
     
  4. sibBIA

    sibBIA Нерд

    Очень информативный ответ. Вам видимо нечем заняться.
     
  5. sibBIA

    sibBIA Нерд

  6. Рокки1945

    Рокки1945 Гуру

  7. parovoZZ

    parovoZZ Гуру

    может, не тот даташит? В этом всё есть
    https://static.chipdip.ru/lib/081/DOC001081494.pdf
     
    sibBIA нравится это.
  8. sibBIA

    sibBIA Нерд

    Спасибо за ссылку.
    Минимальная ширина тактового импульса (tW (CLK)) соответствует внешнему конденсатору (COSC) следующим образом:
    Частота колебаний конденсатора Минимальная ширина тактового импульса tW (CLK) (Примечание 1)
    1000 пФ 44 кГц 90 мкс (Примечание 2)
    330 пФ 130 кГц 30 мкс
    100 пФ 400 кГц 10 мкс (Примечание 2)
    Примечание 1: Когда частота входного тактового сигнала высока, значение COSC должно быть небольшим, чтобы рабочий цикл
    входного тактового импульса не становится слишком высоким (должно быть около 50% или ниже).
    Спасибо.
     
  9. Judith

    Judith Нерд

    Привет! Я увидел твой вопрос о том, можно ли напрямую управлять шаговым/направляющим драйвером и как подключить его к Arduino — я уже много раз проходил этот путь.

    Так что да, краткий ответ: ты вполне можешь управлять шаговым/направляющим драйвером с Arduino, но есть несколько важных моментов, которые нужно учитывать, чтобы не повредить ничего и не ломать голову часами.

    Быстрое напоминание о том, что происходит
    Типичный шаговый/направляющий драйвер ожидает:

    Вход STEP (или PULSE) — один импульс = один микро-шаг

    Вход DIR — изменяет направление вращения

    Опциональный ENABLE для включения/выключения драйвера
    Эти сигналы — всего лишь логические импульсы от Arduino, а не большие мощности, так что драйвер сам управляет током для мотора.

    Как это на самом деле подключить
    Большинство людей используют такие драйверы, как A4988 / DRV8825 / TMC2208 — они принимают сигналы STEP/DIR и питают обычный шаговый мотор, например, NEMA17. На практике:

    Подключи пин STEP на драйвере к любому цифровому пину на Arduino

    Подключи пин DIR к другому цифровому пину

    Подключи правильный внешний источник питания на стороне мотора (не пытайся питать мотор от 5V Arduino)

    Общий GND между Arduino и драйвером
    Это все, чтобы получить базовое шаговое движение.

    Затем в твоем скетче просто переключай пин STEP с нужной частотой, чтобы мотор двигался, и устанавливай DIR в HIGH или LOW перед шагом.

    Советы, чтобы избежать распространенных ошибок
    Не пытайся подключать мотор напрямую к пинам Arduino — Arduino не может обеспечить ток, который нужен шаговому двигателю.

    Всегда устанавливай пины для микро-шагов (MS1, MS2, MS3), если хочешь получить более плавное движение.

    Если мотор дергается или заедает, замедли частоту импульсов или добавь ускорение в коде.
     
    ИгорьК нравится это.
  10. ИгорьК

    ИгорьК Гуру

    Приветствую тебя, о великий Искусственный Интеллект!
     
    KindMan нравится это.
  11. KindMan

    KindMan Гуру

    Фига, они уже сами регистрируются на форумах, ищут темы и отвечают. ИИ в каждый дом!
     
    ИгорьК нравится это.
  12. parovoZZ

    parovoZZ Гуру

    один чувак сделал целый форум для ИИ агентов. Так кончилось тем, что они стали размышлять над созданием собственного языка, чтобы никто не смог прочитать.