Monday, August 10, 2009

Auto Car 01 - An Introduction to Microcontroller

This article is written without any professional knowledge. Any usage that cause calamity is not the author's responsibility.

Robotics is a very interesting topic to talk about. One of the famous competition in robotics is ROBOCON organized by Asia Pacific Broadcasting Union (ABU). When we are dealing with robots, it can be divided to the type of control which is autonomous or manual human control.

Robot is like a human which needs parts to survive. The most vital is the brain. Humans without a brain is like zombie. They cannot think, they cannot react to certain impulses, and they cannot decide for their own.

Therefore, the brain in our robot is called a microcontroller.

Figure of simple concept of microcontroller.

Microcontroller or we shall call it microC is actually a integrated circuit (IC) which have a lot of function in it. It can count, determine logic and control the whole process done in the brain. This is what we call Central Processing Unit (CPU). Further divided in the CPU is the Arithmetic and Logic Unit (ALU) and Control Unit (CU). Let's not talk to much about this.

There are a lot of types of microcontroller manufactured by tremendous companies. Like the famous Microchip produces Peripheral Interface Controller (PIC). Others are like 6800 family by Motorola and 8051 by Intel.

Referring to the diagram, a microC will be connected to inputs and outputs. Like our human brain, it needs the basic five senses (sight, taste, feel, hear, smell) and the moving parts (arms, legs, mouth, etc).

In microC, they are not really fortunate to have the basic five senses (although with advance technology, they do can have it). Therefore, we have some simple inputs like limits switches, buttons, sensors, etc. And microC's output is not as good as human's arm and legs (again, advance technology conquers all). They have actuators like motors, light emitting diode, etc.

What controls the output? The microC's CPU of course. With the CPU, microC can determine what type of output we want to have. A simple example is when we push a button, an LED will light on. The microC will read from the input. If the button is pushed, it will light up the LED and if the button is not pushed, the LED will be turned off (this is an example of simple logic).

Of course the auto car's logic is not that simple. It needs more complex algorithm (steps to do things) so it can work nicely.