BTN7970 Motor Driver

The chip has current sinks on logic inputs so pull-down resistors are redundant, they
read LOW if disconnected.

Although the datasheet claims good to 25kHz PWM, its clear it'll perform very poorly at that
speed due to the large switching times of the output stages. I'd limit to 4kHz.

MarkT:
The chip has current sinks on logic inputs so pull-down resistors are redundant, they
read LOW if disconnected.

Mark it correct. When I read the datasheet, I assumed the low-level input current of 25uA typical was current that the device driving it had to sink; but on closer reading, I see that the measurement is taken at 0.4V input and the pin itself is sinking current.

dc42:

MarkT:
The chip has current sinks on logic inputs so pull-down resistors are redundant, they
read LOW if disconnected.

Mark it correct. When I read the datasheet, I assumed the low-level input current of 25uA typical was current that the device driving it had to sink; but on closer reading, I see that the measurement is taken at 0.4V input and the pin itself is sinking current.

That and the schematic of the device showing current sinks on IN and INH :slight_smile:

Having said that, pulldowns can't hurt (and if a very noisy environment might help). When laying out
the driver keep the high current paths away from the logic circuitry as much as possible to reduce
interference.

I'm glad I did it right! I will start working on the PCB. Thanks for all the help. I will try and keep the traces for the motor away from the other traces.

What do you think of the PCB? If I did it right what place should I order it from?

Thanks!

I haven't time to check the wiring of your PCB, however I have the following comments:

  1. You should make the whole of the bottom layer a ground plane, except for short traces that you need to cross under traces on the top layer.

  2. Connect the tab of the ICs to the output terminal as well as to pin 4.

  3. I suggest using one, high current, 4-pin connector (or 2 x 2-pin connectors) for the motor power supply and outputs, and a separate low-current connector for the signal wires. Both terminals should have a ground connection. For the 4-pin connector, you might want to use screw terminals so that you can easily connect thick wires. Put the signal connector at the opposite end of the board from the power/motor connector(s).

  4. Use thicker traces to connect the IC power, ground and output terminals, so as to better handle the current. Also use thick traces to the decoupling capacitor(s).

  5. The decoupling capacitor C1 should be very close to the ICs and the traces between it and the ICs should be short and thick, instead of the long traces you currently have. Consider using 2 capacitors, one per IC.

  6. To better heatsink the ICs, expand the copper pad that you will solder the tab to as much as reasonably possible.

  7. As you are using SMD ICs, I would use SMD resistors too - but that is a personal preference. If you are planning on using a soldering iron to solder the ICs, then you had better stick to through-hole resistors.

I use Itead for making my PCBs.

Thank you so much. I will get to work on your suggestions!

I made as many changes as I could. After making the bottom ground it became finicky and would not let me run traces on the bottom. Also, it would not let me add another capacitor unless I redid the schematic and the PCB. It would also not let me expand the pad, however, I will be using a heat sink, fan, and be using a fraction of the rated amperage under normal conditions. I hope to do most of this with a soldering iron so I would rather keep the resisters through-hole.

If you think it will work I will leave it as is. If you think the circuit will not function without additional changes I will obviously redo everything to make it perfect.

Thank you so much!

There is a technique to creating a ground plane from unused space in Eagle, while leaving traces you routed on the bottom layer intact. This is described in several different places on the web, for example at http://www.muzique.com/schem/groundplane.pdf.

How are you planning to attach the heatsink, given that you are using the SMD version of the chip?

I was able to fix everything you listed. Thanks for the link. I thought I could just add a small heat sink on the top via thermal glue. I was able to extend the pad around the chip so I might not even add the heat sink in. With no load on the motor it only pules 2 amps.

Well, that might work OK, but it's not how I would lay it out. I would put the power and motor connector behind the ICs, allowing you to route the output terminals direct to the pads and use really short positive supply traces. I'd keep all these traces on the top surface Then I'd put the capacitor right in front of the ICs, or possibly between them. Then I'd put the resistors in front of the ICs, using traces on the back of the board if necessary to cross the power lines to the ICs, and finally the signal connector right at the front. The aim being:

  • Keep the power and motor traces thick, short, and away from the input resistors and wiring
  • Use short traces only on the reverse side, and only for signal connections

I would like to start by saying thank you! I have learned quite a bit about PCB making because of you. Hopefully this will be my last attempt at making this PCB...

That'e getting better IMO, however the trace between IC2 power and C1 should be wider. Also, try to route the power and motor lines without using the bottom side, so that you won't be passing large currents through vias. Assuming your screw terminals are insulated underneath (the ones I have used are), you can route some of the power or motor wires around the sides of and underneath the terminal block, to avoid the crossovers.

The traces that really need to be short are the ones between the positive supply pin of each IC and C1. I would go for one capacitor per IC, so that you can keep these really short.

Also you could have larger copper pads around the tabs, for better heat sinking.

I was able to do everything except keep the power from having to go through a via. I was just not able to think of a design that would work. I did add a few more vias so hopefully that will help. Also, the motor is only 12v, and i'm guessing around 5 amps. (no data sheet)

Do you think this one will work?

Thanks!

That's probably OK, however I don't see why you can't route traces underneath the screw terminals, assuming the terminal block is insulated underneath apart from where you solder it in (the ones I use are). Specifically, from terminal 4 (the leftmost one) you could route the trace up, then right, going underneath terminals 3, 2 and 1. From underneath terminal 1 it can continue to go right, then down to join up with IC1 and C2. A branch can also come down between terminals 1 and 2 to join up with IC2 and C1. It would be even simpler if you swapped the functions of terminals 1/2 with 3/4, because then the power would be on the correct side for the ICs anyway.

I get it now! How is this…

That looks good. C1 and C2 should connect direct to the ground plane, instead of through a short trace and a via. The right-hand end of R4 looks like it's not connected - I think the ground plane may be overlapping the trace you have from it. Similarly for some of the other traces on the reverse side. I would also shorten the longer traces on the reverse side - run the traces on the top side except where you actually need to perform a crossover, so as to avoid disrupting the ground plane more than necessary.

I was able to make all the changes except connecting the capacitors directly to ground. How do I do that?

Thank you so much for all of your wonderful help!

  1. Remove the ground plane.

  2. Route all the ground wires completely on the underside. So, where you have ground traces on the top side, tell Eagle to move them to the underside. It may be easiest to rats-nest the ground net and then turn the connections into traces on the underside.

  3. Make any other changes you need to other traces on the underside.

  4. Create the ground plane.

I believe that it is finished!

Screen Shot 2013-08-06 at 1.17.34 PM.png