I've just signed-up for this group, searched for an answer, couldn't find it, but am impressed with the knowledge here.

My requirement is to drive a leadscrew at a fairly constant rate, but with a large speed change for traversing quickly. Thus I need a motor whose speed can be controlled fairly tightly at low r.p.m., and then can be told to 'take off' at a speed maybe 50 times the normal 'controlled' speed. The load is light and fixed, and the motor will have to be geared-down quite a bit anyway, affording substantial torque multiplication.

Originally I was going to use a micro-stepped stepper motor, but the rotational output really needs to be more 'analog' than 'digital'; that is, very smooth, not composed of small, fixed incremental steps. I have not played with a BLDC yet and will probably start with one off eBay, along with a ready-made controller board.

Obviously the higher get-there speed can be close to motor's maximum; again, the load is very light. So my question is, can a speed between 1/25 and 1/50 (4% to 2%) of the top speed of a BLDC motor be electronically controlled with decent precision, maintaining that lower, 'working' speed within a few percent, assuming that the load does not change appreciably? And... what characteristics of the motor and ready-made controller (DC or PWM speed input) should one watch out for?

  • 1
    \$\begingroup\$ You will need a high resolution encoder to do that. Once you have that, you have to realize that effectively this system is discrete as well. With a good controller the ultimate difference from the stepper motor case is that in having far fewer steps per revolution, the impact of winding inductance on commutation speed will not become apparent at moderate speeds as it would with a stepper, but only at high ones. \$\endgroup\$ – Chris Stratton Oct 15 '16 at 19:55
  • \$\begingroup\$ As for improving the precision of low speed BLDC control, this research may be relevant/interesting: modlabupenn.org/anticogging \$\endgroup\$ – a sandwhich Oct 15 '16 at 20:05

When Dc motors have a no load speed proportional to average voltage, you can reduce the no load speed accurately, but since torque is dependent only on current, it will not be stable be varying loads.

Also since the starting torque is limited by Vdc peak and DCR of coil and switch, it is usually 5~8x the max average current at rated load and speed.

Thus the speed regulation drops since the apparent impedance of the motor rises at no loads due to back EMF.

When you are at any speeds it is like a voltage regulator with a series R, its output V will be load dependent just as motor speed becomes load dependent. But a lower speeds , the load regulation gets worse and DC source impedance adds to regulation error. e.g. A PWM is open circuit when off unless it is a complementary driver. So an open drain or open collector with PWM raises the source effective impedance and makes load regulation worse.

The % Load regulation is determined by ratio of source to load resistance in % V and in the motor is the ratio of available torque(I) to load torque for %speed variation.

If it stalls then it becomes a short determined by the DCR of motor coils and is determined by the rated stall/starting current and voltage applied.

Thus a rotary encoder is needed for precise RPM control in a servo loop.

  • \$\begingroup\$ Okay, guys; thanks much for that. I guess what I'm thinking is along the line of several articles that appeared in the throwaway trade publications back in the 1970s. Almost every issue of Electronics or Electronic Design or whatever would have someone's reinvention or refinement of an open-loop DC motor speed controller, using the back-EMF from the motor to sense the load. Those were all brush-type motors back then, but I recall the articles stating that a speed could be set that would remain quite constant over a large load range. Can do with a BLDC? \$\endgroup\$ – Electrojim Oct 16 '16 at 20:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.