I've been looking a the charge pump that Wouter uses on the wisp628
( http://www.voti.nl/wisp628/index.html ), and it got me thinking. I'm
planning to use a 16F870 in my "wisp628" clone, which means there will
be an otherwise unused PWM module, which could be used to drive a charge
pump with no software overhead (other than turning it on and off).
I've built and tested the circuit show at http://www.btinternet.com/~Peter.Onion/PIC/mclr.png . Driving it from
one of the pump outputs on a wisp628 rather than the PWM output it gives
4.65V (run) and 12.9V (prog) on !MCLR pin.
What do you think ? Can you foresee any problems with this idea ?
Look at PICkit 1 and you can use a boost converter
to do that. You can port Microchip's implementation
to the 16F870. A boost converter is much better than
a charge pump and will not really cost more (you
need an inductor but less diode and capacitors).
On Thu, 2005-06-23 at 09:37 +0800, Chen Xiao Fan wrote:
> Look at PICkit 1 and you can use a boost converter
> to do that. You can port Microchip's implementation
> to the 16F870. A boost converter is much better than
> a charge pump and will not really cost more (you
> need an inductor but less diode and capacitors).
Interesting. In this situation I think charge pumps are "better" as
they don't need the feed back and control to keep them from over-volting
the Vpp pin.
And the circuit in AN258 seems to be a recipe for the smoke to escape
from the transistor in the boot circuit if the PWM output stops in the
high state (Note I don't write bug free code so anything is possible).
>> Look at PICkit 1 and you can use a boost converter
>> to do that. You can port Microchip's implementation
>> to the 16F870. A boost converter is much better than
>> a charge pump and will not really cost more (you
>> need an inductor but less diode and capacitors).
>
>Interesting. In this situation I think charge pumps are "better" as
>they don't need the feed back and control to keep them from over-volting
>the Vpp pin.
The original ICD used PWM to drive a boost converter, but I don't believe it
has a feedback loop, just detection to know when it is turned on, and if the
voltage is too low it will not go into programming mode.
> Look at PICkit 1 and you can use a boost converter
> to do that. You can port Microchip's implementation
> to the 16F870. A boost converter is much better than
> a charge pump and will not really cost more (you
> need an inductor but less diode and capacitors).
A switched converter is much better at generating a specified Vpp,
independent of the input Vcc, with a lower impedance. But it also needs
an extra switcher transistor, a (less common) inductor, and it needs
software attention.
Wouter van Ooijen
-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu
> I've built and tested the circuit show at
> http://www.btinternet.com/~Peter.Onion/PIC/mclr.png . Driving it from
> one of the pump outputs on a wisp628 rather than the PWM
> output it gives
> 4.65V (run) and 12.9V (prog) on !MCLR pin.
It might be just a little bit low for a worst-case 16C84. Nearly all
other (newer) PICs should be OK. The impedance of the 12.9V might also
be a bit higher than with the 2-pin pump, so you will have trouble at
even higher values of the MCLR pull-up. And you might be in trouble a
bit faster when the Vcc is way lower than 5.0V. In general: all the
points where a Wisp628 must be trated with care will be a little bit
more 'probelematic' with this design.
PS: there is also a comparator in your chip, which you can use to create
the second pin of the pump, without software intervention. Not my idea,
but I forgot where I heard it first.
Wouter van Ooijen
-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu
On Thu, 2005-06-23 at 10:57 +0200, Wouter van Ooijen wrote:
> > I've built and tested the circuit show at
> > http://www.btinternet.com/~Peter.Onion/PIC/mclr.png . Driving it from
> > one of the pump outputs on a wisp628 rather than the PWM
> > output it gives
> > 4.65V (run) and 12.9V (prog) on !MCLR pin.
>
> It might be just a little bit low for a worst-case 16C84. Nearly all
> other (newer) PICs should be OK. The impedance of the 12.9V might also
> be a bit higher than with the 2-pin pump, so you will have trouble at
> even higher values of the MCLR pull-up.
I think running the charge pump from a higher frequency source reduce
the source impedance and minimise these sorts of problems ?
> And you might be in trouble a
> bit faster when the Vcc is way lower than 5.0V. In general: all the
> points where a Wisp628 must be trated with care will be a little bit
> more 'probelematic' with this design.
I'm only doing this for fun, so margin testing isn't something I'm
worried about at the moment. But now I know who to ask if I ever do
need to consider it ;-)
> PS: there is also a comparator in your chip, which you can use to create
> the second pin of the pump, without software intervention. Not my idea,
> but I forgot where I heard it first.
I was going to use a 16F870 (since I have some sitting doing nothing),
but as you point out the 16F628 has PWM and a comparator, so the "two
pin pump" circuit can be implemented with no software intervention...
> > And you might be in trouble a
> > bit faster when the Vcc is way lower than 5.0V. In general: all the
> > points where a Wisp628 must be trated with care will be a little bit
> > more 'probelematic' with this design.
>
> I'm only doing this for fun, so margin testing isn't something I'm
> worried about at the moment. But now I know who to ask if I ever do
> need to consider it ;-)
Not just margining. Also for instance running on USB power, or an 7805
which just happens to have a bad day.
Wouter van Ooijen
-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu
>-----Original Message-----
>From: spam_OUTpiclist-bouncesTakeThisOuTmit.edu [.....piclist-bouncesKILLspam@spam@mit.edu]
>Sent: 23 June 2005 09:42
>To: Microcontroller discussion list - Public.
>Subject: RE: [EE] Programming voltage generator
>
>
>On Thu, 2005-06-23 at 09:37 +0800, Chen Xiao Fan wrote:
>> Look at PICkit 1 and you can use a boost converter
>> to do that. You can port Microchip's implementation
>> to the 16F870. A boost converter is much better than
>> a charge pump and will not really cost more (you
>> need an inductor but less diode and capacitors).
>
>Interesting. In this situation I think charge pumps are
>"better" as they don't need the feed back and control to keep
>them from over-volting the Vpp pin.
That's true, the charge pump is inherently voltage limited. However, you can make a simple inductor based switcher that has no feedback and just uses a zener to clamp the output. Not suitable for higher powers, and efficiency is terrible of course, but would be fine for a Vpp generator.
Regards
Mike
=======================================================================
This e-mail is intended for the person it is addressed to only. The
information contained in it may be confidential and/or protected by
law. If you are not the intended recipient of this message, you must
not make any use of this information, or copy or show it to any
person. Please contact us immediately to tell us that you have
received this e-mail, and return the original to us. Any use,
forwarding, printing or copying of this message is strictly prohibited.
No part of this message can be considered a request for goods or
services.
=======================================================================
On Thu, 2005-06-23 at 13:24 +0200, Wouter van Ooijen wrote:
> > I'm only doing this for fun, so margin testing isn't something I'm
> > worried about at the moment. But now I know who to ask if I ever do
> > need to consider it ;-)
>
> Not just margining. Also for instance running on USB power, or an 7805
> which just happens to have a bad day.
I've just ordered a few schottky diodes to see if using them in place of
the silicon ones will up the voltage a bit.
Peter
> Wouter van Ooijen
>
> -- -------------------------------------------
> Van Ooijen Technische Informatica: http://www.voti.nl
> consultancy, development, PICmicro products
> docent Hogeschool van Utrecht: http://www.voti.nl/hvu
>
>
On Thu, 2005-06-23 at 13:03 +0100, Peter Onion wrote:
>
> I've just ordered a few schottky diodes to see if using them in place of
> the silicon ones will up the voltage a bit.
>
s/1N4148/BAT42/ 12.9V -> 14.0V :-)
In other words.... I took out the 1N4148s in my charge pump, and put
BAT42 Schottky diodes in their place. The output voltage has gone up
from 12.9V to 14.0V
> s/1N4148/BAT42/ 12.9V -> 14.0V :-)
>
> In other words.... I took out the 1N4148s in my charge pump, and put
> BAT42 Schottky diodes in their place. The output voltage has gone up
> from 12.9V to 14.0V
I think you should not compare the open (unloaded) voltages but with a
reasonable load (10..50 kohm). I dunno whether that will show a
different picture, probably not.
Wouter van Ooijen
-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu
On Thu, 2005-06-23 at 21:12 +0200, Wouter van Ooijen wrote:
> > s/1N4148/BAT42/ 12.9V -> 14.0V :-)
> >
> > In other words.... I took out the 1N4148s in my charge pump, and put
> > BAT42 Schottky diodes in their place. The output voltage has gone up
> > from 12.9V to 14.0V
>
> I think you should not compare the open (unloaded) voltages but with a
> reasonable load (10..50 kohm). I dunno whether that will show a
> different picture, probably not.
With the schottky diodes I'm getting 13.3V with a 22 k ohm load
resistor. I think your 2 pump circuit with silicon diodes should
theoretically give 3 x 5.0 - 3 x 0.6 = 13.2V off load.
A BAT42 reads 0.26V Vf on my test meter compared with 0.6V for the
1N4148, so the theoretical output should be 3 x 5.0 - 4 x 0.26 = 13.96V,
which is within experimental error.
So I think I'm "close enough for jazz" ;-) What say you ?
Plus it programmed a 16F828A with the extra load on.