Tank
Robots ·General purpose platform based on Raspberry Pi Zero.

It allows you to observe the image from the camera, read the voltage on the battery (discharge level ), the temperature from the Raspberry and the values of the encoders. So far I have not used the encoder readings in a practical way, but including them will enable further development of the design.
This project started with PCB.

It was supposed to be used to control a robot with the following components:
- two motors with encoders
- three servos
- communication with Raspberry via SPI
- voltage measurement from the battery
- two LEDs (startup and discharge)

I used LiPol as the power source and 2 voltage converters: one for the logic and the other for the servos. During the realization of the project, however, I realized that the microcontroller was too weak. The reason was that I needed 3 PWM channels for the servos and 2 for controlling the speed of the motors. However, I didn’t have that number available, so I had to generate the PWM signals for the servos by software, which significantly increased the load on the processor. Additionally very frequent external interrupts from the two encoders made it impossible to provide a sufficiently accurate PWM waveform to control the servos. Therefore I skipped the use of servos in this project.

The tank construction was made on a 3D printer, and I used the design from https://www.thingiverse.com/thing:652851

The robot is controlled through a browser. For this purpose, I used a script from https://hackaday.io/project/25092-zerobot-raspberry-pi-zero-fpv-robot/log/97988-the-new-zerobot-pro ,which I appropriately converted to my needs ( swapping the control to one using SPI).