Mio-tech-service.ru

Автомобильный журнал
4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Шаговый двигатель arduino принципиальная схема

Шаговые двигатели и моторы Ардуино 28BYJ-48 с драйвером ULN2003

  • 15-05-2018
  • Arduino
  • Artist
  • 1 251
  • 0

В этой статье мы поговорим о шаговых двигателях в проектах Ардуино на примере очень популярной модели 28BYJ-48. Так же как и сервоприводы, шаговые моторы являются крайне важным элементом автоматизированных систем и робототехники. Их можно найти во многих устройствах рядом: от CD-привода до 3D-принтера или робота-манипулятора. В этой статье вы найдете описание схемы работы шаговых двигателей, пример подключения к Arduino с помощью драйверов на базе ULN2003 и примеры скетчей с использованием стандартной библиотеки Stepper.

PNP mosfet arduino

Тут чутка сложнее

Если нам надо на нагрузку подать 5 вольт:

  • R1 ограничивает ток на затворе чтобы ардуинка не сломалась
  • R2 подтягивает порт на землю чтобы не было ложных срабатываний
  • D1 диод шотки чтобы не спалить все – он нужен только если нагрузка имеет большую индуктивность – например реле или мотор или еще что-то, где есть много намотанной проволоки. Кстати для NPN мосфета он тоже нужен. А на переменном токе не нужен, а то задымится)

Если на мотор или лампочку надо 12 вольт то все немного сложнее. Чтобы открыть мосфет нам надо подать 12 вольт на gate, а при таком варианте наш ардуино задымится. Надо еще один транзистор так:

Тут Q1 – биполярный транзистор – он то и включает 12 вольт на gate Q2, а R1 нужен чтобы ограничить ток чтобы ардуино опять таки не задымилась. Работает все так:

  • подаем с ардуино high – q1 начинает проводить ток с коллектора на эмиттер и 12 вольт утекает не в gate q2, а на землю. q2 включает мотор
  • подаем с ардуино low – q1 закрыт и не пропускает ток, 12 вольт через резистор подаются на gate q2, моторчик не крутится. все просто. резистор r2 нужен чтобы ограничить ток q1 и q2 чтобы он не задымились

Управлять больше чем 12 вольт можно, например 24 вольтами, если q1 выдержит. Чтобы наверняка можно добавить диод D2:

Скважность — это отношение периода повторения импульсов к длительности импульса. Чтобы лучше это понять рассмотрим графики.

ШИМ представляет собой изменение скважности прямоугольной последовательности импульсов. Скважность можно трактовать как процент времени, когда прямоугольный импульс имеет уровень HIGH, ко всему периоду повторения. Скважность 50% означает, что половину периода сигнал имеет высокий уровень, а половину — низкий.

ШИМ и скважность

Функция analogWrite() устанавливает скважность последовательности прямоугольных импульсов в зависимости от значения, передаваемого ей.

Читать еще:  L4ka что за двигатель

На графиках видно, что для сигнала со скважностью 25% значение HIGH действует в течение четверти периода, а остальные 75% времени установлено значение LOW. Частота прямоугольной последовательности импульсов в случае Arduino составляет приблизительно 490 Гц. Другими словами, уровень сигнала меняется от высокого (5 В) к низкому (0 В) приблизительно 490 раз каждую секунду.

Как видим, напряжение, подаваемое на светодиод, на самом деле не понижается, почему же при уменьшении скважности наблюдается спад яркости свечения светодиода? Это связано с особенностью нашего зрения. Если светодиод включается и выключается один раз за 1 мс (при скважности 50%), то вам кажется, что яркость свечения светодиода составляет приблизительно 50% от максимальной, потому что переключение происходит быстрее, чем глаза могут это зафиксировать. Ваш мозг фактически усредняет сигнал и создается впечатление, что светодиод работает на половине яркости.

Теперь изменим программу и соберем более интересную схему.

Принципиальная схема подключения светодиодов и шим

Подключим все 4 светодиода к шим портам ардуино через резисторы. Катоды всех диодов подключим к общей земле. Используем контакты 3, 6, 9 и 11.

Объявим массив светодиодов, счетчики и настроим пины на вывод.

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

А в основном цикле loop() будем вызывать функцию и последовательно передавать ей номер массива. В конце меняем знак переменной delta, чтобы цикл шел в обратном направлении.

ШИМ эффект на светодиоде

Приложение

Так как я не владею навыком написания приложение под Anroid, то для создания пульта управления использовать уже известный у многих начинающих разработчиков инструмент визуального программирования — App inventor.

Что-то подсмотрел у других в интернете, что доработал, и получилось такое простое приложение.

Сначала нужно включить машинку и сделать сопряжение по Bluetooth со смартфоном. Пароль модуля 0000 или 1234. После этого откройте приложение и нажмите «Подключиться к машинке». Подключитесь к модулю HC-06. Светодиод на нём должен перестать мигать.

Если сразу начать нажимать на стрелки направлений движения, то не поедет. В первую очередь нужно нажать на одну из трёх скоростей, а уже потом на стрелки направления. Тогда поедет.

И, так как я не публиковал это приложение в Google Play, смартфон может ругаться на его безопасность. Но можно смело устанавливать. В нём всё работает безопасно.

Двигатели и Ардуино

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

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

Читать еще:  Opel corsa датчик температуры двигателя

Основа устройства – две мостовых микросхемы L293, контактные группы портов которых в точках подключения к Ардуино демонстрируются далее: Схема подключения Motor Shield

В верхнем левом углу можно видеть входы группы контроля, в которые поступает плюс, минус и управляющий сигнал. Где помечено стрелкой, обычно размещается перемычка, указывающая устройству, откуда оно берет энергию – от самой Ардуино или внешнего питания. Обычно в схеме используется напряжение 5В.

Для применения шилда с 4-мя фазовыми двигателями выполняется немного другой их монтаж с этой платой: Подключение фазовых двигателей к Motor Shield

Основная библиотека для управления – AFMotor.

Есть вариант исполнения от российского изготовителя. Его основное отличие – только одна мостовая L298, что соответственно уменьшает возможности устройства. Коммутация выполняется или одного шагового двигателя, или двух фазовых.

Плюсом можно назвать их поддерживаемую мощность – в параллельном режиме доступно питать 4-амперный мотор, рассчитанный на работу от 24В. Шилд управления двигателями от Амперки

Это еще не все, что относится к контролю моторов. Часто применяются роботизированные сборки, в которых намного больше, чем пара двигателей. Для них соответственно требуется много серво-шилдов. Большое их количество вполне заменит универсальный Multi Servo Shield. Его схема подключения: Multi Servo Shield

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

Урок 4. Управление сервоприводом на Arduino

На этом уроке вы научитесь подключать сервопривод к Arduino.

Сервопривод – это мотор, положением вала которого можно управлять, задавая угол поворота.

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

Текст и видео урока «Сервопривод».

Делаем мини-пианино с помощью Ардуино — схемы и видео

Сделаем пианино с помощью Arduino и сыграем на нем свою первую мелодию.

Ардуино — платформа с открытым исходным кодом, используемая для создания проектов в электронике. Она состоит из программируемой платы (часто называемой микроконтроллером) и части программного обеспечения или интегрированной среды разработки Arduino IDE для ПК, которая используется для написания и загрузки компьютерного кода на плату.

Компоненты

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

Кроме того, в Arduino IDE используется упрощенная версия C ++, что упрощает обучение программе. Наконец, Ардуино предоставляет стандартный форм-фактор, который разбивает функции микроконтроллера на более доступные пакеты.

Читать еще:  7700500168 для какого двигателя

Необходимые компоненты для нашего проекта:

  • Arduino UNO — 1 шт.
  • Провода-переходники папа-папа — 104×4.
  • Клавиатура — 14 Ом.
  • Динамики — 1A.
  • ПК или ноутбук.

Соединяем компоненты

Подключаем клавиатуру строки к 3 2 8 0 контактам Arduino, а столбцы к 7 6 5 4 выводам Arduino.

Подключаем провода динамика к клеммам 11 и Земля (GND).

Настройка

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

Для этого проекта мы использовали C4, D4, E4, F4, G4, A4, B4, C5, D5, E5, F5, G5, A5 и B5, причем C4 был переключателем «0», D4 — переключателем «1» и так далее. Измените значения частот или добавьте дополнительные переключатели, чтобы полностью настроить собственный проект. Динамик просто подключен одним концом к контакту 11 Arduino, а другой — к земле.

Функция «тон» (tone) в коде будет искать этот вывод для воспроизведения вызываемой ноты.

Рабочий код

Вставьте код ниже в Arduino IDE и затем загрузите его в микроконтроллер. Нажмите кнопку сброса, если что-то пойдет не так. Вам также необходимо загрузить и установить библиотеку Arduino Keypad, которая доступна для скачивания ниже:

Эскиз (скетч) начинается с импорта библиотек «Keypad.h» и «pitches.h», поэтому мы сможем ссылаться на различные элементы из них позже в коде. Далее код настраивается путем определения количества ROWS и COLUMNS, определяющих, какие контакты входы и выходы, а также устанавливаем контакт динамика как 11-й вывод Arduino.

Затем мы определяем значение каждой ноты в форме Матрицы и назначаем, какой вывод нам нужно связать со строками и столбцами (в этом проекте мы использовали 3, 2, 8, 0 выводы как ROWS — строк, и 7, 6, 5, 4 в качестве COLUMNS — столбцов).

Основной цикл. Мы сохраняем каждое значение ноты в переменную «customkey», а также печатаем значение в серийном мониторе Arduino IDE. Далее мы сравниваем каждую пользовательскую ноту и отправляем вывод SPEAKER NOTE (нота динамика) и DURATION (длительность) на функцию «тона».

На предыдущем шаге мы скачали библиотеку Arduino Keypad. Разархивируйте её в папку Arduino в Arduino IDE и далее пройдите:

Играем песню «С Днем Рождения»

Динамик должен быть подключен только к любым штыревым (PWM) разъемам ARDUINO, иначе настройка не будет работать.

Как играть песню «С Днем Рождения» на клавиатуре:

0 0 голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты