The driver uses high-power driver chip BTS7960 composed of H bridge driver module, with over-temperature over-current protection. BTS7960 H bridge driver circuit, with strong drive and brake effects, the use of 74HC244 chip effectively isolated SCM and motor drive! High current 43A!
Up to 43A super-current output in extreme conditions Current diagnosis Slope adjustment Dead time is generated Over-temperature, over-voltage, under-voltage, over-current protection Short circuit protection Electrical performance: Model: IBT-2 Input voltage: 6V-27V Maximum current: 43A Input level: 3.3-5V Control method: PWM or level Duty cycle: 0-100 hundred.
Specifications:
- 100% brand new and high quality
- Quantity: 1pc
- Weight: 66 g
- Input voltage : 6V-27V
- Maximum Current : 43A
- Input level : 3.3V-5V
- Control mode : PWM or level
- Duty cycle: 0 to 100%
- Current conditioning output: yes
- Size:50mmx40mm/1.97"X1.58"(inch) (approx.)
Example code 1 using library:
/***************************************************
Copyright (c) 2019 Luis Llamas
(www.luisllamas.es)
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License
****************************************************/
// PINOUT
// L_EN -> 8
// R_EN -> 8
// L_PWM -> 9
// R_PWM -> 10
#include "BTS7960.h"
const uint8_t EN = 8;
const uint8_t L_PWM = 3;
const uint8_t R_PWM = 5;
BTS7960 motorController(EN, L_PWM, R_PWM);
void setup()
{
}
void loop()
{
motorController.Enable();
for(int speed = 0 ; speed < 100; speed+=10)
{
motorController.TurnLeft(speed);
delay(50);
}
motorController.Stop();
delay(1000);
for(int speed = 100 ; speed > 0; speed-=10)
{
motorController.TurnRight(speed);
delay(50);
}
motorController.Stop();
motorController.Disable();
delay(1000);
}
Example code 2:
///===========By Irfan
int RPWM=5;
int LPWM=6;
int L_EN=7;
int R_EN=8;
int mspeed;
int btn1=9;
int btn2=10;
void setup() {
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(12,OUTPUT);
pinMode(btn1,INPUT);
pinMode(btn2,INPUT);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
Serial.begin(9600);
digitalWrite(12,HIGH);
delay(100);
mspeed=200;
FOR();
}
int flag=0;
void loop() {
REV();delay(5000);
STOP();delay(5000);
FOR();delay(5000);
STOP();delay(5000);
}
void FOR()
{
analogWrite(RPWM,0);
digitalWrite(R_EN,HIGH);
digitalWrite(L_EN,HIGH);
Serial.println("SOFT START");
for(int i=0;i
}
void REV()
{ ;i>
analogWrite(RPWM,0);
digitalWrite(R_EN,HIGH);
digitalWrite(L_EN,HIGH);
analogWrite(LPWM,mspeed);
Serial.println("SOFT START");
for(int i=0;i
//delay(100);
}
void STOP()
{
digitalWrite(R_EN,LOW);
digitalWrite(L_EN,LOW); ;i>
analogWrite(LPWM,0);
analogWrite(RPWM,0);
//delay(100);
}
///===========By Irfan