On this section, you will find :
Firstly, the electronics which is split into 2 subsections :
Finally, the programming.
All the datasheets can be downloaded here.
All the PCB design on Eagle can be downloaded here.
The software implemented on the PCB can be downloaded here.
The table below shows you the type of servomotor and sensor which were chosen with respect to the requirements from the specifications section.
External functions | Requirements | Internal functions |
---|---|---|
Open/close gripper | 600 [°/sec] to open/close | Servomotor HS-81 + STMicroelectronics LY3100ALH (gyroscope) |
Rotation between two legs | Speed > 80 rpm + torque > 0.0231N.m | Hacked servomotor HS-81 |
One of three of servomotor had to be hacked because the rotation between two arms demanded a continuous rotation.
Since the resistant torque necessary for the grippers were less than the maximum torque provided by the main servomotor and
since the servo's speed was enough and the price wass reasonable, we decided to choose the same servomotor for the grippers.
We decided to make three PCB; one called "main PCB", where we put the microcontroller ATMEGA328P-PUPTH and the power supply circuit, and the two other called "complementary PCB", where we put the gyroscope. These two "complementary PCB" will be connected to the "main PCB" by mean of a four pin dual-female jumper wire cable.
Before making and using our PCB, we used the ARDUINO UNO microcontroller board based on the ATMEGA328P-PUPTH. This type of microcontroller was removed from the ARDUINO UNO board and was placed onto our PCB. The Figure 1 below represents the PCB schematic of microcontroller on Eagle.
There were three power supply circuits; one for the microcontroller where a voltage regulator circuit was used to create 5V output, another one for the rotation between two arms which demanded a voltage output of 6V and a high current in order to defeat the resistant torque, and the last one for the grippers which demanded a voltage of 6V and a less current due to the less resistant torque. Also, the presence of PWM components allowed us to get a control of the angular speed of servomotors. The Figure 2 below represents the PCB schematic of power supply on Eagle.
We then proceed to design the "main PCB" layout as shown the Figure 3 below.
For the reasons of simple, light, and fashion mechanical structure, we decided to stick a gyroscope with its PCB support on each arm while the "main PCB" was not put on the brachiation robot. The angle values of two arms given by the gyroscopes were transmitted to the "main PCB" by mean of the four pin dual-female jumper wire cable so that the microcontroller could act the open/close of the grippers. The Figure 4 below represents the PCB schematic of the gyroscope on Eagle.
We then proceed to design the "complementary PCB" layout as shown the Figure 5 below.
The Figure 6 below show all electronic components used in this project including the package, the price, value, and so on.
The aim of the robot is to be able to swing from limb to limb. It has to be able to hold a limb with one hand while the other hand tries to catch the next limb. The catch function consists in openning/closing the gripper. Moreover, the manner to swing from limb to limb is important.
The Figure 7 below represents the diagram of the robot system in which the principal functions are represented by blocks connected by lines.
We assume in this figure that the catching of the next limb will be done in only one swing.
The working principle of the robot is described by the following steps:
The main outline of the code is described below:
The implementation of our software on the PCB was done by means of the ARDUINO board, USB cable, and the ARDUINO software.