Main Page
The Northwestern University mechatronics design wiki provides reference material on the theory and applications of electronics, sensors, actuators, etc., for use in mechatronics-related research and projects. Practical applications often refer to equipment and supplies available in the Northwestern Mechatronics Design Lab.
The mechatronics wiki was initiated by undergraduate Ben Stephens in 2006, under the supervision of Profs. Kevin Lynch and Michael Peshkin. Since then, many students have contributed content.
Important: Please be sure to read the Rules for Using the Mechatronics Design Lab.
Design Competition 2008
Wiki pages on sensors, actuators, programming, and microcontrollers: use pages below
- Parts in the DC2008 quick start pack
- PIC C intro slides, as presented 2008/01/24 (pdf)
- PIC interfacing slides, as presented 2008/01/28 (pdf)
Sensors and actuators for DC
- Solderless Breadboard & wiring that works
- Using LEDs & IREDs
- Using a laser
- Infrared reflectivity
- Using phototransistors
- Sensing optical tape
- Comparators : the analog digital interface
- Faulhaber MiniMotor SA gearmotor with encoder, as well as the local wiki page
- Adding a magnetic encoder to a GM3 Gearmotor
- Using magnetic switches (Hall Effect)
- Driving high-current devices: several options
- Driving a Stepper Motor
- Driving an RC Servo
- Accelerometers
- Strain gauges
- Basic Stamp Microcontroller Not recommended for DC2008
- NiMH rechargable batteries and chargers
Prof. Peshkin's favorite datasheets
PIC 18F4520 prototyping board
- Prototyping board intro
- Assembling the 18F4520 prototyping board, circuit, parts
- Using the 18F4520 prototyping board
Programming with CCS C
- The C language
- CCS C, specifically for the 18F4520
- Embedded Programming Tips for CCS C
- Using the CCS development environment
- Debugging C on a PIC
- More debugging tips
- CCS user forum
Interfacing and skeleton code for the PIC 18F4520
These topics have wiki pages and sample code available
Link to all sample code here.
- Digital inputs & outputs (filename: DigitalIO)
- Analog Input (filename: AnalogInput)
- reading a trimpot
- reading a phototransistor
- amplified phototransistor, and IRED strobing
- using an instrumentation amp (example: for a strain gauge)
- Analog Output, and the I2C bus (filename: AnalogOutput)
- Waveform Generation with AD9833 (filename: AD9833)
- SPI - Serial Peripheral Interface - on the PIC
- Pulse width modulation (PWM) for driving motors or other high current devices (filename: MotorPWM)
- using H-bridges
- Interrupts
- Quadrature decoding in software (filename: QuadratureSoft)
- Quadrature decoding in hardware, or just counters (filename: QuadratureHard)
- Running RC servos (filename: RCservoSoft & RCservoHard)
- Watchdog timer (filename: Watchdog)
- RS-232 serial communication between a PC and a PIC (filename: RS232)
- Text output to a serial LCD display
- Text output to a parallel LCD display
- Servo skeleton with fast & slow interrupts
- XBee radio communication between PICs (and between a PC and a PIC)
- I2C communication between PICs
- Serial communication with Matlab
- SPI communication between PICs (Note: this function has not been successfully tested)
- USB communication with PC
- Microphones
- Ambient light color sensing
- Controlling a seven segment display
- Storing constant data in program memory
- PIC computation time benchmarks
- Stepper motor control with the PIC
- Global Positioning System
- IR communication between PICs (Note: this function has not been successfully tested)
- Interfacing to External EEPROM
- I2C Motor Controller
- Interfacing with a Photodiode Array
These topics have sample code available, but no wiki pages yet
Link to all sample code here.
- Counter0 - Counting pulses with Timer0]
- Counter1 - Counting pulses with Timer1]
- Interrupt0 - Periodic servo cycles using interrupt routines, 10mS & slower; Timer 0]
- Interrupt2 - Periodic servo cycles using interrupt routines; 10mS & faster; Timer 2]
- InterruptExternal - Interrupts generated by an external pulse]
These topics need more development
Link to all sample code here.
- AnalogOutputParallel - Analog output using 8 digital lines]
- PIC-to-PIC communication
- Zigbee radio communication
- Modulated IR communication
- Strobing LEDs or IREDs for better range and immunity to background light
- I2C communication
- CAN bus
- Capturing data to Matlab
- Running stepper motors
PIC Microcontrollers
- PIC Microcontrollers with CCS Compiler, for DC, 333, etc, using the CCS ICD-U40 device [this section has been replaced by the material above]
- PIC Microcontrollers with C18 Compiler, for e-puck, or using the Microchip ICD device or
e-puck Mobile Robot
Printing Circuit Boards
Electronics
Analog and Digital chips
- Comparators: the analog to digital interface
- Filtering with the LMF100
- Opamps : building blocks of analog computation
- Instrumentation amps, and NU circuit board for them
- Controlling large numbers of LEDs with LED drivers
- Opto-isolators: Signal transfer while electrically isolating circuits
Sensors
- Angle, Linear Position: Potentiometers
- Beam Breaker: Optointerrupter
- Proximity: Optoreflector
- Infrared reflectivity : Sensing optical tape
- Proximity: Reed Switch
- Proximity, Angle: Hall Effect Sensor
- Angle: Rotary Encoder
- Angular Velocity: Tachometer
- Light: Photodiodes and Phototransistors
- Ambient Light: Photocell
- Temperature: Thermistor
- Temperature: Thermotransistor IC
- Audio: Microphones
- Tilt, Acceleration: Accelerometers
- Force: Strain Gauge
- Current: Current Sense Resistor
- Contact: Microswitch (Limit Switch)
- Ambient light color sensing
- Global Positioning System
- Optics
- Optical Locating
- Lateral-Effect Photodiode
- IRED's
- Pressure Sensing
Actuators
- Brushed DC Motors
- Choosing a Motor and Gearing Combination
- Driving Using a Linear Amplifier
- Driving using a single MOSFET
- Driving Using Pulse Width Modulation
- PIC PWM Motor Driver
- Gear Motor
- Pulse Width Modulation
- Pulse_width_modulation
- Driving a DC motor using a single MOSFET
- Driving a DC Motor using PWM
- Driving a high current DC Motor using an H-bridge
- Adding a rotation encoder to a gearmotor
- Using Opto-Isolators to Prevent Interference
- Brushless DC Motors
- Stepper Motors
- RC Servos
- Solenoids
- Practice: Driving Your Solenoid
- AC Motors
- Fans As Actuators
- LIMS Air Hockey Table
- Actuators Available in the Mechatronics Lab
Mechanical Design
- Mechanics of Materials
- Beam Mechanics
- Mohr's Circle
- Failure Theories
- Static Loading
- Variable Loading and Fatigue
- Attaching to a shaft
- Support
- Housings
- Shafts
- Bearings
- Transmission
- Rigid: Gears
- Flexible: Belts, Chains
- Motion Connection/Separation: Clutches, Brakes, Couplings
- Linkages
- Serial Chains
- Parallel and Closed-Loop Chains
- Other: springs/dampers, cams, etc.
The PC/104 Stack
- Advanced: Creating a Working Stack from Parts
- [Building the Breakout Board]
- [Breakout Board Ribbon Cables]
- [Assembling the PC104 Stack]
- Creating an xPC Flash Boot Disk <- when new version of MATLAB
- Custom Boards
- Dual PWM Motor Controller
- Dual Linear Amplifier Motor Controller
xPC Target Real-Time Operating System
- Overview of Real-Time Programming with Simulink and xPC Target
- Configuring xPC Host/Target PC
- Quickstart:Creating a simple xPC Program
- Commonly Used Blocks
- Using the Host Scope
- Advanced
- Model Properties
- M-file communication
- Using outside of the lab
- Standalone Mode
- Stateflow
- Code Examples
- Controlling a DC Motor with an Encoder
- Something With State Machine
- Using RS-232 and Printing to LCD
- UDP Communications between Target and Host PC
- M-functions and S-functions
- xPC Code From Student Projects
QNX Real-Time Operating System
Lab Supplies and Data Sheets
Vendors and Useful Links
Other Software
- List of Useful Software for Download
- Circuit Schematics and PCB Layout
- LaTex Document Preparation
- Mathematical Formulae
- Document Formatting
- Software Setup
- IEEE Styles
Other Lab Equipment
- Prototyping Tools
- Tektronix TDS220 Oscilloscope
- Tektronix CFG253 Function Generator
- Mastech Power Supply
- Fluke III Multimeter
- Benchtop Multimeter
- Powered Breadboard
- Soldering Iron
- High Performance Neuromechatronics Benches
- The Sensoray 626 DAQ Card
Course Material