3

I am using a combination of Microchip PIC18F4520 and PIC16F73 in a controller which interfaces multiple heating systems for different applications. One huge issue I am running into is fossil fuel furnace / boiler spark igniter noise causing micros to reset. Does anyone have experience / tips on how to remedy this? We have isolation relays on the controller to isolate the furnace voltage from the controller voltage.

To this point, we've added another layer of external isolation relays to remedy this, but as you can guess, this is not acceptable for the end customer.

At this point I am thinking a low-pass filter may be a route to look at, but it seems this may end in the same result (system cycling).

Any tips would be appreciated.

Stephen Collings
  • 17,373
  • 17
  • 92
  • 180
becjasl
  • 251
  • 2
  • 9

1 Answers1

3

I've worked with PICs for the last five years in industrial settings, and I've kept a list of the causes of unexpected resets. It's reasonable to think your problem is in hardware and not software (though software shouldn't be completely discounted as a possibility!). The closest thing I've seen to what you describe is noise on the !MCLR pin. I've seen chips reset both because !MCLR is pulled low, and because it's pulled above the positive rail, even in situations where !MCLR should be disabled by the configuration bits. Do you have any local cap on the !MCLR pin?

Failing that, you might also check to make sure your five volt rail is stable during this event. Do you have local cap on that, immediately at the chip?

Stephen Collings
  • 17,373
  • 17
  • 92
  • 180
  • Thank you everyone for the feedback. I would agree that the issue is likely in hardware. The controller has no issue in scenarios where we're interfacing with a non-ignitor furnace. Each microcontroller has it's own .1uF cap on the !MCLR pin. Both !MCLR are enabled (via configuration bits). – becjasl Feb 12 '13 at 14:17
  • The above should read "non-spark ignitor furnace" – becjasl Feb 12 '13 at 15:56
  • .1 uF may not be large enough, surprisingly. I think we had .1 uF in one case and it still reset from noise. You might try increasing that to 1 uF. You could also disable the !MCLR pin to confirm whether !MCLR is, in fact, the problem. – Stephen Collings Feb 12 '13 at 18:50
  • Thank you for the feedback. I will reconfig and try it out. – becjasl Feb 22 '13 at 22:12