Pages: [1]   Go Down
Author Topic: BTN7970 module help  (Read 348 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I have the following module which i plan to use to control some peltier elements:

http://www.ebay.co.uk/itm/BTS7970B-BTN7970B-power-motor-driver-Controller-module-70A-A2630-78M05-5V-25V-/300921027008?pt=Intercoms_Access_Controls&hash=item46104a79c0

However, i can't find any documentation for the module itself and I'm not totally sure how to get it to work properly. It has the following control pins:

in1
in2
Vin

if I run the following code using a small 12v motor to test it I can successfully control the speed of the motor but have yet to work out how to reverse direction. I have tried setting in1 and in2 to HIGH-LOW, LOW-HIGH, HIGH-HIGH, and LOW-LOW.

Code:
#define pinIn1 9
#define pinIn2 10
#define pinVin 11

void setup()
{
  Serial.begin(9600);
  for(int i=9;i<12;i++)
  {
    pinMode(i, OUTPUT);
  }
}


void loop()
{
  if (Serial.available()>0)
  {
    char inChar = Serial.read();
    switch(inChar)
    {
      case '1':driveMode1(); break;
    }
  }
}

void driveMode1()
{
  digitalWrite(pinIn1, HIGH);
  digitalWrite(pinIn2, LOW);
  for(int i=100; i<255; i++)
  {
    analogWrite(pinVin, i);
    Serial.println(i);
    delay(100);
  }
}

What I have found after testing:

In1 - set to HIGH or LOW makes no difference at all.
In2 - motor will run only when set to LOW.
Vin - PWMing this pin controls speed.

So is this module incapable of reversing direction or am I missing something. If it cannot reverse will I be fine using using the double SPDT relay method of switching polarity in conjunction with this module?

Thanks
Logged

0
Offline Offline
Shannon Member
****
Karma: 220
Posts: 12710
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Where did you connect the motor?  I think the load should be between OUT1 and OUT2.
Then in1 and in2 control each side of the bridge - make one high and one low to drive
the motor.  Its not clear what Vin is, but I think it powers the internal 5V regulator
(which might or might not be needed).  You must common Arduino ground to
the module's ground, but they've not brought it out to a header pin, only screw terminals.
What a poor design!

Note the description says "70A peak current" - that's baloney as the PCB traces will be
destroyed at that current level.
Logged

[ I won't respond to messages, use the forum please ]

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I have connected load to out1 and out2 and grounds are connected. How you describe it is how I expected it to work but it doesn't. I can get it to output a voltage across out1 and out2 as long as in2 receives a LOW signal. This output voltage is proportional to the pwm signal I send to Vin. Yet, sending any sort of signal to in1 makes no difference to output. Strange. Starting to think its a faulty module.

As soon as I received the module I was dubious about its max current. No heatsinks on chips had me worried. I am using it to power 3 8amp peltiers in parralel drawing a total max current of around 26amps @ 12v. If I run the circuit the two btn7970's get very hot but as far as I can tell by the data sheet the chips themselves have integrated over temp protection. Still, I stuck a small lump of aluminum to them just in case.

Anyway, I have it setup using in2 as an on/off (LOW/HIGH), PWM to Vin and with 2 spdt 30amp relays in between module output and load to switch polarity as a workaround. I have another different dual btn7970 based module on order and this one looks more capable of handling higher current.

Thanks
Logged

Victoria, Australia
Offline Offline
Edison Member
*
Karma: 46
Posts: 1644
Electronics Engineer/Industrial Control
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi, attached is datasheet of the active components on that PCB, have you tried contecting the seller for a sheet on the PCB?

The datasheet may help with terminal allocations.

Tom... smiley

* BTS7970B_datasheet.pdf (305.86 KB - downloaded 6 times.)
Logged

Everything runs on smoke, let the smoke out, it stops running......VK3DMK

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for the link.

I have looked at this many times and from what i can make out, this module is built to the application example on page 23. I am a trained mechanical engineer with a little electrical and electronic knowledge, only what is self taught and what I pick up at work, so although understand some of the data sheet I am struggling to diagnose the problem. If I had to take a educated guess I would say there is something wrong with the control side of one of the BTN7970 ic's. I say this as changing signal to "in1" seem to have no effect on output but as I said its just a guess and probably wrong.

The module is made by LC TECH. I have had previously bought another product of their's which didn't have a any pinout info and tried contacting them about it but never received any information back so not sure I will this time.

To be honest, I am getting concerned with how hot the BTN7970 ic's are getting. I have a 25mm x 40mm x 10mm block of aluminuim pasted across both chips and within 10mins of passing ~20amps through the module to the peltier elements it gets to the point that I can't hold my finger on it for longer than 5 seconds. If I am to use this module I fear passive cooling will not suffice. I have another module on the way that has a heatsink attached to one side of the PCB and the pinout seems similar to lower power h bridge modules I previously used.

What are people's opinions on the current capabilities of these so called "High Current" BTN7970 modules?

Should these be able to handle 20-30amps of continous current or am I going to have to rethink about hardware choices?

If so, what are my options for driving 3 peltiers within a PID loop(variable output) of combine load of ~25amps? I have tried relays using time proportional PID but was concerned about wear caused by thermal cycling occuring near setpoint.

Thanks
Logged

0
Offline Offline
Shannon Member
****
Karma: 220
Posts: 12710
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Simple maths, the MOSFETs are 9 and 7 milliohms I believe, so that's a max dissipation
of 3.6W + 2.8W = 6.4W for both devices at 20A, a fan is needed (1W per device might
be OK without, but that's only 11A or so).

A chip-set cooling fan is a good option, small but effective.
Logged

[ I won't respond to messages, use the forum please ]

0
Offline Offline
Tesla Member
***
Karma: 147
Posts: 9746
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Past discussion with code. You might consider a heat sink like bottom.

http://forum.arduino.cc/index.php?topic=148482.0

http://www.ebay.com/itm/Double-BTS7960B-43A-Motor-Driver-High-power-Module-For-Smart-Car-Arduino-/170949755496?pt=LH_DefaultDomain_0&hash=item27cd664268
Logged

Consider the daffodil. And while you're doing that, I'll be over here, looking through your stuff.   smiley-cool

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks Mark for clarifying that. I'm sure i have a few chipset fans kicking about. I know I have plenty of 40mm fans if not. I ran the circuit at full power for a lot longer yesterday hoping to see if the supposed overcurrent protection would kick in but it did not. I think if i choose to use this module I think i will try to monitor the temperature of a heatsink attached to the IC's as a precaution

Zoomkat thanks, I did find that discussion from my previous research. That is actually the 2nd h bridge module I have bought which I'm waiting to be delivered. Unfortunately the pin out for the current module does not match up and seems much less intuitive.

Thanks
Logged

Pages: [1]   Go Up
Jump to: