MAE106 - MAE 106: Mechanical Systems Laboratory

Department of Mechanical and Aerospace Engineering

University of California

Spring 2014


Instructors: Prof. David Reinkensmeyer 

Office: EG3225, Phone: 824-5218, Email:

Office Hours: Wednesday 4-5 PM


Prof. Kamran Iqbal;


Graduate Student Instructors:

Brendan Smith

Justin Rowe

Derek Bissell

Joan Aguiler


Laboratory Technician:

David Hartwig

Lab Location: EG2102



System Dynamics, 2nd Edition, William J. Palm III, McGraw Hill,  2009, ISBN 9780073529271 (1st edition is OK).  Reading assignments are below next to the lecture notes.




Course Syllabus


Course Notes from Professor Bobrow


Lecture 1 Notes    L1 Filled-In Notes (Read: System Dynamics Ch. 6 -- Electrical and Electromechanical Systems) How a mosfet works

Lecture 2 Notes Filled in    (SD Ch. 6.5, 6.6 Electric Motors)  DC Brushed Motor Animation

Lecture 3 Notes    L3 Filled-in  (SD Ch. 8 and 9: System Analysis in Time and Frequency Domain)    Fourier composition graphic:  Graphic 1

Fourier Series Applet  Filtering Applet

Lecture Notes on 3D printing

Lecture 4 Notes    L4 Filled-in (SD 6.2, 6.3, 8.1, 9.4) 

Lecture 5 Notes  L5 Filled-in (SD 10)  Neural Control Movie

Lecture 6 Notes L6 Filled-in (SD 10.4)

Lecture 7 Notes L7 Filled-in  Resonance Movie  Resonance Movie Resonance Movie Flour Mill (SD 4.2, 4.4, 9.2, 9.3)

Lecture 8 Notes  L8 Filled-in (SD 3.2)  X-Prize Flight #1     Tail Camera View of Second flight  daVinci demo daVinci Airplane

Lecture 9 Notes  L9 Filled-in (see: Chapter on Data Acquisition) Wagon Wheel Effect  Aliasing illusion with water flow

Lecture 10 Notes L10 Filled-in (SD 12)



Lab 1   Lab tools 

Lab 1 Practical Exam 1 Preview Video 

Lab 1 and 2 Post-Quiz Solution 2006 

Lab 1 and 2 Post-Quiz Solution 2007

Lab 1 and 2 Post-Quiz Solution 2009

Oscilloscope Tutorial - Basic Usage

Oscilloscope Tutorial - Advanced functions (triggering)

How to make a plot in Matlab


Lab 2 Power control for a motor

Lab 2 Practical Exam Preview Video


Lab 3  Electrical filters and first order systems

Lab 3 Practical Exam 1 Preview Video 

Lab 3 Practical Exam 2 Preview Video

Arduino Wiring Diagram to Complete at End of Lab 3

Arduino Wiring Tutorial Video

Arduino Motor Control Code

Lab 3 Post-Quiz Solution 2007

Lab 3 Post-Quiz Solution 2009


Lab 4   Computer control of a motor

Arduino Code needed for lab

Video about encoders and quadrature encoding

Lab 4  Post-Quiz Solution

Video about Nyquist Rate


Lab 5   P-type velocity control of a motor

Velocity controller code for Arduino

How to connect solenoid to Arduino

BlinkPiston Arduino Code

Example of motor velocity control (analog, op-amp based controller)

Exampe of finding cutoff frequency (analog controller) 

Lab 5 Post-Quiz Solution and Midterm Solution 2007

Lab 5 Post-Quiz Solution 2009


Lab 6 (week 6: Vibration)

Higher res version of Arduino wiring diagram

Arduino code for measuring impulse response of beam

Arduino code for measuring frequency response of beam

Arduino code for debugging LCD 

Lab 6 Troubleshooting Tips

Logarithmic decrement method

Video of impulse response of a beam

Video of resonance of a beam

Video of different modes in a two beam, coupled vibrating system

Lab 6 Post-Quiz Solution

Old lab on two mases/vibration isolation

Solution to old lab  

Lab 6 Post-Quiz Solution 2


Lab 7  (week 7: PD motor position control)

Arduino code for Lab 7

Lab 7 Practical Exam 1 Preview Video

Lab 7 Practical Exam 2 Preview Video

Lab 7 Post-Quiz Solution



Arduino Starting Tutorial:

1. go to the online guide:

2. follow the instructions to download, set up, and run the blinking LED program.

3. open the Arduino “First Sketch” tutorial page:

4. read about the sketch, describe comments, variables, input and output pins, the setup() and loop() functions, etc…

5. do the two exercises at the end:

a) Change the code so that the LED is on for 100 milliseconds and off for 1000.

b)  Change the code so that the LED turns on when the sketch starts and stays on

6. other tutorials are here for further reading.  Try the analog input example as well: AnalogInput




Labview Tutorials

Labview tutorial 1

Labview tutorial 2

Labview tutorial 3

Labview tutorial 4

Labview tutorial 5


For more tutorials, see:

LabVIEW core 1 ( col10241/latest/) 
The following chapters are relevant: 
Modular Programming 
Repetition and Loops 
Plotting Data             
Making Decisions in a VI 
Data Acquisition and Waveforms 



Midterm Review Sheet


Practice Midterms:

Midterm 1999

Midterm 2000

Midterm 2001

Midterm 2002

Midterm 2003

Midterm 2004

Midterm 2007

Midterm 2009


Solutions to Old Midterms


Practice Design Exams:

Design Exam and Solutions 2002 and 2003

Design Exam and Solution 2004

Design Exam and Solution 2005

Design Exam and Solution 2006

Design Exam and Solution 2007

Design Exam and Solution 2009


Final Project Equipment Information:


2012: Labview Library for USB 6009 Board

For those of you using the student version of Labview on your own computers, it does not come with  the libraries you need to talk to the USB 6009 DAQ board.  If you want to program on your own machines you will need to download it.  It is called DAQmx and you can find it here: nisearch/app/main/p/bot/no/ap/ tech/lang/en/pg/1/sn/catnav: du,n8:3478.41,ssnav:sup/.

you will need to make an account with NI to download it.

2012: Solidworks model of mounting plate

2012: Pin-out of Table Connector (updated 5/21/2012)

2012: How to Get an Analog Output from an Arduino

2011: Pin-Out of Table Connector

2011: Example Labview Program from Dave Hartwig

2011: Solidworks Model of Canon and Backstop on Table (UPDATED 5-5-2010)      Model  in IGS format

2011: PDF File of Table Dimensions

2011: Matlab Data Acquistion Code Example for National Instruments USB-6009 I/O device

2011: Power Operational Amplifier Specs

2011: Computer Vision System Setup


2010: Motor Amplifier Detailed Specification

2010: Valve information: You turn on the pneumatic valve by supplying +5 Volts, which drives a MOSFET which drives the valve.

2010: Winning Labview Program from 2009 (example of how to read multiple channels and write control logic)

2010: Competition Details and Write-Up Instructions



2009: Infrared Sensor

2007: Hitter mounting template

2007: Robotleyball court dimension


Motor Specifications


Labjack User's Guide

Labjack Matlab Function Calls Documentation

Pneumatic Valve Documentation

Pneumatic Cylinder Documentation


Final Project Competitions:

2014: Claim Jumper

2013:King of the Anthill

2012:   Anthopper Olympics 2012   Control Laws for Hoppers (see Chapter 2)  Raibert Hoppers  Big Dog  Petman  Cheetah  Sandflea  Hopper1  Hopper2

2011: Robotic Dodge Ball  Movie of excellent tracking

2010: Double Robotic Air Hockey  Movie from the Competition  Movie2  Movie3

2009: Crossfire   Detailed Description of Rules  and Grading    NEW: Changed Scoring System  Crossfire Ad  Crossfire Competition Movie

2007: Robotleyball   Movie: Semifinal with the Flapper

2006: Pirates of the Caribbean  Movie: Storm Brewers  Movie: The Black Pearl Wins in 23 seconds

2005: Home Run Derby

2004: Wakebot

2003: March Madness

2002: Skibot

2001: Pele  

2000: Batapult  

1999: Cruise Control Crash Course  Crossfire Video  Crossfire Commercial