Back EMF issues

Status
Not open for further replies.

ClydeCrashKop

Well-Known Member
Most Helpful Member
Hi Guys and Gals
At this part of a project, I want to control the speed of a Makita drill motor.
I'm using Arduino analog output which is actually a 490Hz square wave PWM.
To a SN754410 quad high-current half-H driver designed to provide bi-directional drive currents up to 1 A driving a pair of IRF3205 N channel MOSFETs from an uninterruptible power supply.
(12 volts to the motor and half-H driver)




With the scope probes between the MOSFET drain and ground, I got a perfect square wave with a variable pulse width using a light bulb as a load.
Using the motor as a load, it worked but the scope pattern looked like scribble.
I put a snubbing diode from drain to ground and got my square wave back except for big positive spike when the MOSFET shuts off.



So I put another snubbing diode across the motor. That brought the spike down but it messed up the square wave.
What can I do to get it closer to square again?

 
The inductance of the motor winding and the back emf of the spinning motor is big enough that the motor current does not decay to zero in ~1.9msec off time. It would take about 500ms after the driver turns off for the motor current to decay to zero. This means that there is always some current flowing through the motor winding.

As you observed, this makes no difference in the way the motor responds. Why do you care what the voltage looks like?
 
Last edited:

That explains a lot.
I tried one of the motors that I will actually use on this project and it has a much cleaner scope pattern. But it looked like the MOSFETs weren't turning off. The faster RPM, the lower the off voltage is. Maybe this experience will help me understand inductors.



As you observed, this makes no difference in the way the motor responds. Why do you care what the voltage looks like?

Ha ha... I guess I'm a digital kind of guy. When I tell something to be on or off, I expect it to be on or off. This will give me something to think about. Thanks guys. I will accept this and I will research inductors an RC snubbers.
 

IMO, with motors, scoping the current is more informative than scoping the voltage.
 
Ha ha... I guess I'm a digital kind of guy. When I tell something to be on or off, I expect it to be on or off. This will give me something to think about. Thanks guys. I will accept this and I will research inductors an RC snubbers.
It may help to investigate buck converters a bit, with the switch in the off state, the inductor keeps the current going albeit decaying - its the whole basis of the operation.
 
IMO, with motors, scoping the current is more informative than scoping the voltage.

Thanks dknguyen
That is more like what I expected.



Motor running not very fast with no load.
It did go higher and more stable with some load on the motor.
 
The first snubber across the MOSFETs does not do anything (unless it is a Zener) being in parallel with the MOSFET substrate diode.
The diode across the motor does suppress any transients and allows the motor current to keep flowing when the PWM signal is off (which is what you want).
 
Just one channel. I just thought it was a few patterns overlapping and not triggered well.
 
if that motor has a commutator on it, the noise you are seeing in the waveform is the fact that you are switching armature coils asynchronously (compared to the PWM signal), and that shows up as the "squiggles" during the "on" portion of the waveform. the reason that the trend on the "on" portion is diagonally rising, is that the motor windings are inductive, and just as in a CRT deflection yoke, the current ramps up. if you've ever worked with CRT monitors, you know that there isn't a sawtooth waveform generator in either the horizontal or vertical sweep circuits, but (best example is the vertical sweep, as the waveform is at a lower frequency, and the effects of the yoke inductance are easier to see with a scope) rectangular pulse generators. some CRT monitors used to have a small resistance in series with the vertical yoke, and if it was on the "ground side" of the yoke, could be used to indirectly look at the current waveform. looking at the pics in post #6, the last three on the bottom row, looks like you are picking up the voltage from the armature and commutator, with (if i'm understanding the picture sequence correctly) picture 6 showing the motor running slower than in picture 7, and picture 8 faster than picture 7, and in picture 7, the rate of the commutator switching is almost the same as the pulse rate.

somebody mentioned the actual waveform isn't important if the circuit and motor are working well together, sometimes we have a tendency to worry if we see something we didn't expect during testing. there's a positive corollary to Murphy's Law, and that's "if it ain't broken, don't fix it"... you have a motor and controller, and the PWM driver works well with the motor. even though the electrical behavior doesn't match the idealized waveforms you expected to see, the system works properly. chalk up a win, and make notes about the waveforms so you can take time later to figure out why they are different from what was expected. the real world is continuously full of surprises (which if i were a philosopher, i would say that's how we know fact from fiction). that's why you can't take a SPICE simulation at face value, there's always going to be something unexpected when the circuit is made of real components.
 
... that's why you can't take a SPICE simulation at face value, there's always going to be something unexpected when the circuit is made of real components.
There is no reason you couldn't model the motor back emf, winding inductance, and dirty commutator in a Spice simulation. However, it could happen only after making measurements in the real system, seeing the unexpected behavior, analyzing what you see happening, postulating a model that explains the observed behavior, and then finally building a Spice model, running it, and adjusting the model until its simulated results agree with the measurements.

This is not likely productive, unless you need to optimize the design...
 
Last edited:
You are right on the sequence. I tuned it to a pattern like picture 7, then switched to an Arduino pin whose PWM is twice as fast and it changed the pattern entirely. (Same RPM) That explains the variety of wave forms at different speeds.

the system works properly. chalk up a win, and make notes about the waveforms so you can take time later to figure out why they are different from what was expected.
I'm satisfied now and am learning a lot. Luckily I have time think about this now while it is still fresh in my mind and can play with the circuit to see how changes effect it.

the real world is continuously full of surprises
I like surprises, as long as they don't result in expensive smoke.
 
Last edited:
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…