Подключение драйвера A4950 к Arduino UNO

Введение

Сегодня расскажу о драйвере A4950, с помощью которого можно одновременно управлять двумя двигателями постоянного тока с применением широтно-импульсной модуляции, а также менять направление вращения моторов. Устройство рассчитано на максимальную нагрузку до 3,5 ампера и поддерживает максимальное напряжение питания до 40 вольт.

Технические характеристики

  • Напряжение питание: 7.6 ~ 40 В;
  • Максимальный ток: 3.5 А (ограничено на 2А);
  • Габариты: 24 х 19 мм;
  • Вес: 3 грамма

Описание

Модуль собран на базе двух микросхем A4950T, установленных на компактной плате размером 24×19 мм. У каждой микросхемы установлен токоограничивающий резистор номиналом 25 Ом, а так же фильтрующими конденсаторами по питанию.

Микросхема A4950 предназначена для управления двигателями постоянного тока. Все выходные драйверы реализованы на основе N-канальных МОП-транзисторов, выполненных по технологии DMOS. Ток в выходном полномостовом преобразователе контролируется схемой управления с использованием широтно-импульсной модуляции (ШИМ) с фиксированным временем выключения. Управление осуществляется двумя входами (IN1 и IN2).

Схема защиты микросхемы предусматривает встроенную тепловую защиту, а также автоматическое отключение при коротком замыкании нагрузки, выходе на короткое замыкание на массу («землю») или на источник питания.

Режим низкого потребления активируется автоматически, если на обоих управляющих входах (INx) удерживается низкий сигнал более 1 миллисекунды. В данном состоянии большинство внутренних цепей отключаются, включая схему заряда и регулятор напряжения. При выходе из режима ожидания необходимо сделать задержку 200 микросекунд.

Максимально возможный ток определяется сопротивлением внешнего резистора RS и уровнем опорного напряжения VREF.

Назначение контактов
► GND — общий контакт, минус;
VM — питание двигателя, до 40В;
VCC — питание логики 5В;
AIN2 — вход управления первым двигателем;
AIN1 — вход управления первым двигателем;
BOUT1 — выход второго двигателя;
BOUT2 — выход второго двигателя;
VM — питание двигателя;
VCC — питание микросхемы 5В;
BIN2 — вход управления первым двигателем;
BIN1 — вход управления первым двигателем;
AOUT1 — выход первого двигателя;
AOUT2 — выход первого двигателя;

Подключение драйвера A4950 к Arduino

В качестве примера приведу схему подключения драйвера A4950 к плате Arduino UNO и подготовлю простой скетч, с помощью которого мы сможем менять скорость вращения двигателя, а также изменять направление вращения.

Необходимые детали

  • Контроллер Arduino UNO R3  x 1 шт.
  • Провода DuPont, 2,54 мм, 20 см x 1 шт.
  • Драйвер A4950 x 1 шт.
  • Мотор 12В x 2 шт.
  • Блок питания 12В 2А х 1 шт.

Подключение

Схема подключения несложная, входа BIN1, BIN2, AIN1, AIN2 с драйвера A4950 подключаем к выводам D12, D11, D5, D6 платы Arduino UNO соответственно. Затем подключаем питание микросхем, выводы VCC и GND к контактам +5V и GND. Два мотора подключаем к выходам AOUT1, AOUT2, BOUT1 и BOUT2. Далее осталось подключить питание моторов, вывод VM и GND подключаем с блоком питания GND и 12В. Проверяем еще раз схему и приступаем к загрузке скетча.

Программа

Открываем среду разработки Arduino IDE и загружаем первую программу в Arduino UNO.

Описание программы:

Первым делом указываем, к каким контактам подключены выходы от драйвера.

Далее указываем, что выводы используются как выходы.

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

Следующая функция предназначена для управления скоростью двигателя

Полезные ссылки

Вам может также понравиться...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *