Publicidade:

domingo, 3 de maio de 2015

Arduino - Ponte H para Motor - IBT 2 - BTS7960

Demonstração de uso da Ponte H IBT 2






Especificações
  • Tensão: 6V-27V
  • Corrente: 43A
  • Input level: 3.3V-5V

pinos

1 - PWM Direção 1
2 - PWM Direção 2
3 - Ativar / Desativar PWM Direção 1 - HIGH ativa
4 - Ativar / Desativar PWM Direção 2 - HIGH ativa
5 - Direção 1 - Side Currente Alarm Output
6 - Direção 2 - Side Currente Alarm Output
7 - VCC
8 - Ground


Para o teste foram utilizados os seguintes pinos

1 - Ligado ao pino 5 (PWM) do Arduino
2 - Ligado ao pino 6 (PWM) do Arduino
3 - VCC
4 - VCC
5 - Desconectado
6 - Desconectado
7 - VCC
8 - Ground


Código-Fonte:

/*
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 = A0; // 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);
  }
}


Referência: http://www.hessmer.org/blog/wp-content/uploads/2013/12/IBT-2-Input-Ports.jpg

4 comentários:

  1. Obrigado, penso em acrescentar um encoder

    ResponderExcluir
  2. Porque essa placa tem duas entradas de PWM? ela controla dois motores?

    ResponderExcluir
  3. Boa noite, será que consigo gerar freio no motor DC com essa ponte, e regular o freio com encoder?

    ResponderExcluir
  4. Claiton Leite, tem duas entradas PWM devido ao fato dela ser uma "Ponte H", ou seja, controla além da velocidade, sentido da rotação tambem.

    ResponderExcluir