Obstacle Avoiding Robot without Microcontroller

The post explains a simple obstacle avoiding robot circuit without microcontroller and without using special motor driver circuits or ICs. The idea was requested by Mr. Faiyyaz

The Design

Basically it's in the form of a moving vehicle which is able to detect and avoid potential obstacles on its path and change its direction appropriately so that its motion stays uninterrupted, simple!

The operation is thus automatic without any manual or human intervention.

The presented idea of an obstacle avoiding robot without microcontroller as the name suggests does not employ a microcontroller and therefore is extremely simple to build and suitable to any new hobbyist.

While designing the circuit I realized that in order to implement the principle at least a couple of obstacles sensor modules would be required, because using a single module can cause erratic movement of the motor and may not help a smooth diversion or turning of the vehicle towards a free path.

The vehicle motor set up is quite similar to the remote control toy car which I had discussed in one of the earlier posts.

The following diagram represents one of the modules of the system, and therefore two or a pair of such modules would be required across the right and the left sides of the vehicle.

The idea is simple and works without microcontroller and without special motor driver ICs. That means you can make it without any kind of coding and without using any kind of complex motor driver IC.....and the circuit allows you to use any DC motor regardless of its power, so even high power obstacle avoiding vehicles could be made using this circuit which are normally used in malls and similar retail outlets.

Circuit Diagram

Obstacle Avoiding Robot without Microcontroller

Now let's try to understand the above circuit with the help of the following explanation:

How it Works

The IC 555 is configured as an IR transmitter and is set to generate a constant 38kHz frequency, while the adjoining transistorized circuit is configured as the receiver stage or the IR sensor stage.

Let's assume it's the right side module, and suppose this module happens to be the first to detect an obstacle in the path.

Therefore as soon as an obstacle is detected, the 38kHz  frequency generated by the 555 IC is reflected towards the sensor of the adjoining receiver circuit.

The receiver instantly activates the associated transistors such that the final driver transistor is inhibited from conducting.

Now the motor which is controlled by this transistor is supposed to be located on the left side of the vehicle, that is on the opposite side of this module...similarly the motor located on the right side is actually controlled by the left side module.

Consequently, when the above assumed right hand side obstacle detector module activates, it stops the left hand side motor, while the right side motor is allowed to move normally.

This situation results in the vehicle being forced to take a left side diversion...which means now the assumed left module starts getting even more stronger obstacle signals and keeps forcing the vehicle to proceed harder on the ongoing diversion until it has completely avoided the obstacle. The module now stops receiving the obstacle signals and the vehicle begins moving ahead normally on its new path.

While the above diversion is carried out the left side module is forced to become more and more isolated and away from the obstacle so that it does not get an opportunity to interfere in the procedure, and allow a clean and smooth diversion of the vehicle.

Exactly the same procedures are implemented in case the left side module happens to sense the obstacle ahead of the right side module, wherein the vehicle is forced to move harder and harder toward the right side.

We can also see a "disabling" circuit stage in the module which are interconnected across the left and the right side modules. This stage is purposely introduced to ensure that both the modules are never activated together.

Therefore for example if the left side module becomes the first to detect an obstacle, it immediately disables the right side module and initiates the diversion of the vehicle on the right and vice versa.

The sensor IC could be an standard TSOP17XX series

For more info regarding the above sensor IC you can learn how to connect TSOP1738 IC

And the motor should be equipped with gear boxes so that the movement is originally maintained at a controlled level.

Wheel Set Up

The complete set up of the left and right module and the associated electrical connections can be witnessed in the figure below:


A little thinking tells us that the above simple obstacle avoiding robot circuit could also be implemented by using a single module, instead of the two.

However a single module would allow the vehicle to carry out a single sided diversion every time it detects an obstacle, therefore the system could be configured either to take a clockwise diversion or anticlockwise diversion depending on which motor is connected with the circuit for the actions.

The example set up can be visualized in the following image:

Need Help? Please send your queries through Comments for quick replies! And please Bookmark my site :)


ks ram said…
Sir, can I use this gsm circuit as single motor control for water pump set ,plz sent to circuit sir
Swagatam said…
which gsm circuit?
faiyyaz mulla said…
Thanks sir I will try this circuit thank you so much
Swagatam said…
sure faiyyaz, thanks
Davis Kakumba said…
HI SWAGATAM how can you modify that circuit and add on a robotic voice circuit such that when an obstacle is detected a robotic voice is produced that obstacle is detected
Swagatam said…
Hi Davis it could be easily done by integrating a prerecorded voice module with the relevant relays of the circuit
Can you please do circuit using 2 wheels dc and 1 free wheel on front (all direction)
Swagatam said…
you can simply modify the wheel configuration in the given layout and convert it into a 3 wheel version
I cannot get the connection because currently were testing the diagram on a breadboard. Were using ceramic as capacitor is it right? Our power is 9v is it enough ? Motor is running but sensor is not working. May I ask if were given a breadboard connection(actual pic) of this as a reference would be that okay. Thank you for replying my comment.
Swagatam said…
the idea is very straightforward and I have explained it in the article...so there's nothing much to be explained further...

the capacitor are not critical, a ceramic will also work.

make sure the transmitter frequency is compatible with the TSOP device (38kHz)...or you can try the operations with a TV remote control.

to confirm the working of the transistors, you can manually ground the 1N4148 end momentarily....this should stop the motor for that moment. This will confirm that your circuit is OK, and only the sensor section needs to be confirmed.
ONCE said…
Sir can I use 100k preset instead of 47k?
ONCE said…
Thank you sir :)
Renato said…
Greetings Swagatam - first thank you for your website, wonderful projects.

Regarding the frequency of this particular circuit. The equation for frequency is

1/f = T = t1+t2 = ln 2 * (R1 + 2*R2) * C

Therefore, with R1 = 10,000 ohm, R2 = 47,000 ohm, and C = 0.0047 uF = 4.7 nF = 4700 pF
the frequency is 3.0 kHz.

Changing C to 470 pF makes the frequency 30 kHz.

To get a frequency of 38 kHz requires C = 370 pF or changing the resistance, for example setting the preset to about 37,000 ohms with a 470 pF capacitor.

Would it also be reasonable to change the resistance to R1 = 1,000 ohm and R2 = 3,500 ohm with C = 4700 pF (which by the above equation gives a frequency of 38 kHz)?

Thank you for your time.
Swag said…
Hi Renato, You can either tweak the resistor or the capacitor or both, it won't matter, you will anyhow get the required results successfully, however according to me the capacitor value used should be preferably be above pf range and below 1uF. I would recommended using a practical confirmation instead of depending on the formula.
Rick said…
Hello Swagatam,
I enjoyed reading (and documenting) your article on the Obstacle Avoiding Robot. I am unfamiliar with the discrete component nomenclature "220E." What is it? I have the other bits to build this project, and look forward to experimenting with it.

Thank you for your time,

Rick said…
Hello again.
I am also not familiar with the designation "2u2" 25V component. What is this device?
Thanks again for your time.
Swag said…
Hello Rick, 2u2 refers to 2.2uF. It is an electrolytic capacitor
Swag said…
Thank you Rick, Glad you liked the post, 220E refers to 220 Ohms resistor. Let me know if you have any more doubts, Ill be happy to help!
Rick said…
Thanks for the quick response, and have a great day.
Swag said…
You are welcome Rick!
Unknown said…
Is there any angle such that 38khz hit the obstacle and reflect to sensor?. In a single modules how can we place transmitter and reciver because we are going to do it in pcb .
Swagatam said…
There's no specific angle, the beams reflect and spread all over in the reverse direction. You can put them within a single module, just make sure the two are separated perfectly with an opaque partition.

Contact me for Customized Circuits


Email *

Message *

 Follow on G+  Follow on Facebook   Follow on Tweeter  Follow on G+  Follow on G+

Follow Homemade Circuits