This is my second significant electronics/robotics project. It is a small, designed from scratch hexapod robot. It uses small digital hobby servos for power. It features a main circuit board with an Atmel AVE mega168 main processor and a mega8515 coprocessor. The two communicate over an asynchronous interrupt-driven 4-bit parallel bus with bidirectional handshaking.
The walking sequences are created using C# software I wrote. It implements a GUI to show various views of the machine, and outputs C structs that are then compiled into the main processor's firmware.
What I'm proudest of is the parallel data bus and an original algorithm for controlling all 18 leg servos off the 8515 coprocessor using one 8-bit and one 16-bit timer. My oscilloscope confirms that all timings are spot-on, well inside the deadband tolerances (4 μs) for these servos.
A video of its first steps is located here:
http://www.youtube.com/watch?v=0qHDCCIkAqs
It's a humble start, though, and I have several additional refinements to add. Comments and questions about any aspect are welcome!
The walking sequences are created using C# software I wrote. It implements a GUI to show various views of the machine, and outputs C structs that are then compiled into the main processor's firmware.
What I'm proudest of is the parallel data bus and an original algorithm for controlling all 18 leg servos off the 8515 coprocessor using one 8-bit and one 16-bit timer. My oscilloscope confirms that all timings are spot-on, well inside the deadband tolerances (4 μs) for these servos.
A video of its first steps is located here:
http://www.youtube.com/watch?v=0qHDCCIkAqs
It's a humble start, though, and I have several additional refinements to add. Comments and questions about any aspect are welcome!
Attachments
-
89.8 KB Views: 36
-
36.2 KB Views: 26