Arduino Driver motor BTS7960 atau BTN7970

Hallo sobat AWI'ers,
hari ini saya akan share tentang bagaimana menjalankan driver high current tipe BTS7960 / BTN7970. bentuk Drivernya seperti dibawah ini

ada 8 pin di dalam driver bts7960/btn7970
1 = RPWM (Forward Level atau Sinyal PWM Input, aktif HIGH)
2 = LPWM (Inversion Level atau Sinyal PWM Input, aktif HIGH)
3 = R_EN (Forward Drive Enable input, Aktif HIGH)
4 = L_EN (Reverse Drive Enable input, Aktif HIGH)
5 = R_IS (Forward Drive, - side current alarm output)
6 = L_IS (Reverse Drive, - side current alarm output)
7 = VCC (+5v, connect ke arduino)
8 = GND (Ground)

ada dua cara penggunaan driver BTS/BTN ini
yang pertama :
  1. Sambung vcc (+5V) dan gnd ke arduino
  2. Sambungkan R_EN dan L_EN ke +5V, atau ke pin digital arduino dan kasih logic HIGH
  3. Beri pwm pada L_PWM untuk mengaktifkan putaran motor, dan R_PWM di low kan
  4. Beri pwm pada R_PWM untuk membalikan putaran motor, dan L_PWM di low kan
Arduino program driver BTS7960 atau BTN7970
    /*
    ARDUINO BTN/BTS7970 driver
    Sekolah Robot Indonesia
    sekolahrobot.con
    Driver High Curent
    arduino.web.id
    */
    int RPWM=11;
    int LPWM=3;
    int L_EN=2;
    int R_EN=12;

    void setup() {
      // put your setup code here, to run once:
      pinMode(RPWM,OUTPUT);
      pinMode(LPWM,OUTPUT);
      pinMode(R_EN,OUTPUT);
      pinMode(L_EN,OUTPUT);

      digitalWrite(R_EN,HIGH);
      digitalWrite(L_EN,HIGH);
    }



    void loop() {
    //forward
      analogWrite(LPWM,255);
      analogWrite(RPWM,0);
      delay(1000);
    //stop
      analogWrite(LPWM,0);
      analogWrite(RPWM,0);
      delay(1000);
    //reverse
      analogWrite(LPWM,0);
      analogWrite(RPWM,255);
      delay(1000);
    //stop
      analogWrite(LPWM,0);
      analogWrite(RPWM,0);
      delay(1000);
    }

    cara yang kedua
    1. sambung vcc (+5V) dan gnd ke arduino
    2. Sambungkan R_EN dan L_EN ke pin PWM arduino
    3. Digital pin HIGH pada L_PWM untuk mengaktifkan putaran motor , dan R_PWM di low kan
    4. Digital pin HIGH pada R_PWM untuk membalikan putaran motor, dan L_PWM di low kan
     Selamat mencoba
    Salam Arduino Indonesia