Общие сведения
Драйвер мотора BTS7960 — позволяет управлять одним коллекторным двигателем рассчитанным на напряжение от 5,5 до 27,5 В постоянного тока до 43 А. Но так как клеммник установленный на плате не рассчитан на такие токи, то для долговременной работы рекомендуется использовать двигатели с током потребления до 10 А. С помощью данного драйвера можно управлять скоростью двигателя, направлением его движения, выполнять торможение и контролировать нагрузку которую испытывает двигатель.
Характеристики
- Напряжение питания двигателя: от 5,5 до 27,5 В постоянного тока (вне указанного диапазона драйвер перейдёт в режим защиты).
- Напряжение питания логики: 5 В постоянного тока.
- Максимально допустимы ток мотора: 43 А (кратковременно).
- Максимально допустимы ток мотора: 10 А (долговременно).
- Максимальная частота ШИМ на управляющих выводах: 25 кГц
- Напряжение логических уровней на управляющих выводах: 3,3 или 5 В
Назначение выводов
- «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.
Питание
- Напряжение питания двигателя (5,5 – 27,5 В постоянного тока) подаётся на выводы «S+» и «S-» клеммника.
- Напряжение питания логической части (5 В постоянного тока) подаётся на выводы «Vcc» и «GND».
Подробнее о драйвере
Драйвер построен на базе H-моста собранного из двух полумостов на чипах BTS7960. Чипы BTS7960 поддерживают ШИМ до 25 кГц (например, у Arduino UNO частота ШИМ всего 0,5 кГц) и снабжены схемами защиты от короткого замыкания, перегрева, перенапряжения (на выводах клеммника S+ и S-) и падения напряжения ниже 5,5 В (на выводах клеммника S+ и S-). Чипы BTS7960 имеют вывод состояния «IS» напряжение на котором меняется пропорционально току протекающему через двигатель (что позволяет определить, какую нагрузку испытывает двигатель), а в случае обнаружения ошибок, вывод «IS» работает как флаг обнаружения ошибки устанавливаясь в логическую «1». На плате выводы чипов «IS» прижаты к GND через сопротивление 10 кОм и подключены к выходам платы «L_IS» и «R_IS». На плате драйвера установлен шинный формирователь на базе чипа 74HC244 который обеспечивает развязку логических уровней управляющих сигналов между входами «L_EN», «R_EN», «L_PWM», «R_PWM» и входами чипов BTS7960. Благодаря наличию шинного формирователя управлять драйвером можно логическими уровнями как 3,3 В, так и 5 В логики.