News    The Project    Technology    RoboSpatium    Contribute    Subject index    Download    Responses    Games    Shopping tips    Contact   

<<< Oscilloscope         Lander >>>

Rover - construction

Read how to control the rover
Drive the rover

The video about the construction details

Parts list

Device Number Usage Source / details
Board 1 Base plate  
NPN Transistor BD649 6 2 H bridges and 2 light switches  
PNP Transistor BD650 4 2 H bridges  
Atmega8-16PU 1 Microcontroller  
Operational amplifier LM324N 1 Improvisational driver for the H bridges  
Resistor 1kΩ 12 Base resistor of transistors
Voltage divider
Resistor 33Ω 1 Series resistor LED beam light
Number and value depends on used beam light.
Resistor 180Ω (4) Series resistor LED near light
Number of pieces depends on the number of used LEDs
Resistor 1.5kΩ 1 USB-interface  
Resistor 68Ω 2 USB-interface  
Zener-Diode 3.6V 2 USB-interface  
Crystal oscillator 12MHz 1 External clock Microcontroller  
Capacitor 15pF 2 External clock Microcontroller  
Electrolytic capacitor 3300μF 2 Voltage regulation Microcontroller  
Geared motor 1 Drive motor  
Electric motor + gearwheels 1 (3) Focus adjustment webcam Old CD Rom drive
e.g. Logitech C160
1 Camera  
Micro switch 2 Sensors focus adjustment camera Computer mouse
Servo S21 1 Steering  
LEDs Optional Lights LED flashlight
6cm diameter
4 Rover wheels  
Metal plate 1 Chassis Computer housing
Gecko Edubook 1 Host Computer of the rover  

Parts list infrared interface

Device Number Usage Source / details
Platine 1 Base plate  
IR diodes
TSAL 6200 wavelength 940nm
IR receiver module
Vishay TSOP 1838 wavelength 950nm
Resistor 390Ω 1 Series resistor IR diodes  
Transistor MPF910 1 Switch IR diodes  
Capacitor 4.7μF 1 Constant voltage regulation IR receiver  
Resistor 100Ω 1 Constant voltage regulation IR receiver  
MC 34074 P
1 Oscillator circuit 38kHz IR diodes  
Resistor 12kΩ 3 Oscillator circuit 38kHz IR diodes  
Potentiometer 10kΩ 1 Oscillator circuit 38kHz IR diodes  
Capacitor 4,7nF 1 Oscillator circuit 38kHz IR diodes  

Rover 1.0


Rover, total view
Figure 1:
The decision to build a rover was a spontaneous idea which is why the vehicle was built by using materials being in my personal stock. Only a webcam had to be purchased to create the base car. Some later two LED flashlights were bought to upgrade the lighting. Originally I used a 10W halogen bulb as light beam which was too inefficient and four blue LEDs from the computer ventilator mentioned below 1(who the hell needs a illuminated computer ventilator?!?).
The chassis was made of an old computer housing. Originally I used the wheels of an old toy tractor, but they were too old and so I replaced them with wheels used for RC model planes. The bumpers are made of aluminum bars which came from an old, tiny greenhouse.

Webcam of rover
Figure 2:
The webcam is a Logitech C160 with a resolution of 640x480 pixel. The manual focus is actuated by the motor and the gearwheels of an old CD Rom drive and two micro switches of a computer mouse act as sensors.
The approximate dimensions of the rover are: 28x24x15cm (LxWxH) + 35cm hight for the power pole.
Rover drive
Figure 3:
The engine of the rover is a geared motor with a nominal voltage of 12V, which is connected to 5V. The flange-mounted gear causes a speed reduction of 1:30 and together with the pinion at the gear (10 teeth) and the gearwheel at the drive shaft (30 teeth), there is a total reduction of 1:90.
The steering is done by a S21 type standard servo.
The connection to the "host computer" is done with the help of an ATMEGA8-16PU microcontroller
Control computer
Figure 4:
The "host computer" is an Edubook of the Norhtec company, which is a tiny laptop with a 8.9 inch display, running the Linux distribution KNOPPIX 6.2. The main processor is a Xcore86 CPU running with a speed of 1GHz and 512MB of RAM are soldered together with all components on the very tiny board.
No Supercomputer, but there is no need for a brightly colored wish and wush 3D desktop. The most efficient programming work runs in a commandline!
Computer cooling
Figure 5:
Some cooling for the fanless netbook is done by a ventilator, because there are sometimes tropical temperatures at the target area. Moreover the Edubook I own is a preproduction model which is heating up stronger while operating.
The radio communication is done by a USB stick at the power pole of the rover. Two more USB interfaces are used by the webcam and the control board.
Power supply
Figure 6:
Instead of rechargeable batteries I am using the power supply of an old computer as the voltage source. I don't want to climb through the "stargate" every day to replace the battery packs. The Edubook needs 12V and the control board 5V with what three cables are running to the rover. To avoid the rover from getting tangled up in it's own cabling, the cords are running to the power pole at the top of the vehicle equipped with a anti-twist-mechanism. A couter weight can be put on the hook at the front of the mechanism.
Figure 7:
The cables are tightened with the help of a deflection roller fixed at a ceiling beam and a counter weight.
While using another host computer like the Open Source solution "Pandaboard", which operates with a voltage supply of 5V, two cables would be sufficient.

Rover 2.0

Rover 2.0
Figure 8:
Meanwhile the Rover is equipped with a full HD webcam (Logitech C910). This camera has an automatic focus, which is why the manual focusing has been removed. The camera is now fixed at a pivotable lever so it can be lifted. The lever is actuated by a winch, which is turned by a servo. Furthermore the view angle of the camera can be altered by another servo.
The illumination has been updated, too. There are 38 white LEDs attached to the camera, which can be dimmed by pulse width modulation.
Rover 2.0 with infrared interface
Figure 9:
At the front side of the Rover there is another innovation - an infrared interface. It has a receiver modul as well as infrared diodes to be able to send and receive signals. Those interface is used to communicate with other microcontrollers. Inside the RoboSpatium there are certain modules (globe, turntable, laptop) which can be controlled via the interface.


Control board and Edubook are connected via an USB interface which is implemented by an Amega8-16PU and the V-USB firmware of Objective Development. The microcontroller actuates the peripheral devices by a H bridge (drive motor forward / backward), three Servos (left / right, camera arm) and one power transistor (light). The part list was ruled by the devices inside of my personal "warehouse".
Circuit layout Rover 2.0 with infrared interface
Figure 10:

The H-bridge used to control the drive motor is not perfect. The transistors BD649/650 could be operated with a continuous current up to 8A under normal conditions. The transistors are not switched correctly when using the configuration drawn at this circuit, but the arrangement is good enough to operate the rover motor, which consumes just 400mA while blocked. The base of the transistor switching the LEDs is connected to the microcontroller via a series resistor. The current running through the LEDs is approximately 100mA. Choose another configuration if you intend to build a stronger powered or illuminated vehicle.
The 38kHz oscillator circuit used to switch the infrared diodes, is implemented with the help of an operational amplifier type MC34074P. The output signal is not a perfect rectangle signal, but the range of the infrared interface is more than sufficient.

Control software

A mix of Java script (webpage), Perl scripts (communication between rover and the server of my Internet provider) and C programs (USB interface between Edubook and microcontroller) is used to control the rover. The source code of the programs is available for download and I'd just like to explain the communication procedure between rover and Internet server. The network communication from rover to router (WLAN + dLAN) and from router to Internet server could be interrupted or delayed sometimes. That is why the operation of the Perl scripts is monitored permanently. Both "rover-client.perl", and "rover-server.perl" are instructed to write the current time in special files while they are running. Those timestamp is read by another Perl script. If the timestamp is older than 35 seconds, the monitoring script (watchdog-client.perl respectively watchdog-server.perl) kills and restarts the hanging script. If there are 5 restarts during 5 minutes, the watchdog script of the rover initiates a reboot of the operating system. At the rover, the network communication is additionally observed by another script which starts each 2minutes by a cron job. Those script sends 4 ping signals to the router and restarts the network if there is no answer. Rebooting procedures like that are often used at space probes, because the control software is complex, hence it is rarely free from bugs. The Perl scripts are also responsible for the transfer of the pictures from the webcam to the Internet server. Controlled by Javascript, the picture inside of your browser is updated after 2 seconds. The advantage of this method is that there is no plugin necessary to control the rover.
Besides the webpage, the files "rover-server.perl", "watchdog-server.perl" and "" are stored at the server. Those Internet Server has to permit the execution of Perl scripts! The files "rover-client.perl", "watchdog-client.perl", "roverControl" and "rover-client-commands.perl" are stored at the hard disk of the rover and the file "main.hex" has to be inside the memory of the microcontroller.

Some more questions about the rover?

You can find my mail address at the column Imprint

<<< Oscilloscope         Lander >>>

News    The Project    Technology    RoboSpatium    Contribute    Subject index    Archives    Download    Responses    Games    Links    Shopping tips    Contact    Imprint   

Twitter YouTube Hackaday Patreon TPO