Difference between revisions of "Main Page"
Line 51: | Line 51: | ||
*[[C language|The C language]] |
*[[C language|The C language]] |
||
*[[CCS C|CCS C, specifically for the 18F4520]] |
*[[CCS C|CCS C, specifically for the 18F4520]] |
||
*[[Embedded Programming Tips for CCS C]] |
|||
*[[CCS IDE|Using the CCS development environment]] |
*[[CCS IDE|Using the CCS development environment]] |
||
*[[Debugging C on a PIC]] |
*[[Debugging C on a PIC]] |
Revision as of 00:56, 9 December 2008
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.
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
- Driving a DC Motor using PWM
- 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 a DC motor using a single MOSFET
- 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)
- 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)
- 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
Basic Electronics
Analog and Digital chips
- Comparators: the analog to digital interface
- Opamps : building blocks of analog computation
- Instrumentation amps, and NU circuit board for them
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
Actuators
- Brushed DC Motors
- Brushless DC Motors
- Stepper Motors
- RC Servos
- Solenoids
- Practice: Driving Your Solenoid
- AC Motors
- Actuators Available in the Mechatronics Lab
Mechanical Design
- Mechanics of Materials
- Beam Mechanics
- Mohr's Circle
- Failure Theories
- Static Loading
- Variable Loading and Fatigue
- Fastening
- Nuts and Bolts
- Keys and Keyways
- Press-fits
- Set Screws
- 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
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