Close

Raspberry power supply board, ToF sensors management board, and x-bee remote control board (Made by a French robotics club)

arfit-polytech-toursARFIT Polytech Tours wrote 03/20/2022 at 14:01 • 10 min read • Like

First, we want to thank our partner JLCPCB (jlcpcb.com/RAT) for offering the PCBs. This was a great help to us!

WHO ARE WE?

We are a French robotics club called ARFIT. Our goal is to take part in the French robotics cup each year. This year, our main project is to improve our ranking. So, for succeeding in this project, we must upgrade our robots and develop new ones. The pictures below show the competition and our robots:

Competition
Grand robot
Petit robot

In this competition, two student teams will compete. Their fully autonomous robots will have 100 seconds to earn as many points as possible. To earn points, robots must do some actions. During the 2021 edition, for instance, the robots had to move and sort green and red cups. This year, we improve our robots by making some new PCBs. Those PCBs have been manufactured by JLC PCB. Thanks to their great quality PCB and fast delivery, we were able to get to the end of our project. This article describes our PCBs, so that you will be able to reproduce them for your project. For more information on the competition please refer to: https://www.coupederobotique.fr/

OUR 2022 PROJECT

This year we focused on three new PCBs. We call them the "3 ToF" board, "Raspberry pi power supply" board, and "PS2 controller with Xbee" board (ToF = Time of Flight sensors).

GENERAL COMMENTS

We have used KiCad v5 for designing the PCBs. First, we have made the schematics. Then we have placed the components and have traced the routes. Finally, we have created the Gerber files which can be sent to JLC PCB to manufacture the PCBs. You can find a lot of online tutorials to guide you through this process.

Once you have all the Gerber files you can go on JLC PCB Website (https://jlcpcb.com/) and upload your files. Their intuitive and efficient interface will help you to upload your files. When your files are correctly uploaded, you can click on the “order” button and select your delivery options. And... It’s done. You will receive your PCB in a few days.

Then we bought all the required components on RS components, mouser, Pololu, Ali express... Once the parts were received, we just soldered the components in place using an iron solder and some classical tin. Again, you can find many tutorials online about how to do perfect solders.

3 ToF BOARD

One of our robots in development is an holonomic robot. This kind of robot can move in any direction without rotating. For detecting obstacles, our robots use Time Of Flight (ToF) sensors. On this robot, we have placed twelve of them (three on each side). These sensors must be connected to a specific hub board and then connected to the motherboard of the robot. The three sensors of one side must be connected to the hub through an HE10-10 connector already soldered on this specific hub board.

So, the easiest way that we thought was to have a PCB that have four connectors. We call this PCB: “3 ToF PCB”. Three of those connectors are used for plugging three ToF sensors. One of them (at the center) is plugged directly on the PCB and the 2 others (right and left) are connected through. The last connector on this PCB is an HE10-10 connector. So, we just need to use a ribbon cable between this PCB and the hub board. With this PCB, we have a more reliable and smaller electronic board compared to a homemade board with a hole plate board and wires. Also, we save time for finding the source of electrical problems because the connections are cleaner.

The schematic below is very easy. Each time-of-flight sensor (VL53L1X) communicates with the motherboard with the I²C protocol (SCl and SDA lines). Sensors are powered with 5V and GND from the motherboard. Our robot has a 4S Lipo Battery (14.8V) so we create the 5V voltage needed thanks to the D24V50F5 (Pololu Voltage Regulator). The XShut lines allow to shut down the sensors. We use these lines during the starting sequence of the robot to give a different I²C address to each sensor. This feature is handled by the hub board and the motherboard (not described here).

Once the schematic is done, we place the connectors, and we trace the routes. We also put two mounting holes. We simply used a two layers PCB. The bottom layer is used to make a ground plan. Do not forget to put silk-screen printing on your board.

This last picture shows the robot with all 12 sensors, the robot is not finished yet. We are currently working on moving the robot:

RASPBERRY PI POWER SUPPLY BOARD

For the years to come, we want to use one Raspberry PI by robot. Currently, we use a Raspberry only for one robot and another one on the central tracking device platform (It’s a place next to the playing field where teams can install a tracking camera). For supplying these Raspberries Pi, we used to connect two wires to +5V and GND pins of the Raspberry Pi. For improving the safety and the reliability of the connections, we decided to create a PCB that can be plugged on a Raspberry for supplying it. This board has directly a voltage regulator (+5V). So now, we have just to plug a battery into this board. This board has also some push buttons and LEDs. One of these push buttons allows us to correctly shut down the Rpi when no screen is connected. The LEDs will be used for debugging. The picture below shows the final board with the main features.

We place two holes above the CPU of the Rpi to improve cooling. If needed, two fans can be mounted on the PCB to cool the system. Those fans can be supplied by a dedicated port on the PCB.

The schematic and the PCB design can be found in the picture below:

As you can see, we also include an ADC converter for measuring the battery level. In the future we want to send this information to a supervision system. For the “power supply” connector, you can see that we place several footprints. This allows us to solder any connector we want.

We design the PCB so that its size fits the size of a raspberry pi. For the smallest components, we used SMT components. For this PCB we did not use Kicad, we used Easy EDA instead. We also used LCSC to choose the components and we order an assembled PCB from JLC PCB.

PS2 CONTROLLER WITH X BEE

For the French robotic cup, robots are fully autonomous but during the training, we want to control our robot with a wireless controller.

This PCB allows us to control our robots with an old PS2 controller. When a button is pushed on the controller, the Arduino micro plugged on the PCB reads the input and sends the data to an XBee module. Another XBee is plugged on the motherboard of each robot. When a command is received the robot executes the corresponding action (move forward, rotate, …). Follow this link to find a tutorial that will give you the basics of the system: https://electropeak.com/learn/tutorial-interface-wireless-playstation-ps2-controller-arduino/ 

You can find our schematic and our PCB design below:

The inputs from the PS2 controller are connected to pins of the Arduino micro according to the schematic. The device is powered by a 3S Lipo battery, therefore we used a linear voltage regulator to lower the voltage to 9V. Data are sent to the x bee through RX and TX pin. Since the Arduino and the XBee have different logic levels (5V and 3.3v), we used resistors to convert voltages. Note that the reset pin is pull High.

We try to make the board as small as possible. In the future it's possible to 3D print a box for the components and the battery. We had 4 mounting holes to attach the PCB in this box.

We want to thank again JLCPCB for its support. All those PCBs were fastly delivered and correspond perfectly to our design.

NB: We also ordered 5 small PCBs. Those PCBs are composed of one resistor and two big pads.

This PCB is provided by French cup staff members. It is part of one action of the book of rules. Indeed, one of the actions to make in this year’s edition is to push some wooden squares as shown in the picture below

The resistance PCB is placed on top of each wooden square. There are 3 kinds of wooden squares yellow ones, purple ones, and ones with a red cross. Each kind of square has a different resistance on the top. Robots have to read the resistance on each square and push only the squares whose color corresponds to the color of their teams. For example, robots of the yellow team have to push the yellow squares, each yellow square down at the end of the match brings points to the teams. For our training, we need those resistance PCBs and JLC PCB provided them. We are again very grateful to them for this reason.

Like

Discussions