flyback diodes / emf protection on TB6612FNG motor driver

Hi,

I am building a small rc car (about 1:32) with follwing equippment:

  • arduino pro mini 3.3v
  • TB6612FNG motor driver
  • RF24L01 Transceiver
  • 130 brushed motor (1.5-4.5V 20000 RPM)
  • 2g servo
  • some leds
  • 1s lipo

I am powering arduino via raw input directly from the lipo. TB6612FNG's and NRF24L01's VCC are powered via 3.3V vcc from arduino. Servo and TB6612FNG's VM are powered via lipo directly.

I have one 100uF between GND and RAW and two 100uF capacitors between VCC and GND.

I think I am issuing EMF issues. I noticed if driving forward fast and then switch to full reverse the arduino is powering off / rebooting.

I found one page dealing with tb6612fng emf: Unter Verwendung der Sparkfun Motortreiber 1a Doppel TB6612FNG - Eine Einführung

I tried using 4 1N4001 diodes as the image on the page shows, but the effect (power off / reboot) stays. I don`t have any oscilloscope to check if they do anything useful.

Does anyone have an idea? My goal is to keep arduino powered and responsive, regardless of the driving style.

Thanks a lot for ideas, Butch

A schematic would help, lists of things connected to other things isn't much help.

Given that you say the problem happens when you switch from full forward to full reverse my guess is that not only is the load from the motor too much as it tries to suddenly reverse, it's probably acting as a generator for a moment with its output in reverse to the supply, all with the result that the power is interrupted to the Arduino.

I believe your problem is called power supply impedance, it is not low enough for your design. Capacitors etc can help. There is enough resistance in the battery and your circuity that allows the voltage to drop when you slam it into full reverse. I believe you are using a H bridge so try turning both outputs either high or low for maybe a second, this will short the motor causing it to burn up its energy in the circuits. This is called dynamic breaking. The motor is acting like a generator and the energy that is burnt up is putting drag slowing the motor down hence breaking. The slower the motor the less inertia and the less power coming out.

Does not a "1S" Lipo provide only 3.7 V? :roll_eyes:

thanks for your replies. I will try to create a schematic soon.

1s lipo has 4.2v when fully loaded, 3.7v when quite empty (about 30% full).

Hi, it took me a while to get familar with kicad, but now I hopefully managed to create a plan. I hope it is correctly drawn, I am not an electician :wink:

Here are the two versions I tested with as attachement (pdf).

I currently see no different in behavior between both circuits.

One question to the emf version. Is the orientation / direction of the diodes correct for using them as flyback diodes? I took it from the tutorial linked above, but I am not sure...

Thanks a lot for your ideas, Butch

without_emf_protection.pdf (55.1 KB)

without_emf_protection.pdf (55.1 KB)

butch:
Hi,

I am building a small rc car (about 1:32) with follwing equippment:

  • arduino pro mini 3.3v
  • TB6612FNG motor driver
  • RF24L01 Transceiver
  • 130 brushed motor (1.5-4.5V 20000 RPM)
  • 2g servo
  • some leds
  • 1s lipo

I am powering arduino via raw input directly from the lipo. TB6612FNG's and NRF24L01's VCC are powered via 3.3V vcc from arduino. Servo and TB6612FNG's VM are powered via lipo directly.

Sharing power supplies between Arduino and motors is not recommended.

I have one 100uF between GND and RAW and two 100uF capacitors between VCC and GND.

2,200uF or more might be a more useful kind of value, 100uF is a rather small capacitance for
suppressing supply dips due to a motor load, which demand amps for many milliseconds on
startup.

I think I am issuing EMF issues. I noticed if driving forward fast and then switch to full reverse the arduino is powering off / rebooting.

That's due to double the stall current flowing at a sudden reversal at full drive - the power supply may
not be adequate to handle this - try backing off more slowly with PWM and then reversing and ramping
up PWM. Sudden reversal will draw current equal to about twice the supply voltage divided by the
motor winding resistance. If the supply can't provide that, its voltage will dip.

As you have a LiPo it may be that the protection circuit is firing, or the wiring has too much resistance
as LiPo's tend to be able to push a large current easily.

This is unlikely to be anything to do with EMI I think.

I found one page dealing with tb6612fng emf: Unter Verwendung der Sparkfun Motortreiber 1a Doppel TB6612FNG - Eine Einführung

I tried using 4 1N4001 diodes as the image on the page shows, but the effect (power off / reboot) stays. I don`t have any oscilloscope to check if they do anything useful.

The TB6612 has built in diodes, as the datasheet indicates, extra external diodes won't make a difference.

Does anyone have an idea? My goal is to keep arduino powered and responsive, regardless of the driving style.

Thanks a lot for ideas, Butch

thank you very much for your detailed reply.

Next steps for me are the following:

  • implement some ramp up for accelerating and decelerating. I lately noticed that the issue gets worse the more the lipo discharges and and than that it also occurs if I got hi start forward driving from 0 to 100 percent directly. If I ramp up manually the issue gets much better. Also my lipo has a 5A protection. Not sure if it cuts off when 5A are reached or if it is just throttling there. But also when limiting to 5A it may be that arduino does not get the current it needs. I also noticed that the issue I creases when all lights are on. So ramping up / down seems to be a good idea. thanks for that.

  • I will order some bigger capacitors if they fit into the housing. I noticed that 200uF played better than 100uF. So hopefully the bigger, the better. Is there any formula how I can calulate how big the capacitor should be / how long it lasts at a specific current?

  • i will try to fix my code to get enable the break / shortcut mode of the H bridge. maybe it additionally helps.

Is emf protection really built in? I found this section in data sheet:

  1. Back-EMF When a motor rotates in the reverse direction, stops or slows down abruptly, a current flow back to the motor’s power supply due to the effect of back-EMF. If the current sink capability of the power supply is small, the device’s motor power supply and output pins might be exposed to conditions beyond maximum ratings. To avoid this problem, take the effect of back-EMF into consideration in system design.

I understand it this way, that I need to take care of back emf protection. But maybe m english is too bad :wink:

I keep you updated.

Thanks a lot, Butch