1 of 32

2 of 32

a pragmatic guide to making your world move with motors!

I like to move it, move it:

3 of 32

Who am I?

  • Jonathan Beri @beriberikix +jonathanberi
  • Maker since we use to call ourselves nerds
  • Co-author, “Make: JavaScript Robotics

4 of 32

Agenda

  • Why this talk?
  • The plan
  • Attributes of motors
  • Brushed DC
  • Stepper
  • Servo
  • Brushless DC
  • What next?

5 of 32

Why this talk?

6 of 32

The plan

  • Focus on tl;dr of control
  • Most common types of motors:
    • Brushed DC
    • Stepper
    • Servo
    • Brushless
  • Save Closed-loop for another talk
  • Develop on hackaday.io/project/8116, github

7 of 32

Attributes of motors

body dimension

shaft dimension

mounting options

shaft shape

double ended shaft

extended shaft

threaded shaft

cost

gear

pulley

vibrating weight

operating temp

availability

sourceability

starting operating voltage

no load speed

loaded speed, current

no load current

stall current

starting torque

stall torque

operating temp

alternative form factors

operating voltage

encoders

built-in controllers

number of coils

bearing type

gear material

type of encoder

8 of 32

Brush DC

9 of 32

Brush DC: overview

PROS

  • $ - cheapest discussed today
  • Basic speed control is easy
  • Wide-range of form factors
  • Low to high torque/voltage options
  • Plenty of add-ons (gear boxes/encoders)

CONS

  • Brushes can go bad
  • Lacks precision motion (needs closed-loop)
  • Magnets == heavy for some applications

10 of 32

Brush DC: voltage-sensitive devices

  • Apply enough voltage across a BDC, it moves
  • Apply more voltage, the motor moves faster
  • Reverse the voltage, the motor moves in the reverse direction
  • Remove the power and motor moves freely, aka. "freewheeling"
  • Stop the motor quickly like a car "brake" with a resistive load to dissipate stored energy

11 of 32

Brush DC: discrete

Variable resistor

Rotary switch + resistors

12 of 32

Brush DC: h-bridge

Need more power? Use a Power Mosfet - just don’t forget the heatsink!

13 of 32

Brush DC: h-bridge drivers

14 of 32

Brush DC: 555 for PWM

15 of 32

Brush DC: drivers & MCUs

Hardware PWM

Fancy Driver

Protip: use a digital potentiometer when you’re modding

16 of 32

Brush DC: lots of motors

17 of 32

Stepper

18 of 32

Stepper: overview

PROS

  • $$ - positional accuracy costs but printers are bringing this down
  • Rotate to very accurate positions (microsteps)
  • Many controllers for use with MCU
  • Comes in standard sizes defined by NEMA

CONS

  • Can be $$$ - high-precision, high-torque
  • Usually too heavy for light drones
  • Many coils == more power

19 of 32

Stepper: 2 motors, basically

20 of 32

Stepper: discrete

Any H-bridge will work - BJT, Mosfet or Driver

21 of 32

Stepper: drivers & MCUs

Dual hardware PWM

Fancy Drivers

22 of 32

Servo

23 of 32

Servo: overview

PROS

  • $$ (Hobby-grade)
  • Position shaft easily and stay there
  • Control protocol is easy, no drivers needed
  • Easy to mount casing
  • Lipo-friendly voltages
  • Industry-defined standard sizes

CONS

  • $$$ (Industrial-grade)
  • Continuous rotation exists but kinda hacky
  • Needs constant signal

24 of 32

Servo: duty cycle to angle

25 of 32

Servo: just another PWM device

26 of 32

Brushless DC

27 of 32

Brushless DC: overview

PROS

  • $$ - price dropping b/c drones, e-bikes
  • High RPMs, torque
  • Easy to control Electronic Speed Controllers (ESC)
  • Can be made lightweight

CONS

  • Not good for fixed-positioning
  • Sensored type are closed-loop and therefore need more electronics
  • Despite efficiency, needs lots of current

28 of 32

Brushless DC: 3 motors, basically

29 of 32

What next?

30 of 32

Moar online

  • This presentation is online
  • More details on hackaday.io/project/8116
    • plan to continue with A/C, Solenoid & smart servos
  • Code on Github:
    • Arduino, soon ChibiOS
  • Planning a talk on closed-loop

31 of 32

32 of 32

Appendix of things