Microcontrollers for Robots

In this article, we are going to throw some light on one of the very essential component: Microcontrollers.

In this article we will discuss about one of the very important hardware components, Microcontrollers. We will specifically take one or two kind of microcontrollers and then try to know more about them. Our main purpose behind doing this is to know more and more about the components which make your Robot Working

What exactly is a Microcontroller? 

A Microcontroller is actually a small computer on a single integrated chip. It has memory, I/O peripherals and processer core. Microcontrollers are used in many appliances which automatically work like Remote controls, medical appliance and automobile engines as well. Microcontrollers have a variety of applications; different microcontrollers are designed according to their different applications. Some microcontrollers may work on four bits of words and clock pulse of frequency of 4 kHz even while some are designed for the application of Digital signal processing. In short microcontrollers are used in every place where any logic is to be executed. We categorize a microcontroller on the basis of three categories- speed, size and memory. Speed depends on no.of cycles, size depends on how much bits of information.

Microcontrollers have software configurable pins meant for general purpose, known as GPIO (General Purpose Input Output) pins. These pins when configured to input pins, they take input signals, read sensors and when they are configured for output pins they drive external components like LEDs. We have a variety of microcontrollers which are commonly used: ATMEL AVR, Intel 805, and Power PC etc.

As CPU is the brain of computer, for Robots microcontroller works as its brain. It collects information from input devices (eg.sensors) and then executes programs and then according to this execution it controls the output devices such as motors and LEDs. Different microcontrollers are used for different types of Robots. We use AT series and PIC series in building Robots. For Robots we prefer to use augmented microcontrollers.  Some of very common microcontrollers we use in Robot designing are:

PIC 18FXXXX, RS232 with some DSP controller.

Why we prefer augmented Microcontrollers?

It is not possible to connect any device directly to ICs' pin, for example to connect any motor; it would be easier to make a connector so that we can connect motor wire through that. A microcontroller needs some extra components to work properly. What we do, we make all the required peripheral components together and solder it. In this way we can make an augmented microcontroller. This is generally known as Robotic microcontroller as we usually called as Robotic microcontroller.

We can also use Semi augmented microcontroller according to our needs. Let's take examples of some of microcontrollers which we use in designing of Robots.

8051  Microcontroller:

8051 microcontroller is also a single chip having input-output peripherals, timer IC, ADC etc. As it is a microcontroller, it provides intelligence to Robot. 8051 is an 8=bit microcontroller.8051 is found in different sizes, short, standard and extended. This is named as 8051 microcontroller as 8051 assembly language is used in these microcontrollers.

Features of 8051  Microcontrollers :

  • Data bus-8 bit
  • Address bus-16
  • RAM-128 byte
  • 32 general purpose registers each of 8 bits
  • 16-bit program counter and data pointer.

8051 microcontroller is used in building Robots, some of its basic applications are in pick and Place kind of Robots and Firefighting Robot is also another example in which 8051 microcontroller is used. Microcontrollers of series AT are also very commonly used in building of Robots.

Microcontroller AT89c51:

Microcontroller 89c51 is used in robotics as it is found that microcontrollers of series AT have wider applications in this field. The figure below is showing one of the applications of microcontroller in which various pins of microcontrollers are connected to different LEDs working according to the Programs executed inside.

Application of Microcontroller AT 89c51 in robotics


Microcontroller AT89c52:

Microcontroller AT89c52 is actually a low power, CMos based 8-bit microcontroller.It has 8kb of flash programmable and Erasable Read only memory and 256 bytes of RAM. Microcontroller 8051 has capability of being erased and programmed 1000 times. It has 40 pins; its 9th pin is of RESET. 18th and 19th are for crystal oscillator (XTAL 1 and XTAL 2), 20th pin refers for GROUND and 40th pin is for power supply.

ALE/PROG: Address Latch Enable output pulse, which is used while we access external memory. These pulses are used to latch lower byte of address. It is emitted at a constant rate of 1/6 of the frequency of crystal oscillator.

PSEN: Program stored Enable is actually is the read strobe to external Program memory. With each machine cycle it is activated twice. It is not activated in case it there is an execution for internal program memory.

 EA/VPP: If EA-High: CPU executes out of internal program memory.

If E/A-low: CPU executes external program memory, and for that it does not consider Program counter value.

TAL2: Output from the inverting oscillator amplifier.

Port 0: Port 0 is an 8-bit bi-directional port. Pins in which 1 is written, it will function as High-impedance inputs. Port 0 emits bytes of codes while we verify any program.

Port 1, 2 and 3: Port 1, 2 and 3 all are 8-bit bidirectional I/O ports with internal pullups. Port 3 also performs some of the basic functions.

P3.0 RxD-serial input port

P3.1 TxD-serial output port

P3.2 INT0-external interrupt 0

P3.3 INT1-external interrupt 1

P3.4 T0-timer 0 external input

P3.5 T1-timer 1 external input

P3.6 WR-external data memory write strobe

P3.7 RD-external data memory read strobe

VCC: Supply voltage

VSS: Circuit ground potential

Microcontroller PICfxxxx:

PIC stands for Peripheral Interface Controller; this series is useful in applications of wheel encoding, subsystems jobs. Although we use 16fxxxx but it has less stack memory. The 17xxxx series is more powerful than 16 series and can withhold more data as compared to it. We prefer 18f series in building robots. Microcontroller 18fxxxx is an excellent general purpose microcontroller. The PIC18F series of microcontrollers has larger instruction set, more memory, bigger stack, more external interrupts, higher speed, and enhanced I/O port architecture.

Pin Diagram of PI 18 f series microcontroller


We have a wide variety of microcontrollers to use, One can use according to their requirement. Here I have mentioned only few of them just to give an idea. If you want to know specifically about any application, I would really appreciate to solve your query.