Motor starter circuit
The classic 3-wire motor control circuit on a 12 V DC stand-in: a relay as the contactor, a normally closed STOP, a START with a seal-in contact and an overload contact. A control-circuit lesson at low voltage, not a motor starter for real equipment. There is no microcontroller in it: the simulator solves the 5 parts as a circuit, so it runs the moment you press Run, and nothing needs compiling.
Teaching? Assign it to your class in one click.
Intermediate About 15 minutes to build and run. Runs in your browser. Free, and no account needed.
The parts retail for about $8.15. On Mokxi they're free.
What you'll learn
- Motors
- School
- Reading a button
- Using the Limit switch
- Difficulty: Intermediate
- Time: About 15 minutes
- Parts: 7
How it works
The classic 3-wire motor control circuit on a 12 V DC stand-in: a relay as the contactor, a normally closed STOP, a START with a seal-in contact and an overload contact. A control-circuit lesson at low voltage, not a motor starter for real equipment.
There is no code. The simulator solves Limit switch, lever microswitch, Pushbutton, Slide switch, DPDT relay, DC motor as it is wired, so change a value in the editor and watch the result.
Parts list
7 parts, plus the jumper wires. They retail for about $8.15; on Mokxi they're free.
- 1 × Full-size breadboard
- 1 × Power, 12 V
- 1 × Limit switch, lever microswitchIn Claw Machine Kit, Vending Machine Kit.
- 1 × PushbuttonIn Starter Kit, Christmas Lights Kit, Logic Lab Kit.
- 1 × Slide switchIn Logic Lab Kit, Spaceship Panel Kit.
- 1 × DPDT relay
- 1 × DC motor
Kits that can build it
This starter kit has every part in the circuit. Each kit's page lists what else it can build.
Wiring table
Every connection, pin by pin, read from the circuit itself. Each row joins the pin on the left to the pin on the right, by a jumper wire or a breadboard strip.
| Part and pin | Connects to |
|---|---|
| Limit switch, lever microswitch pin COM | 12 V |
| DPDT relay pin COM2 | 12 V |
| DPDT relay pin COIL2 | Ground |
| DC motor pin 2 | Ground |
| Pushbutton pin 1a | Limit switch, lever microswitch pin NC |
| DPDT relay pin COM1 | Limit switch, lever microswitch pin NC |
| Slide switch pin 2 | Pushbutton pin 2a |
| DPDT relay pin NO1 | Pushbutton pin 2a |
| DPDT relay pin COIL1 | Slide switch pin 1 |
| DC motor pin 1 | DPDT relay pin NO2 |
The notes that come with it
There is no microcontroller in this one, so nothing is compiled: the simulator solves the circuit itself. The file in the editor is the notes that come with it.
// A motor starter's control circuit, at low voltage.
//
// There is no microcontroller here. Press Run and the simulator solves the
// circuit. This is a control-circuit lesson on a 12 V DC stand-in. It is not a
// motor starter for real equipment: a real starter switches a motor on mains
// or three-phase power, with a listed contactor and overload relay.
//
// THE PARTS. A DPDT relay stands in for the contactor M. Its coil is the
// contactor coil. Its first pole is the seal-in contact, its second pole
// switches the motor. The lever microswitch is STOP, wired on its normally
// closed contact (COM to NC): pressing it opens the circuit. The push button
// is START, normally open. The slide switch is the overload contact OL, which
// is normally closed: slide it to the open side to simulate an overload trip.
//
// THE WIRING. +12 V goes through STOP, then through START and the seal-in
// contact in parallel, then through OL, then through the coil to ground.
// That is why it is called 3-wire control: STOP, START and the seal-in
// contact meet at three points.
//
// THINGS TO TRY.
// 1. Press and release START. The coil pulls in, the seal-in contact closes
// around START and the motor runs. Let go of START and it keeps running:
// it has sealed itself in.
// 2. Press STOP. The coil drops out, the seal-in opens and the motor stops.
// Letting go of STOP does not start it again: the seal-in is open, and
// only START can close the circuit.
// 3. Run it, then slide OL open. The coil loses power and the motor stops.
// With OL open, START does nothing at all. Close OL and the motor stays
// off until you press START again. A real starter also never restarts by
// itself after a trip.
// 4. Why STOP is normally closed: if a wire to STOP breaks, the coil loses
// its feed and the motor stops. A broken wire fails safe.
Troubleshooting
The usual mistakes with this circuit, and the fix for each.
- The input reads the wrong level, or floats when released. Limit switch
Use COM and one contact. NC is closed at rest, NO closes when pressed. Add a pull-up or INPUT_PULLUP so the pin never floats. - Readings chatter when the lever moves. Limit switch
Contacts bounce for a few milliseconds. Debounce in software with a 10 to 20 ms delay, or add a small capacitor across the switch. - The input reads random HIGH and LOW when the button is not pressed. Pushbutton
A floating pin picks up noise. Add a 10 k pull-down or pull-up resistor, or use INPUT_PULLUP and wire the button between the pin and GND. Then pressed reads LOW. - The button seems always pressed, or never changes. Pushbutton
A 4-leg tactile switch has legs joined in pairs. Place it across the breadboard center gap so the pairs sit on different rows. Wired along one side, the legs are already connected. - The input reads random values in one position. Slide switch
A switch only connects or disconnects. Add a pull-up or pull-down resistor, or use INPUT_PULLUP, so the pin has a defined level when the switch is open. - The load never turns on when the switch is flipped. Slide switch
Use the center (common) leg and one outer leg. The unused outer leg goes nowhere. Check that the switch is in series with the load. - The relay coil does not click, or the Arduino resets when it switches. DPDT relay
A pin cannot drive a coil directly. Use a transistor or MOSFET with a base resistor, and power the coil from its rated voltage (5 V or 12 V). - The transistor dies or the circuit glitches at turn off. DPDT relay
Put a flyback diode across the coil, cathode to the positive side. The coil kicks back a high voltage spike when it is switched off.
Change it and keep it
Open it in the editor, change the circuit or the code, and keep your version in a free account.