• عملة
    • USD
    • ريال سعودي
ADD ANYTHING HERE OR JUST REMOVE IT…
  • أخبارنا
  • توصلوا معتا
  • الأسئلة الشائعة
اختر الفئة
  • اختر الفئة
  • 3.7v LiFePO4 cells
  • 3D Parenting
  • Arduino Kit
  • DC Motor
  • electronics
  • Sensors
تسجيل الدخول/التسجيل
0 قائمة الرغبات
0 قارن
0 البند 0 ر.س
قائمة
0 البند 0 ر.س
تصفح الفئات
  • Sensors
  • Arduino Kit
  • DC Motor
  • 3.7v LiFePO4 cells
  • Electronics
  • الصفحة الرئيسية
  • المتجر
  • من نحن
  • تواصلوا معنا
  • أخبارنا
تم تحديد قائمة خاطئة
-20%
اضغط للتكبير
الرئيسية DC Motor Motor Driver BTS7960 43A
Arduino Gyroscope Sensor GY-6500
Arduino Gyroscope Sensor GY-6500 30 ر.س السعر الأصلي هو: 30 ر.س.25 ر.سالسعر الحالي هو: 25 ر.س.
العودة إلى المنتجات
Drill Bit, 10 Pieces PCB Circuit Board Carbide Micro Drill Tool Set for CNC SMT (0.5 mm)
Drill Bit, 10 Pieces PCB Circuit Board Carbide Micro Drill Tool Set for CNC SMT (0.5 mm) 45 ر.س السعر الأصلي هو: 45 ر.س.35 ر.سالسعر الحالي هو: 35 ر.س.

Motor Driver BTS7960 43A

45 ر.س السعر الأصلي هو: 45 ر.س.36 ر.سالسعر الحالي هو: 36 ر.س.

قارن
إضافة إلى مفضلة
التصنيفات: DC Motor, electronics
حصة:
  • الوصف
  • Shipping & Delivery
الوصف
The BTS 7960 is a fully integrated high-current half bridge for motor drive applications. It comes with two packages, as in the pictures.

The Operating Voltage of 24V And Continuous current of 43A Max, PWM capability of up to 25 kHz combined with active freewheeling

In this article, I want to show you how we can use it with Arduino to control a high-power Motor and change the PWM Frequency of the Arduino.

Step 1: Inside the Datasheet

Inside the Datasheet
Inside the Datasheet
Inside the Datasheet
The datasheet for this IC gives us useful data

This IC has a good protection  circuit such as :

1) Undervoltage Shut Down: To avoid uncontrolled motion of the driven motor at low voltages, the device shuts off.
If the Supply voltage VUV(OFF) drops under 5.4V, The Motor driver will switch Off And won’t turn on until the Supply voltage increases to 5.5V or more.

2)Overtemperature Protection: The BTS 7960 is protected against overtemperature by an integrated temperature
sensor. Overtemperature leads to a shut down of both output stages.

3)Current Limitation: The current in the bridge is measured in both switches, the High and Low sides. If the current reaches the limit current (Iclx), the switch is deactivated, and the other switch is activated for a certain time(Tcls).

You can read the datasheet for more info

Attachments

  • download {{ file.name }}datasheet.pdf
    Download

Step 2: Connect It to the Arduino

Connect It to the Arduino
Connect It to the Arduino
Connect It to the Arduino

2 More Images
The connection of  this module to Arduino Board is shown in schematic Below , 2 PWM Pin must connected to PWM Pin on the arduino , EN pin connected to digital pin on the arduino , The motor driver channel Will be disable if EN Pin is LOW .

Simple code for arduino below .

/*……………………
BTS7960 Motor Driver Test
Written By : Mohannad Rawashdeh
Code for :
https://www.instructables.com/member/Mohannad+Rawashdeh/
*/
int RPWM=5;
int LPWM=6;
// timer 0
int L_EN=7;
int R_EN=8;

void setup() {
// put your setup code here, to run once:
for(int i=5;i<9;i++){
pinMode(i,OUTPUT);
}
for(int i=5;i<9;i++){
digitalWrite(i,LOW);
}
delay(1000);
Serial.begin(9600);
}

void loop() {
// put your main code here, to run repeatedly:
Serial.println(“EN High”);
digitalWrite(R_EN,HIGH);
digitalWrite(L_EN,HIGH);
delay(1000);
for(int i=0;i<256;i++){
analogWrite(RPWM,i);
//  analogWrite(LPWM,255-i);
delay(100);
}
delay(500);
for(int i=255;i>0;i–){
analogWrite(RPWM,i);
// analogWrite(LPWM,255-i);
delay(100);
}
delay(500);
Serial.println(“EN LOW”);
digitalWrite(R_EN,LOW);
digitalWrite(L_EN,LOW);
delay(1000);
for(int i=0;i<256;i++){
analogWrite(RPWM,i);
delay(100);
}
delay(500);
for(int i=255;i>0;i–){
analogWrite(RPWM,i);
delay(100);
}
delay(500);
}

And this is a video to show how this code works

the PWM Frequency on the arduino UNO Atmega328p – Timer0 is 970Hz , This is a low PWM Frequency , in the next step we want to increase PWM Frequency .

Step 3: PWM … Arduino Timer

PWM ... Arduino Timer
PWM ... Arduino Timer
PWM ... Arduino Timer
PWM ... Arduino Timer
arduino Uno atmega 328p MCU has 3 timers , Time0,,Time2 8 Bit and Time1 16Bit

Timer0 is connected to pins D5 and D6, we want to increase the frequency for smooth control.

Note that Timer0 controls the  (delay, millis ) on the Arduino, so any change on the prescale of this timer will change the delay and millis time.

int RPWM=5;
int LPWM=6;
int L_EN=7;
int R_EN=8;

void setPWMfrequency(int freq){
TCCR0B = TCCR0B & 0b11111000 | freq ;
}

void MotorActiveStatus(char Side,boolean s){
boolean state=s;
if(Side==’R’){
digitalWrite(R_EN,s);
}
if(Side==’L’){
digitalWrite(L_EN,s);
}
}
void setMotor(char side,byte pwm){
if(side==’R’){
analogWrite(RPWM,pwm);
}
if(side==’L’){
analogWrite(LPWM,pwm);
}
}
void closeMotor(char side){
if(side==’R’){
digitalWrite(RPWM,LOW);
}
if(side==’L’){
digitalWrite(LPWM,LOW);
}

}
void setup() {
// put your setup code here, to run once:
setPWMfrequency(0x02);// timer 0 , 3.92KHz
for(int i=5;i<9;i++){
pinMode(i,OUTPUT);
}
for(int i=5;i<9;i++){
digitalWrite(i,LOW);
}
delay(1000);
MotorActiveStatus(‘R’,true);
MotorActiveStatus(‘L’,true);
Serial.begin(9600);
}

void loop() {
// put your main code here, to run repeatedly:
for(int i=0;i<256;i++){
setMotor(‘R’,i);
delay(500);
}
delay(1000);
closeMotor(‘R’);
delay(1000);
for(int i=0;i<256;i++){
setMotor(‘L’,i);
delay(500);
}
delay(1000);
closeMotor(‘L’);
delay(1000);
}

if we want to use this code with another timer ” timer 2 ” just change  D5 , D6 To pin D3 , D11 Respectively

int RPWM=3;
int LPWM=11;
int L_EN=7;
int R_EN=8;

void setPWMfrequency(int freq){
TCCR2B = TCCR2B & 0b11111000 | freq ;
}

void MotorActiveStatus(char Side,boolean s){
boolean state=s;
if(Side==’R’){
digitalWrite(R_EN,s);
}
if(Side==’L’){
digitalWrite(L_EN,s);
}
}
void setMotor(char side,byte pwm){
if(side==’R’){
analogWrite(RPWM,pwm);
}
if(side==’L’){
analogWrite(LPWM,pwm);
}
}
void closeMotor(char side){
if(side==’R’){
digitalWrite(RPWM,LOW);
}
if(side==’L’){
digitalWrite(LPWM,LOW);
}

}
void setup() {
// put your setup code here, to run once:
setPWMfrequency(0x02);// timer 2 , 3.92KHz
for(int i=5;i<9;i++){
pinMode(i,OUTPUT);
}
for(int i=5;i<9;i++){
digitalWrite(i,LOW);
}
delay(1000);
MotorActiveStatus(‘R’,true);
MotorActiveStatus(‘L’,true);
Serial.begin(9600);
}

void loop() {
// put your main code here, to run repeatedly:
for(int i=0;i<256;i++){
setMotor(‘R’,i);
delay(50);
}
delay(500);
closeMotor(‘R’);
delay(1000);
for(int i=0;i<256;i++){
setMotor(‘L’,i);
delay(50);
}
delay(500);
closeMotor(‘L’);
delay(1000);
}

Step 4: Arduino Mega Timer

Arduino Mega Timer
Arduino Mega Timer
The Arduino Mega 2560 it has 5 timers  :

timer 0 (controls pins 13, 4)
timer 1 (controls pins 12, 11)
timer 2 (controls pins 10, 9)
timer 3 (controls pins 5, 3, 2)
timer 4 (controls pins 8, 7, 6)

This code for Arduino Mega with Timers 1 and 3  :

// code for Arduino Mega2560 and BTS7960 Motor driver
// written by: Mohannad Rawashdeh

int RPWM=3;
int LPWM=11;
int L_EN=7;
int R_EN=8;

void setPWMfrequency(int freq){
TCCR1B = TCCR2B & 0b11111000 | freq ;
TCCR3B = TCCR2B & 0b11111000 | freq ;
}

void MotorActiveStatus(char Side,boolean s){
boolean state=s;
if(Side==’R’){
digitalWrite(R_EN,s);
}
if(Side==’L’){
digitalWrite(L_EN,s);
}
}
void setMotor(char side,byte pwm){
if(side==’R’){
analogWrite(RPWM,pwm);
}
if(side==’L’){
analogWrite(LPWM,pwm);
}
}
void closeMotor(char side){
if(side==’R’){
digitalWrite(RPWM,LOW);
}
if(side==’L’){
digitalWrite(LPWM,LOW);
}

}
void setup() {
// put your setup code here, to run once:
setPWMfrequency(0x02);// timer 2 , 3.92KHz
for(int i=5;i<9;i++){
pinMode(i,OUTPUT);
}
for(int i=5;i<9;i++){
digitalWrite(i,LOW);
}
delay(1000);
MotorActiveStatus(‘R’,true);
MotorActiveStatus(‘L’,true);
Serial.begin(9600);
}

void loop() {
// put your main code here, to run repeatedly:
for(int i=0;i<256;i++){
setMotor(‘R’,i);
delay(50);
}
delay(500);
closeMotor(‘R’);
delay(1000);
for(int i=0;i<256;i++){
setMotor(‘L’,i);
delay(50);
}
delay(500);
closeMotor(‘L’);
delay(1000);
}

Shipping & Delivery
wd-ship-1
wd-ship-2

MAECENAS IACULIS

Vestibulum curae torquent diam diam commodo parturient penatibus nunc dui adipiscing convallis bulum parturient suspendisse parturient a.Parturient in parturient scelerisque nibh lectus quam a natoque adipiscing a vestibulum hendrerit et pharetra fames nunc natoque dui.

ADIPISCING CONVALLIS BULUM

  • Vestibulum penatibus nunc dui adipiscing convallis bulum parturient suspendisse.
  • Abitur parturient praesent lectus quam a natoque adipiscing a vestibulum hendre.
  • Diam parturient dictumst parturient scelerisque nibh lectus.

Scelerisque adipiscing bibendum sem vestibulum et in a a a purus lectus faucibus lobortis tincidunt purus lectus nisl class eros.Condimentum a et ullamcorper dictumst mus et tristique elementum nam inceptos hac parturient scelerisque vestibulum amet elit ut volutpat.

منتجات ذات صلة

-18%
قارن

USB Soldering Iron

electronics
50 ر.س السعر الأصلي هو: 50 ر.س.41 ر.سالسعر الحالي هو: 41 ر.س.
  • USB Soldering Iron
  • مصدر الطاقة: يعمل بالبطارية
  • الميزة الخاصة: كهربائي
  • النمط: قلم رصاص
إضافة إلى مفضلة
إضافة إلى السلة
عرض سريع
-20%
قارن

3s Li-Ion 60A 10.8V – 12.6V BMS with balance

3.7v LiFePO4 cells, electronics
20 ر.س السعر الأصلي هو: 20 ر.س.16 ر.سالسعر الحالي هو: 16 ر.س.

This 3S 60A BMS balance board is used for a 10.8V - 12.6V lithium battery pack to equalize voltage and protect the cells. The Balance feature comes with recovery function (auto recovery) and condition the cells using passive cell balancing.

In-built safety with overvoltage protection, short circuit protection and under voltage protection.

إضافة إلى مفضلة
إضافة إلى السلة
عرض سريع
-22%
قارن

Drill Bit, 10 Pieces PCB Circuit Board Carbide Micro Drill Tool Set for CNC SMT (0.5 mm)

DC Motor
45 ر.س السعر الأصلي هو: 45 ر.س.35 ر.سالسعر الحالي هو: 35 ر.س.
Drill Bit, 10-Piece PCB Circuit Board Carbide Micro Drill Tool Set for CNC SMT (0.5 mm) Material: Material Cutting diameter:
إضافة إلى مفضلة
إضافة إلى السلة
عرض سريع
قارن

N20 Micro Gear Motor 6V

DC Motor
  • Voltage: 3V-6V
  • Motor Shaft Diameter: 3mm D-type shaft
  • Motor Shaft Length: 9mm
إضافة إلى مفضلة
قراءة المزيد
عرض سريع

teslatechnology

  • عدن , انماء , المرحلة الخامسة , بجانب مسجد سعد بن ابي وقاص
  • Phone: (0967) 781-500910
  • WhatsApp: (0967) 781-500910
Recent Posts
Our stores
USEFUL LINKS
  • سياسة الخصوصية
  • أخبارنا
  • Our Sitemap
Footer Menu
  • Instagram profile
  • تواصلوا معنا
  • اخبارنا
tesla technology
  • قائمة
  • الفئات
  • Sensors
  • Arduino Kit
  • DC Motor
  • 3.7v LiFePO4 cells
  • Electronics
  • الصفحة الرئيسية
  • المتجر
  • من نحن
  • تواصلوا معنا
  • قائمة الرغبات
  • قارن
  • تسجيل الدخول/التسجيل
عربة التسوق
إغلاق
تسجيل الدخول
إغلاق


فقدت كلمة المرور الخاصة بك ؟

أي حساب حتى الآن ؟

إنشاء حساب
المتجر
0 قائمة الرغبات
0 البند عربة التسوق
حسابي