As a newbie to Pics I have followed the list for some time via the Iversoft
archive. My first project worked fine after some serious learning
experiences. But I was left a little short in the drive capability area.
Before building some driver circuitry I thought I might try the
unconventional approach. I placed two Pics 16F84 in parallel, pin for pin,
except the 10Mhz OSC out of the first Pic went to the OSC in on the second
Pic. Both chips had the same progamme burnt in. My programme is some 300
lines of (newbie) code with TOCK being used as a 32,768 input and RB0 used
as an input also. The outputs are 11 Leds each at the 60 ma. level. Clearly
I expected this to work and to my suprise it did. It has now run non-stop
for a week, no smoke out of the Pics and the programme does everything I
intended it to.
Question. Is this a serious case of mind over matter or have I found
something which might be of use to some of you. (Pardon. ..some of US)
For those brave souls with more Pics than sense, an easy way to place the
chips in parallel is to remove pin 15 from the cheaper variety of 18 pin
socket, splay the pins slightly and gently press over your 16F84. Most
important to line up the indicating marks so that you know which end of the
Pic is which. It helps if this chip is in a turned pin socket and clamped
for the next operation. You will see that each solder pin of the socket sits
neatly over the shoulder of the Pic pins. Deep breath and solder all pins to
shoulders EXCEPT pin 16. Gently bend this pin until you can solder it to
the shoulder of pin 15 of your PIC. A gentle touch and a fine solder bit
makes this easy. You now have a Pic sandwich with nice turned pins to plug
into your application/programmer and a somewhat dubious socket on top to
accept the second Pic.
Those of you with a Dontronics DT001 will now find that you can programme
both chips at the same time.(Very happy with mine) Your mileage may vary
according to your own setup.
Can I stress that this Kluge does work on my software but that I lack the
knowhow to even guess if it will be of use to anyone else. I think that
perhaps after such a long first post I should now sink back into obscurity
and continue my lurking.
Have fun and consider the likely pushing and shoving in the ranks if your
Pics do not have the same programme.!!!
Without wishing to sound negative, this technique is incredibly risky at
best. There is absolutely no guarantee that the two PICs are synchronised
together. The Power On Reset voltage of the PIC is not exact, one is bound
to come out of reset before the other. If the Power-up Timer is used, this
is based on an internal RC oscillator, and will vary between PICs.
All this means that the PICs could be running the same program, but not
always the same instruction at the same time, with obvious consequences.
As a quick hack to get more output current, it obviously worked for you, but
an external driver of some description would be a more reliable solution.
Mike Rigby-Jones (whose NOMAIL command to the listserv obviously didn't get
through and who has just waded through 604 mails after a week out!!)
At 00:24 17/08/99 +1000, you wrote:
>"The outputs are 11 Leds each at the 60 ma. level" should read "The outputs
>are 11 Leds each at the 16 ma. level"
Why did you need to parallel the PICs, in that case? Each output can
easily drive 16mA, even with 11 at once, unless I'm missing something?
It's interesting that it works, but your method isn't something I would
ever hope to meet commercially, for a number of reasons-
A few are:
1) Any slight timing or speed differences between devices will result in
contention- ie for a brief period there will be an effective short circuit
between one pin which has switched to 5V and one which hasn't switched yet.
Long term this is likely to cause premature failure, at least of some of
2) One PIC right on top of another PIC will reduce the power handling
capacity of both PICs, so you don't actually get "twice the strength", as
each one will tend to heat up the other, and insulate the other, stopping
it cooling so effectively through the case.
3) If there are any disagreements between the PICs, one or both will be
damaged, and could probably start a fire in the right circumstance...
There are probably more reasons, but those are a reasonably compelling
start! Basically, it's a 'neat trick', but I certainly wouldn't want to
trust my life to it, or anything valuable for that matter.
Even if you sync both PICs in software (because of power up timers and
other issues) you can't control the internal divide-by-four clock.
Actually I suppose you can only get them completely syncronized one
fourth of the power-ups. The ouputs will not switch at the same internal
clock cycle causing spikes and maybe letting the smoke out the devices
if you're unlucky..
Using two pins on the same pic paralleled to provide extra current does not
present the same risk as using two individual PICs, although IMHO it's
barely acceptable, and definately no go for a commercial product. It would
only take a small glitch to possibly set one pin high and the other low,
probably toasting the PIC in fairly short order.
> I do seem to remember a seven segment display drive in one of the
> Microchip app
> notes that used two parallel pins for the column drive for more current.
> Michael Rigby-Jones wrote:
> > Without wishing to sound negative, this technique is incredibly risky at
> > best. There is absolutely no guarantee that the two PICs are
> > together. The Power On Reset voltage of the PIC is not exact, one is
> > to come out of reset before the other. If the Power-up Timer is used,
> > is based on an internal RC oscillator, and will vary between PICs.
> > All this means that the PICs could be running the same program, but not
> > always the same instruction at the same time, with obvious consequences.
> At 00:24 17/08/99 +1000, you wrote:
> >"The outputs are 11 Leds each at the 60 ma. level" should read "The
> >are 11 Leds each at the 16 ma. level"
Nigel Orr wrote:
> Why did you need to parallel the PICs, in that case? Each output can
> easily drive 16mA, even with 11 at once, unless I'm missing something?
> It's interesting that it works, but your method isn't something I would
> ever hope to meet commercially, for a number of reasons-
An output can drive 16mA OK, but there is a limit on the maximum current any
particular port can sink or source in total. PortB can source a maximum of
100mA. 8x16=128mA which would be out of spec. It can however sink 150mA
which would mean that the second PIC wouldn't be required in this case,
although I suspect it'll start getting warm....
At 08:10 17/08/99 +0100, you wrote:
>An output can drive 16mA OK, but there is a limit on the maximum current any
>particular port can sink or source in total. PortB can source a maximum of
>100mA. 8x16=128mA which would be out of spec. It can however sink 150mA
>which would mean that the second PIC wouldn't be required in this case,
>although I suspect it'll start getting warm....
Someone else asked about this in an email, so I guess it must be
PIC-dependent- I'm currently working with 16c76 and similar, where the
maximum is 25mA sunk or sourced from any pin, 200mA sunk or sourced from
PORTA, PORTB and PORTE combined, and 200mA sunk or sourced from PORTC and
PORTD combined (PIC 16C7X databook, pg 201). Which PICs have lower
capacity- I've never noticed any figures less than 200mA in other devices?
... and all the nay-sayers jumped in. What a circus!
Yes, of course you should never do it, it's totally daft and so on.
It's in the tradition however of reverse-powered PICs glowing softly
red, or green or whatever out the quartz window, isn't it? And then
being re-programmed another hundred times.
Now who can tell of the PIC that DID set the equipment on fire? Add
it to the urban legends and pass on I say!
part 0 1619 bytes <META content=text/html;charset=iso-8859-1 http-equiv=Content-Type><!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN"><!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
<META content='"MSHTML 4.72.3616.1301"' name=GENERATOR>
<DIV><FONT color=#000000 size=2>Many thanks to all who provided the inputs I
lacked to evaluate my irresponsible Pic paralleling.</FONT></DIV>
<DIV><FONT color=#000000 size=2>As I look at my first creation I no longer see a
thing of beauty and a joy for ever but a sneaky little generator of random
pulses, a sheep in pyromaniacs clothing, even a battlefield of electronic
warriors never knowing if they are attacking or defending and the rules of
battle changing 2,500.000 times a second. I mourn the generations of ill
assorted gates harnessed together for decades now, rise times all at odds as
they attempt to provide some designers vision of enough drive for the next
stage. </FONT><FONT color=#000000 size=2>Perhaps an organisation for the
prevention of cruelty to silicon might be in order :-)</FONT></DIV>
<DIV><FONT color=#000000 size=2></FONT> </DIV>
<DIV><FONT color=#000000 size=2> TK</FONT></DIV>
<DIV><FONT color=#000000 size=2></FONT> </DIV>
<DIV><FONT color=#000000 size=2>p.s You can't put me off Pics so easily. I like
I hope my rather negative response wasn't taken in the wrong way. Reading
back it does sound a bit harsh, especially as this was your first post! The
thing is, it worked for you, and as long as you aren't going to sell your
creation for a living, then there's no problem. However, it's too easy to
do something like this, see that it works and assume that it's ok, when
there could be some big headaches around the corner.
I have to admitt, as a very quick and easy solution, it has it's merits. If
there was a reliable way of synchronising the two chips, then I might even
be tempted to use it in an emergency (at home) :o)
If you need to drive higer loads then consider using something like a
ULN2803 which is a DIL packaged with 8 darlington transistors, each capable
of sinking 500mA at a maximum of 50 volts. They are pretty cheap, however
the main disadvantage is that you can only sink, not source current. But
for driving LED's this should usually be a problem.
>I hope my rather negative response wasn't taken in the wrong way. Reading
>back it does sound a bit harsh, especially as this was your first post!
>thing is, it worked for you, and as long as you aren't going to sell your
>creation for a living, then there's no problem. However, it's too easy
All taken in good humour Michael. As a slightly left handed thinker it is
almost impossible for me not to try these things. Look at it this way. Mr.
Hitler didn't get me, the Viet Minh and the Khymer Rouge missed so it seems
unlikely you guys will even dent my case hardening.
This is a good opourtunity to say that I have really learned a lot from all
the contributors to this list and consider it a valuable resource. Keep 'em