electrofriends.com  

...bringing innovative minds together       | HOME | ABOUT US | ARTICLES | SOURCE CODES | PROJECTS | EBOOKS |  FEEDBACK |  

Device Switching Using PC’s  Parallel Port

           Imagine the convenience, if we could control different devices at home/industry by using a single PC. Our project aims at the same and could be used to control the printer power, loads & other household electrical appliances. The circuit comprises decoder, inverter, latch & relay driver sections. To control these equipments we are using PC’s Parallel port. The program of controlling  is  written in C language. It is compiled using Turbo C compiler.

             The project though a bit expensive, is very efficient in control of real world peripherals.
                                                                                  

   

CONTENTS:

1. INTRODUCTION

2. PARTS LIST

3. BLOCK DIAGRAM

4. COMPONENT DESCRIPTION

l. Parallel Port

2. IC 74LS154

3. IC 74LS74

4. 1C 74 LS05

5. 1C ULN 2803

6. Relay

5. CIRCUIT DESCRIPTION AND WORKING

6. SOFTWARE PROGRAM

7. CONCLUSION
 

INTRODUCTION:

  The PC parallel port is an expensive yet a powerful platform for implementing projects dealing with the control of real-world peripherals. This port can be used to control the printer as also household and other electrical appliances. The computer program through the interface circuit controls the relays, which, in turn, switch the appliances on or off.
           The parallel port has 12 outputs including 8 data lines and 4 control lines. The circuit described here can be used to control up to 255 electrical appliances using only eight data lines from the parallel port. Besides, the software program allows the users to know the current status of the loads.

PARTS LIST:

 Semiconductors:

 ICl, IC2, IC3               - 74LS154 l-of-16 decoder

 IC4, IC5, IC6              - 74LSO5 inverter

 IC7-ICI4                     - 74LS74 D-type flip/flop

 ICI5, IC16                   - ULN2803 octal Darlington array driver

 Misc.

 Power supply               - 5V regulated DC, 12VregulatedDC

 Relay                           - 12V,200-ohm, lC/O SPDT


BLOCK DIAGRAM:

           The block diagram in Fig. 1 depicts the main components of the switching system for 255 electrical loads using PC. The control command to switch on/off the appliances is given through the keyboard. The software program scans the input and as per the input command, the data is available at the parallel port.

 

            Out of eight bits, first four bits (D0 through D3) are data signal bits and the remaining four bits (D4 through D7) are used as control signals. Control signals are given to decoder 1. The output of decoder 1 is given to Enable pins of decoders 2 and 3. Data signals are given to both decoders 2 and 3. The outputs of decoders 2 and 3 are inverted and fed to a D-type flip/flop that is used to latch the data. The latched data output is given to relay driver ICs ULN2803. The relay drivers drive the relays for switching the appliances.

 COMPONENT DESCRIPTION:

 1. THE PARALLEL PORT:

    The parallel port or line printer terminal (LPT) port is a 25-pin D-type female connector available at the back of your PC. A basic IBM PC usually comes with one or two LPT ports. The original parallel port, called standard parallel port (SPP), is a bundle of three ports (or registers), namely, data port, status port, and control port. Pins 2 through 9 form the 8-bit data port. This port is purely a write-only port. This means it can be used only to output some data through it. Pins I, 14, 16, and 17 form the control port, which is capable of reading/writing. Pins 10 through 13 and pin 15 together form the status port. The status port is a read-only port. The details of 25-pin parallel port are given in Table 1.

TABLE 1: Parallel Port Pin Details

 

Parallel port

pin no.

 

Port signal

Name

 

Direction

 

Hardware inverted

 

Register

1

NStrobe

I/O

Yes

Control

2

D0

Out

 

Data

3

D1

Out

 

Data

4

D2

Out

 

Data

5

D3

Out

 

Data

6

D4

Out

 

Data

7

D5

Out

 

Data

8

D6

Out

 

Data

9

D7

Out

 

Data

10

NACK

In

 

Status

11

Busy

In

Yes

Status

12

Paper Out

In

 

Status

13

Select

In

 

Status

14

Nauto-Lf

I/O

Yes

Control

15

Nerror

In

 

Status

16

Ninitialize

I/O

 

Control

17

Nselect

I/O

Yes

Control

18-25

Ground

Gnd

 

 

    The base address of the first parallel port (LPT1) is 0378 in hexadecimal (hex) notation (or 888 in decimal notation). The base address of the second parallel port (LPT2) is 0278 in hex. In this project, we've used only LPT1.

 2. DM74LS154 : 4-LINE TO 16-LINE DECODER / DE-MULTIPLEXER:

    Each of these 4-line-to-16-line decoders utilizes TTL circuitry to decode four binary-coded inputs into one of six-teen mutually exclusive outputs when both the strobe inputs, GI and G2, are LOW. The de-multiplexing function is performed by using the 4 input lines to address the out-put line, passing data from one of the strobe inputs with the other strobe input LOW. When either strobe input is HIGH, all outputs are HIGH. These de-multiplexers are ideally suited for implementing high-performance memory decoders.
             All inputs are buffered and input clamping diodes are provided to minimize transmission line effects and thereby simplify system design.

3. 74LS74 : DUAL D-TYPE POSITIVE-EDGE-TRIGGERED FLIP-FLOPS:

             These devices contain two independent D-type positive-edge triggered flip-flops. A low level at the preset or clear inputs sets or resets the outputs regardless of the levels of the other inputs. When preset and clear are inactive (high), data at the D input meeting the setup time requirements are transferred to the outputs on the positive-going edge of the clock pulse. Clock triggering occurs at a voltage level and is not directly related to the rise time of the clock pulse. Following the hold time interval, data at the D input may be changed without affecting the levels at the outputs.

4. HEX INVERTER:

              It is used for inversion of input signal. Since outputs from the de-multiplexers are active low, we invert them. This IC has 6 not-gates and hence called a hex-inverter.  

5. ULN-2803 : OCTAL PERIPHERAL DRIVER ARRAYS:

             The eight NPN Darlington connected transistors in this family of arrays are ideally suited for interfacing between low logic level digital circuitry (such as TTL, CMOS or PMOS/NMOS) and the higher current/voltage requirements of lamps, relays, printer hammers or other similar loads for a broad range of computer, industrial, and consumer applications. All devices feature open-collector outputs and freewheeling clamp diodes for transient suppression. The ULN2803 is designed to be compatible with standard TTL families while the ULN2804 is optimized for 6 to 15volt high-level CMOS or PMOS.

6. RELAYS:

              The relay is a device by means of which an electrical circuit can be controlled (opened or closed) by sensing a change in the circuit in which it is connected. The relays can be either electromagnetic or electronic. In this circuit the electromagnetic relay is used to connect or disconnect the supply to the appliance to be controlled. It works on the principle of electromagnetic attraction and electromagnetic induction. These relays can be actuated by AC or DC quantities. In these relays there are one or more coils, movable elements, contact systems etc.

CIRCUIT DESCRIPTION AND WORKING:

            The circuit comprises decoder, inverter, latch circuit, and relay driver sections. The circuit, excluding relay drivers and relays, is powered by a 5V DC regulated supply. Relay drivers and relays are driven by a 12V DC regulated supply. Each relay is rated 12V,200-ohm.

  The circuit for switching on/off 6 loads is shown in Fig. 2. For more than 6 loads, you can add more ICs in a similar way as shown in this circuit. IC 74LSI54 is a 24-pin, 4-to-16 line decoder IC. This IC is designed to accept four inputs and provide 16outputs. Input addresses Al through A4 to pins 20 through 23 of IC1 and IC2 (IC 74LSI54) each are given from the data lines of the computer parallel port.

   In this circuit, only pins 2 through 9 of the parallel port are used, where data lines D0 through D3 form the 4-bit data input and D4 through D7 are address-select or control lines for the circuit. Pins 18 through 25 are shorted to ground. Data lines D0 through D3 are the input addresses for IC2, and data linesD4 through D7 are the input addresses for IC1.

   When Enable pins EI and E2 (active low) are high, all the outputs go high irrespective of the address inputs (AI through A4). Enable pins EI and E2 of ICI are grounded and its output pins YO through YI5 are connected to Enable pins of the respective decoder ICs.

    Initially all the data inputs (D0 through D7) are low. Thus, except Y0,all the outputs of ICI and IC2 are high. The output Y0 of IC2 is not used, for the reason that when all the input data is low, none of the outputs of IC 74LSI54 is used for switching the loads. Suppose, out of eight input data lines, D0 is high. So, except Y1, all the outputs of IC2 will be high. YI is then inverted using IC4 (IC 74LS05). The output of IC4 at pin 2 is given to pin 3 of IC7 (lC 74LS74). IC 74LS74 is a dual D-type flip-flop used for latching the data.

    With an active rising edge of the clock pulse (CP-1 or CP-2), the data input will be locked in IC7 through IC14 until the next rising edge of the input clock pulse. The outputs of ICs 74LS74 are given to relay driver ICs ULN2803 (lC-15 and IC-16), which, in turn, drive the relays. The relays are used to switch on/off the appliances. 

 Fig-2: Circuit Diagram

SOFTWARE :

                    The program to control the appliances is written in C. it is compiled using Turbo C compiler. The flow chart of the program is as follows

 Fig-3: Flow chart for Implementation of Program 

Fig-4: Flow charts of the functions Used

| Next page |

 

 

 | HOME | ABOUT US | ARTICLES |  SOURCE CODES | PROJECTS |  SITEMAP |  EBOOKS | FEEDBACK |   



  Copyrights © 2005-2007 electrofriends.com, All rights reserved. webmaster@electrofriends.com