R15 - tracked Rover based on a Hoverboard
May 9, 2020 20:05 · 1590 words · 8 minute read
In this video I would like to show you how I built my latest and largest rover to date based on a “hoverboard”. The components are a bundle of various parts from different sponsors: Clemens Mayer from mayermakes.at gave me some filament a long time ago with the words “Just make something out of it”. In my head, this “something” had turned into my most powerful rover so far that is constructed around a so-called hover or balance board, which I got from Gearbest. Since I would disassemble the vehicle anyway, I chose a board in the lowest price range.
00:45 - The electronics needed for converting it all to a robot that can be controlled by a browser came from the RS-Components. The core elements are a Raspberry Pi including camera module and an Arduino UNO. I was curious to find out what electronic components you get in return for your money by purchasing one of those cheap hoverboards. The first step was to disassemble the vehicle, all you need for this is a Phillips screwdriver and a 6mm hexagon tool. You can find high resolution images of this process on my pages and the bunch of usable parts can be seen here.
01:24 - The two motors, each with an electrical input power of 250W, are integrated in the 6.5-inch wheels. The 4400mAh battery has an output voltage of 36V. The electronics consists of two almost identical boards. As extras you get a couple of LEDs and a Bluetooth-enabled speaker. There are gyroscopes on the two boards so that the motors can be controlled depending on the tilt angle. If a board is inclined, the motor starts spinning. The larger the tilt angle, the faster the motor turns. If the board is tilted in the opposite direction, the motor changes the direction of rotation. For my rover project I now had to find out where I could get control of the motors. The brushless 3-phase motors have Hall sensors for motion feedback.
02:35 - Let’s take a closer look at one of the two boards: 6 power MOSFETs for controlling the motors are clearly visible. Two of these MOSFETs each form a so-called half-bridge, with which the motor coils can be operated with alternating polarity. The three half-bridges can be assigned to 3 unlabled chips, each with 8 pins, which obviously drive the MOSFETs. I decided to take over the motor control with an Arduino Uno at this point, for which the pin layout of the chips had to be explored. The two input pins of the half bridge drivers must be identified.
03:13 - The tests required for this are done with a multimeter dialed to continuity measuremant with the battery of the Hoverboard being disconnected. Let’s start with the pin for ground, which must be connected directly to the negative pole of the battery. The multimeter shows that this only applies to pin number 4. The two output pins towards the half bridges should be connected to the gate terminals of the MOSFETs. Source and drain of a MOSFET are usually joined with large copper areas leading to the positive supply voltage, ground or the motor pins.
03:51 - The gate pin should be identified by a rather thin supply line, which is easy to see on this board. With the multimeter you can determine which pins on the unknown chip have a direct or at least almost direct connection to the gate pins. Obviously this is the case for pin number 5 and 7. It can be seen that pin number 6 is directly connected to the motor terminal, which is confirmed by the multimeter. The pins for the supply voltage of all three chips should be connected to each other, which, apart from ground, is only given for pin number 1.
04:41 - It should also be noted that these pins are connected directly to the input of a 5V linear regulator, which in turn is fed by the output of a 12V fixed voltage regulator. The pins number 8 of all chips run directly to an SMD component with the label U1M, which is very likely a diode. The opposite sides of these diodes are obviously joined, as the test with the multimeter shows, by what these pins are eliminated as control pins. Only pins 2 and 3 remain, which are thus identified as control pins. To prevent the signals from the microcontroller on the board from overlapping those of the Arduino Uno, the two control lines must be disconnected from the board.
05:36 - With a soldering iron and the pointed blade of a cutter knife, I carefully bent the pins upwards. As soon as the Arduino Uno is connected to the control pins of all three half bridges, we can take over the motor control. 6 control pins and 3 sensor pins are required for each motor. Since the driver chips of the half bridges work with an input voltage of 12V, they will most likely tolerate a logic voltage of 5V, which is compatible with the Arduino Uno. If you want to go the safe way you can reduce the 5V of the Arduino UNO via voltage dividers to 3.3V as I have done here.
06:16 - In a first attempt, I did not read the Hall sensors - accordingly the motor runs very rough. Even if the input voltage of the Hall sensors is 5V, the logic levels at the outputs are 3.3V - this signal level is recognized by the Arduino Uno as being a HIGH signal. By reading out the sensors, the motor runs much smoother and with a gentle start. If the engine brake is activated by short-circuiting the three phases, the wheel stops very quickly. With the braking function disabled, the motor slowly coasts to a stop. As life plays, the pins of one IC on the second board broke during the desoldering procedure. A quick online research brought to light that the ICs are most likely of the type IR2104. If you order the version for through-hole assembly and remove the three SMD ICs on the board, everything can be soldered much more conveniently. The diode and the capacitor could also be replaced by larger components for through-hole mounting, but I have soldered the original SMD components.
07:37 - The next step was to build the mechanics: The chassis consists of iron square tubes with a base plate made of sheet metal. I turned on my 3D printer for the tracked drive. The track links are made of PETG and the rear wheels have tires made of material called Flex-Hard on rims made of PLA. All other parts, such as the camera mount, are also made from PLA. When fully assembled, the whole thing still looks very much like a prototype: The Rover can be connected to a wireles network via the Raspberry Pi to control it all with a browser interface. R15 can move forward… … or drive backwards… …
and turn on the spot, depending on the direction in which the motors are spinning. The camera can point up… … or down… … and the LEDs illuminate the dark side of the target areas. I attached the colorful flashing LED strips of the hoverboard to the front and back of the rover. Due to the size of the vehicle, it can be operated on uneven terrain - R15 is intended for outdoor use. The electrical input power of the motors is 250W each, which means a total of half a kilowatt goes to the drive.
09:15 - The advantage of the motors being built into the wheels is that they generate a fairly high torque without straining a gearbox - the drives run almost without any wear. After the first test laps, I gave the front wheels tires with a very rough pattern in order to be able to convert the motor torque more reliably into movement. The transferred images have a clear red cast, as I am using is the infrared camera module for the Raspberry Pi. There are still a few lines of code to be written on the software in order to be able to steer the vehicle safely through unknown terrain - R15 was definitely not built for use on my attic. I will have to implement additional sensors before I can let you take control of the rover.
10:19 - The monster rover has a lot of potential for destruction and you “cheeky monkeys” out there are quite creative in exploring how to overcome the limits that I set for you. With the smartphone on the payload bay, the operating range is not limited to my home WiFi network. Dialed into the phone networks distributed across the globe, only the battery capacity sets the limits for the rover’s freedom of movement. The control interface is based on a browser so that a large number of devices are suitable for steering the Rover. The 3D files, software and circuit diagrams of the rover are, as with all my open source projects, available for download on my website.
11:10 - There you can also learn a lot more about “Physical Computing”. The fleet of my little robots can be controlled around the clock without registration and free of charge - at least for you. If you want to support me in keeping my robots run, you can click the “Donate” button on my pages - many thanks to all existing backers! Thanks for watching and: “I’ll be back!” .