Showing posts with label Robotics. Show all posts
Showing posts with label Robotics. Show all posts

TCRT5000 as a sensor

The TCRT5000 is widely used throughout the world as a proximity sensor. It is nothing but a pair of a photodiode and a IR (Infrared) LED in a special packed form.
This is set of transmitter (Infrared LED) and receiver (Phototransistor). In actual, the terminal diagram of this sensor is given by

 As we see one of the edge of this sensor (Marked in Red). This is the key to recognize the terminology of pin diagram. Hold this sensor vertically with this cutted edge as
At the very left side, connect one end of a resistor having value 220 (Ohm) and another terminal to 5V supply. The transmitter LED consumes current of 60 mA.
For receiver circuit, connect one end of a resistor (10K Ohm) and another end of resistor with the same 5V. Refer the following circuit diagram-


This circuit works 100% because I have verified it. This is also compatible with ARDUINO  development boards.

++++++++++++++++++++++++++++++++++++++
EVERYTHING AND EVERYONE IS YOUR TEACHER, UNLESS YOU ARE A POOR STUDENT.
                        - BRYANT MCGILL
++++++++++++++++++++++++++++++++++++++
 










Position of sensors

                  In very last article, we have seen the circuit diagram of a infrared transmitter - Receiver pair. Apart from the circuit diagram for the sensors in an Autonomous Robotic system, the position of sensors is also an important thing. In this article, I will present the sensor position of an AR system with some explanation.
There are two examples for sensor position, as below


          In these examples, one thing is noticeable; around centered sensors, there are two vertical lines which are 3 cm apart. In the last article Circuit diagram for sensor, I have considered a case that an AR ( autonomous system )  has to follow a 30mm (3cm) line. That's why, centered sensor place is restricted between a 3 cm (30mm) line. One can restrict the place of sensors outward the vertical line also. There are number of possibilities to place sensors. Out of which I had used both these cases which are shown in the diagrams above, and it really works 100%  for programming an embedded system. It gives huge extension for programming.
          That's it for now, very soon I will explain working of widely usable sensor which is TCRT5000.

+++++++++++++++++++++++++++++++++++
WHEN YOU SOP CHASING THE WRONG THINGS, YOU GIVE THE RIGHT THINGS A CHANCE TO CATCH YOU.....
                                    - UNKNOWN 
+++++++++++++++++++++++++++++++++++










Circuit Diagram for Sensors in Autonomous Robot system

As one proceed for the development of circuit design for the Autonomous Robot (AR) system, there needs to be proper sensor arrangement. So, in this article we will approach to the sensor circuit diagram. I used the circuit diagram as below


             In this circuit diagram, there are 5 sensors used. One sensor consists of an Tx-Rx pair ( Tx- Transmitter, Rx- Receiver) . It is easily differentiated from figure that one of these two diodes is a IR LED (IR- Infrared) while another one is a photodiode. I am really very sorry that I haven't used sign of photodiode in this figure ( photodiodes- D10, 9, 8, 7, 6).More specification of this circuit is given below.
 Resistor connected to IR LED - 220 Ohm
 Resistor connected to Photodiode- 10 Ohm

              The purpose for connecting low resistance for the IR LED is to increase brightness of LED, if, in opposite case a higher value resistance connected to LED, then there is more possibility of light with low brightness.
              In case of photodiode, it can work properly when we connect a resistor having value of 10K because of favourable conditions in the DC load line of the photodiode, in short, it becomes highly sensitive.
  Power Supply Requirement - 5V ( which can provide min. current of 500mA for driving the LED's)

Now comes the question of sensor position, So for approaching this issue; We must have to consider width of the line ( Which AR should follow). Let's consider width of a line is 30mm(3 cm). According to the logic for our programming which I have explained in the last article of Robotics
A grid solver Robot  One can create the logic.

        Very soon, I will explain with some case, how a sensor position in an AR  matters. That's enough for now. Wish you have great day!

+++++++++++++++++++++++++++++++++++++++
"IF YOU DON'T LIKE WHERE YOU ARE, THEN CHANGE IT; YOU ARE NOT A TREE"
                       - JIM ROHN 
+++++++++++++++++++++++++++++++++++++++
            



Introduction to Embedded systems

                       Dear friends, the topic of today is the micro-controller based systems which now in days plays a huge role in our day to day life. A micro-controller consists of simply a processor ( of 8-bit, 16-bit, 32-bit and so on ), to which some I/O ports some memory are interfaced so that we get a small computer system on a chip. Micro-controller in the sense also called as 'Computer on a chip'.
                       In 1971, Intel introduced first processor 4004 which was 4-bit processor, Due to many disadvantages after a world popular processor i.e 8085 introduced by Intel itself. 8085 was 8-bit processor which turns out revolution in the digital world. Coming to my topic, Intel also introduced an world famous controller 8051 which has 8-bit processor, which had facility 128 bytes of RAM (Random Access Memory), 64 kbytes of accessible ROM, and 2 timer/counter.
The pin diagram of 40 pin 8051 is given as
Now, you will raise question in your mind that, what is an embedded system really mean?
An embedded system is an application that contains at least one programmable computer (typically in the form of a micro-controller, a micro-processor or a digital signal processor chip) & which is used by individuals who are, in the main, unaware that system is computer based.
Without wasting much time I will start with basics of an 8051 micro- controller. The simplest architecture in an embedded systems is typically in the form of super loop

void main()
{
  function();// consider this is a target/key function.

  while(1)
  {
    x();// another function which computes some
       // desirable mathematics             
  }
}

The loop ' while(1){ } ' which was used in the above dummy program is called as an super loop. There are also some basic parameters that are so much necessary for building an embedded system, these things I will cover in next post. Thank you so much.

++++++++++++++++++++++++++++++++++
Success is a personal standard, reaching for the highest that is in us, becoming all that we can be.
                  - Unknown

++++++++++++++++++++++++++++++++++

Actuator part of an Autonomous Robot (AR) system

                         Dear friends, today I am presenting the last part of AR system that is the actuator part. Actuator means , it , in actual performs the specific task that we always targeted from an robotic system. In the case of AR, actuator part simply means moving the robot in various direction.
                         Actuator part of AR system simply consists of an Toy motor. Image of toy motor is below
                            The difference between toy motor and any other DC motor is torque. Generally rating of toy motor with respect to torque is low. So it is more preferable in general line follower project because of low power requirement. This will directly affect on power requirement of the battery or a cell that being used in the system.
                             To drive motors there will be more requirement of current. This requirement not always fulfilled by an micro-controller output. Though the output of an controller is an binary ( logic 0 and logic 1) there is an technique called Pulse Width modulation ( PWM )
                             This is a standard output table of arduino. The PWM technique controls the speed of toy motor. In case of arduino, there is a separate function analogWrite( 0-255 ) the argument in the bracket is a integer between 0 to 255. So my original point is to drive the toy motor with an appropriate current. The requirement of current for arduino is near about 150- 170 mA  please note that this is an practical value of arduino that I have measured in the lab, this value may differ in different case. The operating range of voltage is between 12- 20 V.  A toy motor generally requires near about 800 - 950 mA . Therefore an additional driver circuit is required. The driver circuit should be current buffer. Right now I am working with amplifiers to buffer the current level, On our robot we have used an current driver IC L293D. But this IC leaks current after a period of some months. In short drift property of this IC is very low. In initial stages you can prefer this IC for driver circuit purpose. I hope you will go through its datasheet which is readily available on Google. At the end, I conclude the AR system with driver part. Now you are capable to prepare an autonomous robot. I know that I have given very generalized discussion of it. While doing the project, If  find some difficulty, you can directly leave an comment with your problem. Please do not forget to mention your robot details so that it will be easy for me to solve your problems. Thank you.
 
++++++++++++++++++++++++++++++++++++
An intelligent person is never afraid or ashamed to find their errors in their understanding of things.
++++++++++++++++++++++++++++++++++++

A grid solver (Autonomous) robot

An Grid Solver Robot (Autonomous system)

                     Dear friends, yesterday I have given an brief introduction of an autonomous robot. Today I will introduce an grid solver robot with the preview of line follower robotic system. A line follower simply indicates that it just follows a line ( black or white in color ).
                      I will introduce the sensor part in detail. For the sensor system of an line follower robot, you will need proper information about a proximity sensor. A proximity sensor can only give two different outputs in terms of binary logic 0 and 1. Basically a proximity sensor needs a light transmitter - receiver pair. A transmitter may be a IR LED while receiver should be a photo-diode in reverse bias configuration or you can make use of photo-transistor also. Proximity sensor works with the property of reflection. Whenever a object with white color comes in its path, there will be maximum reflection by the surface of that material. This will be opposite in case of black colored object. Now I hope that you have got full idea about the proximity sensor.
                      Now another question raises that how to configure our sensors position on our autonomous system. The answer lies in width of line on which you want to play your AR (Autonomous Robot) system. For example take a case, that width of our line (say having black color) is 30 mm (3 cm). Then either you can make position of your sensors outside the extremity of that line or inside the line.
 

        Consider these small circles as our sensors. I hope now you will crystal clear with the sensor position. Next point is how to generate logic for preparation of the program of micro-controller. Whenever any one circle in the diagram goes outside the line ( In second case it goes inside the line ). Make the controller output in a such a way that AR will take turn so that the sensor will regain its original position

          In the next post I will come up with programming part of a line follower robot.

++++++++++++++++++++++++++++++++++++++++
Life will never be perfect, but perfect moments make it all worthwhile.
                                                                        -Marinela Reka

++++++++++++++++++++++++++++++++++++++++













Introduction of micro- controller in Autonomous Robot system

               Dear friends, as a part of experiment I have created a tab on upper side of the page naming the section Robotics. I have given an information of sensor part of Autonomous Robotic system. By clicking on it, you can get the knowledge of that part. Okay let's come topic.
               An micro-controller is considered as a computer on the development board. A micro-controller ranges from 8-, 16-, 32-, and sometimes 64- bit depends upon the requirement of the system. Today I would like to introduce one of the popular micro-controller development board that is Arduino. Please note that Arduino is not an micro-controller, it is an development board with ATmega series. Since the image that I have shown in previous post have 8051 development board, even though I am purposefully giving information about Arduino . Arduino have several advantages over an 8051 board, like inbuilt ADC ( analog to digital converter ) . In absence of Arduino one must have to use an comparator IC LM 324, 318, 358, or so on . This increases circuit complexity of the system. There is an thumb rule in electronics control design , which simply implies minimum complexity maximum performance. You can get Arduino IDE on 
                                                       http://arduino.cc/   
 This website is totally dedicated for the information of the Arduino board system. We have to learn embedded C- programming for any micro-controller programming. Since I have provided an link for the detail information for Arduino, I won't touch programming part there. Here is an picture of the Arduino board.
This is an one of the type of Arduino. Each and every resource is provided on the link that I have shared there. Now I will present an algorithm part of an Autonomous Robot system. Since you have to do it yourself, I won't post the actual programming part :-) .
 You may find that this algorithm is very common. I will start with some detailed explanation of each block.
  Initialization : In this part , I will go through some basic points.

  1. We have to initialize IO pins of micro-controller board with some variables.
  2. Some variables that will be useful for mathematical computations.
  3. Initialization of separate functions. For ex, suppose I want to drive my bot in forward direction, so I will have to give specific output to toy motors in a such a way that my robot will move in forward direction. ( At this moment forget about actuator part I will come to that part, probably in the next post) 
Master loop : In case of Arduino, there is by default a function loop (void / int / float / char). So this function is also called as an master loop. For an micro controller, for repetition for instructions again and again an master loop is required. It works in a such a way that, when an controller is powered with supply until the power on , the controller works with repetition of the instruction through a loop.

Condition Checking : In this part we have to check various condition according to the sensor value , for a change in output of sensor we have to instruct an response in terms of program so that our system will respond properly for various change in sensor value. As a case of line follower robotic system, I will point out few things as below,
  1. As I have shown the diagram of sensor position of system in the last post ( post under robotics tab), whenever its position changes, give instructions in a such a way that robot will move in respective direction. For ex, If my left sensor will change its position with respect to original position and right remains in original one, then turn robot in left direction. Please note that the sensor position matters in programming , so refer the post under robotic tab.
  2. Use the initialized functions so that you will find that main program is just an arrangement of small blocks in terms of functions.
Due to vast possibilities with sensor position I have done only an generalized discussion here, So If you are planning to prepare instructions with respect to sensor position you can leave comments on the box, so that I will be able to discuss with particular things. In the next post, I will upload how to deal with actuator part of robot. Thank you again.

++++++++++++++++++++++++++++++++++++++
God will always bring the right people into your life, but you have to let the wrong people walk away. 
++++++++++++++++++++++++++++++++++++++

Share English German French Arabic Chinese Simplified