View previous topic :: View next topic |
Author |
Message |
Woody
Joined: 11 Sep 2003 Posts: 83 Location: Warmenhuizen - NL
|
MCLR reset on 16F88 |
Posted: Fri Jan 22, 2010 2:37 am |
|
|
Hi,
I'm having a peculiar problem with an already finished design. This uses a 16F88. On the PCB MCLR is tied to Vdd via 47K. Originally I planned to have MCLR active (MCLR fuse set).
There is also a programming connector on the PCB. This is a 6 pin Molex footprint in which I stuff a loose connector (connected to an ICD-U) for programming (a suggestion from someone on this forum years ago, great idea!) This connector footprint obviously has one pad that is connected to the MCLR pin.
The problem I found by accident is that whenever I touch the MCLR pad at the connector, the program resets. I thought, ah, of course: MCLR and ESD. So I set the NOMCLR fuse. This did not have any effect. The program still resets whenever I touch the MCLR pad.
If I look at the programming word (using CCSLOAD) the MCLR bit is not set so the code seems OK (the bit also toggles if I toggle the MCLR fuse in the program)
Is there something obvious that I missing here? I know that maybe the 47K in the MCLR circuit is too high but AFAICS from the data sheet having the MCLRE bit cleared should make the controller not 'look' at the MCLR pin at all.
Regards,
Paul |
|
|
filjoa
Joined: 04 May 2008 Posts: 260
|
|
Posted: Fri Jan 22, 2010 3:53 am |
|
|
hi
You try put an 10K resistor on MCLR and remove 47K.
If this don't work put the schematic there.
best regards |
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
Posted: Fri Jan 22, 2010 1:22 pm |
|
|
Quote: |
Whenever I touch the MCLR pad at the connector, the program resets.
So I set the NOMCLR fuse. This did not have any effect. The program still
resets whenever I touch the MCLR pad. |
The same problem is reported with other PICs on the Microchip forum:
http://www.microchip.com/forums/tm.aspx?m=64840
Will the ICSP pads be touched during normal operation of the product ?
Possible solutions:
These are not tested solutions. These are just ideas.
1. After programming, cover the pads with electrical tape, or glyptal,
or hot glue, or some other insulator.
2. Try soldering a 100 nF (0.1 uF) ceramic capacitor between MCLR
and ground on the ICSP connector. (After programming).
3. Or, try soldering a "Transorb" between MCLR and ground on the ICSP pads.
4. After programming, remove the 47K pull-up from the board, and
solder a 100 ohm resistor between MCLR and ground on the ICSP pads.
(Or if you don't care about the slight current draw, leave the 47K in).
Or do something else, involving modifying the external MCLR circuit
that can easily be done on your existing boards. |
|
|
Woody
Joined: 11 Sep 2003 Posts: 83 Location: Warmenhuizen - NL
|
|
Posted: Fri Jan 22, 2010 4:11 pm |
|
|
No, the pads will not be touched during normal operation of the product. And on the sample that is already in use for some time I put strips of tape on the programming connector pads and then plastified the entire PCB so I guess that will give me no problems. So far so good.
It does indeed seem that I am not the only one with this problem (I must admit that I was so convinced it was something I overlooked that I never looked further than this forum. I do wonder why it never bit me before though.
Anyway, thanks for your reaction, it helped me out.
Regards,
Paul |
|
|
|