Relays and Microcontroller reset issue

Status
Not open for further replies.
Whats the value of the pullup resistor on the reset pin? If it isn't pulled up hard enough, some noise could cause a reset.

Also, there should be a register in the pic that would indicate the reason for the reset occurring.
 
How are the untis powered?
Do they all share one power supply?
OR
Does ech have its own supply?

What type of power supply are you using? eg. a plug pack.

As I understand your problem, when a relay is operated or released on one unit it can cause a reset on another.

Therefore, a transient pulse must be coming through thwe power supply or the data link.

Have you tried disconnecting the dta link from one and see if it still resets when a relay is operated or released on another?

Have you tried operating one unit from a 12 Volt battery in order to isolate it from the power supply? This would prove whether the pulse is coming via the supply line.

As emer dauz implied, you may need a low pass filter on the 12 Volt supply lines.
 
Last edited:
[any pointer?]

[attached is the detail drawing and the pcb layout ... ]
 

Attachments

  • Document0001.jpg
    69.7 KB · Views: 352
  • IMAG0010.jpg
    1.5 MB · Views: 314
Your 5 and 12 volt grounding paths on the PCB from the 2803A (9) and pic (19) share a long narrow twisty path that's a prime suspect for ground bounce when the relay switches.
 
Last edited:
Yes, you have a ground loop!!! The negative power supply return net from the PIC/analog stuff should have been keep entirely separate from the negative power supply return net from the relay coils/relay driver IC. Those two separated ground trace nets should have only one cross-connection on the PCB. The only place where the two nets are tied together is at the negative terminal of C8.
 
I agree with nsaspook & MikeMl.

Is it possible for you to make temporary changes to the PCB to eliminate the ground loop and separate the low & high current gnd tracks as MikeMl suggested?

However, I don't see how this would cause one unit to reset another. As I wrote above, I feel there must be some coupling through the power line or the data line.
 
Would you think that this will be a better modification to solve my problem?
Appreciate all comments.
 

Attachments

  • IMAG0010modified.jpg
    731.3 KB · Views: 252

I agree that it might not be the only problem. I really don't like the design of the AC part of the relay switching, with no zero crossing or snubbing on the contacts it's a monster EMI generator that IMO should be completely separated from the controller for reliable operation with this PCB design. I would ground or set to outputs any unused pins on the uC to get a little more immunity from noise and take a hard look at the xtal circuit for dropouts during AC switching arcing.
I've had my own problems with relays and controllers not being friendly, so I know what a pain it can be.

https://www.electro-tech-online.com/custompdfs/2010/08/AN2764.pdf
https://www.electro-tech-online.com/custompdfs/2010/08/AN2321.pdf
 
Last edited:
This is good advice. But it may not be necessary to move the relays to another PCB.

I have just completed a garage door opener controlled by a PIC.

It switches the motor on/off using relays mounted on the same PCB as the uP.

However, I connected a resistor in series with a capacitor across the relay contacts and have had no reset problems.

The values of the R & C need to be chosen according to the load characteristics.
 
reset suddenly occurs when spike appear around circuit due to insufficient supply current. i recommend u use switching mode power supply
 
what about MOV? can MOV make some changes?

You need to understand what you need to do.

When the relay contacts open, there is a large & rapid change in current & voltage.

This creates a wide spectrum EMI. So what you need to do is to slow down the change.

A MOV will certainly limit the maximum voltage but it will do little to slow the transient.

Whereas, a RC circuit will slow the transient and thus reduce the EMI.

I suggest that you do an internet search for "suppressing motor transients", "transient suppression", motor transient suppression, etc.

Please let us know what you find.
 
alternatively u are able to separate the supply between controller and load with optoisolator like PLC had.
 
I have attached an extract from my Garage door opener circuit for your information.

Note that the R & C values need to be selected according to the load characteristics.
 

Attachments

  • GDO extract.GIF
    6.8 KB · Views: 324
All uC ports are isolated with optoisolator. Do not use common power supply between controller and load
 
i had tried with MOV today. It suppress some spikes and bring the controller to a more stable state.
So far had not found any reset problem. And neighbour module does not affected with the switching too.
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…