Overcurrent in motors driven by IBT2

Hello everybody,

I have recently started doing a pretty large project of which part is making a servo. The servo I'm planning to build is gonna have a lot of mechanical power (around 300 W). The first thing is the motor control. I bought BTS7960 module or rather IBT2 module capable of controlling up to 43 A of current (voltage up to 36V).

The motor I'm prepering to use is motor of class 775, brushed, 20000 RPM, 12-24V.
image

And have constructed an circuit to try this out, includes Arduino Mega.

The problem i have:
Using the PWM control in IBT2 of power delivered to the motor I wanted to reduce or increase speed. But the issue occurs when duty cycle of input signal gets arround 50%. The motors current increses 3 times. Fun thing is that when I control voltage through power supply current is proportional (I'm skiping high current during acceleration of motor, measurements were made during stable speeds).

Graph of PWM and current looks like that:


Can somebody tell me why this happens and what to do to decrase this effect?

P.S. I tried connecting in parallel a ceramic and electrolytic capacitor (Cc = 1uF, Ce = 470uF). After this, both motor and capacitor heated up even more, and current increased.

this module, while enabled, connect output pin to powerline or short them, dependent on PWM level. maybe you just connected power to output line and motor to input?

Connections are made properely, power to power, motor to output, other way entire driver wouldn't work. I can't disturb the connection of motor which is a result of inside build of driver.
image

Maybe the drive waveforms are such that both transistors are switching on together? Can you monitor the waveforms at the gate inputs?

1 Like

I wordered if that may be the case. Unfortunately I don't have an oscilloscope. I can try making one from Arduino

Hi, @Kabson0106
Welcome to the forum.

Can you please post your code.

This might be of help;

Note you only apply PWM to one input.

Thanks.. Tom.. :smiley: :+1: :coffee: :australia:

Sure, but in my opinion code has nothing much to the problem which is more mechanical and electrical rather than programming.

#define RPWM 2
#define LPWM 3

void setup() {
  pinMode(RPWM, OUTPUT);
  pinMode(LPWM, OUTPUT);

  delay(2000);

  analogWrite(RPWM, 0);
  analogWrite(LPWM, 128);
}

void loop() {
}

Is that measured at the motor, or at the power supply?
If at the power supply, please measure current at the motor.

This will show if the IBT2 is switching improperly.

Thanks.. Tom.. :smiley: :+1: :coffee: :australia:

1 Like

Thank you for a hint. I measured current on power supply, cuz I have this nice monitor of voltage and current (Longwei LW-K3010D). Used a multimeter on motor circuit and current ist proper, arround 1,1A. So the 3,05 A is on power supply. The main thing about this whole overcurrent is that I want to skip possible issues and motor failures due to overheating. This motor will run at 24V with much bigger mechanical load, so it's important.

Also I forgot, strange thing happens, voltage drops 1-2V in this segment of 40-60% of duty cycle.
(current up, voltage down)

EDIT: made some more precise measurements and higher current happens between 15 and 85% duty cycle. Also voltage drops

Hi,
Can you please post some images of your project?
So we can see your component layout.

Thanks.. Tom.. :smiley: :+1: :coffee: :australia:

Sure, nothing special, just like on the schematic.

Mistake with control pins.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.