Design Of the Robot
- Stable and strong robotic arm
- Track drive system with high torque and decent speed
- Horizontal rotation for the robotic arm
- Camera video streaming with image compression
- High torque custom servos controlled with I2C
- Basic light system
- Software to control the robot from PC
- Long life Li-ion batteries
- Different Claw designs
Building a Custom Servo Motor for Robotic Arm
Two-wire (I2C) Communication
I needed to make a custom driver to control each dc motor. I wanted each driver to communicate with the main MCU using the I2C or TWI method since this method only required 2 lines, and it is possbile to connect all the client drivers on the same line in a parallel way which will reduce the amount of wiring and make the robot look clean.
In the image below, the MCU at the left side is the I2C master that send data to the small MCU at the right side of the breadboard using only 2 lines. Then, the small client MCU displays the received data using LEDs for testing.
Finally, added a circular queue buffer, to which received data is enqueued, and used data can be dequeued in the program. In this way, the incoming data will be stored in this queue so that client will “remember” the last n data. Otherwise it would miss some data without using it.
Finalizing The Driver on Breadboard
Used an smt h-bridge to control the DC motor instead of a motor controller module. Then I made sure everything worked. At the end the master MCU was able send shaft position data to the TWI client which rotated the motor to that position.
Manufacturing Motor Driver
Motor Controller Test