Thank you so much! Works great. I moved your test code and wiring over to a Raspberry Pi Pico and it works great. All I had to do was ensure to use same GPIO pins as the code. It worked perfectly with no issues. BTW, I am using a wheelchair motor at 24vdc. So far under no load, running non stop for an hour, the chips don't even get hot.
you are very welcome. would you please share the code on Google drive or somewhere so I can share it with other? many people might need it. The best thank you for me is to subscribe to my channel. thank you.
@@robojax Thanks again. I thought I replied already, but I don't see the comment. Here is a link to my video using your code: ua-cam.com/video/kxGwZ1kxaq8/v-deo.html which also has a link in the description to my Google drive with your code. Here is also a link directly to the drive with your code: drive.google.com/drive/folders/1KXQD5Gj2zxjA9OD6UG3i-uvIzwmdMY55?usp=sharing
Thank you. I just found your comment. it was flagged as spam. Watched your video with Excellent demonstration. I have worked with Raspberry Pi and I assume the code should not work as it is in totally different format. But not sure about Pico. may be something has come which I don't know. Regardless, I am pleased that I have been helpful to one more person(s). Cheers.
@@4plus17 It seems to work just fine with the 3.3v PGIO from the Pico. I posted a link to my test set up here: ua-cam.com/video/kxGwZ1kxaq8/v-deo.html That link also contains a link to the modified code, which lists the exact GPIO pins I used. But you can use any pwm pins you like.
Thanks for this wonderful analysis. I just bought one of these and you are absolutely right. The airgap between the driver and heatsink just doesn't allow it to get up to 30A. Thankfully my application only require 8 A max per motor so hopefully this driver will not get overloaded.
HI there, I hope you still read the comments to this video after all this time. Thank you for this video it is helping to use linear actuators to open the roof of my astronomy observatory, if I can get it to work. I am not sure what is wrong, if it is my BT2 controller, which is new, but the folowing happens when I run your basic code. It will only go in one direction, as defined in line 60 "motor.rotate(100,CW);// run motor with 100% speed in CW direction". it then misses the code until it speeds up and then slows down, again but only in the direction as defined in line 60. It keeps going until fully extended. If I then change the line 60 to read, "motor.rotate(100,CCW);// run motor with 100% speed in CW direction" and upload that sketch it retracts full speed, misses out the stops but runs the slow to full speed rampup, then runs full speed again until it is fully retracted. So it appears to be ignoring code to stop or to delay and will only accept the first instruction for the direction from line 60 and ignore the change of direction request. I have changed all the wires in case they were faulty but that made no difference. Your help and advice please. I do not know much about coding so I am very frustrated.
Incredible full video and with a spectacular explanation of each point of the code as well as the circuit, thanks for the video, I will use the library in my project.
Very good information. To improve the thermal conductivity, the heat sink can be removed from the 2 screws and modified a little to reinstall it on top of the IC chips with longer screws. Now the heat sink can do a proper job of absorbing the heat and prevent thermal shutdown. A fan can also be used for optimal cooling.
Interesting idea, I have also seen comment of just adding thermal past. I just ordered 2 for a trolling motor project. I think I will need to run them in parallels. But after you comment I might try to add the other heat sink, and use them on both sides as an experiment.
@@ericbommer2280 I am also working on a trolling motor project and I've added thermal paste to mine, but I'm still not sure how well this is going to work
The heat sink could contact a soldermask free area connected with feedtroughs on that backplane of the board. It seems tha tthe footprint of that heatsink would fit on the component side without interfering with the other components tough. So i would try to switch its mounting and provide a small fan, mostly if the unit gets inclosed in a small water proof enclosure like it should if controlling an ebike or scooter. Thanks a lot for your diligent work on the spec sheets and circuit analysis.
I think best testing it under inductive load like dc motor to get real performance (switching losses) I always get your channel as reference for exploiting modules Thanks
I have just made a temperature check of one of these modules, and I think that the current specifications given are far too optimistic. The right steady state current should be about 7 Amps. I use at test set up with the H-bridge in a four quadrant configuration with a motor and 24 VDC. Both sides are driven by 10 kHz, so the motor see a 20 kHz PWM signal. I then measured the temperature on the surface of the packet and on the heat sink. With a current of 7 Amp to a loaded motor I get 124 degr. C on the surface and 84 degr. C on the heat sink. You may choose to set two modules in parallel in order to increase the current and power, that you can handle.
My pleasure! سلام علیکم، خرسندم مفید واقع میشود. مجرای(کانال) فارسی برای این منظور را فعال کرده ام و تازه یک بخش به آن اضافه شده است: اشتراک شما حمایت از من است. تشکر ua-cam.com/video/9_8PRIjBfAY/v-deo.htmlsi=4qWn0mSdgEF0Gpvn
Great video - very thorough and informative. Lots of useful information in the comments, and love that you are so responsive to questions. My question (which I didn’t find in any of the comments) is whether the amount of heat generated in the BTS chips is related to the PWM frequency being used, and also whether maintaining 100% duty cycle will create less heat. I note in your video that your code continually increases then decreases the duty cycle during your test. Thanks, and keep up the great work!
Hi, the datasheet we can see the maximum PWM frequency is 25kHz. I have not paid attention to the efficiency of module other than path resistance which is about 16mΩ. In the code the duty cycle changes but the frequency is fixed.
Thank you for the work you did on this...Liked and subscribed and will most likely be joining you on Udemy. This worked like a charm on two harbor freight drill motors. I've got my DIY robot base performing simple movements with the aid of your tutorial and library.
Would u do another test on the power handling? Remove the heat sink and put it on top of the iC's . All you need are longer bolts . It fits beautiful. You may have to drill out the holes on the heat sink a tad to fit your longer bolts. I know its an old device. But i would bet there alot laying in junk boxes.
Unscrew the heat sink and screw it down onto the MOSFETs. Use a few small washers to pack it up so it doesn't crush the MOSFETs. That fixed the overheating issue with me. Little Chinboi designing these modules had know idea what he was doing.
yes sir i am used this BTs Below 13 Amps working fine after i increased motor capacity amps up to 28 its working only few seconds after that its automatically run (mean whenever i gave the BTS Input power supply from battery that time motor will run ) pls can you suggestion others driver with pwm type speed control?
You are welcome. I don't remember what was the voltage. but know I always explain the voltage. whatever is the voltage of the module, that is the motor voltage.
Hi Thanks a lot for the detailed explanation, i wonder how can we connect 2 BTS7960 to control 2 motors. is it possible to combine some pins. or we need 12 pins to control excluding power and ground.
Hi, I just added the code for 2 or more motors. See the link on page where you see the code. Good cluck and thanks for subscribing and sharing my videos.
Thank you for a very good tutorial - Just found this video and subscribed. Do you have any videos of using the IBT 2 to remote control DC motors and linear actuators?
Hi, thank you for the detailed and informative video! I am trying to do a mini project which controls linear actuator and this seem to be able to work. Can you include a short guide on how to use the current sensing feature? It will be useful to perform some actions automatically if the current exceeds a certain threshold.
You can learn current sensing from this video for different module but you get the idea: ua-cam.com/video/-uQKBDTWHPM/v-deo.html details have been mentioned on page 17 of datasheet: www.robotpower.com/downloads/BTS7960_v1.1_2004-12-07.pdf
Great Video! Really informative and helpful. @Robojax can you please suggest its max current output with 24V? And the best way to cool down this module at its peak 33A. As I read its datasheet it will shutdown on over heating ? Have you tested it at which Temprature it goes shutdown. Thanks
Thank you Mathilda. I have not tested it with 30A but if you watch the video til end, I have included some test and didn't know how people like this module so I did not spend more time on it.
No problem I'm going to test it! Your video inspired me about the efficiency of module in cheap price. So I'm definitely going to re-test rigorously. Excited to learn something more about it. Thanks again for your detailed review must appreciated!
Thank you for your tutorial. If I want to use multiple BTS7960 in parallel to power one single motor, what should I use to protect the motor and other BTS modules if one of them suddenly die while running full load? BTS is the most powerful DC Controller with PWM input I can buy from local store, so I have no other choice, except DIY.
you can do it using a current sensor like this ua-cam.com/video/3C33DpcSwIw/v-deo.html when the current reaches certain value, you can stop it using a relay. I have video on rely and if your current is very high then use ua-cam.com/video/9jwCc7uPGoc/v-deo.html up to 100A nad i you want to use stand-alone device without arduino, here it is is ua-cam.com/video/a4b_A0ZDvwc/v-deo.html with relay you can turn OFF or ON any load. Good luck.
Excelente explicacion y muy buena la prueba tecnica con valores en tiempo real. Felicitaciones !!! CUIDADO !!! El codigo tiene errores al compilar. El include no esta bien escrito.
whether 12V-40V10A DC Motor PWM Speed Control switch can be run directly through Arduino, or it require to run though BTS7960, Pls. Reply. Also, Pls. note, No Manual control switch is allowed for my work.
I have now downloaded a fresh copy from here. I have connected the Arduino and made sure that it shows on the correct port. I have gone to Sketch>include library> Robojax... and then upload the file. I keep getting that the motor is not defined. I am sure that it is not the code but that my stupidity is the cause. Please assist in raising my intelligence by a few points please...
Hi, thanks for the clear explanation! I am trying to use the example sketch on an ESP32 wireless module and get the message: "Error compiling for board ESP32 Dev Module.". I know that the analogWrite() function is not implemented in the ESP32, but I am not experienced enough to see if that could be the problem here. Could anyone provide me with some help on this one? Thanks!
Hi, this will not work with ESP32 as ESP32 has different PWM mechanism. I would have to write separate library for this module. or watch my video on ESP32 with Fading LED, I have explained it there.
Thank you very much for useful video. What about to use a thermal paste between heat sink and board (and fill up the holes). Or attach heat sink directly on chips. Could it than withstand 30 amperes? I mean: is higher current only dependent on cooling?
Love the library and I currently have something working based on what you have shown. How would I expand the library you've included to have soft start and soft stop instead of just the hard stop you have now? Ideally I would have motor.rotate(5,CW); motor.easestop();
no. this module is sold like this and I wanted to test it as is. Spent almost a week to write library for it. this is the most powerful module for motor in this series.
Thank you for great tutorials. Can the logic be powered by an external source instead of the arduino? And if so, would it be two wires to ground, one to the external power source and one to the arduino like you showed with the l298? I’m planning to use 3 bts7960 and a stepper motor driver in the same project but I’m concerned that it will be too many amps for the arduino. But maybe the enable pins and pwn would draw the same amps from the arduino even if I power the driver externally?
Hello, excellent video, very complete, I need to connect several motors, but the arduino has a limited number of outputs, I thought about using a PCA 9685, but I don't know what the code is like for this, I hope you make a video explaining this, it would be great !!
Hello, I have got 4 videos on pca9685 you can use one the code that you think might be useful to you and feed the output of that to this motor driver. But it need some serious work.
Thank you very much for the video it helped me a lot, but I would like to know how I can do to manipulate two H bridges in the same code and move two engines two bts7960, so that one goes clockwise and the other upside down helps me a lot. Thanks greetings.
You are welcome. fro two devices, on this line R_EN,RPWM,R_IS, L_EN,LPWM,L_IS RobojaxBTS7960 motor(R_EN,RPWM,R_IS, L_EN,LPWM,L_IS,debug); change it to R_EN1 RPWM1 R_IS1 L_EN1 LPWM1 L_IS1 R_EN2 RPWM2 R_IS2 L_EN2 LPWM2 L_IS2 RobojaxBTS7960 motor1(R_EN1,RPWM1,R_IS1, L_EN1,LPWM1,L_IS1,debug); RobojaxBTS7960 motor2(R_EN2,RPWM2,R_IS2, L_EN2,LPWM2,L_IS2,debug); and then use motor1.stop(); motor2.stop(); motor1rotate(100,CW); motor2.rotate(100,CW);
Fine! That is for one wheel control. Maybee you have code for two motors (like wheelchair ) for grassmover? I have Arduino Nano3, 9V switcher trafo and two BTS7960 motor driver, two used motors are on the way too. Thank You, M
You are welcome. Yes you can. Watch this video and learn from it ua-cam.com/video/27KjMfPH1dk/v-deo.html The best thank you for me is to not skippin the ads and Subscribe 🔔 to my channel, like 👍 the video and do not skip the ads.. It is greatly appreciated. 🔔 😊. I will reply to all Subscriber's 🔔 questions. So make sure to Subscribe.😊 .
I have mentioned the minimum and maximum voltage which I don't remember now. if your battery is within the min and max voltage it should work. The power depends on the motor.
Will your library work with a esp32? Can it work with stepper motors? I can see that it might work with a eBike or scooter or CNC or high current servo, but can it work with something like a Segway or 6 wheel ATV or heavy lift quadcopter where the left and right sides are rotating in same or opposite directions at controlled speeds? Hope I can see some applications like listed above..
This is a great tutorial video.. well you always did. Thank you very much. BTw, I got one question, can I use this as a voltage regulator? maintain 70V and placed it on the high side of the load? Appreciate your reply thanks in advance.
Hello, I have spent so much time to make those diagrams so there is not questions left. Here we have no HIGH or LOW. you connect your motor directly to this module. The maximum voltage is whatever I said in the video as I don't' remember it.
Hi, Perhaps you escaped the video. I have said in the video that you can control 1 motor. If you want to control 2 motor, you can but not fully. Details in the video.
Hey, Proteus is very expensive and they don't have free version for that reason I don't have it and don't like the software. Now they should offer free version even with limited capability.
I ordered one of these units online. I think they are completely unsafe/dangerous. the BTS 7960 chips are together on the same cooling block without electrical insulation. Do you agree on the danger it poses? If so please put this in your video! because its putting people at risk!
The module shown in video, the chips are on PCB and body of the chip is not attached to the heatsink. so it is safe. unless yours is different. see the module document robojax.com/learn/arduino/robojax_BTS7960_motor_driver_manual.pdf
@@robojax I think you misunderstood the point i was trying to make. I have a module that looks exactly like the one u use in your video. Your statement that the chips are not connected to the heatsink is not true (in my case)( and why else would they put on a heatsink in the first place??) . If you take off the heatsink you can see the problem yourselve. The design of the board is so that the chips must dissipate the heat from the chips trough the PCB by mean of Via's. These vias connect the back of the chips to the heatsink. In my case there is no silicon pad between the heatsink and the circuit board. Thus the only thing keeps the unit from short circuit is the thin black anodised layer on the heatsink. Your link in to the manual is not very useful im afraid. Please take a look at the following forum, it is in dutch, but the photo's are clearly showing the problem. www.circuitsonline.net/forum/view/152301
Nice video!! Could you tell me which motor you use in the video, or recommend me a single-phase motor like the one you use in this video? I am doing a project similar to an electric scooter (I need at least 250 W of power). Thank you very much and continue with these fantastic videos!!!!
Thanks. I've just added the motor model on the code page robojax.com/learn/arduino/?vid=robojax_BTS7960_motor_driver I have no experience with electric scooter. Sorry.
what do you mean "Library. Properties Not Found"? do you mean that you did not find the library? the link is under the video. or go directly to Robojax.com and search it there.
Great video, i am trying to control 24V 15A motor using a BTS7960 module. it has burn out though...are you suggesting that it is because of the high current? it also started smoking after short operation.
I have got encoder motor with 6 cable. In order to work and take data from my motor, should I connect only 2 cable to my BT_2. I couldnt file zip file how can I find it?
Just as a information also for the users here. If you switch off the debug mode, the library has a bug. if(this->_debug){ digitalWrite(pwm1Pin, LOW); ... This means, the pwn1Pin is only set to LOW, if you are in debug mode. So if you change direction (without debug-mode and without calling stop) both of the PWM will be bigger than 0, which you should avoid. Best regards, Matthias
@@robojax Looks like links are not allowed, i posted a link to the libraray. Yes, the Problem ist the library in RobojaxBTS7960.cpp in Line 84. Of cause the debug mode SHOULD only affect printing or sending to serial console, but in that line pwm1Pin is set to LOW only in debug mode. So the following code will trigger the bug: RobojaxBTS7960 motor = new RobojaxBTS7960(inhR, pwmPinR, isR, inhL, pwmPinL, isL, 0); motor.begin(); motor.rotate(100, 1); //motor.stop()
you made me watch the video. Indeed I have tested it with full possible current and said in the video "it can not handle ......" amount of current with this heat sink. so you've missed it.
I think that the ic's are counterfeit. I meassured the resistance of my BTS7960 board and the high side switch and has 775mOhm, the datasheet says 12,5 mOhm max!
@@robojax I connected the board with an electric load(set to 2A constant current) and meassured the voltage between vs (Pin 7) and OUT (pin 3). I meassured a voltage of 1,55V. According to ohms law -> R=U/I -> 1,55V/2A=0,775Ω Awesome Video, thanks for reading the comments!
hi sir, i think pin "IS" is not necessary because we dont control the current, we just control the speed is it? if im wrong iam ready to learn from expert like you
Thanks for this tutorial. I am using the same BTS but I am controlling it with labview. I am able to control the speed in one direction, even though I have both R PWM and L PWM connected to PWM pins 3 and 9 respectively. on my arduino uno. L_EN and R_EN are both active (true). Then I turn on PWM, however both pins (3 and 9) makes the motor spin in the same direction. Do you have any idea why?
I have spent time make video on current sensor for Arduino motor shield (ua-cam.com/video/-uQKBDTWHPM/v-deo.html), and it seems very few people showed interest. Now when I was writing the library for this, I did not pay attention to Current sensing because you might among the few who is looking into this. You can watch that video and I am sure you will learn how to use it for this as well.
Thanks a lot for your Video. I have just one question, if you can help me. Regarding the PINs 5 and 6 (R_IS and L_IS), how it yours? Digital or Analogy information? If we have over current, the sign should be toogled (0 to 5V)? Thanks a lot
Thank you for the amazing video !! I would appreciate if you can help me decide to buy this driver or not: I have a 12v DC motor that works on 96 rpm & 1A ( no load), 76 rpm & 4.5A (loaded). Would you recommend this driver to control my motor? or this is for much higher Ampere applications?
Hi, the voltage sources should be the voltage as the motor. it does not matter you get it from as long as the battery can supply needed current (power) to the motor it should be fine.
whether 12V-40V10A DC Motor PWM Speed Control switch can be run directly through Arduino, or it require to run though BTS7960, Pls. Reply. Also, Pls. note, No Manual control switch is allowed for my work. My Motor Rating is: Rated Voltage: 24F/36V, current(F.L.): 5A, Speed: 5000 R.P.M. @180W (F.L.).
Thank you very much. Most of the time Udemy puts it on sale which would be about 70% OFF. If you see the contents item by item, you will see that I have spent 100s of hours preparing them. I paid attention to every aspects of Arduino and constantly updating it. Once you sign up, you will appreciate it.
Hi, Could you tell me how is the implementation of this controller with 16f877a pic microcontroller please? Is it possible to use this with 16f877a and do I need to write any PWM code to use it or I just send normal 1 and 0 logic outputs from pic to this controller to be able to use it?
Hello. What happens when both Enable and both PWM pins are set to High at the same time? does anything burn up? or, does the module understand this is a bad input and doesn't turn anything on? thanks!
this is totally different. L298N can handle only 2A this is made for 30A and I've tested it but forgot how much it could handle. it is like you want to travel with small Toyota or large truck. if you don't need the truck then get small Toyota.
@@robojax Do you know how significant can the voltage drops be ? the L298 is known for having up to 5v drop when handling 2A. I wonder how big is the drop with this one. I really need a high efficient driver for my application.
This module claims to support up to 27v. I have one and tested with 12v wich is fine. Then i tryed 24v and looks like it died... No smoke or anything else, just stop working even with 12v. Do you already run this module with 24v input?
Sir i need some guidance to complete my project....can i use this driver to run a 12V 5 A wiper motor using a SMPS type 12V 5A power supply??.....please do a video on controling wiper motor using SMPS type power supply
Thanks! This detailed step-by-step walk-through on how to operate the BTS7960 motor driver was exactly what I needed
Thank you so much! Works great. I moved your test code and wiring over to a Raspberry Pi Pico and it works great. All I had to do was ensure to use same GPIO pins as the code. It worked perfectly with no issues. BTW, I am using a wheelchair motor at 24vdc. So far under no load, running non stop for an hour, the chips don't even get hot.
you are very welcome. would you please share the code on Google drive or somewhere so I can share it with other? many people might need it.
The best thank you for me is to subscribe to my channel. thank you.
@@robojax Thanks again. I thought I replied already, but I don't see the comment. Here is a link to my video using your code: ua-cam.com/video/kxGwZ1kxaq8/v-deo.html which also has a link in the description to my Google drive with your code. Here is also a link directly to the drive with your code: drive.google.com/drive/folders/1KXQD5Gj2zxjA9OD6UG3i-uvIzwmdMY55?usp=sharing
Thank you. I just found your comment. it was flagged as spam. Watched your video with Excellent demonstration. I have worked with Raspberry Pi and I assume the code should not work as it is in totally different format. But not sure about Pico. may be something has come which I don't know. Regardless, I am pleased that I have been helpful to one more person(s). Cheers.
The pi do Not have a 5V pin, have it?
Which pins do you use at the pi?
@@4plus17 It seems to work just fine with the 3.3v PGIO from the Pico. I posted a link to my test set up here: ua-cam.com/video/kxGwZ1kxaq8/v-deo.html That link also contains a link to the modified code, which lists the exact GPIO pins I used. But you can use any pwm pins you like.
Thanks for this wonderful analysis. I just bought one of these and you are absolutely right. The airgap between the driver and heatsink just doesn't allow it to get up to 30A. Thankfully my application only require 8 A max per motor so hopefully this driver will not get overloaded.
you have no idea , how helpful you were to my career ,
one day soon , i will pay you back respectively , out of appreciation and sheer respect .
I am honored to be part your advancement in learning and growth in career. Stay safe. Thank you.
HI there, I hope you still read the comments to this video after all this time.
Thank you for this video it is helping to use linear actuators to open the roof of my astronomy observatory, if I can get it to work.
I am not sure what is wrong, if it is my BT2 controller, which is new, but the folowing happens when I run your basic code.
It will only go in one direction, as defined in line 60 "motor.rotate(100,CW);// run motor with 100% speed in CW direction". it then misses the code until it speeds up and then slows down, again but only in the direction as defined in line 60. It keeps going until fully extended. If I then change the line 60 to read, "motor.rotate(100,CCW);// run motor with 100% speed in CW direction" and upload that sketch it retracts full speed, misses out the stops but runs the slow to full speed rampup, then runs full speed again until it is fully retracted. So it appears to be ignoring code to stop or to delay and will only accept the first instruction for the direction from line 60 and ignore the change of direction request. I have changed all the wires in case they were faulty but that made no difference. Your help and advice please. I do not know much about coding so I am very frustrated.
Hi, please post your inside the loop code. Something is wrong.
I mean post it here by replying. I read all the comments regardless of the video. All on the same page.
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println("Thanks Robojax..Subscribed..");
delay(100);
}
Love your videos. very professional presentations. Please increase the volume of your videos. thank you!
Thank you for liking. Sure I have. My videos have changed now checked them out ua-cam.com/users/robojaxTVvideos
Incredible full video and with a spectacular explanation of each point of the code as well as the circuit, thanks for the video, I will use the library in my project.
Glad you enjoyed it!
Very good information. To improve the thermal conductivity, the heat sink can be removed from the 2 screws and modified a little to reinstall it on top of the IC chips with longer screws. Now the heat sink can do a proper job of absorbing the heat and prevent thermal shutdown. A fan can also be used for optimal cooling.
Interesting idea, I have also seen comment of just adding thermal past. I just ordered 2 for a trolling motor project. I think I will need to run them in parallels. But after you comment I might try to add the other heat sink, and use them on both sides as an experiment.
@@ericbommer2280 I am also working on a trolling motor project and I've added thermal paste to mine, but I'm still not sure how well this is going to work
Yeah, I think they are M3 screws, so I got longer ones and flipped the heatsink over with some thermal paste on top. It certainly should work better.
Would you provide an update after you have done this? Would be nice know if it's better
I built the device successfully, congratulations!
The heat sink could contact a soldermask free area connected with feedtroughs on that backplane of the board. It seems tha tthe footprint of that heatsink would fit on the component side without interfering with the other components tough. So i would try to switch its mounting and provide a small fan, mostly if the unit gets inclosed in a small water proof enclosure like it should if controlling an ebike or scooter. Thanks a lot for your diligent work on the spec sheets and circuit analysis.
very clear explanation english good enough for global thank you good job
You are welcome. I am glad you found it useful.
Thank you so much for your help I was stuck and you helped me. Subscribed!
Glad I could help! Than you.
I think best testing it under inductive load like dc motor to get real performance (switching losses)
I always get your channel as reference for exploiting modules
Thanks
Hi, I agree with the inductive load tests. cheers
Thank you very much eng. Ahmad, your tutorials are much appreciated.
So nice of you
Nice video mate. Just ordered 2 of these things.. lets see if I can catch them on fire :)
I have just made a temperature check of one of these modules, and I think that the current specifications given are far too optimistic. The right steady state current should be about 7 Amps. I use at test set up with the H-bridge in a four quadrant configuration with a motor and 24 VDC. Both sides are driven by 10 kHz, so the motor see a 20 kHz PWM signal. I then measured the temperature on the surface of the packet and on the heat sink. With a current of 7 Amp to a loaded motor I get 124 degr. C on the surface and 84 degr. C on the heat sink. You may choose to set two modules in parallel in order to increase the current and power, that you can handle.
thank you so much for your incredible informations
My pleasure!
سلام علیکم، خرسندم مفید واقع میشود. مجرای(کانال) فارسی برای این منظور را فعال کرده ام و تازه یک بخش به آن اضافه شده است: اشتراک شما حمایت از من است. تشکر
ua-cam.com/video/9_8PRIjBfAY/v-deo.htmlsi=4qWn0mSdgEF0Gpvn
Great video - very thorough and informative. Lots of useful information in the comments, and love that you are so responsive to questions. My question (which I didn’t find in any of the comments) is whether the amount of heat generated in the BTS chips is related to the PWM frequency being used, and also whether maintaining 100% duty cycle will create less heat. I note in your video that your code continually increases then decreases the duty cycle during your test. Thanks, and keep up the great work!
Hi, the datasheet we can see the maximum PWM frequency is 25kHz. I have not paid attention to the efficiency of module other than path resistance which is about 16mΩ. In the code the duty cycle changes but the frequency is fixed.
Thank you for the work you did on this...Liked and subscribed and will most likely be joining you on Udemy. This worked like a charm on two harbor freight drill motors. I've got my DIY robot base performing simple movements with the aid of your tutorial and library.
Awesome, thank you!
Would u do another test on the power handling? Remove the heat sink and put it on top of the iC's . All you need are longer bolts . It fits beautiful. You may have to drill out the holes on the heat sink a tad to fit your longer bolts. I know its an old device. But i would bet there alot laying in junk boxes.
THANK YOU VERY MUCH , I understand this motor drive perfect.
You are welcome!
@@robojax and your translation is Turkish good . :)
Unscrew the heat sink and screw it down onto the MOSFETs. Use a few small washers to pack it up so it doesn't crush the MOSFETs. That fixed the overheating issue with me. Little Chinboi designing these modules had know idea what he was doing.
Yes a little extra work pays off. Thank you for sharing.
I think they assembled them incorrectly, hence they are so cheap..
Thank you for your effort Sir! It is so helpfull. I also added some button etc. Seems great thanks to you!
You are welcome. Here is $200 Arduino course for free Arduino Step by Step Course (over 100 lectures) Starts here robojax.com/L/?id=338
In any case excellent tutorial ;-)
Thank you for not skipping the ads and keep watching them. This will help me a lot.
yes sir i am used this BTs Below 13 Amps working fine after i increased motor capacity amps up to 28 its working only few seconds after that its automatically run (mean whenever i gave the BTS Input power supply from battery that time motor will run ) pls can you suggestion others driver with pwm type speed control?
Thanks a lot for the knowledge. You have given a code for multiple motors. Can we get a video on the wiring and equipment????
Wiring is shown in the video. Please visit resources page for more codes.
Thank you so much for the video. It was very informative and helpful. I have a question. Can I connect a 24v dc Motor to this module
You are welcome. I don't remember what was the voltage. but know I always explain the voltage. whatever is the voltage of the module, that is the motor voltage.
This is a great h bridge I use them all the time
Thank you for sharing.
nice work ,thank you for your video
Thanks for watching!
Thanks so much for this.
You're very welcome!
I like your tutorial. I subscribed you, keep make a good tutorial
Good to hear that. Thank you for your subscription.
Thanks!
You are very welcome. Thank you.
Hi Thanks a lot for the detailed explanation, i wonder how can we connect 2 BTS7960 to control 2 motors. is it possible to combine some pins. or we need 12 pins to control excluding power and ground.
Hi, I just added the code for 2 or more motors. See the link on page where you see the code. Good cluck and thanks for subscribing and sharing my videos.
Interesting module. Thanks!
You are welcome.
Excellent tutorial :-)
Thank you.
@@robojax Please add a circuit diagram next time.. By the way .. Excellent Work!!
Let's thumbs up!!!
I am glad you liked it. The best appreciation for me is to subscribe to my channel. thank you.
@@robojax this is my second subscribe, from my second account sir.
👍👍👍
Thank you for a very good tutorial - Just found this video and subscribed. Do you have any videos of using the IBT 2 to remote control DC motors and linear actuators?
Very Informative Content!
I am glad you found it useful. Please subscribe. I appreciate it.
Hi, thank you for the detailed and informative video! I am trying to do a mini project which controls linear actuator and this seem to be able to work. Can you include a short guide on how to use the current sensing feature? It will be useful to perform some actions automatically if the current exceeds a certain threshold.
You can learn current sensing from this video for different module but you get the idea: ua-cam.com/video/-uQKBDTWHPM/v-deo.html details have been mentioned on page 17 of datasheet: www.robotpower.com/downloads/BTS7960_v1.1_2004-12-07.pdf
whether 12V-40V10A DC Motor PWM Speed Control switch can be run directly through Arduino, or it require to run though BTS7960, Pls. Reply.
Great Video! Really informative and helpful. @Robojax can you please suggest its max current output with 24V? And the best way to cool down this module at its peak 33A. As I read its datasheet it will shutdown on over heating ? Have you tested it at which Temprature it goes shutdown.
Thanks
Thank you Mathilda. I have not tested it with 30A but if you watch the video til end, I have included some test and didn't know how people like this module so I did not spend more time on it.
No problem I'm going to test it! Your video inspired me about the efficiency of module in cheap price. So I'm definitely going to re-test rigorously. Excited to learn something more about it.
Thanks again for your detailed review must appreciated!
You are welcome. your comment is appreciated. Good luck with your projects.
Hello @Mathilda, i want to know if you did the test with max current and if the module was promising
Thank you for your tutorial.
If I want to use multiple BTS7960 in parallel to power one single motor, what should I use to protect the motor and other BTS modules if one of them suddenly die while running full load?
BTS is the most powerful DC Controller with PWM input I can buy from local store, so I have no other choice, except DIY.
you can do it using a current sensor like this ua-cam.com/video/3C33DpcSwIw/v-deo.html when the current reaches certain value, you can stop it using a relay. I have video on rely and if your current is very high then use ua-cam.com/video/9jwCc7uPGoc/v-deo.html up to 100A nad i you want to use stand-alone device without arduino, here it is is ua-cam.com/video/a4b_A0ZDvwc/v-deo.html with relay you can turn OFF or ON any load. Good luck.
Excelente explicacion y muy buena la prueba tecnica con valores en tiempo real. Felicitaciones !!!
CUIDADO !!! El codigo tiene errores al compilar. El include no esta bien escrito.
Gracias. por favor proporcione el error exacto para que pueda ayudarlo. Si descarga la biblioteca, no hay ningún error a menos que cambie el código.
Keep on the Good work !
I will . Thanks.
You can brake a motor with the BTS7960 PWM H and how it would be done
Stop is the brake. to coast you just set the speed 0. but brake is stop. see comments from @Whitney Design Labs
whether 12V-40V10A DC Motor PWM Speed Control switch can be run directly through Arduino, or it require to run though BTS7960, Pls. Reply. Also, Pls. note, No Manual control switch is allowed for my work.
Thanks sir.
Would you please be able to make a video how to control dc motor using DBH-12 motor driver and Raspberry pi? Thank you
If manufacturer pay me, I will make video for it. Tell them to contact me via Robojax.com contact page
good job ! thanks ,
No problem 👍
I have now downloaded a fresh copy from here. I have connected the Arduino and made sure that it shows on the correct port. I have gone to Sketch>include library> Robojax... and then upload the file. I keep getting that the motor is not defined.
I am sure that it is not the code but that my stupidity is the cause. Please assist in raising my intelligence by a few points please...
Can this be used with analog output from a PLC
Hi, thanks for the clear explanation! I am trying to use the example sketch on an ESP32 wireless module and get the message: "Error compiling for board ESP32 Dev Module.".
I know that the analogWrite() function is not implemented in the ESP32, but I am not experienced enough to see if that could be the problem here. Could anyone provide me with some help on this one? Thanks!
Hi, this will not work with ESP32 as ESP32 has different PWM mechanism. I would have to write separate library for this module. or watch my video on ESP32 with Fading LED, I have explained it there.
excellent video thanks
You are welcome. Thank you for not skipping the ads and keep watching them. This will help me a lot.
Thank you very much for useful video. What about to use a thermal paste between heat sink and board (and fill up the holes). Or attach heat sink directly on chips. Could it than withstand 30 amperes?
I mean: is higher current only dependent on cooling?
Thermal paste or thermal transfer sheet should be used.
Love the library and I currently have something working based on what you have shown. How would I expand the library you've included to have soft start and soft stop instead of just the hard stop you have now? Ideally I would have motor.rotate(5,CW); motor.easestop();
It would be a different story if you use a fan in front of the module to help sink the heat. have you tried testing it with cooling fan.
no. this module is sold like this and I wanted to test it as is. Spent almost a week to write library for it. this is the most powerful module for motor in this series.
you can use this library with nodemcu esp8266, thanks in advance and greetings.
Greetings, not it won’t work with ESP .
Thank you for great tutorials. Can the logic be powered by an external source instead of the arduino? And if so, would it be two wires to ground, one to the external power source and one to the arduino like you showed with the l298?
I’m planning to use 3 bts7960 and a stepper motor driver in the same project but I’m concerned that it will be too many amps for the arduino. But maybe the enable pins and pwn would draw the same amps from the arduino even if I power the driver externally?
I have tried whichever way to install the sketch to no avail. The Uno board outright rejects the script.
Amazing. I need this driver to control a 24 v dc motor 250 watts and 14 rated Current
Good to know. Just subscribe Thank you for not skipping the ads and keep watching them. This will help me a lot.
Hello, excellent video, very complete, I need to connect several motors, but the arduino has a limited number of outputs, I thought about using a PCA 9685, but I don't know what the code is like for this, I hope you make a video explaining this, it would be great !!
Hello, I have got 4 videos on pca9685 you can use one the code that you think might be useful to you and feed the output of that to this motor driver. But it need some serious work.
@@robojax Yes master, I have already seen them, I mean a video combining arduino, PCA 9685 and BTS 7960
Thank you very much for the video it helped me a lot, but I would like to know how I can do to manipulate two H bridges in the same code and move two engines two bts7960, so that one goes clockwise and the other upside down helps me a lot. Thanks greetings.
You are welcome. fro two devices, on this line
R_EN,RPWM,R_IS, L_EN,LPWM,L_IS
RobojaxBTS7960 motor(R_EN,RPWM,R_IS, L_EN,LPWM,L_IS,debug);
change it to
R_EN1
RPWM1
R_IS1
L_EN1
LPWM1
L_IS1
R_EN2
RPWM2
R_IS2
L_EN2
LPWM2
L_IS2
RobojaxBTS7960 motor1(R_EN1,RPWM1,R_IS1, L_EN1,LPWM1,L_IS1,debug);
RobojaxBTS7960 motor2(R_EN2,RPWM2,R_IS2, L_EN2,LPWM2,L_IS2,debug);
and then use
motor1.stop();
motor2.stop();
motor1rotate(100,CW);
motor2.rotate(100,CW);
Fine! That is for one wheel control. Maybee you have code for two motors (like wheelchair ) for grassmover? I have Arduino Nano3, 9V switcher trafo and two BTS7960 motor driver, two used motors are on the way too. Thank You, M
You are welcome. Yes you can. Watch this video and learn from it ua-cam.com/video/27KjMfPH1dk/v-deo.html The best thank you for me is to not skippin the ads and Subscribe 🔔 to my channel, like 👍 the video and do not skip the ads.. It is greatly appreciated. 🔔 😊.
I will reply to all Subscriber's 🔔 questions. So make sure to Subscribe.😊 .
Thema you for your nice tutorial but I would have a question what kind of
battery do you use
I have mentioned the minimum and maximum voltage which I don't remember now. if your battery is within the min and max voltage it should work. The power depends on the motor.
Will your library work with a esp32?
Can it work with stepper motors?
I can see that it might work with a eBike or scooter or CNC or high current servo,
but can it work with something like
a Segway or 6 wheel ATV or heavy lift quadcopter
where the left and right sides are rotating in
same or opposite directions at controlled speeds?
Hope I can see some applications like listed above..
it won't work with ESP32.
This is a great tutorial video.. well you always did. Thank you very much. BTw, I got one question, can I use this as a voltage regulator? maintain 70V and placed it on the high side of the load? Appreciate your reply thanks in advance.
Hello, I have spent so much time to make those diagrams so there is not questions left. Here we have no HIGH or LOW. you connect your motor directly to this module. The maximum voltage is whatever I said in the video as I don't' remember it.
Great information. Would it make sense to move the heat sink to the other side and clamp it down on top of the circuit components?
right now the chips are not couching the heatsink. you can come up with other method to cool it down. yes.
Hey sir..excellent tutorial out there.I have a question that is..can only one motor be used with a single shield?or two?
Hi, Perhaps you escaped the video. I have said in the video that you can control 1 motor. If you want to control 2 motor, you can but not fully. Details in the video.
its fine and cheap and that is good, but 6 pins to the Arduino its so much , what if I want to use three motors?
Yes Arduino mega which has over 50 pins
Hey, great tutorial :), maybe i ask for to much, but could you help me to get the footprint or the library for proteus?
Hey, Proteus is very expensive and they don't have free version for that reason I don't have it and don't like the software. Now they should offer free version even with limited capability.
I ordered one of these units online. I think they are completely unsafe/dangerous. the BTS 7960 chips are together on the same cooling block without electrical insulation. Do you agree on the danger it poses? If so please put this in your video! because its putting people at risk!
The module shown in video, the chips are on PCB and body of the chip is not attached to the heatsink. so it is safe. unless yours is different. see the module document robojax.com/learn/arduino/robojax_BTS7960_motor_driver_manual.pdf
@@robojax I think you misunderstood the point i was trying to make. I have a module that looks exactly like the one u use in your video. Your statement that the chips are not connected to the heatsink is not true (in my case)( and why else would they put on a heatsink in the first place??)
. If you take off the heatsink you can see the problem yourselve. The design of the board is so that the chips must dissipate the heat from the chips trough the PCB by mean of Via's. These vias connect the back of the chips to the heatsink. In my case there is no silicon pad between the heatsink and the circuit board. Thus the only thing keeps the unit from short circuit is the thin black anodised layer on the heatsink.
Your link in to the manual is not very useful im afraid.
Please take a look at the following forum, it is in dutch, but the photo's are clearly showing the problem.
www.circuitsonline.net/forum/view/152301
Nice video!!
Could you tell me which motor you use in the video, or recommend me a single-phase motor like the one you use in this video?
I am doing a project similar to an electric scooter (I need at least 250 W of power).
Thank you very much and continue with these fantastic videos!!!!
Thanks. I've just added the motor model on the code page robojax.com/learn/arduino/?vid=robojax_BTS7960_motor_driver I have no experience with electric scooter. Sorry.
I'm sorry, I have a question. Shouldn't the enable pin be output?
Yes of course it should be.
Library. Properties Not Found,, :')
Thanks For Brief About driver sir.
what do you mean "Library. Properties Not Found"? do you mean that you did not find the library? the link is under the video. or go directly to Robojax.com and search it there.
Great video, i am trying to control 24V 15A motor using a BTS7960 module. it has burn out though...are you suggesting that it is because of the high current? it also started smoking after short operation.
I am not sure why it smokes. Check the current. or may be install a fan to cool it.
I have got encoder motor with 6 cable. In order to work and take data from my motor, should I connect only 2 cable to my BT_2.
I couldnt file zip file how can I find it?
that needs separate code and video. this is library is without encoder.
Just as a information also for the users here. If you switch off the debug mode, the library has a bug.
if(this->_debug){
digitalWrite(pwm1Pin, LOW);
...
This means, the pwn1Pin is only set to LOW, if you are in debug mode. So if you change direction (without debug-mode and without calling stop) both of the PWM will be bigger than 0, which you should avoid.
Best regards,
Matthias
Hi, as I remember, the debug mode is not affecting other settings except printing something. What is the code you shown? is it from library?
@@robojax Looks like links are not allowed, i posted a link to the libraray. Yes, the Problem ist the library in RobojaxBTS7960.cpp in Line 84.
Of cause the debug mode SHOULD only affect printing or sending to serial console, but in that line pwm1Pin is set to LOW only in debug mode. So the following code will trigger the bug:
RobojaxBTS7960 motor = new RobojaxBTS7960(inhR, pwmPinR, isR, inhL, pwmPinL, isL, 0);
motor.begin();
motor.rotate(100, 1);
//motor.stop()
So... How much current CAN it take with varying duty cycle? Seems like you ended the video halfway through the test
you made me watch the video. Indeed I have tested it with full possible current and said in the video "it can not handle ......" amount of current with this heat sink. so you've missed it.
I think that the ic's are counterfeit. I meassured the resistance of my BTS7960 board and the high side switch and has 775mOhm, the datasheet says 12,5 mOhm max!
how did you measure it?
@@robojax I connected the board with an electric load(set to 2A constant current) and meassured the voltage between vs (Pin 7) and OUT (pin 3). I meassured a voltage of 1,55V. According to ohms law -> R=U/I -> 1,55V/2A=0,775Ω
Awesome Video, thanks for reading the comments!
hi sir, i think pin "IS" is not necessary because we dont control the current, we just control the speed is it? if im wrong iam ready to learn from expert like you
You are right.
@@robojax thanks a lot sir
Thank you for this Great Video, but can I also use this Library and Code on a ESP32?
I have not tested it but it should work
Thanks for this tutorial. I am using the same BTS but I am controlling it with labview.
I am able to control the speed in one direction, even though I have both R PWM and L PWM connected to PWM pins 3 and 9 respectively. on my arduino uno.
L_EN and R_EN are both active (true).
Then I turn on PWM, however both pins (3 and 9) makes the motor spin in the same direction. Do you have any idea why?
You are welcome. The best thank you for me is to Subscribe 🔔 to my channel and thumb up the video. It is greatly appreciated. 🔔 😊. Check wiring.
excuse me sir, do you have a reference on how to use the IS pin? i want to use current sense BTN
I have spent time make video on current sensor for Arduino motor shield (ua-cam.com/video/-uQKBDTWHPM/v-deo.html), and it seems very few people showed interest. Now when I was writing the library for this, I did not pay attention to Current sensing because you might among the few who is looking into this. You can watch that video and I am sure you will learn how to use it for this as well.
Does the overtemperature shutdown function prevent it from "bloving up" if it gets to hot?
yes. Then why we should have it at first place. it is for protection.
Thanks a lot for your Video. I have just one question, if you can help me. Regarding the PINs 5 and 6 (R_IS and L_IS), how it yours? Digital or Analogy information? If we have over current, the sign should be toogled (0 to 5V)? Thanks a lot
“How is yours?” Didn’t understand it
How can I connect a radio remote controller with that, i Been struggling with that for long time coding is not my strong suit.
Thank you for the amazing video !! I would appreciate if you can help me decide to buy this driver or not:
I have a 12v DC motor that works on 96 rpm & 1A ( no load), 76 rpm & 4.5A (loaded). Would you recommend this driver to control my motor? or this is for much higher Ampere applications?
You are welcome. I have tested and shown the maximum current this can handle. So you have to come to conclusion from my test results.
Hi, this is very interesting. But I have a question. Can I supply power with Accu Battery 12v for BTS or I need another hardware?
Hi, the voltage sources should be the voltage as the motor. it does not matter you get it from as long as the battery can supply needed current (power) to the motor it should be fine.
thanks ao much
How to know bts7960 is shutdown sir?? Or broken?? Because i have bts, when i use on my motor wiper, sometime bts not responsir,
it should respond unless wiring has issue.
@@robojax just sometimes sir, if i want the motor work again, i shouldbe shutdown my oc, and turn off my power supplay sir.
@@robojax after that turnon all again and work, but sometime will again like that sir
Thanks for the video. Do you think we can use 3.3 V logic from a raspberry pi for the PWM?
yes you can use
whether 12V-40V10A DC Motor PWM Speed Control switch can be run directly through Arduino, or it require to run though BTS7960, Pls. Reply. Also, Pls. note, No Manual control switch is allowed for my work. My Motor Rating is: Rated Voltage: 24F/36V, current(F.L.): 5A, Speed: 5000 R.P.M. @180W (F.L.).
U cannot run anything 40ma directly through Arduino, its just a microcontroller it should be used with motor drivers which can handle high current
Great teacher, love your videos, But the Udemy course is overpriced at $99.00
Thank you very much. Most of the time Udemy puts it on sale which would be about 70% OFF. If you see the contents item by item, you will see that I have spent 100s of hours preparing them. I paid attention to every aspects of Arduino and constantly updating it. Once you sign up, you will appreciate it.
Hi, Could you tell me how is the implementation of this controller with 16f877a pic microcontroller please? Is it possible to use this with 16f877a and do I need to write any PWM code to use it or I just send normal 1 and 0 logic outputs from pic to this controller to be able to use it?
Hi, I am sorry. I am not familiar with 16f877a.
@@robojax Could you tell me where would I find information about this please?
Hello. What happens when both Enable and both PWM pins are set to High at the same time? does anything burn up? or, does the module understand this is a bad input and doesn't turn anything on? thanks!
Hello, I believe I have explained it. Nothing bad will happen. It will for motor to stop.
How good is this H bridge in comparison to others such as l298 which is known to have some voltages drops across the drive itself.
this is totally different. L298N can handle only 2A this is made for 30A and I've tested it but forgot how much it could handle. it is like you want to travel with small Toyota or large truck. if you don't need the truck then get small Toyota.
@@robojax Do you know how significant can the voltage drops be ? the L298 is known for having up to 5v drop when handling 2A. I wonder how big is the drop with this one. I really need a high efficient driver for my application.
Hi, do you know why the wires get warm, the EM Is 36 v. 30 a. But I am just ussing 24 v 5 a, AND wires get hot.
Hi, 5A is not that much but how thick the wires are? put thicker wire.
This module claims to support up to 27v.
I have one and tested with 12v wich is fine. Then i tryed 24v and looks like it died... No smoke or anything else, just stop working even with 12v.
Do you already run this module with 24v input?
I have shown the datasheet for the chip and that it is not fake. What I said in video, it will work. You have done something wrong.
im still confused .. how much its bear current cant this modul last 10 amper?????
Sir i need some guidance to complete my project....can i use this driver to run a 12V 5 A wiper motor using a SMPS type 12V 5A power supply??.....please do a video on controling wiper motor using SMPS type power supply
wiper is just a motor isn't it? you just power it up and it work.