PIC Vpp and charge pumps

Hello again, folks.

I'm at a very unserious stage of exploration related to making a PIC programmer out of another MCU (PIC or otherwise). The signaling protocol part of it makes enough sense to me that I can deal with it later. The part I'm concentrating on at the moment is getting a suitable Vpp.

The PIC's Vpp line, in general, needs to be held at 12.5~13.5V to enter and remain in programming mode. For flash devices, it's used as a reference and not loaded (the ICSP guide rates current draw on Vpp pin at 200uA max for 16F8x).

The supply voltage would be 5V with no higher-voltage tap available, such as from a USB port. Let's also assume that for some reason I can't (or don't want to) source any flashy DC-DC converter ICs. But that's okay, because there are free pins on my MCU that can be used to operate a charge pump. I've seen people do it before...so can I get it to work?

Here's a design I derived from a different but similar circuit (monospace text):

. . 1uF + 1N5817 (Schottky) . P ------||------+----| +5V . V . 1uF + - 1N5817 . /P -----||------+ . V NTE143A . 22uF + - 1N5817 13.0V Zener . GND|----||------+--------+--/\\/\\---| +13V out

P and /P are pins on the MCU whose values alternate at a given frequency. I've tried several frequencies, and it seems as if higher frequencies provide higher, more stable voltages. Somewhat stable results start on the order of 1kHz. The thing seems to mostly work, though the output voltage tends to slide down significantly after the multimeter has been on it for a couple of seconds (I wonder how much current it draws...).

So, at this point, I'm wondering...

  1. Is there anything inherently unsafe about the above circuit?

  1. Is it more likely that my multimeter is drawing less than 0.2mA or more than 0.2mA?

  2. If the answer to #2 is "more", is there any better means of taking a reading?

  1. Are there any improvements you might suggest?

Thanks PSM, a guy who still knows little about the analog side of things

Reply to
Peter S. May
Loading thread data ...

Check out the pic kit 2 circuitry. They give you exactly what your looking for. In fact it is essentially what your tryign to do. They use the 18F2550, USB power, and a charge pump to create the programming voltage.

Reply to
Jon Slaughter

Incidentally, I looked at that schematic ages before I pursued this line of thinking, and I like the way they do it (even if I barely understand it). But I don't have any inductors on hand, and what I'm trying to make is somewhat targeted at people with less experience than even I have (it doesn't get much less) and playing with the notion of MacGyvering something together from a somewhat sparse junk box.

The design I posted is derived from the Wisp628 programmer, but I changed the rectifiers to Schottkys to get the voltage higher (I was having trouble getting it over 9V), then added the Zener to make it stay put (the changes occasionally, but not always, put it over 14V without the Zener).

It already seems like it works (aside from the meter causing it to discharge a bit too much), and I was just checking with the greater community to make sure it's sane and won't explode...and to ask whether I can expect the PIC not to drain the thing beyond utility.

Thanks PSM

Reply to
Peter S. May

For a simple test grab a 9volt battery and a 10K resistor. Measure the battery terminal voltage then measure with the 10K resistor in series with the meter. Subtract the second result from the first to get the voltage across the resistor then use V=IR to calulate how much current is flowing.

You have not said if your meter is analog or digital. Even the cheapest digital meter can be considered broken if it draw more than microamps on a low DC volts range. A cheap analog meter will draw somthing in the region of a few milliamps.

Bob

Reply to
Bob

dunno

dunno

dunno

View in a fixed-width font such as Courier.

. . . . . (Schottky) . 1uF + 1N5817 . P --------------||------+----| +5V . V . 1uF + - 1N5817 . /P ----- -------||------+ . V ------------- . 22uF + - 1N5817 | | . GND|------------||------+---------+ SEIKO LDO |-> +13V out . | | . | | . ------------- . | . | . --- . gnd . . . . . . . . .

Reply to
Fred Bloggs

It seems to work when I simulated it but some things I noticed but not sure. It seems that it might draw excessive current from the pic. I think though it will probably work fine if the load is small enough which is probably the case. It seems like adding a few transistors could work if more drive is needed. I imagine for the short programming time that it won't matter much in any case.

Reply to
Jon Slaughter

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.