Панель управления шаговым двигателем на Arduino (ESP32).

Достаточно часто делаю проекты с использованием шаговых движителей. Панель управления делаю с использованием сенсорного дисплея. Благо, дисплеи DWIN стоят недорого. Например, семи дюймовый дисплей можно купить с ёмкостным сенсором от 3000 рублей, а с резистивным от 2500 рублей. Так как дисплей достаточно большого размера стоит приемлемых денег, решил сделать панель управления одним шаговым двигателем. Возможно, кому-то пригодится или будет основой для реализации своего проекта.


Панель управления шаговым двигателем на основе дисплея DWIN.

Для проекта буду использовать COF дисплей 4.3 дюйма. Данный дисплей достаточно удобно монтировать в корпус благодаря гибкой плате. Но, несмотря на это, данную прошивку можно использовать и для других дисплеев с разрешением 800 на 480 пикселей.

Панель управления шаговым двигателем на основе дисплея DWIN.

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

Я распечатал вот такой корпус, в который отлично устанавливается мой дисплей. Если вы планируете повторить проект, то скачать 3D модель для печати корпуса можете внизу статьи в разделе «файлы для скачивания».

Я распечатал вот такой корпус, в который отлично устанавливается мой дисплей.

Если у вас нет опыта работы с дисплеем DWIN, рекомендую прочитать следующие статьи:

Прошивка для дисплея DWIN.

Прошивка для дисплея готова, и вам делать ничего не нужно. Достаточно скачать её внизу статьи в разделе «файлы для скачивания», скопировать на карту памяти и загрузить на свой дисплей. Как подобрать карту памяти и прошить дисплей DWIN, рассказывал вот в этой статье.

Вставляем SD карту в HMI модуль.

Все используемые элементы создания интерфейса для дисплея имеют описание на русском языке, и найти вы их можете вот в этом разделе сайта.

Для создания всех кнопок с фиксацией я использовал инструменты «Bit icon» и «Incremental Adjustment». Как пользоваться данными инструментами, рассказывал в уроке «Урок 3. Создаём переключатели (кнопки с фиксацией) на дисплее DWIN».

Для создания всех кнопок с фиксацией я использовал инструменты «Bit icon» и «Incremental Adjustment». К

Кнопка запуска сделана с помощью инструмента «Return Key code». Про данный инструмент так же есть отдельный урок.

Кнопка запуска сделана с помощью инструмента «Return Key code».

Для ввода цифровых значений использовал всплывающую клавиатуру. Её создать можно с помощью инструмента «Data Input». Урока по использованию данного инструмента на момент выхода этой статьи нет (возможно уже выложил, посмотрите в разделе «Уроки»), но есть описание на русском языке.

Для ввода цифровых значений использовал всплывающую клавиатуру.

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

Для того чтобы оживить клавиши на клавиатуре ввода, я использовал инструмент «Basic Touch».

Прошивку для дисплея вы можете скачать внизу статьи в разделе «Файлы для скачивания».

Схема подключения дисплея DWIN, драйвера A4988 и двигателя Nema 17 к Arduino NANO.

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

Схема подключения дисплея DWIN, драйвера A4988 и двигателя Nema 17 к Arduino NANO.

Как видим из схемы, нам нужно 2 источника питания на 5 и 12 В.

Как видим из схемы, нам нужно 2 источника питания на 5 и 12 В.

Библиотека для работы с шаговым двигателем.

Для работы с шаговыми двигателями я использую различные библиотеки «AccelStepper» для работы с Arduino. В небольших проектах пишу свои функции без использования библиотек. Для ESP32 библиотека «AccelStepper» не подходит.

Для ESP32 библиотека «AccelStepper» не подходит.

Поэтому в этом проекте решил использовать библиотеку, которую можно использовать и для Arduino, и для ESP32. При тестировании неплохо показала себя библиотека от Алекса Гайвера «GyverStepper», поэтому в проекте будем использовать её. По ней есть полное описание с примерами на русском языке, которые вы можете посмотреть на сайте разработчика alexgyver.ru.

библиотека от Алекса Гайвера «GyverStepper»

Библиотеку можно установить через менеджер библиотек или скачать с официального сайта разработчика. Также прикреплю библиотеку внизу статьи в разделе «Файлы для скачивания».

Описание кода Панели управления шаговым двигателем.

Если вы используете двигатель с драйверами step-dir, то в коде менять ничего не нужно. Возможно, только отключить режим отладки «#define DEBUG 0».

Если вы используете двигатель с драйверами step-dir,Если вы планируете использовать драйвер с 4 пинами, то вам нужно изменить подключение двигателя на следующее.

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

Также возможно использовать пин «EN» для отключения питания двигателя. Это поможет снизить нагрев и потребление электроэнергии.

Также возможно использовать пин «EN» для отключения питания двигателя. Это поможет снизить нагрев и потребление электроэнергии.

Для этого в документации к библиотеке есть подробное описание, как это сделать.

Для этого в документации к библиотеке есть подробное описание, как это сделать.

Остальные параметры изменяем по мере необходимости.

Всё, что касается работы с дисплеем, вынес на вкладку «display». Также написал 3 функции:

1 отправляет байтовую информацию на дисплей;

2. отправляет целочисленные значения типа int на дисплей;

3. получает с дисплея целочисленные значения типа int.

Всё, что касается работы с дисплеем, вынес на вкладку «display». Также написал 3 функции:

Для работы с шаговым двигателем написал 2 функции.


Корпус под дисплей COF DWIN.

Для удобства тестирования была разработана простая 3D модель для печати на принтере. Скачать модель для печати в .SLT формате можно внизу статьи в разделе «файлы для скачивания».

Корпус под дисплей COF DWIN.

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

Пишите ваши предложения.

Интересует ли вас корпуса для дисплеев DWIN?

Интересует ли вас корпуса для дисплеев DWIN?

Подведём итог.

Планировал сделать горячую смену типа подключаемого двигателя с драйвером step-dir на 4-пиновый. Но, к сожалению, библиотека не позволяет реализовать данный функционал, поэтому в дизайне есть переключатель двигателей, но он не работает. Поменять тип подключаемого драйвера можно вручную, о чём рассказывал ранее.

Интересует ли вас корпуса для дисплеев DWIN?

Несмотря на некоторые недоработки, реализовать панель управления шаговым двигателем получилось с написанием минимального объёма кода. Вы можете дополнить эти базовые функции или изменить данный пример под свои задачи.

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

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

Контактные данные для связи со мной:

Понравился проект Панель управления шаговым двигателем на Arduino (ESP32)? Не забудь поделиться с друзьями в соц. сетях.

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

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

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

Фотографии к статье

Файлы для скачивания

Код панели управления шаговым двигателем на Arduino Код панели управления шаговым двигателем на Arduino .zip3 Kb 26 Скачать
Прошивка для дисплея DWIN Прошивка для дисплея DWIN.zip970 Kb 31 Скачать
библиотека от Алекса Гайвера «GyverStepper» библиотека от Алекса Гайвера «GyverStepper».zip1012 Kb 22 Скачать
модель Корпус под дисплей COF  в .SLT формате модель Корпус под дисплей COF в .SLT формате .stl7 Kb 21 Скачать

Комментарии

Ваше Имя*


Бесплатный образец