Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple...

55
Actuators Jonathan Bachrach EECS UC Berkeley October 10, 2016

Transcript of Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple...

Page 1: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Actuators

Jonathan Bachrach

EECS UC Berkeley

October 10, 2016

Page 2: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Last Time 1

Sensors

https://www.adafruit.com/products/245

Page 3: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Now 2

Actuators

https://www.adafruit.com/products/324

Page 4: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Actuator Output Categories 3

Voltage any Analog valueEvent touch, IR, magnetic, hall effectLight LED, Seven Segment Display, LCD Display

Sound speakerMotion brushed motor, servo, stepper, brushless

UI meter

Page 5: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Actuator Hookup Techniques 4

DigitalOut simpleAnalogOut need to map values

PWM need to map valuesUART printf

I2C need addressSPI number of bits

Page 6: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Visual Output 5

LEDSeven Segment DisplayLCD

Page 7: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Simple LED 6

pull up resistorcalculate resistor based on desired current and voltage drop

R

5V

1.7V

Page 8: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

High Power LED 7

microcontroller can only drive 40mAseparate power for LEDdrive transistor into saturation

Vin

+5v

4.7ohms

270ohms

Page 9: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

More PWM Channels 8

multiplexorcan daisy chain them

Page 10: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

LED Matrix 9

multiplex over all pinsrow/colsqrt number of pinsneed only use 40mA / |cols| currentforward voltage is say 1.8v -> 680 ohms

Page 11: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Charlie Plexing 10

technique for driving more leds with fewer pinsnamed after charlie allen (of microchip technology inc)trick that led’s work only one directioncan turn off LEDs setting pin to inputdrive only one led at a timen pins can drive n2 − n leds

a b c L0 L1 L2 L3 L4 L50 0 0 0 0 0 0 0 00 1 Z 1 0 0 0 0 01 0 Z 0 1 0 0 0 0Z 0 1 0 0 1 0 0 0Z 0 0 0 0 0 1 0 00 Z 1 0 0 0 0 1 01 Z 0 0 0 0 0 0 1

a

b

c

L0

L1

L2

L3 L4

L5

Page 12: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Seven Segment LED Display 11

one bit per seven segmentspull up resistors

Page 13: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Multiple Seven Segment LED Display 12

multiplex displaysenable signal for each digitrapidly turn on each segmentuse 2N2222 transistor to activate each digit

Page 14: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Multiple Seven Segments with MAX7221 ShiftRegisters 13

uses SPI to addressdoes multiplexing for youaddress digit and

sa sb sc sd se sf sg d0 d1 d2 d3 d4 d5 d6 d7

sck miso mosi ss gnd gnd 5V ISet

Page 15: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Array of LEDs with MAX72xx Shift Registers 14

grid of LEDsinstead of digits it’s rowsinstead of segments it’s LEDs

sa sb sc sd se sf sg d0 d1 d2 d3 d4 d5 d6 d7

sck miso mosi ss gnd gnd 5V ISet

Page 16: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Analog Panel as Display 15

connect in series with 5k ohms resistor for typical 1mA meter

https://www.adafruit.com/products/252

Page 17: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Textual LCD Output 16

Hitachi HD44780 chipmultiple digital outs10k potentiometer for brightnessbacklight resistor 220 ohmsetCursor and print commands

https://www.adafruit.com/products/1447

Page 18: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Graphical LCD Output 17

KS0108 chipcontrast/backlight as wellneed driver softwaredriver has cursorTo, print, and geometry like rectangles and circles

https://www.adafruit.com/products/188

Page 19: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

LCD with I2C and SPI Interfaces 18

needs fewer pinscould do this with an iop

https://www.adafruit.com/products/292

Page 20: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

LED matrix 32 x 32 19

needs fewer pinsbunch of latchespwm in software

https://www.adafruit.com/products/607

Page 21: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

NeoPixel RGB LEDs 20

PWMbig shift registertime critical

https://www.adafruit.com/products/1506

Page 22: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Utrabright LED Matrix with I2C 21

8x8 pixelsuse fewer pins with I2C

https://www.adafruit.com/products/1614

Page 23: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

LED Matrix with Square Pixels and I2C 22

8x8 square pixelsuse fewer pins with I2C

https://www.adafruit.com/products/1857

Page 24: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Alphanumeric Four Pack with I2C 23

use fewer pins with I2C

https://www.adafruit.com/products/2158

Page 25: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

LED Bar Graph 24

like having 10 LEDs butevenly spaced out in package

https://www.adafruit.com/products/1815

Page 26: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Physical Output 25

brushed motors – low costservo motors – accurate controlbrushless motors – more powerfulstepper motors – precise controlsolenoids – linear motionrelays – switches

Page 27: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Attributes 26

voltageamperagetorqueaccuracyspeedcostsize

Page 28: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Turning Brushed Motor in One Direction 27

use transistor and diode and capacitoruse separate power supplydigital output

gnd

out

1k

+V

gnd

1N4001

2N2222

Motor motorpowersupply

Page 29: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Controlling Direction of Brushed Motor 28

use H-Bridge circuitlogic table for outputconnect all gnds

en i1 i2 function1 0 1 turn clockwise1 1 0 turn counterclockwise1 0 0 motor stop1 1 1 motor stop0 x x turn clockwise

H-BridgeL293

o1 o2

i1 i2

vs

gnd

ena

vss

motor

+V

gnd

motorpower

enb

o3 o4

motor

i3 i4

Page 30: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Controlling Speed of Brushed Motor 29

use PWM to control speed

Motor(PinName pwm, PinName fwd, PinName rev, int brakeable)

float speed(float speed)

void coast(void)

float stop(float duty)

float state(void)

Page 31: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Servo 30

for precise positioningpotentiometer determines positionusually need 4.8V to 6V to drive servo but might need more currentcould use linear regulator to give output voltage say 5V 1.5A withcaps L4940V5 p83important to have separate power because of burst

gnd+5Vsig

Page 32: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Servo Control 31

send pulses with length of pulse say number of degreesdelay in between commands1ms 5V pulse turns to 0 deg, 2ms to 180, and in between scalelinearlyresend every 20ms to hold position

en i1 i2 function1 0 1 turn clockwise1 1 0 turn counterclockwise1 0 0 motor stop1 1 1 motor stop0 x x turn clockwise

www.seattlerobotics.org

Page 33: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Continuous Rotation Servo 32

remove potentiometerpulse says speed insteadsome servos are set to do 360 rotationspeed = (angle - 90) / 90.090 is stopped091-180 is forwards000-089 is backwardsmight not be exactly 90 for stop adjust or change code

Page 34: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Bipolar Stepper Motor 33

use either L293 or L298 H-Bridge depending on currentuse stepper driverstep from tooth to toothnot as fast as other motors but precisecan be higher voltage and current

H-BridgeL293

o1 o2

i1 i2

vs

gnd

ena

vss

+V

gnd

motorpower

enb

o3 o4

steppermotor

i3 i4

Page 35: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Brushless Motor 34

use electronic speed controller (ESC)separate power for ESCcut power to servo connector as brushless motor has its own powersame control as servo

ESP

gnd sig vs

motor

+V

gnd

motorpower

+5V

gnd gnd gnd

Page 36: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Solenoid or Relay 35

electromagnets that cause linear motionrelay provides switchneed transistor and diode in circuitdiode prevents reverse EMF from damaging transistor – polarity isimportant!calculate current from resistance using ohm’s lawuse transistor based on needed current either 2N2222 or TIP102

gnd

out

1k

+V

gnd

1N4001

2N2222

Page 37: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Vibrating Motor 36

bzzzzz

https://www.adafruit.com/products/1201

Page 38: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Toy Motor 37

wide 4.5V - 9V operating range

https://www.adafruit.com/products/1201

Page 39: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Brushed Motor with Encoder 38

12V4.4:1 gearmotor48 CPR encoder provding 2111.2 steps / revolution200mA free running

https://www.pololu.com/product/3237

Page 40: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Stepper Motor 39

12V200 steps / revolution4 wire bipolar350mA max range

https://www.adafruit.com/products/324

Page 41: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Plastic Water Valve 40

12V320mAuse 12V 1A power adaptor

https://www.adafruit.com/products/997

Page 42: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Peristaltic Liquid Pump 41

12V200-300mA

https://www.adafruit.com/products/997

Page 43: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Pololu Brushed Motor Controller 42

simple serial interface2 motors4.5 - 13.5V motorup to 1A (3A peak)logic level down to 2.7V

https://www.pololu.com/product/1110

Page 44: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Audio Tasks 43

alertstonessoundsmusic

Page 45: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Audio Space 44

fidelityloudnesscompute powerpolyphonynumber of output channels

Page 46: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Audio Output 45

hook up speaker with variable resistor and 100uF capuse PWM to drivefreq is 1/period

100uF

+

gnd

pwm

volumecontrol

Page 47: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Single Tones 46

freq and durationeasy to do yourself using pwm and timerscan also use library for this

mycontraption.com

Page 48: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Multiple Tones 47

can merge values using separate outputs with 500 ohm resistorswire them all together at speaker input

100uF

+

gnd

sig3500 ohms100uF

+sig2

500 ohms100uF

+sig1

500 ohms

Page 49: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Playing WavFile 48

output samples to real analog signal out (not PWM)use mBed library for thisneed to time output of samples

Page 50: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

MIDI output 49

wire up to serial port31,250 bauduse MIDI commands

5vgndtx

270ohms

Page 51: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

SGTL500 Based Audio Board 50

uses SGTL5000 codec16bit 44.1KHz audio samples

https://www.sparkfun.com/products/12767

Page 52: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

WTV020SD Based Audio Board 51

uses WTV020SD codecuses 2 line serial for interfacing16bit 44.1KHz audio samples2 line differential PWM to speakersupports microsd card

https://www.sparkfun.com/products/11125

Page 53: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Logistics 52

Basic JITPCB due next TuesdaySection Monday in Jacobs 210 with Edward

Page 54: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

Next Week 53

Bring Up and Debugging by RichardEmbedded SW Engineering by Richard

Page 55: Actuators - University of California, Berkeleycs194-126/fa16/lectures/actuators.pdf · Multiple Seven Segments with MAX7221 Shift Registers 13 uses SPI to address does multiplexing

References 54

Exploring Arduino: Tools and Techniques for Engineering Wizardryby Jeremy BlumArduino Sketches: Tools and Techniques for Programming Wizardryby James LangbridgeArduino Cookbook, Michael Margolis30 Arduino Projects for the Evil Genius, by Simon Monkhttps://developer.mbed.org

http://www.adafruit.com

http://www.sparkfun.com

http://www.pololu.com

mBED cookbook https://developer.mbed.org/cookbook/Homepage