I’m using a ESP32 and two TB6612FNGs to drive a BLDC gimbal motor. The TB6612FNGs are wired to use three separate half bridges and this seems to be working well. After 6 minutes and using a scope, the PWM begins to disappear in the waveform, but the motor keeps rotating. After another 3 minutes the motor stops. I thought this must be a temperature related issue but the TB6612FNG are running cool. My motor supply voltage is 5 volts.
When printing motor variables, _MON_VOLT_Q stays at 12.8 and _MON_VOLT_D stays at 0. What is your recommendation on how to debug this?
Hi Randy, I can’t help with your issue but I was thinking to try the same setup ( i.e. two tb6612s to drive BLDC motor). I was wondering would you mind sharing your wiring. I am interested how did you connect the motor to the two controllers … Thanks in Advance
Hi Randy, and welcome!
About how many revolutions/radians are we talking here?
What control mode are you using, and are you using a sensor?
I think you are maybe running into a bug we have with precision that hits after a certain number of revolutions. if that’s the case, we’re working on it and it will be solved in the next release!
I’m using the AS5600 with MotionControlType::torque and FOCModulationType::SpaceVectorPWM. The velocity stays around 54 at v=0.25, 0.5, 1, and 2. At v=0.125 it finally slows down to 36. It still stops but it runs longer than 6 minutes.
Additional settings are driver.pwm_frequency = 40000 and motor.monitor_downsample = 1000
Vcc is connected to the ESP32 5V pin and VM is connected to a separate 5v power supply. Across the two TB6612s, there are four sets of INs and OUTs. IN1 is connected to the ESP32’s PWM. The pins IN2, STBY, and PWM are connected to Vcc. OUT1 goes to the motor and OUT2 is not used. It’s a better solution than a L298 because it uses MOSFETs instead of transistors.
Thanks for sharing your setup. I will try shortly …