Подключение
Для удобства подключения к Arduino воспользуйтесь Trema Shield, Trema Power Shield, Motor Shield или Trema Set Shield.
Назначение выводов
«M+» и «M-» - Выходы для подключения мотора.
«M-» Выход левого плеча H-моста (чип U3).
«M+» Выход правого плеча H-моста (чип U2).
«S+» и «S-» - Питание мотора.
«Vcc» и «GND» - Питание логики.
«L_IS» - Выход состояния левого плеча H-моста (чип U3).
Вывод является флагом ошибки (если она есть), иначе с этого выхода можно снимать уровень напряжения пропорциональный току протекающему через мотор, а значит контролировать силу нагрузки приложенной к мотору.
«R_IS» - Выход состояния правого плеча H-моста (чип U2).
Вывод является флагом ошибки (если она есть), иначе с этого выхода можно снимать уровень напряжения пропорциональный току протекающему через мотор, а значит контролировать силу нагрузки приложенной к мотору.
«L_EN» - Вход разрешения работы левого плеча H-моста (чип U3).
Сброс в 0 - отключает выход мотора «M-» (переводит его в состояние высокого импеданса).
Установка в 1 - разрешает работу выхода мотора «M-».
«R_EN» - Вход разрешения работы правого плеча H-моста (чип U2).
Сброс в 0 - отключает выход мотора «M+» (переводит его в состояние высокого импеданса).
Установка в 1 - разрешает работу выхода мотора «M+».
«L_PWM» - Вход установки потенциала на выходе левого плеча H-моста (чип U3).
Сброс в 0 - устанавливает на выходе «M-» потенциал вывода «S-».
Установка в 1 - устанавливает на выходе «M-» потенциал вывода «S+».
Установка потенциалов «S+» или «S-» на выходе «M-» возможна только если установлена 1 на входе «L_EN».
«R_PWM» - Вход установки потенциала на выходе правого плеча H-моста (чип U2).
Сброс в 0 - устанавливает на выходе «M+» потенциал вывода «S-».
Установка в 1 - устанавливает на выходе «M+» потенциал вывода «S+».
Установка потенциалов «S+» или «S-» на выходе «M+» возможна только если установлена 1 на входе «R_EN»
Подключение драйвера
Двигатель подключается к выводам «M+» и «M-» клеммника.
Напряжение питания двигателя (5,5 - 27,5 В постоянного тока) подаётся на выводы «S+» и «S-» клеммника.
Напряжение питания логической части (5 В постоянного тока) подаётся на выводы «Vcc» и «GND».
Драйвером можно управлять по 2, 3, или 4 проводам:
Подключение драйвера мотора к Arduino по 2 проводам:
Выводы «L_EN» и «R_EN» драйвера соединяются друг с другом и подключаются к «Vcc» (не участвуют в управлении).
Вывод «L_PWM» подключается к любому выводу Arduino поддерживающему ШИМ.
Вывод «R_PWM» подключается к любому выводу Arduino поддерживающему ШИМ.
Управление драйвером мотора по 2 проводам:
Движение вперёд с регулировкой скорости: «L_PWM» = 0, «R_PWM» = ШИМ (чем выше ШИМ тем выше скорость).
Движение вперёд с регулировкой скорости: «L_PWM» = ШИМ, «R_PWM» = 1 (чем выше ШИМ тем ниже скорость).
Движение назад с регулировкой скорости: «L_PWM» = ШИМ, «R_PWM» = 0 (чем выше ШИМ тем выше скорость).
Движение назад с регулировкой скорости: «L_PWM» = 1, «R_PWM» = ШИМ (чем выше ШИМ тем ниже скорость).
Торможение: «L_PWM» = «R_PWM» = 0 или 1 (максимальное торможение).
Преимущества и недостатки схемы управления по 2 проводам:
Явное преимущество схемы - минимальное количество задействованных выводов Arduino.
Так как на входах «L_EN» и «R_EN» постоянно установлена 1 (они подключены к «Vcc»), значит выходы мотора «M+» и «M-» не переходят в состояние высокого импеданса (не отключаются), следовательно, можно осуществлять торможение скоростью (уменьшение скорости приводит к торможению). Это-же факт можно отнести и к недостаткам схемы, так как в ней нельзя освободить мотор, на его выводах «M+» и «M-» всегда установлены потенциалы «S+» и/или «S-».
Подключение драйвера мотора к Arduino по 3 проводам:
Выводы «L_EN» и «R_EN» драйвера соединяются друг с другом и подключаются к любому выводу Arduino поддерживающему ШИМ.
Вывод «L_PWM» подключается к любому выводу Arduino.
Вывод «R_PWM» подключается к любому выводу Arduino.
Управление драйвером мотора по 3 проводам:
Движение вперёд с регулировкой скорости: «L_PWM» = 0, «R_PWM» = 1, «EN» = ШИМ (чем выше ШИМ тем выше скорость).
Движение назад с регулировкой скорости: «L_PWM» = 1, «R_PWM» = 0, «EN» = ШИМ (чем выше ШИМ тем выше скорость).
Свободное вращение: «L_PWM» и «R_PWM» не имеют значения, «EN» = 0 (мотор электрически отключён).
Торможение: «L_PWM» = «R_PWM» = 0 или 1, «EN» = ШИМ (чем выше ШИМ тем сильнее торможение).
Преимущества и недостатки схемы управления по 3 проводам:
Не смотря на большее количество проводов, схема управления выглядит проще: «L_PWM» и «R_PWM» управляют направлением, а «EN» скоростью. Если на входах «L_PWM» и «R_PWM» одинаковый логический уровень, то «EN» управляет торможением.
Есть возможность регулировать уровень торможения при помощи ШИМ без подачи напряжения (разности потенциалов) на двигатель.
При подаче логического 0 на вход «EN», мотор электрически отключается от схемы. Например, если управляемое мотором устройство стоит на горке и на всех входах «L_PWM», «R_PWM» и «EN» установлена 1, то оно никуда не поедет, но стоит сбросить в 0 уровень на входе «EN», как мотор освободится и устройство скатится с горки. Еще одним примером может быть экономия электроэнергии: после достижения требуемой скорости, сбрасываем уровень на входе «EN» в состояние логического 0 и устройство будет продолжать движение по инерции, далее устанавливаем на входе «EN» логическую 1, набираем скорость и снова сбрасываем в 0.
К недостаткам схемы подключения по 3 проводам можно отнести то, что в схеме не предусмотрено торможение скоростью.
Подключение драйвера мотора к Arduino по 4 проводам:
Выводы «L_EN», «R_EN», «L_PWM» и «R_PWM» подключаются к выводам Arduino поддерживающим ШИМ (иначе целесообразнее использовать схему с 2 или 3 проводами).
Управление драйвером мотора по 4 проводам:
В такой схеме можно осуществлять управление по любому из рассмотренных ранее вариантов управления, переключаясь с одной схемы на другую по мере необходимости.
Преимущества и недостатки схемы управления по 4 проводам:
Достоинство схемы заключается в её универсальности, можно использовать достоинства двух предыдущих схем и избавиться от их недостатков.
Явный недостаток схемы - максимальное количество задействованных выводов Arduino.