NEMA17: Управление шаговым двигателем в реальном времени с Arduino

Поделиться
HTML-код
  • Опубликовано: 14 окт 2024

Комментарии • 61

  • @v.d.7900
    @v.d.7900 2 года назад +2

    Спасибо. Познавательно и доходчиво.

  • @mrfse3831
    @mrfse3831 3 месяца назад +2

    Наконец то хоть где то нашёл адекватную сборку и обьяснение на серводвигателе, особенно за большой обьем обьяснений по скетчу

  • @sonymd1777
    @sonymd1777 2 месяца назад

    *Благодарю Автора*

  • @Андрей-с7ф2ъ
    @Андрей-с7ф2ъ 3 года назад +3

    Спасибо за урок. Думаю всем было бы интересно как реализовать перемещение на определенное расстояние. Задал значение на дисплее и двигатель сделал определенное количество шагов.

    • @YourDuino
      @YourDuino  3 года назад +6

      Реализовать Вашу задачу очень просто, совместив скетчи из обоих уроков. Алгоритм управления по числу шагов приведен в первом уроке. Берете цикл, переменную для верхней границы цикла выводите на дисплей (это и будет число шагов) и настраиваете, как во втором уроке. Конечно, нужно будет немного поменять скетч, но основной код уже готов.

  • @nordiks70
    @nordiks70 2 года назад +15

    здравствуйте урок понравился не могли бы Вы сделать тоже самое только на дисплей выводить не частоту а выставлять колличество оборотов (нужно для намоточного станка)

    • @YourDuino
      @YourDuino  2 года назад +13

      Здравствуйте. Если еще кому-нибудь интересна такая реализация - ставьте лайки. 10 лайков и снимем коротенькое видео, как выставлять обороты. Для персонального решения можете написать запрос на info@yourduino.ru, но это будет платно. Спасибо.

  • @OleksandrKharchenko-gy2wv
    @OleksandrKharchenko-gy2wv Год назад

    Вечер добрый.
    Есть переключатель на 5 отдельных положений. У переключателя есть центральное положение в которое он возвращается автоматически (типа джойстик) и шаговый мотор, который двигает «деталь».
    Нужно так что-бы каждому положению переключателя соответствовало одно из пяти положений «детали» не зависимо от порядка включения и при отпускании «джойстика» (центральное положение) оставалось включенныйм выбранное.
    Схема должна быть записана двумя источниками питания для того чтобы при отключения одного из питаний, занималась пятая позиция «детали».

  • @wantcando5819
    @wantcando5819 3 года назад +2

    Спасибо за науку!

  • @andrewdoynikov9682
    @andrewdoynikov9682 Год назад

    Спасибо огромное, то что искал.

  • @NLOLegion
    @NLOLegion 20 дней назад

    Еще бы и к джойстику - влево слегка - медленное вращение, сильно - сильное, вправо аналогичным способом. Вверх-вниз - аналогично вторым шаговиком управлять.

  • @ДмитрийИванов-ч2ы3ч
    @ДмитрийИванов-ч2ы3ч 7 месяцев назад

    Спасибо большое!

  • @iva5610
    @iva5610 3 месяца назад +1

    Здраствуйте. Как сделать так, что бы значения на дисплее и скорость вращения, соответственно, можно было бы менять без нажатия на энкодер (в реальном времени)?

  • @aleks-mar
    @aleks-mar Год назад +1

    тема интересная, но уж как то завернули алгоритм... Нам на драйвер нужно подавать импульсы с заданной частотой. 1 оборот двигателя - это 200 шагов, если дробить на 16, то получаем 3200 импульсов на один оборот. Теперь надо бы определиться с заданным диапазоном частоты вращения. допустим от 10 до 1000 оборотов в минуту необходимо получить . Это же значение вывести на дисплей. значит нужно создать генератор сигналов с регулируемой частотой от 3200*10 /60=533Гц (длительность периода 1876mкs) -это 10 об/мин (мин) до 3200*1000/60=53,3кГц ( длительность периода 18,762mks) - это 1000 об/мин. (макс). И было бы супер задать алгоритм, чтобы вращая энкодер мы задавали частоту вращения в об/мин. и выводили ее на дисплей, а этим оборотам задавалась бы соответствующая частота генерации на выходе. Остается решить вопрос как реализовать это в скетче. Но в любом случае ширина импульса должна быть равна ширине паузы.

  • @aleks-mar
    @aleks-mar Год назад +1

    очень нужная для меня тема, но на экране совершенно не видно скетча ((. Это, что то с разрешением на моем компе? или у всех так не четко видно?

  • @СтюиГ
    @СтюиГ 2 года назад +3

    Существует ли возможность включить в алгоритм датчик температуры, по показаниям которого ШД шагнет на определенное количество шагов?. Есть острая нужда установить ШД на газовый котел, на котором в зависимости от температуры батарей, ШД будет крутить ручку положения газового котла. Если есть возможность вписать в алгоритм ещё и датчик реального времени, то цены бы не было такому проекту!

  • @МишаДжонов
    @МишаДжонов Год назад +1

    Покажи пожалуйста как подключить не к уно, а к нано несколько шаговых моторчиков! Заранее благодарен!

  • @ЮрийЛаськов-щ2и
    @ЮрийЛаськов-щ2и Год назад

    Добрый день готовую продукцию можно заказать. Спасибо

  • @crazymoto6734
    @crazymoto6734 2 года назад +1

    Здравствуйте) Но ведь показанный в видео пример, не является "real time" системой!

  • @ДмитрийХорольский-ш5л

    Спасибо за урок! Подскажите пожалуйста как сделать плавное ускорение шаговиком по синусоиде . Спасибо

  • @NLOLegion
    @NLOLegion 20 дней назад

    Эх, с джойстиком бы такое. там и направление и скорость... Да ещë бы на нано.

  • @TV-lp8of
    @TV-lp8of 6 месяцев назад

    А если 23 шаговый подсоединить будет крутить ?

  • @iticompany1808
    @iticompany1808 Год назад

    Нужен скетч для стола планшетного принтера на шаговом двигателе от штатного энкодера

  • @v.d.7900
    @v.d.7900 2 года назад

    Как сделать управление чтобы разные кнопки включали разные режимы работы двигателя. Если такое есть дайте ссылку. Спасибо

  • @iakovkate1016
    @iakovkate1016 Год назад

    а слабо извернуться, и подключить (желательно к esp8266) шаговик 28byj48 с драйвером на uln2003 через расширитель на чипе PCF8574?

  • @ЕвгенийРудаков-с7ф

    Здравствуйте, как сделать так что бы скетч повторялся?

  • @alexrex4272
    @alexrex4272 Год назад

    драйвер же могу 2208 использовать от принтера?

    • @YourDuino
      @YourDuino  Год назад

      Вполне, только распиновку проверять. Может отличаться.

  • @ВячеславПодгурский-н4ы

    Доброго времени! Подскажите начинающему. Вот есть два шд NEMA17 хотелось бы управлять ними джойстиком как бы по осям с изменением скорости вращения. Это реально?

    • @YourDuino
      @YourDuino  2 года назад +2

      Добрый день.
      Конечно возможно. Лазерные и фрезерные станки практически так и работают.
      Кстати, интересная идея для следующего видео!!!))) Спасибо!

    • @ВячеславПодгурский-н4ы
      @ВячеславПодгурский-н4ы 2 года назад

      @@YourDuino Спасибо большое!!! Буду оч ждать. Никак у меня ума не хватает сделать. Спасибо .

  • @alexrex4272
    @alexrex4272 Год назад

    подскажите пожалуйста))
    можно ли к этой схеме подключить еще один движок? что бы два движка управлялись одно ардуиной?
    можно ли сделать, что бы мотор поворачивался только тогда, когда я кручу энкодер? что бы на 1 шаг э\к был только 1 шаг мотора...

    • @YourDuino
      @YourDuino  Год назад +1

      Если требуется одновременное синхронное управление, то можно взять еще один драйвер и один движок и соединить параллельно пины управления драйверов.
      Чтобы поворачивать движок на 1 тик энкодера, правильней будет ловить прерывания энкодера и давать импульс на драйвер. Тогда все получится.

    • @alexrex4272
      @alexrex4272 Год назад

      @@YourDuino спасибо

  • @TamepLAN
    @TamepLAN 3 года назад

    Спасибо большое! А как называется понижающий модуль питания? Нигде не могу найти его. Только для макетной платы, который понижает до 3,3 и 5, но выхода на 9в у него нет

    • @YourDuino
      @YourDuino  3 года назад +2

      Добрый день. У нас он называется вот так www.yourduino.ru/product/preobrazovatel-napryazheniya-dc-dc-33v-5v-s-vyklyuchatelem
      На выход OUT идет входное напряжение напрямую (не через выключатель) и без преобразования.

    • @TamepLAN
      @TamepLAN 3 года назад

      @@YourDuino спасибо за ссылку - нашел. Отличные уроки!

  • @nikolayshushkin5865
    @nikolayshushkin5865 Год назад +1

    управление скоростью вращения через выключение выглядит надуманной

  • @borysshtangeyev502
    @borysshtangeyev502 2 года назад

    Что за энкодер? Где найти? "KY-040 360°Rotary Encoder Module For Arduino" - подходит?

    • @YourDuino
      @YourDuino  2 года назад

      Да, именно он.

  • @alexrex4272
    @alexrex4272 Год назад

    Именно 9 вольт надо или 12 можно?

    • @YourDuino
      @YourDuino  Год назад

      Напряжение определяется возможностями драйвера. Можно подавать и 12В. Для схемы питания, приведенной в видео, более 12В не рекомендуется, т.к. стабилизатор ардуины будет сильно греться.
      На DRV8825 можно до 45В подавать по даташиту, но тогда нужно менять схему питания. Схема, используемая в видео, самая простая и приведена больше в ознакомительных целях.

  • @fendyrony3264
    @fendyrony3264 2 года назад

    Здравствуйте! Подскажите пожалуйста, как сделать чтобы можно было визуально контролировать уровень нагрузки шагового двигателя?
    Например, при холостом вращении - выводится значение ноль, при какой-то нагрузке выводиться соответствующее число (например значение силы тока).

    • @YourDuino
      @YourDuino  2 года назад +1

      Можно попробовать повесить на одну из обмоток датчик тока на ACS712, например такой www.yourduino.ru/product/gy-712-modul-datchika-toka-5a.
      И по его показаниям сделать нужную градацию и выводить на дисплей.

    • @fendyrony3264
      @fendyrony3264 2 года назад

      @@YourDuino Спасибо Вам за ответ. Буду пробовать.

  • @ВадимШевченко-и1ь
    @ВадимШевченко-и1ь 2 года назад

    Привет, скажи пожалуйста, если я заменю nema 17 на фрезере ЧПУ, (поставлю усиленный) нужно будет менять настройки программы? (просто я дуб дубом в этой теме🙂

  • @ЛысыйЕвгений-ж6с
    @ЛысыйЕвгений-ж6с 2 года назад

    Здравствуйте. А какое максимальное напряжение на блоке питания? Я так понимаю до 15в?

    • @ЛысыйЕвгений-ж6с
      @ЛысыйЕвгений-ж6с 2 года назад

      Я имею ввиду на dc dc преобразователь

    • @YourDuino
      @YourDuino  2 года назад +1

      Там обычные AMS1115. Больше 12В не рекомендуется, хотя в даташите до 15В.

  • @TamepLAN
    @TamepLAN 3 года назад

    Повторил вашу схему - в итоге всё, вроде, работает за исключением самого шаговика. Он просто рычит/дрожит, а вал стоит на месте. На регулировку энкодера реагирует (частота рычания/дрожания изменяется), но вал так и стоит на месте. Перепробовал все режимы шагов, но результат прежний. В чём может быть проблема?

    • @YourDuino
      @YourDuino  3 года назад

      Попробуйте поиграться со значениями pulse_interval, min_interval и max_interval в скетче, увеличивая паузу между импульсами и диапазон. Ну и схема питания. Это основные моменты, которые могут влиять на работу шаговика, если он изначально рабочий.

    • @YourDuino
      @YourDuino  3 года назад

      Еще можете попробовать добавить delayMicroseconds(5); после digitalWrite(STEP_PIN , LOW); в цикле do { } while (), который выдает импульсы на движок.

    • @TamepLAN
      @TamepLAN 3 года назад

      @@YourDuino спасибо, сейчас буду пробовать

    • @TamepLAN
      @TamepLAN 3 года назад

      @@YourDuino пока что это лучший результат, которого удалось достичь. Изменение диапазона особо ничего не изменило. Добавление задержки в цикле немного улучшили ситуацию, но незначительно. Как минимум, удалось добиться полных оборотов на 960. Другие значения - ещё хуже - оборотов нет. ruclips.net/video/1eSU9RNPv8c/видео.html

    • @YourDuino
      @YourDuino  3 года назад

      А потенциометром на драйвере ток обмоток регулировали?

  • @Юра-ч7э
    @Юра-ч7э 2 года назад

    не могу скачать скеч