Thursday, January 3, 2008

PC controled ROV

Something I would like to clear first, please do not call remoter operated vehicles (ROVs), ‘Robot’. Robot is something more intelligent then a ROV.
Hardware:
Now there are many methods to control a ROV by a PC or by a notebook PC. Few of them are as following:
  1. Wired Link
  2. Wireless Link
  • RF link
  • Bluetooth Link
  • WiFi Link
  • IR Link
  • DTMF Link
In above methods first one is the cheapest after that IR, DTMF, RF, WiFi and Bluetooth respectively. If you want wired then there must be no problem. And if you want Wireless link then I will suggest you the RF Link. This is the easiest method.

In this we send Serial Data via RF module to rover. RF Modules are available in the market in pairs. A pair has one transmitter and one receiver. Transmitter has a data in line and Receiver has a data out line. To generate serial data you are going to need serial encoder and serial decoder (HT12E and HT12D download data sheet from right side). At the end of the data sheets the test circuits are given those are the best for our purpose.

Now lets go to the PC part, all PCs has a Parallel Port mostly called Printer port or LPT port. Each printer port consists of three port addresses; data, status and control port. These addresses are in sequential order. That is, if the data port is at address 0x0378, the corresponding status port is at 0x0379 and the control port is at 0x037a.

Printer-------- Data Port ----------Status -----------Control
LPT1 --------- 0x03bc ------------ 0x03bd ----------0x03be
LPT2 ----------0x0378-------------0x0379-----------0x037a
LPT3 ----------0x0278-------------0x0279-----------0x027a

*Go to BIOS setup and set the address of your Printer port to 0x0378 and port type to LPT.

Pin Description



Programming:

If you are using any non NT technology OS like DOS, windows95, windows98 or UNIX then you can do the programming in C language easily. Else if you are using windows 2000 and above then VB is better.

Programming with Turbo C

First define the port
#define p 0x378 // p is defined as LPT port address 378

Write instruction

outportb(p,12); // write 12 on data port 0x378
outportb(p+2, 3); //Write 3 on control port 0x37a

*p+1 is a status register and it can only take inputs

Read instruction

z=inportb(p+1); //read status port 0x379 and store in variable z

*status port is internally pulled up so it detects 0 as an input
My PC controlled Rover

for more details (regarding hardware or software) you can contact me by leaving comments.

Sci. Shashwat Ratan

1 comments:

vikas chaudhary said...

hello sir,
sir i want to work with you.i want to make my careeer in robotics.sir can you sent me your lab location,so that i can come and join you.
with regards,
vikas chaudhary

Solar Eclipse in Meerut