Simple, Cheap Motor Controller

I’ve used this simple circuit several times to drive motors (like in my Stair Climbing robot) as well as solenoids. I originally picked it up from this instructable which is focused on controlling a solenoid. I wanted to isolate this circuit in its own Instructable as a motor driver so I could easily reference it from other future instructables and also provide example code to show how to use it in this manner.

Simple, Cheap Motor Controller

Step 1: Parts List

The parts list is pretty short:

  • A 1N4001 Diode
    adafruit has a 10 pack for $1.50
  • A small solderless breadboard
  • Jumper wires
  • A 1K resistor
    (you’ll need 2 if you want to add an optional LED which I’ll cover later)
  • A DC brushed motor
    (When choosing a motor for this project, note that the TIP120 transistor can handle 5A continuous and 8A peak.)
  • A battery with enough power to run your motor and enough voltage to power the arduino (7-12V)
  • An arduino uno (or other flavor of your choice)… really anything that can supply a pwm signal.

Step 2: Operation Principle

PWM stands for pulse width modulation. This basically means it is a circuit that is being turned on and off (pulsing) and you can change how long it is on and how long it is off (that’s the modulation part).

In the world of servos, a PWM signal acts as sort of Morse code… a micro-controller in the servo reads the duration of each pulse and uses that to decide where to turn the motor to.

However, this speed controller is simply fully proportional… that is to say: you can change (modulate) the pulse from all the way off to all the way on and the motor will go from standstill to running at full speed. If the pulse is such that is is on half the time and off half the time the motor will turn at 50% of its maximum speed.

The transistor is using that low voltage / low amp pwm signal and using it to switch a higher voltage, higher amp signal going from the battery to the motor. It is acting as an amplifier in this sense.

An advantage of using this method to alter the motor’s speed vs changing the voltage is that you maintain the motor’s torque. This is because at any given time the motor is either completely off or completely on.

For more detail: Simple, Cheap Motor Controller


About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top