I am looking into controlling DC current on each stator coil of a small motor for the purpose of increasing battery/machine runtime.
Is it feasible? What are the limitations in time of on/off cycles? Can it be programed in degrees in a cyclic loop?
Well that is a start, plenty more questions I am sure...
Thanks for your opinion
R
Commutators are for coils on the rotor. If the coils are on the stator it sounds like you have a brushless motor.
An Arduino can control a brushless motor as long as you have feedback about it's position so you can cycle through the coils properly.
Uh, yes, an Arduino can do that. But it certainly will not improve battery life and in fact, it will make it worse.
True but I'm thinking a little out side the box here , Think of it more as an attempt to control the stators frequency, duration and timing , much the same as we do on 3 phase setups except taking DC directly to the motor instead of converting it into AC power...
Maybe you're being a bit too abstract, because it's hard to tell what your asking for.
It sounds like you're asking about making a brushless DC motor controller. What motor are you working with? What are you trying to do with it?
How many segments on your imaginary commutator? How many brushes?
Paul
I have two motors I will be working on , one 18 coil one 36 coil. Rotor will be permanent magnet. Originally built as 3 phase smart motors, the object is to run these on dc current skipping the transition to 3 phase. It is quite difficult letting go of three phase construction ideology and instead focusing on a rotating magnetic field controlled by the selective energization of stator coils via electric controls... to answer the question the virtual commutator would need to be capable of on/off switching for 18 coils and it would be nice to be upgradable to 36 switches without totally changing all the hardware but that isn't a requirement at this time
It's not just running DC to the coils, you have to reverse the polarity at the proper time and keep all the phases in order. Due to inductance, you do not want to use square waves. The time to magnetically charge the windings is not instantaneous.
Paul
Not so sure about that!
The effect of inductance on a square wave is to smooth out the current rise and fall, not really a problem. Remember that a commutator is a switch - each segment either on or off - that is actually a square wave!
That said, remember also that most of the segments on the commutator are not in contact with the brushes (exception, small 3 V Mabuchi motors with three segment commutators!). So if you are commutating 18 or 36 coils, only perhaps 3 or 4 will be directly switched at any one time.
Hi,
Welcome to the forum.
Its sounds like you are trying to make a multi poled BLDC motor controller?
Most BLDC motors are 3 wire, so you only need 3 phases, as you increase the number of poles you also increase the cost and complexity of the hardware.
They also apply forward and reverse current to maximise the usage of the coils.
Can you draw a basic diagram of how you would like to accomplish this, say with 5 or 7 poles?
Bearing in mind squarewave will produce all sorts of current harmonics due to coil impedance and interaction with other coils in the motor.
If you leave a coil open circuit while others are conducting current, you will induce a potential at the open coil terminals.
Tom...
![]()
Well, again, no it will not! The inductance will actually limit the higher frequencies. That's what inductances do. ![]()
But that potential will not exceed the voltages applied to the other coils, so it is not a problem as such.
Hi,
What ever the case @qannon is possibly going to need a scope to help obtain the efficiencies he is experimenting for.
Tom....
![]()
Not just inductance. The motor MUST have magnetic poles created momentarily by the windings. That takes current and time.
Paul
Guys, thanks for the warm welcome to the board...
I had to take some notes so I could address the questions.
Again forget phases, this was a BLDC motor I am in the process of rewiring all the coils , separating each one from the others , There was a mention of back EMF when deenergized, 1The winding will no longer be attached to anything so no worries to equipment (fingers crossed) 2. the next cycle for that coil will be opposite current flow 3. by separating coils I reduce the amp load on the H bridge/Mosfet.
I believe I am going to have to call this thing a rotating magnetic field generator So I will quit trying to compare it to a motor.
As soon as parts arrive from china ( on the proverbial slow boat) I will begin building a mechanical commutator powered by a small dc motor for testing the theory, limiting factor will be how many brush pairs can i squeeze around the stationary platform...
Back to the original query can an Arduino handle switching up to 36 different H bridges/mosfets? How would the timing sequence be written, in nanoseconds in a loop or is it possible to write the programming as degrees of a circle.
Note to all : all of my references to electrical switching in theory or practice shall be forever considered "open source"
Yes and you also reduce the torque per amp constant by reducing the field.
Best to understand Faraday’s laws before proceeding. The physics will win, every time as there is no free lunch. You can never get out more than you put in. Many have tried. All have failed.
The shortest pulse you can generate with a 16 MHz Arduino is 1/16000000 which is 62.5 ns.
Again forget phases, this was a BLDC motor I am in the process of rewiring all the coils
I knew it. This should have come out in the first post. Would have saved you from the people trying to talk about brushes.
I believe I am going to have to call this thing a rotating magnetic field generator So I will quit trying to compare it to a motor.
Call it a brushless motor. That will solve all your problems with terminology.
Back to the original query can an Arduino handle switching up to 36 different H bridges/mosfets?
Why would you want to? You're making things far more difficult for yourself. It was already designed for 3 phases, so you can use them as is.
Everything here depends on your definition of "handle" and the performance requirements that entails. I don't think even the Mega has 36 PWM channels, so it would require either software PWM or external multiplexing chips. Either way comes with a decrease in performance and a massive increase in complexity over just the basic 3 phases.
How would the timing sequence be written, in nanoseconds in a loop or is it possible to write the programming as degrees of a circle.
This isn't really an either-or thing. You'll need to use both to relate your position in the circle against the passage of time.
Well, the point here is that the rotor already has multiple poles, or
are you saying that you are going to construct a different rotor?
This is getting seriously weird. ![]()
The OP is probably trying to re-invent a switched reluctance motor. Gates and some other rich fools dumped millions of VC into some startup that claims their motors are 60% more efficient than current machines.
It’s an over-grown stepper motor. The torque ripple is horrible and the commutation costs and losses will offset any gains. Meh. Fools and their money are soon parted.
Google “Turntide motors”. Their website is 100% vaporware.
Hi,
Back to basics;
Can you please tell us your electronics, programming, arduino, hardware experience?
Have you actually programmed an Arduino controller?
Thanks.. Tom...
![]()
No sir, none programming , that is for my "IT guy" friend for this "project, my electrical background is in commercial electricity single and three phase, I myself do minimal computer programming, mostly limited to webpage building, however I do work with cad programs from time to time drawing blueprints. All that aside I believe @WattsThat answered my question , and its a no, an Arduino can't handle the switching operation , it looks like a Raspberry Pi will be the next option