Pololu 3pi Robot User Manual

Page 2

Advertising
background image

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Contacting Pololu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Important Safety Warning and Handling Precautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4. Getting Started with Your 3pi Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

4.a. What You Will Need . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.b. Powering Up Your 3pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.c. Using the Preloaded Demo Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.d. Included Accessories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

5. How Your 3pi Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5.a. Batteries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.b. Power management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.c. Motors and Gearboxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.d. Digital inputs and sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.e. 3pi Simplified Schematic Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

6. Programming Your 3pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7. Example Project #1: Line Following . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

7.a. About Line Following . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
7.b. A Simple Line-Following Algorithm for 3pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
7.c. Advanced Line Following with 3pi: PID Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

8. Example Project #2: Maze Solving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

8.a. Solving a Line Maze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8.b. Working with Multiple C Files in Atmel Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8.c. Left Hand on the Wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
8.d. The Main Loop(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
8.e. Simplifying the Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
8.f. Improving the Maze-Solving Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

9. Pin Assignment Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
10. Expansion Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

10.a. Serial slave program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
10.b. Serial master program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
10.c. Available I/O on the 3pi's ATmegaxx8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

11. Related Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
12. Revision History and Errata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

Pololu 3pi Robot User's Guide

© 2001–2014 Pololu Corporation

Page 2 of 63

Advertising