DC motor control: Welcome to the jungle

I will never forget that day. I’m being sentimental, but it was a rainy Sunday afternoon of late January. I was around 11 years old, I was sitting at my desk, and, most of all, I was deeply bored. The light was fading from the only window in my room and the air was almost gloomy, save the pale circle of yellow light from the desk lamp. Sunday-blues-before-Monday-School.

What dark instinct drove me to grab that old radio-controlled toy car in my left hand, and that chewed screwdriver in the other, I don’t know. But my life has changed since. And in the same time, the life of many of my electronic belongings were to shorten.

A few cuts in my fingers later, I was holding my first DC motor. Next to me, the wreck of the toy car lied cracked-open on my desk, its plastic housing torn appart, and its inside wires and electronic boards spreading on the ground. And then the marvel happened; grabbing a 4.5V battery (the flat one I enjoyed so much to put my tongue on, a genuine scientific measure to test its life), I managed to join both wires to each pole of the battery, without any hope that anything would happen, really.

But then the motor made a sudden bounce and with a sharp sound the small shaft energetically spun at once. I was so startled that I dropped everything on my desk, disconnecting the motor from its power supply. Yes, I know that you can hear that faint music rising, the music of the great discoveries. It was now loudly resonating in my head; I tried the experiment again and again, and my mind was growing with expectations of gigantic and complex machineries I was about to build with this cutting-edge material and this new acquired knowledge. But first I had to inform my parents what a huge discovery I just made, and how genius their son was.

Well, long story short, when I discovered the joy of electronics later at engineering school, it was a hard landing. But nevertheless, electric motors always stayed close to my heart.

Yes, controlling motors is difficult, it’s a deep jungle with savage inhabitants and weird names. But this jungle can be transformed into a kind of a public park, even a nice garden, with a little bit of work, of reading, and of jungle-clearing.

In order to help you make your pretty motor-control-garden, here are the subjects I will talk about ( please let the previous music go on while reading ):


How to lift a banana: a guide to motors in robotics

Controlling direction and speed of a DC motor:

How to stop being controlled by your DC motor: reverse the roles! (PART 1 — Direction control)
How to stop being controlled by your DC motor: reverse the roles! (PART 2 — Speed control)

Other thoughts on DC motors:

Get to know your DC motor: how to read a datasheet
All the things getting out of a motor (Torque, speed and stuff)

The PID project: what even is a PID?

An introduction to PID control with DC motor (PART 1 How to be a good autonomous and environment-aware robot)
PID: the P as in Proportional (How a PID works, part 2)
PID: The I, as in integral (How a PID works, part 3)

… and many future posts on this subject will come later on:

  • Let’s dimension a DC motor together
    A step-by-step explanation for the dimensioning of a motor in a robotic application.

Thank you for reading.

— If you liked what you read, don’t hesitate to help us by starring our repo on Github. That’s the kind of small action that means a lot to us!