Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Current Protection issue in BLDC motor

Status
Not open for further replies.

RenesasT

Full Member level 2
Full Member level 2
Joined
Mar 11, 2016
Messages
149
Helped
0
Reputation
0
Reaction score
0
Trophy points
16
Visit site
Activity points
1,330
Hello All,

I am developing BLDC motor driver of 24V ,20A current.

The first situation is,
Suppose, motor is at full load and POT (Throttle) is at maximum and then motor is trying to start and somebody picks rotor by hand then motor is stopping. It should reach 20 A and then it should stop as 20A set as current protection range. But it is stopping at 1 A or 2 A of current.

The second situation is if motor is at full load i.e. at 19A (as 20A is shut down of motor). Then I stopped the supply. Then I again starts the supply, at that instance the motor is running and reaching to 19A.

The third situation is, if motor is running at 19A i.e full load and I stopped the supply and increased some more load using dynamo meter (lets say 25A) and then I started the supply at that time also it is running and once reach 20A it stopps.

The fourth situation is, if motor is running at 19A i.e full load and I stopped the supply and increased some more load using dynamo meter (lets say 30A) and then I started the supply at that time motor is stopping at 7-10A. But actually motor should stop at 20A.

The second and third situation is good. But at first and fourth situation, motor actually should run. Once it would reach 20A it should stop.

What could be the case?
 

Hi,

1)
But it is stopping at 1 A or 2 A of current.
Motor current or power supply current?

Are you aware that all the situations depend on how your hardware is designed and how your software controls this hardware?
But we don´t see your hardware and don´t see your software.

When you talk about switching OFF and ON your power supply....then I recommend that the microcontroller gets the information about the power supply state..And then it is able to react on these events.
The same is with overcurrent. The microcontroller should be informed when an overcurrent occurs. Then it can react on this.

Klaus
 

motor is at full load and POT (Throttle) is at maximum and then motor is trying to start

First check that your motor is designed to start at full load. Most BLDC motors can start on load but I do not know about the full load capability.

The POT is about the speed; your motor must start slowly. If that is implemented in software it is fine. But what happens if you slowly turn up the POT from low to high?

I suspect a bug in your software; the motor should slowly ramp up the speed. The software must know the current speed and the set speed and the ramp rate and loss of sync.
 

Hello KlausST,

Motor current or power supply current?
Power supply current.


i am measuring current using 5mohm current sense resistor.

The current sense resistor is connected to the conman point of all source of lower MOSFETS. The other terminal of resistor is connected to GND.

I am amplifying the voltage at current sense by using LM324. The amplified o/p is connected to opamp which is used as a comparator as an opamp.

Once o/p becomes 0 . The condition is of over current.
 

Hi,
Power supply current.
But torque depends on motor current....and motor protection against overheat also depend on motor current.
Therefore in my opinion the power supply current is useless.

You are using PWM, therefore motor current usually us higher than power supply current.
Especially on "stall" condition the motor current may be very high compared to the power supply curent.

To it sounds as a rather unprecise current measurement. Dud you take your PWM frequency into account?
Do you use some averaging filters or do you use the current signal unfiltered?

Torque depends on average current. For an ohmic load this is: full_current x duty_cycle.
Heating of the coils depend on RMS current. For an ohmic load this is: full_current x sqrt(duty_cycle).
But a motor is acombination ofohmic and inductive load, therefore it is even more complicated to calculate the correct current.
Additionally there maybe is a big difference between power supply current and motor coil current depending of what control mode (fast or slow decay mode) you use to drive the motor.

For sure you are free to decide your own measurement method.
--> you need a scope to see what your driver does. And you need some debug/status informations from your software to find you why and what happens.

Klaus
 

But torque depends on motor current....and motor protection against overheat also depend on motor current. Therefore in my opinion the power supply current is useless.

Please permit me to state the same in a different way; it is possible that a non-technical way is perhaps clearer.

1. Motors can be run only at some specified highest temperature; that in other words mean that motor can dissipate only a finite amount of power. The total input power is partly dissipated and remaining is converted into mechanical energy.

2. Normally motors run at lower than the max permitted temperature; hence we do have some headroom (we do have some difference between the max power and actual power).

3. As pointed out in the earlier post, if you increase the voltage, the current increases and both torque and dissipation increase with current.

4. (see earlier post) the torque increases proportional to the current but the dissipation increase proportional to the square of the current.

5. If you are running at the low end of the graph, you can increase the current somewhat and still stay within the allowed range of the dissipation (heat) for the motor.

6. Very small motors are almost resistive but large motors are mostly inductive. Of course medium size motors are in between...

7. When motors start, they have low RPM and the torque is large for constant power. In reality, the back emf is low and the motor draw higher current than normal and the torque is larger than expected.

8. Now consider PWM mode for motor control; the average current (and hence the average power at cont power supply voltage) is proportional to the pulse width.

9. Most algorithms will not have much headroom to change to the pulse width to a significant way (again you need to worry about the software).

10. You can increase the power supply voltage to some extent but that is a lousy solution (star-delta motor starters use this in a elegant way).

11. You can set the current sense resistor in the hardware and set a current limit but it may defeat the PWM approx of the sine wave.
 

Hello c_mitra and KlausST,

All you guys have great observation and great points that's why I always like your replies.

Let me tell you my observation,

Suppose I run motor without load with 24V and then start giving load from dynamo meter. At 20A my motor stops. Again I decrease the load lets say 19A and shut off the power supply. Now at 19A it should not stop. The load is 19A. Now I start the motor with 19A of load and lets say it is starting and the current is increasing like 1A,2A,3A. At 4A , I touched the motor by hand and apply little load. That time, it stops at 4A. I think it should go upto 20A and then should stop as it is current protection. All mentioned currents are from current of power supply.

What I am thinking, may be one spike is going and I am getting over current in software. How to resolve this if my thinking is right?

Please let me know your points.
 

Hi,

As said before: it is likely, that with 4A power supply current the motor current is 20A.
As also saud before: We don't see your hardware and we don't see yor code.
Therefore we don't see the details if operation...and therefore it's hard to help.

Especially I'd like to know how your current measurement is designed and how it is done in software.
Does the current signal contain PWM ripple, do you use analog or digital filters...

Klaus
 

Hello KlausST,

Just give me 1 hour. I am posting schematic.

Also I will post a code current sensing.

In my coding, once over protection happens then even if current decreased then also there is no start up of the motor until power off and power on again.
 

...Suppose I run motor without load with 24V and then start giving load from dynamo meter. At 20A my motor stops. Again I decrease the load lets say 19A and shut off the power supply. Now at 19A it should not stop. The load is 19A. Now I start the motor with 19A of load and lets say it is starting and the current is increasing like 1A,2A,3A. At 4A , I touched the motor by hand and apply little load. That time, it stops at 4A. I think it should go upto 20A and then should stop as it is current protection. All mentioned currents are from current of power supply...

Are you sure that your software is getting reset properly during different trials? If you turn off the power for more than a few seconds and then repeat the same experiment do you get the same result?

I raise this point because software errors are notoriously difficult to debug.
 

Hello,

The software is fine. I have checked software so many times. When over current occurs, the o/p of comparator gets low i.e. logic 0. Software only detects logic 0 and stops the PWM. This is the simple way by which software is written.

For testing purpose, I removed current protection from my software. Then I observed the o/p of comparator by oscilloscope, when load is given by hand, the o/p of comparator is lowering down even if the current is in limit. This means the unexpected current condition is occurring by hardware not by software.

i will await for your comments.
 

I did not understand clearly; please explain specifically

1. If you stop the motor by hand, the motor current is expected to increase (because the motor back emf collapses) and you are sure that the average current is 1-2A under this condition. What is the PWM peak current?

2. The duty cycle increases with load smoothly, correct? But how do you figure out stall condition in software? If the motor stalls, the torque should not go up to the max.
 

Hello,

By hand I am not making it standstill. I am just applying load by hand.

The first situation is,
Suppose, motor is at full load and POT (Throttle) is at maximum and then motor is trying to start and somebody picks rotor by hand then motor is stopping. It should reach 20 A and then it should stop as 20A set as current protection range. But it is stopping at 1 A or 2 A of current.

The second situation is if motor is at full load i.e. at 19A (as 20A is shut down of motor). Then I stopped the supply. Then I again starts the supply, at that instance the motor is running and reaching to 19A.

The third situation is, if motor is running at 19A i.e full load and I stopped the supply and increased some more load using dynamo meter (lets say 25A) and then I started the supply at that time also it is running and once reach 20A it stopps.

The fourth situation is, if motor is running at 19A i.e full load and I stopped the supply and increased some more load using dynamo meter (lets say 30A) and then I started the supply at that time motor is stopping at 7-10A. But actually motor should stop at 20A.
 

I do not understand at all.

There are only two cases possible: (i) the motor is running and (ii) the motor is stopped.

If the motor is running and you increase the load, the current should increase and the controller should shut down the motor once the current reaches the preset value. Does it happen like that?

If the motor is not running and you apply the power and the motor fails to start because of the load, the current value is not meaningful; the software sees that the motor failed to start and stops the control circuit.

The present controller is not suitable for the motor to start on load. You need to revise the software.
 

Hello C_mitra,

There is no issue with the software.

Let me explain you in more details.

I have done current protection in following mentioned way,

First, I am amplifying the voltage coming at current sense resistor. The amplified o/p, I am feeding to the voltage as a comparator.
If there is no current cut off condition then o/p of comparator is high. I.e logic 1 is at microcontrollers Pin. If the current cut off condition happens then o/p goes down to 0V hence logic 0 is at microcontroller pin.

In software I am simply using following condition,

If(P0.0==0){// stop the motor}

The software part is fine.

Suppose, motor is at full load and POT (Throttle) is at maximum and then motor has started successfully and somebody picks rotor by hand(just applying little more load) then motor is stopping. It should reach 20 A and then it should stop as 20A set as current protection range. But it is stopping at 1 A or 2 A of current.

Even if motor is not at full speed (i.e at half speed) and there is no load on motor. Motors current cut off is set to 20A. Motor is running successfully at half speed. Then suppose, I tried to apply load by hand then I see that current is increasing 1A,2A,3A,4A,...,7A and getting stopped. Infact at 7A motor is not standstill, it is running. The current should reach 20 A and then it should stop but it is stopping at random currents, 7A,6A,8.5A,10A,14A,4A etc.

Hope my point is clear to you now. Please do not hesitate to ask more information if required.
 

Hi,

no, this is why I can´t give new answers.

Requesting for answers ... but refusing to give objective and meaningful informations.

Just give me 1 hour. I am posting schematic.
...it´s a very long hour.

Klaus
 

Hi,

yes, I´ve recognized it. It´s a very similar thread with the same behaviour of the OP.

Sooner or later everybody will become bored to repeatedly request the same informations ... and then stops to respond.
So the OP is more harming himself rather than other members or the forum.

Klaus
 

Hello All,

Please find the attached schematic is for your reference.

I need your help as I have to clear this project. The project is 80% over , only the above mentioned issues giving 20% backlog.

Please help me . Whichever help from my side required please post it. I will help you.

If you need more information or documentation, please write me.
 

Attachments

  • AP3.pdf
    83.3 KB · Views: 158

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top