Подключение BTS7960 к Arduino
Сегодня расскажу о мощном драйвере двигателя BTS7960, с помощью которого можно управлять двигателем напряжением от 5.5В до 27.5 В и максимальным пиковым током до 43А. И конечно расскажу, как подключить его к плате Arduino и приведу небольшую программу.
Технические параметры
► Напряжение питания двигателя: от 5.5 до 27.5 В постоянного тока;
► Напряжение питания логики: 5 В постоянного тока;
► Максимально допустимы ток мотора: 43 А (кратковременно);
► Максимально допустимы ток мотора: 10 А (долговременно);
► Максимальная частота ШИМ на управляющих выводах: 25 кГц;
► Напряжение логических уровней на управляющих выводах: 3.3 или 5 В;
► Габариты: 50 х 50 х 42 мм;
► Вес: 68 грам.
Подробнее о драйвере BTS7960
Если посмотреть на модуль сверху, можно увидеть два основных чипа BTS7960, которые по отдельности представляют собой полумостовую схему, а в паре образуют сборку из H-моста (H-Bridge), что дает возможность управлять двигателем постоянного тока вперед и назад. Также, есть возможность регулировать скорость двигателя используя технологию PWM (широтно-импульсной модуляции).
Для подключения, на модуле BTS7960 используется три разъема, назначение каждого контакта можно посмотреть ниже.
Разъем управления модулем BTS7960 (8 контактный):
► VCC — источник питания модуля 5 В;
► GND — источник питания модуля, GND;
► IS-R — вывод для отслеживания тока – прямое вращение;
► IS-L — вывод для отслеживания тока – обратного вращения;
► EN-R — выходной сигнал для управления направлением двигателя – прямое вращение;
► EN-L — выходной сигнал для управления направлением двигателя – обратное вращение;
► WM-R— ШИМ–сигнал для управления скоростью вращения двигателя — прямое вращение;
► PWM-L — ШИМ–сигнал для управления скоростью вращения двигателя — обратное вращение.
Контакты двигателя:
► M+ — вывод для подключения двигателя;
► M- — вывод для подключения двигателя;
► B+ — питание двигателя, положительный контакт;
► B- — питание двигателя, отрицательный контакт.
Подключение датчика тока ACS712 к Arduino
Необходимые детали:
► Arduino UNO R3 x 1 шт;
► Драйвер мотора на 43А, BTS7960 x 1 шт;
► Провод DuPont, 2,54 мм, 20 см x 10 шт;
► Кабель USB 2.0 A-B x 1 шт;
► Блок питания DC 12В x 1 шт;
► Мотор 12В.
Описание:
В примере покажу как подключить двигатель постоянно тока к драйверу мотора BTS7960, в качестве контроллера использую Arduino UNO
Подключение:
Двигатель подключаем к выводам «M+» и «M-», а источник питания двигателя к выводам «В+» и «В-» (в моем случаи — это блок питания на 12В). Далее, подключаем питание логической части драйвера, выводы «Vcc» и «GND». Осталось подключить провода управления, выводы EN-R и EN-L подключаем к выводу 3 на Arduino, а WM-R и PWM-L к выводам 4 и 5 на Arduino.
Программа:
Теперь подключаем Arduino к компьютеру и загружаем счет ниже.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
const uint8_t EN = 3; const uint8_t L_PWM = 4; const uint8_t R_PWM = 5; void setup(){ pinMode(EN, OUTPUT); pinMode(L_PWM, OUTPUT); pinMode(R_PWM, OUTPUT); } void loop(){ // Движение вперёд на 50% скорости: digitalWrite(L_PWM, LOW ); digitalWrite(R_PWM, HIGH); analogWrite (EN, 127 ); delay(3000); // Движение вперёд на 100% скорости: digitalWrite(L_PWM, LOW ); digitalWrite(R_PWM, HIGH); analogWrite (EN, 255 ); delay(3000); // Свободное вращение: digitalWrite(EN, LOW ); delay(3000); // Движение назад на 50% скорости: digitalWrite(L_PWM, HIGH); digitalWrite(R_PWM, LOW ); analogWrite (EN, 127 ); delay(3000); // Движение назад на 100% скорости: digitalWrite(L_PWM, HIGH); digitalWrite(R_PWM, LOW ); digitalWrite(EN, HIGH); delay(3000); / // Торможение с силой 50%: digitalWrite(L_PWM, HIGH); digitalWrite(R_PWM, HIGH); analogWrite (EN, 127 ); delay(3000); } |
Купить на Aliexpress
Контроллер Arduino UNO R3 на CH340G
Контроллер Arduino UNO R3 на Atmega16U2
Провода DuPont, 2,54 мм, 20 см
Драйвер мотора на 43А, BTS7960 x 1 шт;
Купить в Самаре и области
Контроллер Arduino UNO R3 на CH340G
Контроллер Arduino UNO R3 на Atmega16U2
Провода DuPont, 2,54 мм, 20 см
Драйвер мотора на 43А, BTS7960