How do motors actually work?

The way I think, I like to trace things in subsystems all the way back to the motor, so I understand how things start and then progress from there. However, I was thinking recently, and what actually makes the motor spin? And I hear terms quite frequently I don’t understand such as brush, brushless, stator vs supply, etc. So yeah, if anyone has good guides or anything of the sort, let me know. Thanks!

Good writeup here: DC motor - Wikipedia

9 Likes

I’ve actually been working on a 10,000 ft overview of DC motors for ReCalc. It isn’t done yet, but here are some small excerpts covering the fundamentals.

Brushed, Brushless, and Basics

You should watch the following two videos to gain an understanding of the differences between brushed motors and brushless motors. In FRC, our brushless motor options are the NEO, NEO Vortex, NEO 550, Falcon 500, and the Kraken X60. All other motors are brushed.​

The FRC Power System

Our batteries are typically ~12.6V fully charged. A new battery will have an effective resistance of ~0.015Ω. This resistance will increase with use, and decrease with temperature. SLA batteries are also complicated and also have lots of variables; however, these will not be covered here.

Notably, voltage is a measure of potential energy. By drawing a current to a device, the available potential energy of the battery decreases. But how much current can we draw at a given time? Well, if we draw too much, we will brown out - you can read more about this from WPILib. Let’s assume our brownout voltage is 6.8V - we can use Ohm’s Law to find our maximum current draw.

V = IR \\ (12.6 - 6.8) = I(0.015) \\ I = 386.67

With a decently good battery, we can draw around 387A before we start to brown out. But with a battery in not-so-good condition:

(12.6 - 6.8) = I(0.020) \\ I = 290

We lose out on nearly 100A. This is why battery condition is so important; a crappy battery leaves a huge amount of performance on the table.

Basic motor specs

The nominal voltage of our system is 12V. Most devices are benchmarked to this voltage; our batteries just happen to be able to push out an inconsequential amount more volts.

The armature current is the current flowing through the motor coils at a given moment in time. The supply current is the current being delivered from the power supply. These are not necessarily equal. When you command your motor controller to output 4V to the motor, it does not actually output 4V - it outputs 12V, but only for 4/12 of the time. The remaining 8/12 of the time, it outputs 0V. In a macroscopic view of the motor coils, this averages out to 4V, and can be considered as such.

Now, suppose your supply current is 25A. Remember - the supply voltage to the motor controller is always 12V*. This means the power input to the motor controller is 12*25=300 watts. The motor controller will use a rather miniscule amount of power here; we can round down to zero for simplicity’s sake. If the power from the supply is 300W, and the motor’s applied voltage is 4V, then what is the armature current?

(*Note: it’s equal to the battery voltage, which is close to 12V; simplifying here for demonstration’s sake.)

Power in must equal power out. It won’t all be mechanical power - some power will be lost to resistance or friction or others - but power in must equal power out:

P = VI \\ P_{in} = P_{out} \\ 12 * 25 = 4 * I \\ I = 75

Thus, our motor is running at 4V and 75A, while our supply is at 12V and 25A.

23 Likes

Sorry.

7 Likes

Electricity flowing through wires makes a magnetic field. By turning electricity on and off you can vary the strength and duration of that field.

Magnetic fields can push and pull on each other

Create a circular arrangement of electrical and permeant magnets which pushes and pulls on each other. Attach a metal shaft with appropriate bearings.

Boom, motor.

10 Likes

they run on smoke, you see? if the smoke gets out, the motor doesn’t spin anymore

18 Likes
9 Likes

They work just like this, but with magnets:

17 Likes

there is a small wizard inside casting spells very fast

5 Likes

Here’s a good explanation as long as you’re right handed which starts 3 minute in:

3 Likes

For brushed motors, I’ve always been partial to this video: https://www.youtube.com/watch?v=-qS85aIvleQ

1 Like

If folks are wondering how this can happen, let me see if I can stir the mud up a bit more.

This is a graph of Justin’s hypothetical motor. It is 2 cycles of the PWM

Pulse Width Modulation
chop @ 34% @ 10kHz. This is typically what you would see using fancy current probes hooked to an O’scope. The motor has to have a high enough inductance making the current continuous (verses discontinuous).

The slopes of the lines are dependent on the inductance of the motor, which I made up for dramatic effect (however this is close to what an RS775 looks like. A CIM is way flatter, which isn’t as dramatic).

The Power supply saw 75 Amps for 34% of the time and 12 volts 100% of the time.
The motor saw 75 Amps 100% of the time and 12 volts 34% of the time.

Of course, Justin already stated this, but folks might be asking “Where did the motor current come from if it isn’t connected to the battery for 66% of the time?”. The current comes from the inductance of the motor windings conducting through the intrinsic diodes of the FETS.

The best thing about this is we didn’t have to violate any conservation of energy laws in the process.

An important thing to remember is this “general rule of thumb” starts to fall apart as soon as the inductance of the motor or the energy pumped into the inductance becomes low enough that the motor current goes discontinuous, then it turns into a different math problem.

1 Like

You ever seen the show ninjago? It’s like spinjitzu but with copper

11 Likes

1 Like

Can’t go wrong with an electroboom video: https://www.youtube.com/watch?v=yO9xIVv8ryc
He gives a really good explanation of a simple motor concept which can be extrapolated for brushed motors and makes it very entertaining. Here is a good explanation for AC motors, and Brushless motors that we use in FRC work the same way for the most part (correct me if I’m wrong):