Достаточно часто делаю проекты с использованием шаговых движителей. Панель управления делаю с использованием сенсорного дисплея. Благо, дисплеи DWIN стоят недорого. Например, семи дюймовый дисплей можно купить с ёмкостным сенсором от 3000 рублей, а с резистивным от 2500 рублей. Так как дисплей достаточно большого размера стоит приемлемых денег, решил сделать панель управления одним шаговым двигателем. Возможно, кому-то пригодится или будет основой для реализации своего проекта.
Для проекта буду использовать COF дисплей 4.3 дюйма. Данный дисплей достаточно удобно монтировать в корпус благодаря гибкой плате. Но, несмотря на это, данную прошивку можно использовать и для других дисплеев с разрешением 800 на 480 пикселей.
А это дисплеи 5 и 7 дюймов. Но будьте внимательны, некоторые дисплеи 5 и 7 дюймов имеют другое разрешение. Вот пример нескольких моделей дисплея, которые можно использовать в данном проекте:
Я распечатал вот такой корпус, в который отлично устанавливается мой дисплей. Если вы планируете повторить проект, то скачать 3D модель для печати корпуса можете внизу статьи в разделе «файлы для скачивания».
Если у вас нет опыта работы с дисплеем DWIN, рекомендую прочитать следующие статьи:
Прошивка для дисплея готова, и вам делать ничего не нужно. Достаточно скачать её внизу статьи в разделе «файлы для скачивания», скопировать на карту памяти и загрузить на свой дисплей. Как подобрать карту памяти и прошить дисплей DWIN, рассказывал вот в этой статье.
Все используемые элементы создания интерфейса для дисплея имеют описание на русском языке, и найти вы их можете вот в этом разделе сайта.
Для создания всех кнопок с фиксацией я использовал инструменты «Bit icon» и «Incremental Adjustment». Как пользоваться данными инструментами, рассказывал в уроке «Урок 3. Создаём переключатели (кнопки с фиксацией) на дисплее DWIN».
Кнопка запуска сделана с помощью инструмента «Return Key code». Про данный инструмент так же есть отдельный урок.
Для ввода цифровых значений использовал всплывающую клавиатуру. Её создать можно с помощью инструмента «Data Input». Урока по использованию данного инструмента на момент выхода этой статьи нет (возможно уже выложил, посмотрите в разделе «Уроки»), но есть описание на русском языке.
Для того чтобы оживить клавиши на клавиатуре ввода, я использовал инструмент «Basic Touch». Описание данного инструмента на русском языке вы можете найти в следующей статье.
Прошивку для дисплея вы можете скачать внизу статьи в разделе «Файлы для скачивания».
Несмотря на то что у нас достаточно большой функционал в плане управления шаговым двигателем, схема подключения будет достаточно простая.
Как видим из схемы, нам нужно 2 источника питания на 5 и 12 В.
Для работы с шаговыми двигателями я использую различные библиотеки «AccelStepper» для работы с Arduino. В небольших проектах пишу свои функции без использования библиотек. Для ESP32 библиотека «AccelStepper» не подходит.
Поэтому в этом проекте решил использовать библиотеку, которую можно использовать и для Arduino, и для ESP32. При тестировании неплохо показала себя библиотека от Алекса Гайвера «GyverStepper», поэтому в проекте будем использовать её. По ней есть полное описание с примерами на русском языке, которые вы можете посмотреть на сайте разработчика alexgyver.ru.
Библиотеку можно установить через менеджер библиотек или скачать с официального сайта разработчика. Также прикреплю библиотеку внизу статьи в разделе «Файлы для скачивания».
Если вы используете двигатель с драйверами step-dir, то в коде менять ничего не нужно. Возможно, только отключить режим отладки «#define DEBUG 0».
Если вы планируете использовать драйвер с 4 пинами, то вам нужно изменить подключение двигателя на следующее.
Также возможно использовать пин «EN» для отключения питания двигателя. Это поможет снизить нагрев и потребление электроэнергии.
Для этого в документации к библиотеке есть подробное описание, как это сделать.
Остальные параметры изменяем по мере необходимости.
Всё, что касается работы с дисплеем, вынес на вкладку «display». Также написал 3 функции:
1 отправляет байтовую информацию на дисплей;
2. отправляет целочисленные значения типа int на дисплей;
3. получает с дисплея целочисленные значения типа int.
Для работы с шаговым двигателем написал 2 функции.
Для удобства тестирования была разработана простая 3D модель для печати на принтере. Скачать модель для печати в .SLT формате можно внизу статьи в разделе «файлы для скачивания».
Дисплей устанавливается в данный корпус достаточно легко. Плату можно приклеить на двухсторонний скотч на внутреннюю стенку корпуса. К сожалению, данная модель сделана без задней крышки, но, возможно, к следующему проекту разработаем более интересный и функциональный корпус.
Пишите ваши предложения.
Интересует ли вас корпуса для дисплеев DWIN?
Подведём итог.
Планировал сделать горячую смену типа подключаемого двигателя с драйвером step-dir на 4-пиновый. Но, к сожалению, библиотека не позволяет реализовать данный функционал, поэтому в дизайне есть переключатель двигателей, но он не работает. Поменять тип подключаемого драйвера можно вручную, о чём рассказывал ранее.
Несмотря на некоторые недоработки, реализовать панель управления шаговым двигателем получилось с написанием минимального объёма кода. Вы можете дополнить эти базовые функции или изменить данный пример под свои задачи.
Приобрести дисплей DWIN можно в официальном магазине DWIN Technology на AliExpress.
Понравился проект Панель управления шаговым двигателем на Arduino (ESP32)? Не забудь поделиться с друзьями в соц. сетях.
А также подписаться на наш канал на YouTube, вступить в группу Вконтакте.
Спасибо за внимание!
Технологии начинаются с простого!
Фотографии к статье
Файлы для скачивания
![]() |
Код панели управления шаговым двигателем на Arduino .zip | 3 Kb | 678 | Скачать |
![]() |
Прошивка для дисплея DWIN.zip | 970 Kb | 644 | Скачать |
![]() |
библиотека от Алекса Гайвера «GyverStepper».zip | 1012 Kb | 506 | Скачать |
![]() |
модель Корпус под дисплей COF в .SLT формате .stl | 7 Kb | 494 | Скачать |
Arduino + дисплей DWIN
27 июля , 2022
Комментариев:0
Файлов для скачивания:4
Фото:8
Понравилась статья? Нажми
Cлучайные товары
Расширитель портов ввода-вывода MCP23017
Модуль TM1638 TM1637
Читайте также
Мы в соц сетях
Комментарии