PDA

View Full Version : EPIC, Code programming error at 0000



shorton
- 27th May 2007, 00:34
Hi guys:

I've used the EPIC since 1995. I still have that one but use a slightly newer one these days. I am currently programming 16F628A DIPs (or trying to) via the EPIC 8-40 pin ZIF adapter. My EPIC has worked fine with no problems until today. I went to make a change on an existing program and I couldn't get it to program.

To make a long story shorter, apparently there's an issue with LPT1 on my main PC. I did recently install a HP officejet. Maybe that's what hosed it, can't tell.

So, needing to get these chips programmed, and of course as luck would have it, I was unable to find my meLabs software disc. Lacking that, I downloaded the meProg "beta" and installed it on my XP Pro Dell laptop.

Could not get it to program a chip either. Unlike the desktop, it was reading the chips, but would not program them. Gave the "...error at 0000".

I accidentally discovered if I kept trying, eventually it would program. Sometimes it takes 20-30 tries.

I followed *every* troubleshooting step on Melabs page. I also checked some of what was mentioned in other threads on the same subject here. No luck. My laptop has 3 protocol settings for the LPT port, tried all 3. I checked the 2 resistors under Q1, they are 1k's on my newer board (circa 99), they are 10k on the old board. I've checked both Reg's voltages, tuned Reg2 to 13.5 exactly. No luck. I tried fresh batteries instead and jumpered to use them, no luck. I normally use a surplus nice laptop external 18VDC PS, so to be sure it wasn't the culprit, I tried a differenty one, still no luck.

The laptop is pretty clean, has no print drivers, I have spoolsvc killed just to be thorough.

My ZIF board isn't one that calls for an modification as far as I could tell (mine says 04221 JMS no other visible part #), and the other mods indicate they are for other chips.

I've got 2 problems, one, how to figure out why meProg won't talk on my desktop's LPT port, but more related:

How do I get the EPIC to program reliably again?

I finally got my batch of chips done, but I need it to program every time, not every 35th.

Figures it would happen on a holiday weekend, when I need to get it done and Melabs is closed :(

Thanks for any help!
Scott

Pic_User
- 27th May 2007, 01:05
Hi Scott,
Sorry to hear about the EPIC problem.
Look at this tread, might help?
http://www.picbasic.co.uk/forum/showthread.php?t=1189
-Adam-

mister_e
- 27th May 2007, 02:01
make sure you also have the Parallel port polling patch for XP.
http://www.melabs.com/support/patches.htm#xppolling

error @0000 is often caused by a too low MCLR/Vpp voltage while programming, it should be close to 13V. I would suggest you to measure it, and make sure you have 0.1uF capacitor installed as close as possible of your PIC Vcc line.

You could also try to do it using the ICSP connector

http://www.melabs.com/images/icsp1.gif

Page link
http://www.melabs.com/support/icsp.htm

Darrel Taylor
- 27th May 2007, 02:01
Just a guess, but maybe installing that printer driver re-enabled "Printer Polling".

You might try the registry entries shown at the bottom of this page again.

Stop Windows XP from polling printer port
http://www.melabs.com/support/patches.htm

I also had to change the 7407 once. But I wasn't able to read the PIC, so that might not be it.

DOH! - beat me again Steve :)

mister_e
- 27th May 2007, 02:10
http://www.mister-e.org/Pics/Grimacehttp://www.mister-e.org/Pics/gnagnagna

Nice to hear about the 7407. Could be handy for all EPIC user.

At least we are two with the same suggestion :D

shorton
- 27th May 2007, 16:53
Hi guys. Thanks for the time to give suggestions but as I mentioned in the original post I tried every debug step on melabs page. Including:

- On both PC's I applied the polling registry edit. It had no visible effect.

- As for the 7407 I wouldn't think it would work sporatically. But I changed it to be sure, did not help.

re: the other thread, no suggestions there helped.


error @0000 is often caused by a too low MCLR/Vpp voltage while programming, it should be close to 13V. I would suggest you to measure it,See original post. Not only did I measure it, I adjusted Reg2 to be exactly 13.5.


0.1uF capacitor installed as close as possible of your PIC Vcc lineYou mean add one to the EPIC? I'm not doing ICP, just using the EPIC and ZIF adapter.

Just to avoid confusion, let's ignore the desktop issue. I'll deal with that later. Sticking to the laptop, all above applies, all debug suggestions tried. Using the laptop I can reliably read the 16F628A, but it will only program it sporatically. I don't change anything in meProg, I just click on burn, then OK on the ...0000 error, over and over. Eventually it will burn one.

mister_e
- 27th May 2007, 17:18
mmm, could be, but can you confirm you already program a 16F628A with the same programmer before?

Assuming there's no faulty/dirty/loose connector pin (DIP & Printer ones), your printer cable is OK and you don't have any switch-box in between... it has to work.

Apart of a cold joint, those on-Board Transistors is my last bet. Even if they test good with a multimeter, they could be lazy and/or leaky... Lazy electrolytic? mmmpfff

Bah why not change all parts on, as there only a few?

Sure a weird coincidence with the HP printer... In the HP Printer Properties, is the printer assign to a DOT port? let's say DOT4_001? Is the Enable printer pooling check box checked?

<IMG SRC="http://www.picbasic.co.uk/forum/attachment.php?attachmentid=1683&stc=1&d=1180283239">

EDIT: did you also try the EPIC.INI suggested modification?
http://www.melabs.com/support/epicini.htm

Now i'm out of idea :(

Darrel Taylor
- 27th May 2007, 21:56
I am currently programming 16F628A DIPs (or trying to) via the EPIC 8-40 pin ZIF adapter.

Have you tried using the socket ON the EPIC, instead of the 8-40 adapter?

_

shorton
- 27th May 2007, 23:27
Thanks again guys for the time to help.

Steve:

Yep, the 628A is all I have ever bought. Never owned a 628"plain". I have a couple tubes full. I got out my reading glasses and looked to be *sure* Digikey didn't mess up, they did not.

re the ini fix thing, yes I tried that too just to be thorough, but other than selecting the chip, and having some MRU files listed, all was identical. It was a clean software install.

Darrel:

Can't use the on-board socket, chip is too long.

FWIW, the laptop dosen't have a printer built at all.

The desktop printer's port is a TCP/IP printer. The printer is brand new, installed last week. It does not even have a parallel port. Was odd to me too that it might be the culprit, but HP is not on my good guys list when it comes to loading bloatware on my PC.

OK, here's some fun.... I decided I'd try to figure out what was wrong with the desktop. I had some barcodes to print today (via LPT1) so figured it would be a good test to see of LPT1 was even functional (on the desktop). I disconnected my EPIC programmer fromthe cable and connected it to the parallel cable end already hanging off the bar code printer (2 25-pin cables now). Printed some labels, worked fine. A little while later, I unhook the cable and connect it back into the programmer on the desktop, poof, programs like it always did. Does it every time now. Something about printing through the prarllel port seems to have unhosed it. Before, it would not even read a chip, much less program it. A read erroneously said the chip was blank (it wasn't). Not so much as a reboot has happened since it wasn't working. ???

So I figure maybe a cold solder joint as Steve suggested or a hardware issue that has cleared. Reconnect the laptop, same behavior, programs spoatically, although it was taking fewer tries this time. Back to desktop, works OK still.

Oh well. As long as the desktop works. I'll ask Charles next week.

CHeers, Scott

Darrel Taylor
- 27th May 2007, 23:42
Can't use the on-board socket, chip is too long.

If the chip is too long, then you don't have 16F628A's

The 628A is 18-pins, and the epic on-board socket is 18-pins.

_

shorton
- 28th May 2007, 00:39
DOH! You are right, I thought it was too small, I was wrong. It fits it fine. I bet I thought it was too small when I ordered the ZIF last year. Should have looked closer.

Anyway, thanks, I'll try the laptop with the on-board socket.

shorton
- 28th May 2007, 00:58
Now that I know it fits :o I tried the 628A in the on board socket. Same result. Took 40 attempts to get the laptop to program it. Hooked it back to the desktop, programmed 3 times in a row. Strange.

Darrel Taylor
- 28th May 2007, 01:19
Now i'm out of idea :(

Ditto!
<br>

mister_e
- 28th May 2007, 03:36
There's nothing a hammer can't fix http://www.mister-e.org/Pics/Mecontent08 :D

skimask
- 28th May 2007, 07:37
Now that I know it fits :o I tried the 628A in the on board socket. Same result. Took 40 attempts to get the laptop to program it. Hooked it back to the desktop, programmed 3 times in a row. Strange.

Had problems with mine awhile back, like 3 or 4 years ago...
Do you have any 'Temperature monitoring' or 'CPU monitoring' software running in the background?

My problem was (and it took me almost a year to figure this out) every time one of these programs would try to do an update (i.e. read a CPU temp, read a fan speed, etc), it would kick out my programmer software and dump somehow. And it was really sporadic since my 'monitoring software' would only do a read every minute, so I suppose I would get errors about 50% of the time because it usually takes less than a minute to program a PIC.

One day, for some reason, I decide to change my update rate to something like every 10 seconds. (Important point that I missed for about a year: Most of the time, it takes far less than a minute to program a PIC, but it almost always takes more than 10 seconds to program one). After I made that change, nothing worked, for about a month.

After awhile, again for some unknown reason, I decided to shut off all my monitoring programs (I haven't made the connection between the 2 events yet), everything started working great. It just didn't add up.

About 2 weeks after that, my girlfriend used my laptop and shut it off instead of putting it in standby like I always do.
Well, the reboot put the 'monitoring software' back into the '10 seconds between reads' mode and neither of my programmers worked again.
Now I made the connection... Every time the laptop's 'monitoring software' would read the CPUs temp or Fan speeds or whatever, it would cause my Warp13a OR my EPIC to error out at the exact moment that it was trying to do the read.

Funny thing is, this has only happened on my laptops, never on my desktops.
I don't know why, I don't care. I just run a clean system now without a crapload of stuff running in the tray.

shorton
- 29th May 2007, 00:26
Thanks for the suggestion. I don't have any monitoring software going. I've scoured the startup stuff via "hijackthis" and made sure I don't have anything running in the background that's not regular core windows junk.

Programming with the laptop fails instantly over and over until, oftern after about 30-40 tries it will "hit" and go on and program. It reads sucessfully every time, never fails. And it erases every time, too (set to erase before program), also never fails. Only the write fails and it appears to do so the instant it gets going. I guess 0000 is the first plae it tries and that is thus the error message.

Melabs told me a timing change to make in the 628A file. Haven't had time to try it yet.