Выпуск #1/2025
А.А.Токарев, А.С.Токарев
Повышение числа подключаемых периферийных устройств с помощью матрицы выводов микроконтроллера
Повышение числа подключаемых периферийных устройств с помощью матрицы выводов микроконтроллера
Просмотры: 749
DOI: 10.22184/2070-8963.2025.125.1.76.78
При подключении большого числа периферийных устройств, таких как драйвер шаговых двигателей, к микроконтроллеру часто количество требуемых выводов превышает количество доступных, что ведет к смене типа микроконтроллера или необходимости создания групп микроконтроллеров. Предлагается способ подключения к микроконтроллеру ESP32 16 драйверов шаговых двигателей А4988. Для достижения результата используется оптимизационная матрица управляющих выходов, что позволяет избежать применения более дорогостоящих драйверов с использованием интерфейсов данных для управления отдельным двигателем.
При подключении большого числа периферийных устройств, таких как драйвер шаговых двигателей, к микроконтроллеру часто количество требуемых выводов превышает количество доступных, что ведет к смене типа микроконтроллера или необходимости создания групп микроконтроллеров. Предлагается способ подключения к микроконтроллеру ESP32 16 драйверов шаговых двигателей А4988. Для достижения результата используется оптимизационная матрица управляющих выходов, что позволяет избежать применения более дорогостоящих драйверов с использованием интерфейсов данных для управления отдельным двигателем.
Теги: esp32 microcontroller minimising the number of microcontroller pins pin matrix матрица выводов микроконтроллер esp32 минимизация количества выводов микроконтроллера
Повышение числа подключаемых периферийных устройств с помощью матрицы
выводов микроконтроллера
А.А.Токарев, аспирант РТУ МИРЭА / santokar5@gmail.com,
А.С.Токарев, аспирант МГТУ им. Н.Э. Баумана / stok509@gmail.com
УДК 004.3, DOI: 10.22184/2070-8963.2025.125.1.76.78
При подключении большого числа периферийных устройств, таких как драйвер шаговых двигателей, к микроконтроллеру часто количество требуемых выводов превышает количество доступных, что ведет к смене типа микроконтроллера или необходимости создания групп микроконтроллеров. Предлагается способ подключения к микроконтроллеру ESP32 16 драйверов шаговых двигателей А4988. Для достижения результата используется оптимизационная матрица управляющих выходов, что позволяет избежать применения более дорогостоящих драйверов с использованием интерфейсов данных для управления отдельным двигателем.
Введение
Целью данной работы является минимизация числа требуемых выводов микроконтроллера для управления драйверами шаговых двигателей А4988.
При проектировании автоматизированного комплекса по свариванию ячеек аккумуляторных батарей было определено необходимое количество шаговых двигателей, которое составило 16 шт. Каждый из двигателей управляется отдельным драйвером шагового двигателя А4988. Драйвер A4988 содержит 16 контактов, распиновка которых показана на рис.1.
Для управления драйвером А4988 требуются как минимум три ножки (контакта): STEP, DIR и EN. Они имеют следующие назначения:
Ножка направления может быть общей, она используется для управления каждого отдельного двигателя поочередно. Для управления драйверами двигателя по схеме требуется как минимум 17 ножек: 16 STEP и одна DIR.
Для управления автоматизированным комплексом используется микроконтроллер ESP32. Назначение выводов модуля ESP32 приведено на рис.2 [2].
У микроконтроллера ESP32 имеются всего 22 цифровые ножки для взаимодействия с периферийными устройствами. С учетом необходимости подсоединения контролирующих датчиков и дополнительных периферийных устройств использование ¾ доступных пинов нерационально.
Оптимизация числа ножек микроконтроллера с помощью матрицы
Основной принцип действия оптимизационной управляющей матрицы строится на совместном использовании выводов, разрешающих работу, и управляющих выходов. Это подразумевает, что каждый модуль А4988 должен использовать еще одну ножку – En. Таким образом количество соединительных проводников между отдельным модулем драйвера двигателя и микроконтроллером увеличивается до трех.
Принцип действия матрицы заключается в поочередной активации групп двигателей с одновременным управлением только одним из них.
За разделение двигателей на группы и отвечает ножка En.
В табл.1:
En i – выход микроконтроллера, разрешающий работу группе двигателей;
STEP j – выход микроконтроллера с управляющим сигналом для шагового электродвигателя;
M ij – шаговый двигатель, активный в данный момент времени.
Как видно из таблицы, для отдельной активации одного шагового двигателя требуется и разрешение на работу группе двигателей (En i), и управляющее воздействие для двигателя (STEP j).
Использование оптимизационной управляющей матрицы для работы с шаговым двигателем позволяет сократить требуемое число ножек микроконтроллера в два раза – с 16 до восьми (без учета ножки DIR).
Большим достоинством данной матрицы является ее масштабируемость. При добавлении новых выходов En и STEP мы получаем существенный прирост количества управляемых двигателей. Так, для матрицы "5 на 5" количество двигателей составит уже 25 шт.
С аппаратной точки зрения эта матрица выглядит, как набор шин данных. Каждый из модулей драйвера двигателя связан только с двумя из них. Это позволяет упростить трассировку дорожек от микроконтроллера до модулей драйвера шагового двигателя на стадии проектирования печатной платы.
С другой стороны, использование шин данных ведет к возникновению помех. Преимущественно эти помехи возникают на шинных данных STEP. Шумы, появляющиеся в шинах, являются результатом наведенных помех от сторонних электрических приборов и внутренних шумов модулей. Для стабильной работы системы использовались метод экранирования печатной платы [3], заземление источников питания и фильтрация нижних частот [4].
На практике – после устранения помех в шинах появляется возможность использования оптимизационной матрицы выводов микроконтроллера для расширения функций одного вывода в рамках программы. Так, при добавлении новых строчек En появляется возможность получения информации с датчиков теми же ножками STEP.
Очевидно, что такой подход является избыточным для многих приложений и может быть использован только в случае крайней нехватки управляющих выходов для потребностей устройства. Также к недостаткам этого метода относится усложнение схемотехники устройства за счет появления дополнительных логических ключей, переключающих питание модулей, не имеющих функции En.
Последнее, что следует отметить, – это необходимость соблюдения временных зазоров между подачей сигнала на En и STEP. Из-за нарастающего и спадающего фронта сигнала Δtфр и переходных процессов необходимо обеспечивать значение Δtфр = 20 мс. Напомним, в электронике фронтом сигнала называется переход аналогового импульсного сигнала, в частности цифрового сигнала, из состояния "ноль" (нижний уровень) в состояние "единица" (верхний уровень) (нарастание сигнала). Указанная величина Δtфр помогает избежать, с одной стороны, пропуска первых шагов двигателей, с другой – развязать по времени процессы управления разными устройствами.
Выводы
Разработанная оптимизационная управляющая матрица позволяет сократить количество требуемых выходов микроконтроллера для управления группой шаговых двигателей в два раза. Однако необходимость использования шин данных для передачи данных от микроконтроллера к модулям драйвера ведет к появлению шума в проводниках, а следовательно, требует дополнительных методов борьбы с ним. Также метод использования оптимизационной матрицы выводов микроконтроллера позволяет увеличить количество функций отдельных выводов в рамках устройства.
ЛИТЕРАТУРА
Драйвер двигателя A4988 [Электронный ресурс]. URL: https://microkontroller.ru/arduino-projects/kak-rabotaet-drajver-dvigatelya-a4988-i-kak-ego-podklyuchit-k-arduino/?ysclid=m5nt29hftj497387030 (дата обращения: 15.12.2024).
Espressif Systems. ESP 32 Series Datasheet [Электронный ресурс]. URL:https://www.espressif.com/sites/default/files/documentation/esp 32_datasheet_en.pdf (дата обращения 30.12.2024).
Седов П.С., Ковшов С.В. Опыт внедрения электромагнитного экранирования на ОАО "Мордовцемент" // Записки Горного института. 2014. Т. 207. С. 138−141.
Сорокин Г.А. Фильтры нижних частот // Вестник Южно-Уральского государственного университета. Серия: Компьютерные технологии, управление, радиоэлектроника. 2015. С. 100−106.
выводов микроконтроллера
А.А.Токарев, аспирант РТУ МИРЭА / santokar5@gmail.com,
А.С.Токарев, аспирант МГТУ им. Н.Э. Баумана / stok509@gmail.com
УДК 004.3, DOI: 10.22184/2070-8963.2025.125.1.76.78
При подключении большого числа периферийных устройств, таких как драйвер шаговых двигателей, к микроконтроллеру часто количество требуемых выводов превышает количество доступных, что ведет к смене типа микроконтроллера или необходимости создания групп микроконтроллеров. Предлагается способ подключения к микроконтроллеру ESP32 16 драйверов шаговых двигателей А4988. Для достижения результата используется оптимизационная матрица управляющих выходов, что позволяет избежать применения более дорогостоящих драйверов с использованием интерфейсов данных для управления отдельным двигателем.
Введение
Целью данной работы является минимизация числа требуемых выводов микроконтроллера для управления драйверами шаговых двигателей А4988.
При проектировании автоматизированного комплекса по свариванию ячеек аккумуляторных батарей было определено необходимое количество шаговых двигателей, которое составило 16 шт. Каждый из двигателей управляется отдельным драйвером шагового двигателя А4988. Драйвер A4988 содержит 16 контактов, распиновка которых показана на рис.1.
Для управления драйвером А4988 требуются как минимум три ножки (контакта): STEP, DIR и EN. Они имеют следующие назначения:
- STEP обеспечивает управление микрошагами каждого подключенного двигателя. Каждый импульс с уровнем HIGH, подаваемый на данный контакт, будет поворачивать ось двигателя на число микрошагов, определяемое контактами выбора разрешения микрошагов (MS1, MS2, MS3). Чем выше будет частота импульсов, тем быстрее будет вращаться ось двигателя [1];
- DIR – этот контакт позволяет контролировать, в какую сторону вращается двигатель. При сигнале HIGH он будет крутиться по часовой стрелке, а при сигнале LOW – против часовой стрелки;
- EN – данный контакт отвечает за управление доступностью модуля драйвера. Если на контакте сигнал LOW, то драйвер двигателя A4988 активен (доступен).
Ножка направления может быть общей, она используется для управления каждого отдельного двигателя поочередно. Для управления драйверами двигателя по схеме требуется как минимум 17 ножек: 16 STEP и одна DIR.
Для управления автоматизированным комплексом используется микроконтроллер ESP32. Назначение выводов модуля ESP32 приведено на рис.2 [2].
У микроконтроллера ESP32 имеются всего 22 цифровые ножки для взаимодействия с периферийными устройствами. С учетом необходимости подсоединения контролирующих датчиков и дополнительных периферийных устройств использование ¾ доступных пинов нерационально.
Оптимизация числа ножек микроконтроллера с помощью матрицы
Основной принцип действия оптимизационной управляющей матрицы строится на совместном использовании выводов, разрешающих работу, и управляющих выходов. Это подразумевает, что каждый модуль А4988 должен использовать еще одну ножку – En. Таким образом количество соединительных проводников между отдельным модулем драйвера двигателя и микроконтроллером увеличивается до трех.
Принцип действия матрицы заключается в поочередной активации групп двигателей с одновременным управлением только одним из них.
За разделение двигателей на группы и отвечает ножка En.
В табл.1:
En i – выход микроконтроллера, разрешающий работу группе двигателей;
STEP j – выход микроконтроллера с управляющим сигналом для шагового электродвигателя;
M ij – шаговый двигатель, активный в данный момент времени.
Как видно из таблицы, для отдельной активации одного шагового двигателя требуется и разрешение на работу группе двигателей (En i), и управляющее воздействие для двигателя (STEP j).
Использование оптимизационной управляющей матрицы для работы с шаговым двигателем позволяет сократить требуемое число ножек микроконтроллера в два раза – с 16 до восьми (без учета ножки DIR).
Большим достоинством данной матрицы является ее масштабируемость. При добавлении новых выходов En и STEP мы получаем существенный прирост количества управляемых двигателей. Так, для матрицы "5 на 5" количество двигателей составит уже 25 шт.
С аппаратной точки зрения эта матрица выглядит, как набор шин данных. Каждый из модулей драйвера двигателя связан только с двумя из них. Это позволяет упростить трассировку дорожек от микроконтроллера до модулей драйвера шагового двигателя на стадии проектирования печатной платы.
С другой стороны, использование шин данных ведет к возникновению помех. Преимущественно эти помехи возникают на шинных данных STEP. Шумы, появляющиеся в шинах, являются результатом наведенных помех от сторонних электрических приборов и внутренних шумов модулей. Для стабильной работы системы использовались метод экранирования печатной платы [3], заземление источников питания и фильтрация нижних частот [4].
На практике – после устранения помех в шинах появляется возможность использования оптимизационной матрицы выводов микроконтроллера для расширения функций одного вывода в рамках программы. Так, при добавлении новых строчек En появляется возможность получения информации с датчиков теми же ножками STEP.
Очевидно, что такой подход является избыточным для многих приложений и может быть использован только в случае крайней нехватки управляющих выходов для потребностей устройства. Также к недостаткам этого метода относится усложнение схемотехники устройства за счет появления дополнительных логических ключей, переключающих питание модулей, не имеющих функции En.
Последнее, что следует отметить, – это необходимость соблюдения временных зазоров между подачей сигнала на En и STEP. Из-за нарастающего и спадающего фронта сигнала Δtфр и переходных процессов необходимо обеспечивать значение Δtфр = 20 мс. Напомним, в электронике фронтом сигнала называется переход аналогового импульсного сигнала, в частности цифрового сигнала, из состояния "ноль" (нижний уровень) в состояние "единица" (верхний уровень) (нарастание сигнала). Указанная величина Δtфр помогает избежать, с одной стороны, пропуска первых шагов двигателей, с другой – развязать по времени процессы управления разными устройствами.
Выводы
Разработанная оптимизационная управляющая матрица позволяет сократить количество требуемых выходов микроконтроллера для управления группой шаговых двигателей в два раза. Однако необходимость использования шин данных для передачи данных от микроконтроллера к модулям драйвера ведет к появлению шума в проводниках, а следовательно, требует дополнительных методов борьбы с ним. Также метод использования оптимизационной матрицы выводов микроконтроллера позволяет увеличить количество функций отдельных выводов в рамках устройства.
ЛИТЕРАТУРА
Драйвер двигателя A4988 [Электронный ресурс]. URL: https://microkontroller.ru/arduino-projects/kak-rabotaet-drajver-dvigatelya-a4988-i-kak-ego-podklyuchit-k-arduino/?ysclid=m5nt29hftj497387030 (дата обращения: 15.12.2024).
Espressif Systems. ESP 32 Series Datasheet [Электронный ресурс]. URL:https://www.espressif.com/sites/default/files/documentation/esp 32_datasheet_en.pdf (дата обращения 30.12.2024).
Седов П.С., Ковшов С.В. Опыт внедрения электромагнитного экранирования на ОАО "Мордовцемент" // Записки Горного института. 2014. Т. 207. С. 138−141.
Сорокин Г.А. Фильтры нижних частот // Вестник Южно-Уральского государственного университета. Серия: Компьютерные технологии, управление, радиоэлектроника. 2015. С. 100−106.
Отзывы читателей
eng


