Отсутствует

Отсутствует

Код 404 страница не найдена. К сожалению, страница отсутствует или перемещена.

Ниже приведены основные подразделы этого сайта.

  • Главная страница General Electronics
  • Мой канал электроники на YouTube
  • Проекты микроконтроллеров Arduino
  • Raspberry Pi и Linux
  • Пересмотр регистров портов Arduino
  • Digispark ATtiny85 с MCP23016 GPIO Expander
  • Программа безопасного построения H-моста
  • Построить управление двигателем H-Bridge без фейерверков
  • MOSFET H-мост для Arduino 2
  • Гистерезис компаратора и триггеры Шмитта
  • Учебное пособие по теории компараторов
  • Фотодиодные схемы, работа и использование
  • Оптопара MOSFET Реле постоянного тока с фотогальваническими драйверами
  • Подключение твердотельных реле Crydom MOSFET
  • Схемы фотодиодных операционных усилителей. Учебное пособие 9.0015
  • Входные цепи оптопары для ПЛК
  • h21L1, 6N137A, FED8183, TLP2662 Оптопары с цифровым выходом
  • Цепи постоянного тока с LM334
  • LM334 Цепи CCS с термисторами, фотоэлементами
  • LM317 Цепи источника постоянного тока
  • TA8050P Блок управления двигателем H-Bridge
  • Оптическая изоляция блоков управления двигателем H-Bridge
  • Полностью NPN-транзисторный блок управления двигателем H-Bridge
  • Основные симисторы и SCR
  • Твердотельные реле переменного тока с симисторами
  • Светоактивируемый кремниевый выпрямитель (LASCR)
  • Базовые схемы управления транзисторами для микроконтроллеров
  • ULN2003A Транзисторная матрица Дарлингтона с примерами схем
  • Учебное пособие по использованию силовых транзисторов Дарлингтона TIP120 и TIP125
  • Управление силовыми транзисторами 2N3055-MJ2955 с транзисторами Дарлингтона
  • Общие сведения о биполярных транзисторных переключателях
  • Учебное пособие по переключению мощных N-канальных МОП-транзисторов
  • P-Channel Power MOSFET Switch Учебное пособие
  • Сборка транзисторного управления двигателем H-Bridge
  • H-мост управления двигателем с силовыми МОП-транзисторами
  • Дополнительные примеры схем H-моста на полевых МОП-транзисторах
  • Сборка высокомощного транзисторного управления двигателем H-Bridge
  • Теория и работа конденсаторов
  • Сборка лампового AM-радиоприемника 12AV6
  • Катушки для высокоселективного кристаллического радиоприемника
  • Добавление двухтактного выходного каскада в аудиоусилитель Lm386
  • Исправление источника питания
  • Базовые силовые трансформаторы
  • Схемы стабилизатора транзистор-стабилитрон
  • Советы и рекомендации по регуляторам напряжения серии LM78XX
  • Биполярные источники питания
  • Создайте регулируемый источник питания 0–34 В с помощью Lm317
  • Использование датчиков Холла с переменным током
  • Использование переключателей и датчиков на эффекте Холла
  • Использование ратиометрических датчиков Холла
  • Использование датчиков Холла с Arduino-ATMEGA168
  • Простой инвертор 12-14 В постоянного тока в 120 В переменного тока
  • Обзор цепей оконного компаратора
  • Автоматическое открытие и закрытие окна теплицы
  • La4224 Аудиоусилитель мощностью 1 Вт
  • H-мост управления двигателем с мощными МОП-транзисторами Обновлено
  • Обновлено в сентябре 2017 г. :
  • Веб-мастер
  • Бристоль, Юго-Западная Вирджиния
  • Наука и технологии
  • 2017 Обновления и удаления веб-сайта
  • Хобби Электроника
  • Конституция США
  • Христианство 101
  • Религиозные темы
  • Электронная почта

  » Главная
» Эл. адрес
» Пожертвовать
» Преступление
» Хобби-электроника
  » Экологичность
» Расизм
» Религия
» Бристоль VA/TN

» Архив 1
» Архив 2
» Архив 3
» Архив 4
» Архив 5
  » Архив 6
» Архив 7
» Архив 8
» Архив 9


 

Веб-сайт Copyright Lewis Loflin, Все права защищены.

Использование библиотеки Arduino AccelStepper

Я подготовил «Недостающее руководство», чтобы объяснить AccelStepper, чтобы его использование стало более распространенным. Этот учебник появился в результате написания «Пропавшего руководства». Руководство, казалось, естественным образом привело к написанию эскизов с использованием AccelStepper для управления одним или несколькими двигателями. Но подход к написанию подходящей программы нигде в руководстве не разъяснен! Цель этого руководства — предоставить это объяснение и предоставить несколько учебных примеров. Когда мы пройдем первые несколько шагов, я буду предлагать подходящее чтение из руководства в качестве сопроводительного материала. Если вы серьезно относитесь к использованию AccelStepper, вы, вероятно, захотите прочитать все руководство. Работая с примерами и придумывая собственные приложения, во что бы то ни стало возвращайтесь к руководству за любыми деталями или объяснениями, которые вы, возможно, пропустили. Если у вас есть вопросы или комментарии, не стесняйтесь размещать их здесь или на форуме AccelStepper. Я приложу все усилия, чтобы ответить.

Детали

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

Введение

Существуют различные типы и размеры шаговых двигателей, и нужно понимать множество деталей. Подборка важных примеров будет рассмотрена и обсуждена на шаге 1. Для тех, кто хочет получить более подробную информацию, вот несколько наиболее полезных ссылок, которые я нашел.

http://homepage.divms.uiowa.edu/~jones/step/ Классический, академический справочник. Много хорошей информации! Большинство ссылок битые, к сожалению.

https://dronebotworkshop.com/stepper-motors-with-arduino/ Хорошее краткое введение с примером кода, не обращайте внимания на примеры AccelStepper — я их предоставлю!

https://learn. adafruit.com/all-about-stepper-motors/what-is-a-stepper-motor Хороший источник оборудования, если оно вам нужно.

https://hackaday.io/project/183279-accelstepper-the-missing-manual  «Отсутствующее руководство» можно найти здесь. Вам не нужно читать все это прямо сейчас, просто держите это под рукой, пока мы продолжим.

Для начала необходимо добавить библиотеку AccelStepper в Arduino с помощью менеджера библиотек. Выберите библиотеку Патрика Оса. Руководство основано на версии 1.61, но если есть более поздняя версия, возможно, вы сможете ее использовать.

Мы также будем использовать библиотеку elapsedMillis, так что загрузите и ее, если у вас ее нет.

Все учебные примеры представлены в инструкциях по сборке ниже. Их семь, обязательно прочитайте их все!

У меня есть еще несколько продвинутых туториалов, которые я скоро опубликую. Вопросы и комментарии приветствуются.

Просмотреть все 9 файлов

  • 1

    Шаг 1. Подключение аппаратного обеспечения

    Поскольку наша цель состоит в том, чтобы управлять настоящим шаговым двигателем с помощью Arduino, нам потребуется некоторое аппаратное обеспечение. Прежде чем мы перейдем к программному обеспечению, нам нужно подключить наш двигатель и драйвер к Arduino. Я также кратко расскажу о типах драйверов и моторов, их сильных и слабых сторонах. Вот наиболее распространенные типы двигателей и приводы, используемые с ними. Вы можете найти гораздо больше подробностей в приведенных выше ссылках, но я постараюсь выделить ключевые моменты и добавить несколько ссылок с подробностями.
    Степперы бывают униполярными или биполярными по конструкции, и обычно их можно определить по количеству проводов. Те, у кого пять проводов, всегда будут однополярными. Те, у кого четыре провода, биполярны. Шестипроводной двигатель можно подключить как биполярный, оставив два центральных провода неподключенными, или подключить как однополярный, соединив два центральных провода вместе и используя их в качестве пятого провода.
    Чтобы подключить двигатель к драйверу, вы должны знать, какие провода являются парами. Проще всего это сделать с помощью мультиметра. Процесс описан здесь.
    https://42bots.com/tutorials/stepper-motor-wiring-how-to/  Тщательное обсуждение идентификации 4- и 6-проводных двигателей.
    https://www.circuitspecialists.com/blog/how-to-wire-a-stepper-motor/ Не так хорошо, но добавляет информацию о 5-проводных двигателях.

    Драйверы немного сложнее охарактеризовать. Они могут быть рассчитаны на однополярную или биполярную работу, а также обеспечивать работу при постоянном напряжении или постоянном токе. Униполярные драйверы представляют собой просто массив полевых транзисторов и обеспечивают работу с постоянным напряжением. ULN2003 используется для управления небольшими шаговыми двигателями. Он дешевый и простой в использовании. Вот пример.
    https://lastminuteengineers.com/28byj48-stepper-motor-arduino-tutorial/
    Вот моя установка, которую я использовал для тестирования примеров в этом руководстве.

    При таком простом способе управления шаговым двигателем зачем ограничиваться небольшими двигателями? Нельзя ли шестипроводный шаговый двигатель подключить как униполярный? Есть две причины, по которым это не делается. От двигателя можно получить только 1/2 мощности, поскольку одновременно используется только половина каждой катушки. Поскольку биполярные драйверы сейчас очень недорогие, униполярные двигатели и драйверы потеряли популярность. Другая причина заключается в том, что для этих драйверов не так просто работать с постоянным током.

    Биполярные шаговые двигатели должны управляться HBridge. Примеры включают драйверы постоянного напряжения TB6612 или L298 HBridge.
    https://learn.adafruit.com/adafruit-tb6612-h-bridge-dc-stepper-motor-driver-breakout/assembly
    https://lastminuteengineers.com/stepper-motor-l298n-arduino-tutorial/
    Вот моя установка с TB6612 от Pololu, управляющим небольшим биполярным шаговым двигателем. Мы измерили сопротивление, когда выяснили, какие провода являются парными, поэтому легко рассчитать ток, используя закон Ома. если напряжение 5 вольт и сопротивление катушки 50 Ом, то ток равен (i = v/r) 100 мА. Даже небольшие двигатели могут справиться с этим, не нагреваясь. Но если напряжение питания 12 вольт и сопротивление катушки 2 Ома, то ток 6А! Это много и будет нагревать даже более крупный двигатель. Теперь дело в том, что мы хотим использовать 12 вольт, чтобы заставить двигатель двигаться быстро, но нам не нужен весь этот ток. Вот где 9Появляются драйверы постоянного тока 0230 . Используя драйвер, такой как a4988, мы можем работать с 12 вольтами, но ограничивая ток до 1 ампера.

    Драйверы постоянного тока обычно требуют только ввода шага и направления, используя только два провода вместо четырех управляющих проводов, необходимых для предыдущих драйверов. Из-за популярности 3D-печати стоимость этих драйверов за последние несколько лет значительно снизилась. Эти драйверы и двигатели, как правило, лучше всего подходят, если маленькие дешевые двигатели не работают.
    https://lastminuteengineers. com/a4988-stepper-motor-driver-arduino-tutorial/
    Мой драйвер a4988/настройка биполярного двигателя.

    Еще немного информации об этих драйверах:
     Вы должны установить конденсатор большой емкости (100 мкФ) между Vmot и землей, чтобы защитить драйвер от переходных процессов.
      Не подсоединяйте и не отсоединяйте провода к шаговому двигателю с включенным Vmot! Это справедливо для любого водителя.
      Много написано о том, как отрегулировать ток для вашего шагового двигателя. Вы можете попробовать любой из этих методов, но вот метод, который я использовал на многих двигателях. Регулируя потенциометр на драйвере, поверните его до упора, затем медленно увеличивайте, пока мотор не заработает должным образом. Если вы слышите сильный шум от двигателя, попробуйте уменьшить ток.

    Еще одна тема, о которой стоит упомянуть, это микрошаг . Это означает перемещение шагового двигателя менее чем на один полный шаг на заданное приращение. Эта возможность встроена во многие драйверы, такие как a4988. Главное преимущество — более плавное движение. недостатки заключаются в том, что максимальная скорость ограничена и доступна меньшая мощность. Поскольку AccelStepper не волнует, используется ли микрошаг или нет, я не буду обсуждать это дальше, а оставлю это вам для экспериментов.

  • 2

    Шаг 2 Первый скетч AccelStepper

    Рекомендуем прочитать : Конструирование объекта AccelStepper
    Теперь, когда вы научились подключать двигатель к подходящему драйверу и подключили его к Arduino, пришло время начать первый скетч . Первый, который мы рассмотрим, очень прост. Загрузите скетч UnoAccelStepper_ConstantSpeed.ino (находится в разделе «Файлы») в среду разработки Arduino и следуйте инструкциям, которые я разбиваю на части.
    Давайте посмотрим на начало скетча. Вот первые две строчки.

    Мы должны включить заголовочный файл AccelStepper в наш скетч. Вот что здесь происходит.
    Далее мы определим выводы, которые будет использовать наш драйвер. Подробности здесь объясняются в недостающем руководстве. Если вы пропустили предложенное чтение и чувствуете себя потерянным, во что бы то ни стало остановитесь и прочитайте сейчас.

    Рассмотрим каждый из трех типов драйверов, рассмотренных на шаге 1. Сначала контактам присваиваются символические имена, затем создается экземпляр объекта AccelStepper. Вы можете игнорировать или удалять любые определения, которые не используете; измените остальные на контакты, которые использует ваш драйвер. Мне нравится оставлять их все, чтобы было легко попробовать разные драйверы и моторы. Еще одно соображение заключается в том, чтобы контакты прерывания оставались доступными — D2 и D3 на Uno.
    Вот процедура setup().

    Поскольку в этом примере шаговый двигатель просто работает с постоянной скоростью, нам нужно только установить максимальную скорость и желаемую фактическую скорость.
    Наконец, функция loop().

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

  • 3

    Отчет о результатах шага 3

    Хотя скетч из шага 2 будет запускать степпер, желательно, чтобы на экран выводилась некоторая информация. Это позволяет легко экспериментировать и развивать интуицию. Давайте добавим немного кода, чтобы сообщать о скорости и положении каждую секунду.
    Для начала загрузите скетч UnoAccelStepperExper_1.ino в среду Arduino на своем компьютере и следуйте инструкциям. Функционально этот скетч идентичен UnoAccelStepper_ConstantSpeed.ino, который мы только что использовали. Мы рассмотрим только изменения, необходимые для добавления кода отчетов.
    Сначала включите заголовочный файл ElapsedMillis.

    Теперь создайте объект ElapsedMillis непосредственно перед функцией setup().

    Обратите внимание, что Serial.begin(115200) добавлен в функцию setup(). Это позволяет быстро записывать данные через USB.
    Наконец, используйте объект ElapsedMillis для создания отчета каждую секунду.

    Вот результаты выполнения этого скетча, как сообщается в последовательном окне Arduino.

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

    Давайте узнаем, как использовать кастрюлю для взаимодействия со степпером. Мы будем использовать горшок для изменения скорости. Загрузите UnoAccelStepper_speedControl.ino, который включает в себя отчеты о результатах сверху.
    Первая часть наброска идентична той, с которой мы только что работали. Добавлено определение максимальной скорости, а начальная скорость определяется как одна пятая от нее. Код для сообщения о результатах тот же.