• BTS7960
• Драйвер моторов
• Ардуино
• IBT-2
Драйвер мотора BTS7960 — позволяет управлять одним коллекторным двигателем рассчитанным на напряжение от 5,5 до 27,5 В постоянного тока до 43 А. Но так как клеммник установленный на плате не рассчитан на такие токи, то для долговременной работы рекомендуется использовать двигатели с током потребления до 10 А. С помощью данного драйвера можно управлять скоростью двигателя, направлением его движения, выполнять торможение и контролировать нагрузку которую испытывает двигатель.
Подробнее о драйвере
Драйвер построен на базе 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 В логики.
Характеристики
const uint8_t EN = 3;
const uint8_t L_PWM = 4;
const uint8_t R_PWM = 5;
//RoboDo
void setup(){
pinMode(EN, OUTPUT);
pinMode(L_PWM, OUTPUT);
pinMode(R_PWM, OUTPUT);
}
void loop(){
// 50% tezlikda oldingz xarakat:
digitalWrite(L_PWM, LOW );
digitalWrite(R_PWM, HIGH);
analogWrite (EN, 127 );
delay(3000);
// 100% tezlikda oldingz xarakat:
digitalWrite(L_PWM, LOW );
digitalWrite(R_PWM, HIGH);
analogWrite (EN, 255 );
delay(3000);
// Erkin aylanish:
digitalWrite(EN, LOW );
delay(3000);
// 50% tezlikda ortga xarakat:
digitalWrite(L_PWM, HIGH);
digitalWrite(R_PWM, LOW );
analogWrite (EN, 127 );
delay(3000);
// 100% tezlikda ortga xarakat:
digitalWrite(L_PWM, HIGH);
digitalWrite(R_PWM, LOW );
digitalWrite(EN, HIGH);
delay(3000); /
// 50% kuch bilan to`rmozlanish:
digitalWrite(L_PWM, HIGH);
digitalWrite(R_PWM, HIGH);
analogWrite (EN, 127 );
delay(3000);
}

