Двойной H мост BTS7960

Двойной H мост BTS7960   
 Двойной H мост BTS7960  

 

Описание

В драйвере используются чипы Infineon BTS7960, состоящий из  мощных Н-мостов мощных с тепловой защитой по току от перегрузки. Двойной BTS7960 H-мостовой схемы драйвер, это сильным привод  и торможения двигателя мощностью до 43А.

Особенности:

     Двойной BTS7960 H мост на высокий ток (43 A)
    питание 5V изолировано с MCU, а также эффективно защищено MCU
     индикатор питания 5V на на плате
     Индикация напряжения выходного сигнала драйвера двигателя
     Простое подключение из MCU к модулю драйвера (GND. 5V. PWM1. PWM2)
     Размер: 4 * 5 * 1,2 см;
     входная частота ШИМ до 25 кГц
    Изолированные чип 5V источник питания (может использоваться совместно с MCU 5V), можно также использовать 5V питания на плате
     5.5V Напряжение питания 27В
     Максимальный ток: 43A
     Уровень входного сигнала: 3.3V-5V

  Я использовал режим использования один.

 Схема подключения двойной H мост BTS7960
 Двойной H мост BTS7960

 

Clik datasheet.pdf

 

Sketch code

 

 

Arduino Sketch:

/*
IBT-2 Motor Control Board driven by Arduino.

Speed and direction controlled by a potentiometer attached to analog input 0.
One side pin of the potentiometer (either one) to ground; the other side pin to +5V

Connection to the IBT-2 board:
IBT-2 pin 1 (RPWM) to Arduino pin 5(PWM)
IBT-2 pin 2 (LPWM) to Arduino pin 6(PWM)
IBT-2 pins 3 (R_EN), 4 (L_EN), 7 (VCC) to Arduino 5V pin
IBT-2 pin 8 (GND) to Arduino GND
IBT-2 pins 5 (R_IS) and 6 (L_IS) not connected
*/

int SENSOR_PIN = 0; // center pin of the potentiometer

int RPWM_Output = 5; // Arduino PWM output pin 5; connect to IBT-2 pin 1 (RPWM)
int LPWM_Output = 6; // Arduino PWM output pin 6; connect to IBT-2 pin 2 (LPWM)

void setup()
{
pinMode(RPWM_Output, OUTPUT);
pinMode(LPWM_Output, OUTPUT);
}

void loop()
{
int sensorValue = analogRead(SENSOR_PIN);

// sensor value is in the range 0 to 1023
// the lower half of it we use for reverse rotation; the upper half for forward rotation
if (sensorValue < 512)
{
// reverse rotation
int reversePWM = -(sensorValue - 511) / 2;
analogWrite(LPWM_Output, 0);
analogWrite(RPWM_Output, reversePWM);
}
else
{
// forward rotation
int forwardPWM = (sensorValue - 512) / 2;
analogWrite(LPWM_Output, forwardPWM);
analogWrite(RPWM_Output, 0);
}
}