3D Printed FPV Arduino RC Tank With Controller
by Morrisl4 in Circuits > Arduino
18143 Views, 187 Favorites, 0 Comments
3D Printed FPV Arduino RC Tank With Controller
This is an intermediate level project that utilizes the knowledge of 3D printing, Arduino, and gearing. The tank is driven by two brushless motors each connected to a reduction gear set. The reduction gear set is integrated in the hull, and the sprocket gears that drives the tracks. The reduction ratio is around 15 to 1, meaning the motor will need to spin 15 times for the outer sprocket gear to spin once. Knowledge of soldering is required and the wiring for this project is pretty messy so be prepared if you are making the tank. Step by step video guides are provided.
Supplies
All electronic components are readily available on Amazon or Banggood or other websites. Here is the bill of materials with Banggood affiliate links provided.
Electronic components needed for the FPV Tank:
- 1 x Arduino Nano: .......................... Banggood
- 1 x PCA9685 Servo Driver: .......................... Banggood
- 1 x NRF24L01+PA+LNA: .......................... Banggood
- 1 x NRF24L01 Voltage Regular: .......................... Amazon
- 2 x Dual Channel Relay: .......................... Banggood
- 1 x Single Channel Relay: .......................... Banggood
- 2 x Brushless Motor: .......................... Banggood
- 2 x ESC: .......................... Banggood
- 2 x Servo motor: .......................... Banggood
- 4 x Lipo Battery 3.7v 1200mah 1S: .......................... Banggood
- 1 x 6V AA Battery Holder: .......................... Banggood
- 4 x 1.5V AA Battery:
- 1 x Mini Breadboard: .......................... Banggood
- 1 x FPV Camera and transmitter: .......................... Banggood
- 1 x Toggle Switch: .......................... Banggood
- Some M3 Pan Head Bolts and Nuts: .......................... Banggood
- A lot of jumper wires: .......................... Banggood
- Bullet connectors: .......................... Banggood
- Heat shrink tubes: .......................... Banggood
Electronic components needed for the controller:
- 1 x Arduino Nano: .......................... Banggood
- 1 x Mini Breadboard: .......................... Banggood
- 2 x joystick Module for Arduino: .......................... Banggood
- 2 x Rotary Potentiometer: .......................... Banggood
- 1 x NRF24L01+PA+LNA: .......................... Banggood
- 2 x Toggle Switch: .......................... Banggood
- 1 x 6V AA Battery Holder: .......................... Banggood
- 4 x 1.5V AA Battery:
- 1 x FPV Moniter: .......................... Banggood
- Some M3 Pan Head Bolts:
- A lot of jumper wires:
If some links are unavailable please inform me I will update them.
Obviously, You will need a 3D printer or access to 3D printer to print these part. I can recommend the 3D printer that I use, this one is a real workhorse: Flashforge Creator Pro. It is a older printer, little high in the price range. Now days you can probably buy a cheaper 3D printer with bigger print volume with the same quality.
Tools that you will need: soldering iron, pilers, screwdriver, and Allen keys.
As mentioned knowledge of soldering is required. Check the pictures above, these jumper wires with bullet connectors will have to be custom made.
Print the 3D Printed Parts
List of 3D printed parts for the FPV tank:
- 1 x Tank Hull
- 1 x Hull Cover
- 1 x Motor Mount
- 2 x Driving gear
- 2 x Sun gear
- 6 x Planetary gear
- 2 x 10T Sprocket Ring gear
- 2 x Snap Pin
- 6 x Roller
- 2 x 10 Teeth Gear
- 1 x Alignment Block
- 1 x Battery Bracket
- 1 x Camera Turret
- 1 x FPV Camera Mount
- 1 x FPV Transmitter Case
- 1 x Top Cover
- 1 x 26 Chain Belt
List of 3D printed parts for the controller:
- 1 x RC Controller Bottom
- 1 x RC Controller Top
- 2 x Potentiometer cover
When printing the FPV Transmitter Case and Top Cover, the material has to be ABS do not use PLA, because when the FPV video transmitter is on it will heat up (yes that is normal). The temperature is high enough to warp PLA. Only ABS has the temperature stability to handle it. Use the material PLA for the rest of the prints.
When printing the 26 Chain Belt make sure to orientate the part so the hinges are facing up (check the picture above) and print it without support. Once the part is printed and removed from the 3D printer, apply some force to loosen the hinges. If you have trouble printing the Track I have the individual chain of the track available for download as well. Remember there are 26 chains for one track and it is designed to be printed in one print. Do not print individual chains and try to assemble them because it is not going to work. Please make adjustments in a CAD program like Fusion360 or whatever CAD program you are comfortable with, then print it.
The RC Controller Bottom and RC Controller Top can be printed on a 45 degree angle. Check the pictures for the orientation, support structure is needed for both prints.
Also, support structure is needed for Tank Hull, Camera Turret, and Top Cover.
Downloads
Making the Controller
The video is a step by step guide to assemble and wire the controller. Keep in mind it is a guide, you can switch up the order of assembly if you want. The battery holder I use has an on/off switch and this turns on or off the controller. If you can't find the same type of battery holder you can use a toggle switch on the controller.
The other toggle switch is for going forward or backward. It is like the transmission stick in a car, D means driving and R means reverse. Except here is a switch flicked up and down. If the switch is flick up the car will go forward when you move the potentiometer, and if the switch is flick down the car will go backward when you move the potentiometer. This could be vice versa depends on how you wire and install the controller. So, one potentiometer is the throttle and the other potentiometer is for left and right like a wheel of a car. One of the joystick controls the turret's rotation and FPV camera's angle. The other joystick is not being utilitized.
This controller could be use in other RC projects too. The Arduino's USB port is open at the back for you to plug in and upload any code you like.
Before you upload the code you need to download the RF24 library in order to use the NRF24L01 radio module. General guide for installing libraries to Arduino IDE: https://www.arduino.cc/en/guide/libraries
Downloads
Making the FPV Tank
The video is a step by step guide to assemble and wire the FPV tank. Again keep in mind it is a guide, you can switch up the order of assembly if you want. The wiring of the tank is very messy I will suggest using the wiring table instead of the diagram. In fact, you should wire the circuit up without putting anything in the tank. So, you have a rough idea where everything should connect. Plus, you can power it up to test the communication, motors and the servos.
Now there are a couple of things that I need to address about the video. First, the NRF24L01 V+ wire should be connected to 5V of the Arduino not 3.3V in the video. Second, you will notice the Hull cover is different in the video compare to the pictures. The hull cover in the video is the initial design and the hull cover in the pictures are the final design.
When you assemble the gears and you notice is hard to turn the gears, then you could try applying some grease on the gears and the shafts. For 3D printed gears I use SuperLube Multi-Purpose Synthetic Grease.
Downloads
Have Fun! and Retrospects
I hope you have fun and learned a lot if you decided to make this project. In retrospect, I really should have just pick a different ESC with bi-directional feature. Instead of using a bunch of relays to change the wirings of the brushless motors. Which made the wiring for the tank more complicated and messy. Things that I learned from making this project, is that picking parts are important and need to consider the assembly and spacing of wires a little more.
Problems you might encounter:
- When everything is turn on but the tank does not move when you move your controller. First check if the controller and the tank have communication by using the serial port. Second, try flicking the driving mode switch and listen if the ESC made the startup sounds.
- Controls are inversed, like when you turn your potentiometer left but the tank goes right. You can change it in the code.
- ESC shuts off causing the tank to stop when its moving. The ESC shuts off, because the brushless motor is not spinning in the right rpm or there is too much resistance for the motor to spin in the set rpm, therefore, it overloads the ESC causing a shut off. I don't have a solution to this problem. If you encounter this problem then you have discovered the Achilles' heel of this tank. It is lacking power due to fact I use ESCs that are design to be used in quadcoptors...
Feel free to make changes to this project like using a bi-directional ESC etc. I encourage it! Also, feel free to ask any questions about the project.
Please like and subscribe my videos on youtube: https://www.youtube.com/channel/UCFj6tFPxIVaNm1r6XVLfvkQ