The ATmega16 is a low-power CMOS 8-bit microcontroller based on the AVR enhanced RISC architecture. By executing powerful instructions in a single clock cycle, the ATmega16 achieves throughputs approaching 1 MIPS per MHz allowing the system designer to optimize power con- sumption versus processing speed.
The AVR core combines a rich instruction set with 32 general purpose working registers. All the 32 registers are directly connected to the Arithmetic Logic Unit (ALU), allowing two independent registers to be accessed in one single instruction executed in one clock cycle. The resulting architecture is more code efficient while achieving throughputs up to ten times faster than conventional CISC microcontrollers.
The ATmega16 provides the following features:
- 16K bytes of In-System Programmable Flash Program memory with Read-While-Write capabilities,
- 512 bytes EEPROM,
- 1K byte SRAM,
- 32 general purpose I/O lines,
- 32 general purpose working registers,
- a JTAG interface for Boundaryscan,
- On-chip Debugging support and programming,
- three flexible Timer/Counters with compare modes,
- Internal and External Interrupts,
- a serial programmable USART,
- a byte oriented Two-wire Serial Interface,
- an 8-channel, 10-bit ADC with optional differential input stage with programmable gain (TQFP package only),
- a programmable Watchdog Timer with Internal Oscillator,
- an SPI serial port, and
- six software selectable power saving modes.
The Idle mode stops the CPU while allowing the USART, Two-wire interface, A/D Converter, SRAM, Timer/Counters, SPI port, and interrupt system to continue functioning. The Power-down mode saves the register contents but freezes the Oscillator, disabling all other chip functions until the next External Interrupt or Hardware Reset. In Power-save mode, the Asynchronous Timer continues to run, allowing the user to maintain a timer base while the rest of the device is sleeping. The ADC Noise Reduction mode stops the CPU and all I/O modules except Asynchronous Timer and ADC, to minimize switching noise during ADC conversions. In Standby mode, the crystal/resonator Oscillator is running while the rest of the device is sleeping. This allows very fast start-up combined with low-power consumption. In Extended Standby mode, both the main Oscillator and the Asynchronous Timer continue to run.
- Capture line position with optical sensors mounted at front end of the robot. Most are using several number of photo-reflectors, and some leading contestants are using an image sensor for image processing. The line sensing procss requires high resolution and high robustness.
- Steer robot to track the line with any steering mechanism. This is just a servo operation, any phase compensation will be required to stabilize tracking motion by applying digital PID filter or any other servo argolithm.
- Control speed according to the lane condition. Running speed is limited during passing a curve due to friction of the tire and the floor.
There are two line styles, white line on the black floor and black line on the white floor. Most contest are adopting the first one in line width of between 15 and 25 millimeters. Read the details here >> Click