Hesitating IBT-2 device with bts7960b (FIXED'ish)

I have a IBT-2 device with bts7960b on-board.

It has been wired to a single motor (DC hobby type) to provide forward only PWM speed control and variable fast braking. The control software and wiring works as designed. The power to motors is 12v and the various motors draw less than 1amp when running at full speed. Quick measurements indicate that some can draw nearly 2amps when starting (under only a little load as these are powering slot cars and the car is lifted from the track so it just has to accelerate the motor and wheels etc).

The lower power motors run fine but the higher rated motors which draw the most current behave badly under the following conditions...

The trigger on the hand controller (causing PWM input to the speed IBT-2) is varied between a low duty cycle and a high one and the motor speeds up/slows down. If this trigger action is done at a particular rate, about 2/3 times a second, it is possible to hear that the motor is not being driven when it should be. It picks up after a moment and then 'stalls' again. I have a larger motor with a heavier flywheel on it (still rated 6v - 15v) and it is possible to hear it doing the same thing with this one.

I can see the current drops to zero when the motor should be being powered and I have checked with a 'scope and can see that the PWM output to the IBT-2 is still as it should be... it doesn't shoot back to zero randomly.

I built another system using the same PWM output driven by the Arduino but plugged into a TB6612FNG (a much lighter duty controller but well within the specs for steady running of these small hobby motors). This uses the same pin logic as the IBT-2 and once again works perfectly with the lower power motors but drops out with the slightly more powerful ones but in a much more obvious way. The motor will stop completely and then after a second or so it will start up again at the appropriate speed for the PWM input.

I don't suspect the Arduino sketch and its output of the PWM despite two different speed controllers behaving in the same way. I suspect that the motor controller board/chip is kicking in with some sort self defence mechanism. The IBT-2 is rated at 43amps and I just don't see the current of these little motors getting that big even in stall. I don't think the chip is getting instantaneously hot. I don't know where any high voltage spikes could be coming from but I don't know for sure.

Does anyone have any suggestions as to the possible cause and/or what to look for in chasing this one down. As it stands the system is not usable on the track (which is where the problem was first noticed by one of the better racers at the club) as it causes the car to hesitate a little occasionally and is affects its drive-ability.

Thank you Alan

As can be seen there wasn't much in the way of a response to this one. However it is fixed even though I didn't find out what was broken!

I didn't think my code was faulty or my wiring so it looked like it was the IBT-2 itself.

This board wraps up two BTS7960B motor drivers in an H bridge configuration and presents the pins on the board so you can control it in just the way you think you should be able to. What it also has on the board is an octal converter, a selection of resistors and capacitors and one whopping great capacitor. One must assume that these things do important and useful stuff which isn't documented (at least I couldn't find anything above and beyond the BTS7960B datasheet).

I only use the IBT-2 in half bridge mode as there is no requirement for reversing the motor. So I decided to wire up a single BTS7960B on a breadboard in accordance with the datasheet and hey presto it worked properly.

So I can't say what was wrong but what I have done has fixed it and the new (and much smaller solution) is now installed in the latest hand controller.

I may, if time permits, take out that big capacitor and see what happens but that's all for another day...