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

Uln2003 схема подключения шагового двигателя

Замок с радиоуправлением на Arduino.

Наверное, у каждого есть место, где лежат личные вещи, и вы не хотите, чтобы к ним был доступ у других. Как же защитить от несанкционированного доступа к личным вещам? Сделать навесной замок, или, может, установить врезной замок? Но мы не будем искать легких путей, и, в данном Arduino проекте , сделаем замок с радиоуправлением на Arduino. Это достаточно простой проект, и повторить его будет несложно. Но у вас должна быть возможность распечатать несколько деталей на 3D принтере. Блоги о 3Д принтере сегодня очень распространены, и также можно заказать печать в вашем городе, относительно недорого.

Описание работы механизма замка на Arduino.

Механическая часть замка взята из интернета, и называлась она «Door lock with Arduino», скачать исходные материалы можно со страницы автора. Механическая часть замка сделана неплохо, но кода управления нет, поэтому я решил сделать свою версию замка.

Распечатал всё необходимое для проекта. А из подручных материалов собрал вот такой макет двери, чтобы наглядно можно было проверить работу замка.

Принцип работы замка.

Замок работает достаточно просто, на шпильку диаметром 8 мм надевается напечатанная деталь с зубцами, в виде реечной передачи. Так как у меня не было под рукой нужной шпильки, я использовал строительную шпильку М8 с резьбой, чтобы резьба не мешала скольжению, надел термоусадочную трубку с обоих концов шпильки. Зафиксировал шпильку с помощью винта.

Шпилька устанавливается на основание, которое прикручивается к двери. Также, на основание крепится шаговый двигатель 28BYJ-48. На вал двигателя одевается шестеренка, которая и перемещает нашу шпильку.

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

Электроника радиозамка на Arduino.

Как вы поняли, приводом замка будет шаговый двигатель 28BYJ-48. Шаговый двигатель продается вместе с драйвером ULN2003, что позволяет без проблем подключить шаговый двигатель к ардуино. Подробнее о подключении шагового двигателя 28BYJ-48 читайте в уроке: «Подключаем к Arduino Шаговый двигатель 28BYJ-48 на драйвере ULN2003».

Для проверки работоспособности собрал всю электронику на столе. И вот что получилось.

Схема для теста радиоуправляемого замка на Arduino.

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

Давайте рассмотрим алгоритм работы замка для того, чтобы можно было написать код.

Алгоритм работы радиоуправляемого замка.

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

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

Такой нехитрый алгоритм работы замка должен быть.

Пояснение к коду замка на Arduinoс радиопультом.

Для управления шаговым двигателем будем использовать библиотеку AccelStepper library. Про работу с данной библиотекой рассказывал в уроке про драйвера шаговых двигателей: «Как подключить A4988 (DRV8825) к Arduino? Скетч, библиотека». Но еще раз повторюсь, как её установить.

Установка библиотеки AccelStepper.

Чтобы установить библиотеку, перейдите в «Скетч» -> «Подключить библиотеку» -> «Управление библиотеками». Подождите, пока диспетчер библиотек загрузит индекс библиотек, и обновит список установленных библиотек.

Читать еще:  Tesla model s технические характеристики двигателя

Отфильтруйте свой поиск, набрав «Accelstepper». Щелкните первую запись и выберите «Установка».

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

Скетч замка с радиоуправлением на Ардуино.

Пояснение к коду.

Подключаем библиотеку AccelStepper, и указываем тип шагового двигателя, в нашем случае это «8».

Указываем пины подключения конечного выключателя и радиомодуля HY-DJM-5V. Подробное описание радиопульта и радиоприемника HY-DJM-5V читайте в уроке: «Радиопульт с приемником HY-DJM-5V. Подключаем к Arduino».

Определим пины подключения драйвера ULN2003.

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

Инициализируем с последовательностью выводы IN1-IN3-IN2-IN4, для использования AccelStepper с шаговым двигателем 28BYJ-48.

В блоке setup() устанавливаем параметры для работы с шаговым двигателем.

Инициализируем пин входа конечного выключателя, и пин подключения от радиомодуля.

Инициализируем работу с монитором порта, и выводим «Ok!». Работу с монитором порта можно закомментировать. Я использовал вывод информации в монитор порта для отладки программы.

В основном цикле loop() получаем состояние кнопки из функции устранения дребезга. Что такое дребезг кнопки, и как с ним бороться, читайте в уроке: «Arduino: Дребезг — программное устранение. Нажатие кнопки без ложных срабатываний».

Дальше проверяем, сработал конечный выключатель, или нет.

Если конечный выключатель нажали, то перемещаем шаговый двигатель на 2000 шагов.

После чего отправляем в монитор порта информацию «On».

Если была нажата кнопка на пульте, и при этом конечный выключатель в нажатом состоянии.

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

Отправляем в монитор порта значение «Off».

В конце цикла loop() переприсваиваем прошлому состоянию кнопки текущее состояние.

Тестирование работы замка.

Пришло время протестировать электронику замка с радиоуправлением. Для этого собираем все по схеме, которая расположена выше, и загружаем код. Тест проходит отлично. Все работает как надо. Пришло время все установить на стенд, и проверить на работоспособность, при работе в реальных условиях.

Проверяем работу замка на стенде.

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

Схема подключения радиоуправления замком на Arduino UNO.

В качестве источника питания использую Powerbank 5В 1А. Пока тестировал, проверял и снимал видео, Powerbank немного разрядился, и шаговый двигатель стал пропускать шаги. Поэтому рекомендую, в качестве источника питания, использовать блок питания на 5В 1А. Можно взять зарядку от старого телефона.

Вывод.

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

Понравилс я проект Замок с радиоуправлением на Arduino? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

Спасибо за внимание!

Технологии начинаются с простого!

Arduino. Подключение шагового двигателя 28BYJ к Arduino

Шаговый электродвигатель — синхронный бесщёточный электродвигатель с несколькими обмотками, в котором ток, подаваемый в одну из обмоток статора, вызывает фиксацию ротора. Последовательная активация обмоток двигателя вызывает дискретные угловые перемещения (шаги) ротора.

Читать еще:  Фольксваген пассат не заводится двигатель дизель

Шаговые двигатели применяют в механических системах точного позиционирования – ЧПУ станках, 3d-принтерах, принтерах, роботах-манипуляторах. Шаговые двигатели преобразуют электрические импульсы в перемещение вала на определенный угол. Минимально возможный угол перемещения шагового двигателя, называется шагом.

В любительской робототехнике очень часто используют бюджетный шаговый двигатель 28BYJ-48, в комплекте с которым продается драйвер двигателя на микросхеме ULN2003, необходимый для подключения шагового двигателя к плате Arduino.

Характеристики шагового двигателя 28BYJ-48:

  • Напряжение питания – 5В или 12В;
  • Число фаз – 4;
  • Коэффициент редукции – 1/63.68395;
  • Количество шагов ротора – 64;
  • Номинальная скорость вращения – 15 оборот/мин;
  • Крутящий момент – 450 г*см;
  • Размеры (диаметр,высота) –25×18 мм;
  • Вес – 40 грамм.

Двигатель за один оборот осуществляет 4075.7728395 шага. Данный двигатель поддерживает полушаговый режим и за один полный оборот может совершать 4076 шага, а точнее за 1° делает примерно 11,32 шага. (4076 / 360 = 11,32).

Чаще всего, при использовании шагового двигателя 28BYJ 48, используют два режима подключения.

  • Полношаговый режим — за 1 такт, ротор делает 1 шаг.
  • Полушаговый режим — за 1 такт, ротор делает ½ шага.

Драйвер для управления шаговым двигателем ULN2003

Драйвер – это устройство, которое связывает контроллер и шаговый двигатель. Он нужен так как цифровой вывод микроконтроллера Arduino UNO может выдать ток максимум

40 мА, а одна обмотка шагового двигателя 28BYJ-48 в пике потребляет

320 мА, следовательно если подключить двигатель напрямую, микроконтроллер сгорит.

Для защиты микроконтроллера был разработан «Модуль шагового двигателя ULN2003», в котором используется микросхема ULN2003A (по сути, состоящая из 7 ключей), позволяющая управлять нагрузкой до 500 мА (один ключ). Данный модуль может работать с 5В и 12В двигателем 28BYJ-48, для переключения необходимо установить или убрать перемычку (по умолчанию перемычка установлена, питание 5В).

Подключение 28BYJ-48 плате Arduino

Схема не сложная, необходимо всего шесть проводов для подключения, сначала подключаем интерфейсные провода, IN1 (ULN2003) в 11 (Arduino UNO), IN2 (ULN2003) в 10 (Arduino UNO), IN3 (ULN2003) в 9 (Arduino UNO) и IN4 (ULN2003) в 8 (Arduino UNO), осталось подключить питание GND к GND и VCC к VIN и подключаем разъем двигателя в модуль ULN2003.

Скетч управления шаговом двигателем 28BYJ-48

В пакете Arduino IDE есть стандартная библиотека Stepper.h для управления униполярными и биполярными шаговыми двигателями. Ее не надо искать и загружать из интернета. Она устанавливается вместе с пакетом Arduino IDE. Библиотека очень простая. Кроме конструктора имеет всего две функции: setSpeed и step.

Описание библиотеки Stepper.h

Stepper( steps, pin1, pin2, pin3, pin4 ) — конструктор класса Stepper. Создает объект типа Stepper.

  • steps – количество шагов двигателя на один оборот (360°). Параметр используется функцией setSpeed() для вычисления скорости вращения.
  • pin1, pin2, pin3, pin4 – выводы для подключения драйвера двигателя. Для двух проводной схеме подключения pin3 и pin4 не используются. Для четырех проводной схемы pin1, pin2, pin3, pin4 соответствуют фазам A, C, B, D при униполярном режиме управления.

void setSpeed(long rpms) — устанавливает скорость вращения двигателя в оборотах в минуту.

  • rpms — скорость вращения в оборотах в минуту.

void step(int steps) — вызывает поворот двигателя на заданное число шагов. Функция останавливает выполнение программы до тех пор, пока не завершится.

  • steps – число шагов, на которое требуется повернуть ротор двигателя. Отрицательное значение вращает двигатель в противоположную сторону.

Пример простого скетча управления двигателем 28BYJ-48:

Шаговый двигатель 28BYJ-48

Пространства имён

  • Статья
  • Обсуждение
  • Ещё
  • Языки

Действия на странице

  • Читать
  • Просмотр кода
  • История

Шаговые двигатели применяют в механических системах точного позиционирования – ЧПУ станках, 3d-принтерах, принтерах, роботах-манипуляторах. Шаговые двигатели преобразуют электрические импульсы в перемещение вала на определенный угол. Минимально возможный угол перемещения шагового двигателя, называется шагом.

Читать еще:  Форд фьюжен свист при запуске двигателя

В любительской робототехнике очень часто используют бюджетный шаговый двигатель 28BYJ-48, в комплекте с которым продается драйвер двигателя на микросхеме ULN2003, необходимый для подключения шагового двигателя к плате Arduino.

Содержание

  • 1 Спецификация шагового двигателя 28BYJ-48
  • 2 Распиновка шагового двигателя 28BYJ-48
  • 3 Режимы работы шагового двигателя 28BYJ-48
  • 4 Подключение шагового двигателя 28BYJ-48 к плате Arduino uno.
  • 5 Программа для шагового двигателя 28BYJ-48.

Спецификация шагового двигателя 28BYJ-48

  • Тип: униполярный шаговый двигатель;
  • Напряжение питания – 5В или 12В;
  • Подключение: 5-выводов;
  • Число фаз – 4;
  • Диаметр вала: 5 мм;
  • Коэффициент редукции – 1/63.68395;
  • Количество шагов ротора – 64;
  • Угол шага: 5.625° × 1: 64;
  • Номинальная скорость вращения – 15 оборот/мин;
  • Крутящий момент – 450 г*см;
  • Размеры (диаметр,высота) –25×18 мм;
  • Вес – 40 грамм.

Распиновка шагового двигателя 28BYJ-48

Red – Это общий пин;

Остальные пины управляют фазами двигателя

  • A-orange – Фаза A оранжевый проводок;
  • B-yellow – Фаза A жёлтый проводок;
  • C-pink – Фаза A розовый проводок;
  • D-blue – Фаза A голубой проводок;

Режимы работы шагового двигателя 28BYJ-48

Для управления шаговым двигателем 28BYJ 48 используют один из двух режимов подключения.

1)полношаговый режим – 4 ступени импульсов на 1 шаг;

ПиныТакты
1234
A-orange11
B-yellow11
C-pink11
D-blue11

2)полушаговый режим – 8 ступеней импульсов на 1 шаг.

ПиныТакты
12345678
A-orange111
B-yellow111
C-pink111
D-blue111

Подключение шагового двигателя 28BYJ-48 к плате Arduino uno.

Драйвер двигателя состоит из 7 пар транзисторов Дарлингтона и является усилителем. Выводы IN1 – IN7 предназначены для подключения к микроконтроллеру, GND и VCC – для питания шагового двигателя. Схема подключения драйвера к плате Arduino показана на рисунке.

Программа для шагового двигателя 28BYJ-48.

Программа, которая вращает мотор в одну сторону и, когда пройдено определённое число шагов изменяющий направление движения.

Модуль драйвера шагового двигателя ULN2003, зеленый текстолит

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

Артикул: 23951693

  • Описание
  • Вопрос-ответ (4)
  • Гарантии и возврат
  • Наличие

Микросхема ULN2003a — это транзисторная сборка Дарлингтона с выходными ключами повышенной мощности, имеющая на выходах защитные диоды, которые предназначены для защиты управляющих электрических цепей от обратного выброса напряжения от индуктивной нагрузки.

Каждый канал (пара Дарлингтона) в ULN2003 рассчитан на нагрузку 500 мА и выдерживает максимальный ток до 600 мА.

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

Характеристики:
Максимальный ток (на канал): 500мА (600 кратковременно)
Напряжение питания: 5-12В

Схема подключения шагового двигателя:

Возможно, вас заинтересует

Попробовать еще раз

Наш магазин работает в соответствии с Законом РФ «О защите прав потребителей».

В соответствие с п. 4 ст. 26.1 ФЗ «О защите прав потребителей» и п. 21 Постановления Правительства РФ «Об утверждении правил продажи товаров дистанционным способом» потребитель (покупатель) имеет право отказаться от товара (в том числе и надлежащего качества) в любое время до его передачи, а после передачи – в течение 7 дней. При этом, обмен товара надлежащего качества возможен только в случае, если:

  • товар не включен в перечень товаров надлежащего качества, не подлежащих возврату утвержденный Постановлением Правительства РФ №55 от 19.01.1998 г.
  • товар не был в употреблении
  • сохранены фабричные ярлыки, гарантийные талоны, техническая документация, комплектующие детали
  • сохранена упаковка товара
  • в наличии документы, подтверждающие факт и условия покупки указанного товара (Ст. 25 Закона «О защите прав потребителей»).

В случае отказа от товара возврату подлежит уплаченная сумма, за исключением расходов на доставку товара, а также других расходов интернет-магазина, подлежащих компенсации за счет Покупателя (Ст. 26.1 Закона «О защите прав потребителей»).

Возвратом и обменом товара занимается тот филиал, в котором была совершена покупка

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector