|
Basic Topics to be Covered
Re Atmel's Installing and working with Eclipse, avr-gcc, etc. Writing to an atmel port/pin Interrupts Sending/Receiving Data using the USART (TTL vs RS-232) Reading from a port/pin Using the ADC Generating a PWM Motor Control signal using Timer0/2 Generating a PWM Servo Control signal using Timer1A/B Use the timer(s) to estimate position with wheel encoders Using the Analog comparator Using SPI/Two Wire to control a device
Re Electronics Ohm's Law & Power (V=IR, P=IV) Motor Control with an H-Bridge The Pull up/down resistor How a servo works Basic filters / Decoupling Caps
Re Basic Lab Skills Reading a resistor Lab Tools (how to strip wire, what "dikes" really are, how to crimp/solder, how to wire a breadboard) Using the multimeter to measure voltage, current, resistance, and continuity Using the oscilloscope to examine waveforms Using the function generator to generate waveforms Drill Press Scroll Saw Lessons in Prototyping Circuits (Other stuff that doesn't fit in neatly anywhere) Intro to binary/hex Concepts of (digital) Range & Resolution
Affects of using floating point
Tutorial/Workshop Ideas (what we can do to teach the above stuff that's fun and interesting) Electronics Lab Intro & Basic Skills Workshop (not really "fun", but necessary)
| This workshop serves to introduce the absolute novice to common electronics lab tools and equipment. The following things would be covered:
- Tools & Their Uses: Wire Strippers, Crimpers, Dikes, Pliers, Drill Press, Table Saw, Scroll Saw, Calipers, Soldering Iron
- Test & Measurement: Multimeter, Power Supply, Function Generator, Oscilloscope
- Components: Resistor, Capacitor, Diode, LED, Breadboard, Protoboard, PCB, Connector Housing, Header, Socket, IC, Potentiometer, Batteries, Wire
- Vendors: Acroname, Lynx Motion, Digikey, Mouser, McMaster-Carr, All Electronics, Herbach & Rademan, Jameco, Small Parts, Pololu, etc
| Atmel Programming 1 - The Basics
| This workshop is an introduction to the Atmel ATMega16 MCU and the tool chain we used to program it.
- Tool-chain Overview: Eclipse, GCC, WinAVR, AVR Dude/Programmer
- Environment setup / Creating a new project
- Writing to a port / pin
- Bitwise AND/OR/Shifting
- Configuring pins for output
- Binary/Hex
- Reading from a port / pin
- Voltages of Logic 1's and 0's
- Configuring pins for input
- Pull-up Resistor, Hi-Z
- Delay loops
- Tricks of the trade of programming (header files, documentation, comments, #define, subversion)
| Atmel Programming 2 - The Peripherals
| - Sending & receiving data with the UART
- TTL voltages vs RS-232
- DB-9 Connector & Its Pinout
- Straight vs Crossover Serial Cables
- The MAX233
- Detecting events with external interrupts
- Using the Timer to determine the period/duty cycle of an incoming signal
- Using the Timer/Output Compare Unit to create a PWM signal
- Reading analog voltage signals with the ADC
| BumperBot - My First Robot
| This project takes the trainee through building a first, simple robot. Contact switches act as sensors which are read by the Atmel. The atmel reads the state of the switches and changes the direction of the motors as appropriate to steer the robot away from walls.
- Motor control with PWM (instead of varying voltage)
- H-Bridge & L298 Introduction
- Programming the atmega to read switches using digital pin input
- Programming the atmega to interface to the L298 to control motor speed & direction
| Basic Wall/Line/Flame Follower
| This project introduces the trainee to the basic mobile robot skills of wall, flame, and line following. All of these skills could be incorporated into most basic robotic projects.
- Reading the Sharp IR Range Finders with the ATmega ADC
- Reading line sensors with the ATmega digital I/O.
- Reading IR phototransitors with the ATmega ADC
| Remote Control Robot
| This project expands the trainees experience with using the atmega's interrupts and timer/counters by teaching them how to decode the output from a standard TV remote.
|
|