Circuit Lake

Electronic Project and Circuit Collection

Autonomous Robot Vacuum

04/02/2010 Category: AVR, Project, Robotic

The project is an autonomous robot vacuum that picks up rice named as “Sir Sucks A Lot More“. The robot was built around the Atmel Mega8585 microprocessor using the WinAVR tool set. To handles telemetry and debugging of the algorithms, it uses PalmOS program. The robot is equipped with sensors to navigate around the room. The main board was designed in Eagle Cad. A beacon was built to help the robot find home. The beacon used an Atmel Tiny15 that was programmed in Atmel assembly.

Autonomous Robot Vacuum

“I began with the idea of connecting my robot’s Atmel microprocessor with a PalmOS device for mapping and driving. The PalmOS device would do high-level map making and processing while the AVR would take low-level inputs and react to its environment. In the end I used my PalmOS program for telemetry, as well as debugging the vacuum robots algorithms. In the end I found that the Mega8585 was more then adequate to holding a complex navigation program,” said Nicholas Frank, the robot designer.

In this robot project, almost every system of the Atmel ATmega 8535 was used. A/D to take input from analog distance sensors. Input ports with pull up resistors to take in bump, long distance and 40khz IR beacon sensor data. Timer1 dual PWM to control the motor speed. Timer0 to keep a running count of time. Output ports to control motor direction. UART to send back telemetry data and receive commands for debugging. External interrupt to capture wheel encoder data. I2C for sonar sensors that in the end where not used.