A pic
programmer circuit based on AN589.
AN589 is
microchip's application note for a parallel port pic
programmer circuit
which I chose as I wanted something reliable to get up and running
quickly.
It
is really quite a simple circuit and its main objective is to provide ICSP
connections to your pic microcontroller.
Here is the pcb version (click
to enlarge):
Note:
That the PGM signal is not provided - it's not really necessary anyway
as you can turn off PGM mode by programming the chip. For
first
use of a chip you will need to pull the PGM line low as PGM is enabled
by the manufacturer.
PIC Programmer
Circuit diagram
Click
on the following diagram to open it as a PDF document.
Disclaimer
: If you build this circuit you must double check each
connection to
the parallel port cable to avoid damage to your computer. This includes
checking for shorts between each pin at the parallel port on your
circuit. For initial testing it is best if you use a spare (old
computer). Building this project is your own responsibility and I can
not be held responsible for any damage to your computer.
Modifications
It
has a few modifications that are useful and easy to do:
- Transmission line termination - lets it
work over a long cable.
- LM317 voltage regulator to get 11.6 volts and
protect the circuit
- Power supply steering diode (stops you reverse
connecting the supply).
- Changed LM340-5 to 3pin 100mA LM78L05.
- ICSP connector.
- An LED to show that power is applied.
- Changed 74LS244 to 74HCT244 because I had one
handy!
- Standard 10k resistors instead of 2k - just
easier if they are all the same.
Circuit notes
Transmission
line termination
The
transmission line termination lets you use the pic programmer circuit
at the end of a long cable - I am using a normal parallel cable ~6 feet
long. If you want to know more about
transmission line terminations then follow this link.
When
I first tried to use it I got all kinds of random results so it is
worth adding the termination.
Power
supply regulators
The
LM317
saves you needing an accurate bench power supply - you can use a dc
power block - anything that supplies more than about 15V dc. If you
don't use a 317 it's just too easy to accidentally apply the wrong
voltage by turning the dial on a bench supply and frying your
microchip. Using the 317 lets you put up to 35V into it (you shouldn't
but you can).
Note:
the LM317 and LM78L05 are standard components and are easy to find.
To
save using odd resistor values I used a 10k and a 1k to set 317 output
voltage. The equation for the LM317 is:
Vo
= 1.25 * (1+R2/R1)
Vo
= 1.25 * (1+10k/1k2) = 11.66V
5V power supply
Following
on from this is the 5 volt regulator which is only used to power the
LS244 buffer. Its just not worth using a Zener diode supply as the
actual voltage at the Zener varies with the load (it's voltage is only
specified for a constant current through it) you then need a transistor
to isolate the Zener so its just easier to use the three pin regulator.
Note:
The pin out of the LM78L05 is different to its larger counterpart the
LM7805.
It
is not a good idea to power the board from the programmer as :
- The 5V regulator should be designed for
the target board i.e. heatsinking etc.
- You could get more noise into your circuit.
If
you want
to power your board from the programmer then change the 78L05 for a
7805 which can supply up to 1A but for higher current it will need a
heatsink.
Buffer
The
pic
programmer circuit is a bit wasteful as it only uses two gates from the
eight available in the LS244 but it's a cheap part anyway.
Q1,
Q2
and Q3 can be replaced with any standard general purpose transistors
(two npn and one pnp).
Software
You
can use
ICPROG with this pic programmer
circuit. It erases, programs
and verifies your pic microcontrollers.
ICPROG
also
controls resetting the microcontroller at the end of verify so after
programming and verifying the program will start.
ICPROG
is a
good choice for programming software as it has many programming
algorithms for many devices (not just PIC microcontrollers) and it is FREE.
It also specifically supports this type of pic programmer circuit i.e.
the AN589 pic programmer circuit.
Note:
Double check the settings in ICPROG e.g. the HS setting for oscillator
selection - otherwise you may find your microcontroller just sits there
doing nothing!
Jump
from pic programmer to
Best-microcontroller-projects
home page

|