View Full Version : how universal can a motordriver (stepper, servo, Ac-asynchronous) be?

12-31-2011, 11:48 AM

I know quite a lot about BASIC electronics but in certain areas of more special know-how such as motor-controlling not very much.

I have understood how stepper-motor-drivers with PWM-current-limiting are working
how DC-servo-motors work and how AC-asynchronous motors can be controlled on direction and rpm.

www.opensourceecology.org/ wants to develop a modular and scalable "universal" motordriver.

So I asked myself how universal can it be? Would it be possible - if modularity has the highest priority - to create a motorcontroller
that can drive steppers, DC-motors, DC-servo-motors, AC-asynchronious motors?
The configuration for a drivertype would be done in software where ever possible. Where the configuration is not possible in software it will be done
through a different wiring.

The quick answer might be "oh my god don't try that!!" This kind of thinking leads never to innovation. I know there is a good chance
that I will come to the conclusion the better solution is more than one superuniversal motordriver.

But if you think about it modular - and this is my main question: what parts could the diferent drivertypes have in common = using the same components?

There are too main parts
1) the control-logic-stage
2) power-stage

If I would ask can a propeller-chip be used to build
- a stepperdriver
- a DC-servomotordriver
- a AC-async-motordriver
the answer is always: YES
So the component "microcontroller" can always be the same

a steppermotor can be driven by H-bridges build from discrete MOSFETs.
a DC-motor too
a DC-servomotor needs also H-bridges and additional a shaft-encoder

I don't know much about AC-motor-drivers. Concrete question: Can they be build with H-bridges too?

CAN a modular motordriver where different modules are connected through wires via screw-terminals still working good?
Or will such a design suffer from unmanageable EMV-problems? Would the effort for eliminating EMV or other kind of problems
- to keep the motordriver universal - bigger than building two or more different and specialised motordrivers?

What do you think?
Please throw in your comments
best regards

12-31-2011, 12:22 PM
Hi Stefan,

Interesting thought, but I think you'll end up with a single module that would be too expensive for general application. You are correct that a common microcontroller could do the job of control.
The cost of power components will be the limiting factor.

For instance, an H-bridge will take care of DC servos and other DC motors. Add an inverter section and you can run AC polyphase motors.

The stepper can probably make use of the DC H-bridge, in an adapted form.

I think the relative sizes of the stepper versus DC versus AC polyphase also will present a challenge. For instance, a stepper consuming 5 or 10 watts may be useful in some mechanism but an AC polyphase motor of that size would be a pretty useless device. I would think an AC motor in the 250 Watt range would be the smallest to consider.

One thing I have done is use a commercial AC inverter motor drive with an external rectifier to drive a DC brushed motor. Effective, but very expensive since a comparable DC drive and motor was about 30% the cost of the AC drive and rectifier.

Probably the way to proceed is to gather up a motor of each type, all of comparable size and begin your experiments!

Happy New Year!

12-31-2011, 03:15 PM
Hi Tom,

thank you very much for replying.

maybe I have to explain a bit more about the concepts of OpenSourceEcology.
The different ranges of power-consumption should be part of the modularity. The amount of power the driver can provide should be scalable up and down.
The concept of OpenSourceEcology (Acronym OSE) is beeing modular and interchangeable. They already have a "powercube" that provides energy in form of hydraulik-oil pressure.
This powercube can be connected to all kinds of maschines which all have a hydraulic motor. This might not be the most energy-efficient way but a cost-effective way as not every machine
is used at the same time and needs its own motor.

In the so called Global Village Construction Set (GVCS) there are 50 machines or devices of different type and different size with different powerconsumption.
So there is a need for a some kilowatts motor-control and a need for a small steppermotor-control. They won't be used at the same type so the control sometimes is connected to the small stepper and some time
to the big DC-motor.

So if you transfer this concept to electric motors there should be a unit that creates the logic signals and this unit should be connectable in the most flexible way
(therefore screw-terminals and not even plugs) to power-stages with different size. Or to a high-power stage. If this high powerstage is able to provide some kilowatts and is still able to drive a 10W steppermotor
by re-adjusting the current that's the ultimate solution. Of course for just three 10W steppermotors the kilowatt motorcontrol is completely oversized. If you can save an extra steppermotor-control because you can
connect the big kilowatt-motor-control or you can combine the logic-control one time with a 20W stepperdriver-powerstage and the SAME logic control another with a kilowatt power-stage thiw will have the advantage
of using the same logic control maybe just with different software running on it.

keep the comments coming
best regards

Loopy Byteloose
01-01-2012, 06:27 AM
There are several different motor formats out there and each requires a different approach.

Fundamentally, you would want to initially separate H-bridge driven motors, stepper motors, brushess 3-phase hobby motors, and PWM R/C servos. But from an engineer's point of view there are a lot more subtle choices and a lot of heavy-duty ones are not even discussed. One board for all is likely to not satisfy anyone. Modularity is frustrated by commercial investment into proprietary develop of larger scale motors. They just don't want to come and play in an Open Source community.

I guess you propose this as you really want to learn all about driving motors. It is a worthy topic, but starting with one type and exploring it thoroughly is going to be more rewarding than an 'all and everything' approach.

Another very useful topic is PID control.

Phil Pilgrim (PhiPi)
01-01-2012, 06:44 AM
Fundamentally, you would want to initially separate H-bridge driven motors, stepper motors, brushess 3-phase hobby motors, and PWM R/C servos.
Not quite. Bipolar steppers are typically driven by dual H-bridges, and brushless 3-phase motors by triple half-bridges. So there is some universality among brushed DC, stepper, and 3-phase driving requirements.


01-01-2012, 08:48 AM
One thing I have done is use a commercial AC inverter motor drive with an external rectifier to drive a DC brushed motor.
Tom, I been working with and troubleshooting VFD's (which you call AC inverter motor drive) and DC drives for over the past 10yrs of the 23yrs as an electrician and never though that you can drive a DC brushed motor. Are you talking about a DC drive which is designed to run a DC motor?

BTW, Happy New Year to everyone.

Loopy Byteloose
01-01-2012, 09:27 AM
I am not surprised that Phil jumped in to contest my comment, but the first poster is a bit idealistic about open source. I am quite wary that this is the best way to really learn motor control.

Personally, I am extremely for the open source approach as it generally provides the most optimal educational environment. But when you start in to concepts of modularity, it becomes problematic.

Anyone that has sat for a license in Professional Engineer knows they have had to prepare for a section on Engineering Economics. Why so? The ideal solutions are oftem tempered by resources in general and cash resources in specific. Parallax and many others would love to make a complete modular product-line that would optimize education, but it is rather hard to do when larger economic powers don't want it. Parts in the electronics industry evolve at a rapid rate and as soon as one item is in the store, it is rendered often obsolete a competitor.

And frankly, I found in my own life experiece that tending to be an idealistic engineer was a significant limit to one's ability to grow as a Professional Engineer.

With all that in mind, motors are generally divided by power source - AC or DC, by rotor configuration (brushed, ringed, or none), by permanent magnets or field coil. One has to also consider single phase and three phase AC to complete the matrix for a nearly complete understanding of motors. But then there are purposes - postitioning, single speed rotation, variable speed rotation, and so forth. And the source of power is just as important - battery power versus power line.

And so those words "universal" and "modular" become rather large problems in and of themselves. But the microcontriller is always there to do what needed to be done.

Very often a big manufacturer asserts a modularity as a means to retain customer loyalty and market position. Patents usually defend such a position. But it is rare to see both modularity and open source together in any meaningful manner. (e.g.; try to locate a really good scanner for Linux.)

01-01-2012, 12:27 PM
thank you all very much for commenting. I appreciate that.

This is the general discussion forum. A part of this post is non-technical to explain the frame in which this project is located. Inside this frame
there are complete different conditions compared to the so called "professional" world.
Please focus on technolocial difficulties about realising such an universal or multicontroller.
Economical difficulties are mostly not relevant inside this frame.

As I understand the OpenSourceEcology-Project (OSE) the major aim is to get independent of big companies wherever possible.
F.e. the hydraulic motors shall be manufactured by OSE on CNC-mills and CNC-lathes which were build (and repaired) by OSE-people themselves.
The complete concept goes very far and is very ambitious. The global village construction set GVCS has:

- Of course a 3D-printer, but also
- 3D-scanner
- bioplastic extruder
- industrial robot
- aluminium extractor from clay
- CNC-multimachine
- CNC PCB-mill
- CNC-Torch router table
- electric motor / generator
- windpower turbine
- lasercutter
- plasmacutter
and a lot more see http://opensourceecology.org/gvcs.php

To come closer to the target of beeing independend of big companies these maschines are build to manufacture more and more components in "the village" based on opensource know-how
with people that really LIKE what they are doing and beeing paid on a relativly low level.

If you leave the thinking-paths of the "professional" building a lot of more things are possible. F.e. their tractor build mostly from steel-crap for a tenth of the costs of a "commercial" tractor will reduce costs a lot.
Know imagine the steel-parts of the tractor are not buyed from a "professional" company on a "professional" pricelevel they are manufactured on the opensource self constructed (and repeaired) CNC-torch-router
opensource self constructed (and repeaired) CNC-mill controlled by the opensource self constructed (and repeaired) motordriver etc. etc. etc. etc. There will be a hugh cost reducing. Same thing with all other machines.

Of course these procuts could not compete on the "professional" market because they won't have the same precision, same efficiency etc. But they aren't for the commercial market! They are manufactured for community use.
And if the electric power to drive the selfbuild CNC-torch-router-table with the self-build plasmaburner is generated by the self build windturbine - which were all build at much lower costs - the 10-15% lower efficiency which means it needs more energy to do the same as with "professional" machines doesn't matter any longer!

Of course if it comes to computers or even "just" semiconductors or ball-bearings they have to be bought from professional companies. The aim is to make more and more of all the parts and know how opensource
and to work together in COOPERATION inside communities instead of competition.

Know I have to stray off to the financial crisis. The debts around the world from private people, companies and goverments are high as massive mountains.
My personal opinion is that we are at the end of a so called kondratieff-cycle. http://en.wikipedia.org/wiki/Kondratieff_waves
Assets prices will fall down 70%-90% and a lot of money will be destroyed in the clearing-process. A lot of people will loose their job.
Even engineers. I'm sorry about that if it really happens, but instead of sitting in the park or standing in the queu for a "spended meal" from the local social office it makes much more sense to bring in your abilities to a project like that.

My personal belief is that if the financial system and economy should break down into a deep depression like 1929-32 this kind of projects will pretend the societies from falling completely apart into civil wars and will allow to keep a medium standard of living for all people.

If this will be even combined with an economic system which is based on govermental money creation without interest on interests there will be a great future. OK I stop on this nontechnical but political things.

If this is something you can't imagine or belief think of it as an OpenSource-hobby where the technological level that is successfully managed by amateurs goes up and up and up. Imagine somebody 30 years ago telling him how about building a low-cost 3D-printer? He would have asked back "a what??" How about programming a FPGA to generate a TV-signal? "You are crazy!") Today it can be done by amateurs. So amateurs can build their own tractor, CNC-mill etc. etc. If more and more know-how former owned by companies becomes opensource this will develop in right that direction and amateurs will become more and more professional.
Another 20 years ahead hobyiest will maybe even manufacture high integrated semiconductors who knows!?!

So you are free to post whatever you want. What I'm mostly interested in is - to discuss how it CAN be realised. I'm not interested in discussing reasons why it can't be realised. Any inventions are developed by thinking based on how CAN it be done.
Hints about ways of learning that promise a higher probability of success are much appreciated. Again: Please focus on technolocial difficulties about realising such an universal or multicontroller.

keep the comments coming

best regards


Loopy Byteloose
01-01-2012, 02:00 PM
Firstly, I am all for a comprehensive motor control tutorial project that is open source. I have no difficulty with elevating the quality of information out there in terms of micro-controller controlled motors. And I suspect that Parallax might be interested in developing such course with open source software.

I just don't think it is worthwhile to pursue a universal manufacturer standard as any company has to deal with competition and withholds information as trade secrets and/or patents. Electric motors tend to have companies that specialize in particular markets and particular levels of economy.

"Board producing" companies, such as Parallax, limit their production to specific products for other reasons. If you look around, you won't find any 120 or 230 VAC products here (aside from wall-wart power supplies). Even the Lithium battery charger uses a low voltage input. I suspect it is because AC products require UL certification in the USA and it is just not economically worthwhile for Parallax to deal with higher voltages as a manufacturer. Additionally, people get into a lot less trouble with electronics that is under 12 volts or so (Little or no shock or fire hazard): though learners can destroy something at just about any voltage no matter how low.

So it seems AC synchronous motors would NOT be inclusive in a Parallax project. Besides that I am a bit curious if it is really worthwhile to have a micro-controller AC synchronous motor. Mostly, these are just switched on and off (though I am sure someone can find an example and disagree).

It would be a lot easier to focus on small low voltage AC and DC motors of less than 1/8th of a horsepower (or even smaller) and to have a text - similar to the "What's a Micro-controller" text - provide a lot of practical tasks to help students notice what is useful.

Such a project may be smaller than what you envision; but I suspect it would be more than ample for most learners AND a huge project to properly develop. After all, in the majority of cases the end-users are going to use their knowledge to select a motor and means of control; they aren't in a position to specify design performance and other nuances.

Having individuals make all or nearly all of the components is noble, but again I fear that it is a bit too idealistic. I won't address your fears concerning the world economy as my credit card company is always tell me the world with end in 90 days if I miss a payment. It just has never meant much to me.

01-01-2012, 05:14 PM

I think you are right about trying to develop a supermultimotorcontroller one for all as the first step from a knowledge level like "having heard from "decay-modes" but not knowing what they exactly mean
would be very hard.

So I have questions in two different areas.
Conceptional area: what are the main parts to create a AC async-motor-driver?
is a part of the powerstage parts the same as for a same power DC-servo-motor?

I want to make a fictive example which sure is technically wrong just to show the principle of my question:
I want to lern / clear do they use the same components or does the one use MOSFETs the other TRIACs and TRIACs are the only way to build them.
If it WOULD be this way the control would have not so much in common. The "paths" from powersupply to motor-wires would divide behind the microcontroller.

As in a post above it was mentioned that BLDC-motors use half-H-bridges building the cotroller from discrete MOSFETs would enable the possability to
wire the MOSFETs to a half-H-Bridge and a full-H-Bridge. This wouldn't be possible anymore when a intergrated steppercontroller chip would be used.

So one thing is to learn which TYPE of components are used for which type of motor.

The second thing is to learn details about how the different controller work.

My momentary knowledgelevel about bi-polar steppermotordrivers is: a H-Bridge for each coil and a current-sensing resistor for each H-Bridge.
With this concept the microcontroller has to care about the switchpattern of each MOSFET to make the current flow through the coils in the right direction.
As the propeller-chip has 32IO-pins and 8 cores it should be doable to let the propeller-chip all the details like MOSFET- On/Off-switching current sensing
and current-regulation through PWM.

Here I am at one pathcrossing that will impact a lot of things: If I want to use theProp-Chip in a DIP40-housing delta-sigma-ADC through two propeller-pins won't work properly
or only at low resolution. Means add an ADC-chip or add right away an L297-chip that does all the MOSFET-switching logic and current-regulating?

And if I'm already specialised on a stepmotor-logic chip why not add a L298 for smaller-power steppermotors. And fluff - almost all universatility of using parts of the circuit to drive DC-motors is gone.
Really? No. Just disconnect the wire from L297 to L298 and drive the H-bridges more directly. L297 current-sensing could still be used.

For higher currents / voltages discrete MOSFETs could be used.

What do you think about this approach?

keep the comments coming
best regards

Loopy Byteloose
01-02-2012, 08:07 AM
I am at a loss to comment on your AC asyn driver requests. Is there really such a beast or are you just being clever with language? The usual method of mechanical construction in AC motors takes advantage of being synchronous. That results in the RPM being optimized for a multiple of the AC frequency in a synchronous fashion. This eliminates the need for brushes - in some cases rings are used and in other cases we have brushless motors.

As you can see, the micro-controller's role with AC motors is much more limited than it is with DC since the physical construction of the motor determines most of its performance characteristics. Before micro-controllers, the world still had many AC motors doing much of the industrial work, AND it still does.

At some point, you are going to have to categorize your motors as those that are optimal for digital control and those that do not require digital control.

01-02-2012, 01:06 PM
Hi Loopy,

if a wrote about AC-asynch I mean these 3-phase-motors with a shortened wheel-cage where 3 AC-currents each AC-current with a phase-shift of 120 degrees which create a rotating magnetic field.
Here I'm thumb about the english language because I don't know the expert-words how this is called in english.
The title of the thread is "how universal can a motorcontroller be?". This includes if I learn the details to maybe say: Not superuniversal just dualpurpose for motortype A and motortype B.

From just knowing a few raw details that steppermotors do microstepping through sinusodial currents and 3phase AC-asynch-motors need that too, I made a quick guessing could it be created
with the same TYPE of components and could it be scalable just through scaling up or down these components (Power-MOSFETs)?

Maybe the answer is no. So the controller will reduce to a multi-, a dual- or even just single-purpose controller.

keep the questions coming
best regards


Loopy Byteloose
01-11-2012, 05:49 PM

Try the above link to see if that is a good starting point for you. It may be the kind of open source community that you want to participate in. And it may be much easier to join than it is to start your own rather ambitious open source project.