Building your Parallel Port Hardware



 

These are simplified schematics for the IR hardware I build some time ago. I have written them down using some barely readable handwritten notes and some reverse-engineering. So don't expect this to really work. Here are some pictures of this device.

USE AT YOUR OWN RISK!

But if you manage to build this device, drop me a note. I devided the schematics in three sections. The first shows the frequency generation circuit. I use this to generate a 38 kHz carrier frequency for the IR signals that are sent and a 65536 Hz timer, which is required for both the transmitter and receiver circuits. The timer helps me to get the proper software timings, as interrupts are only generated on the rising edge of the /ACK signal. It is also handy for sending IR signals reliably. This shouldn't be really necessary on a Pentium but this way the device should also work with an 286. The transmitter and receiver circuits should be quite self-explanatory. The inverter in the receiver circuit is only necessary if you use an active low IR detector IC like the SFH506.

Mike Karasoff created a modified circuit based on this design that allows to use up to 8 independent transmitters with your parallel port.

Frequency generation:


            C1
            ||             +----------+             +----------+
 GND o------||------+------|    R1    |------+------|    R2    |-----o Vcc
            ||      |      +----------+      |      +----------+
                    |                        |
                    +---------+-----------+  |
            C2                |           |  |
            ||                |           |  |
 GND o------||-------------------------+  |  |
            ||                |        |  |  |
                              |        |  |  |      +----------+
BUSY o------------------------|--+  +--|--|--|------|    R3    |-----o Vcc
       65536 Hz               |  |  |  |  |  |      +----------+
                   GND o---+  |  |  |  |  |  |
                           |  |  |  |  |  |  |
                         +-+--+--+--+--+--+--+-+
                         | 7  6  5  4  3  2  1 |
                         |                     |
                         |        NE556        |
                         |                     |
                         | 8  9 10 11 12 13 14 |
                         +-+--+--+--+--+--+--+-+
                           |  |  |  |  |  |  |
                           |  |  |  |  |  |  +---o Vcc
                           |  |  |  |  |  |      
     o---------------------|--+  +--|--|--|--------------------------o D0 (*)
      38 kHz               |        |  |  |      
            ||             |        |  |  |
 GND o------||----------------------+  |  |
            ||             |           |  |
            C2             |           |  |
                    +------+-----------+  +--+
                    |                        |
            ||      |      +----------+      |      +----------+
 GND o------||------+------|    R4    |------+------|    R2    |-----o Vcc
            ||             +----------+             +----------+
            C1


Transmitter circuit:

                         o 38 kHz
                         |
                         |
                         |
                         |
                       +---+
                       |   |
                       |   |
                       | R |
                       | 6 |
                       |   |
                       |   |
                       +---+
                         |
                         |          --->
                         |          ---> D1 (IR LED)
                         |          --->
                        _|_
                        / \         | /|            +----------+
 GND o------------------   ---------|< |------------|    R7    |-----o Vcc
                        T1          | \|            +----------+


Receiver circuit:


 GND o------------------------------------+
                                     C3   |
                                     ||   |   +--------------+
                                +----||---+---|1             |
                 +----------+   |    ||       |   =========  | <---
 Vcc o-----------|    R5    |---+-------------|2  SFH506-38  | <---
                 +----------+                 |   =========  | <---
                                          +---|3             |
                                          |   +--------------+
/ACK o---------------------------------+  |
                                       |  |
                GND o---+-----+-----+  |  |
                        |     |     |  |  |
                      +-+--+--+--+--+--+--+-+
                      | 7  6  5  4  3  2  1 |
                      |                     |
                      |       74HC04 (**)   |
                      |                     |
                      | 8  9 10 11 12 13 14 |
                      +-+--+--+--+--+--+--+-+
                           |     |     |  |
                           +-----+-----+--+---o Vcc

Part list:

R1 = 22323R
R2 = 2200R
R3 = 4700R
R4 = 39297R
R5 = 330R
R6 = 1000R
R7 = 33R
C1 = 470pF
C2 = 10nF
C3 = 4,7uF
T1 = BC 338
D1 = e.g. LD274 (R7 calculated for forward voltage of 1.3 V)

C2, C3, R5 are optional, but recommended in the datasheets. Vcc is 5 V.

(*) As D0 is an input the circuit always must be connected to the
parallel port. You might also consider adding a pull-down resistor to
GND.

(**) I used a 74LS04 but 74HC04 should be the better choise. Don't
forget to connect the unused inputs to a valid logic level,
i.e. either Vcc or GND.

		

The NE556 generates timings with pulses and spaces according to the following formulas:

		t1=0.693(R2+R1)C1
		t2=0.693(R1)C1
		

I used a 50 kR and a 25 kR potentiometer for R4 and R1 to get the correct frequencies.

Instead of the inverter IC (74LS04) you can also use some smarter circuit that will generate an interrupt for each change of the signal coming from the IR detector (SFH 506-38). Then the 65536 Hz generated by the NE556 IC won't be necessary either.

The only thing that is missing here is the power supply. I used an external power supply as AFAIK the parallel port can not supply the necessary power.

Christoph

 

 
[LIRC Homepage]