Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

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:
How are the untis powered?
Do they all share one power supply?
OR [no]
Does ech have its own supply?
yes, each using own 12Vdc adapter]
What type of power supply are you using? eg. a plug pack.
[regulated switching power adapter 12Vdc 3A - similar to notebook adapter]
As I understand your problem, when a relay is operated or released on one unit it can cause a reset on another. [yes, it does happen, not every switch, but it does happen quite frequence]

Therefore, a transient pulse must be coming through thwe power supply or the data link. [i do not have the scope. it become quite difficult for me to troubleshoot the problem]

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

Have you tried operating one unit from a 12 Volt battery in order to isolate it from the power supply? [it is isolated since i use one adapter for each module] This would prove whether the pulse is coming via the supply line. [hmmm......]

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

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

Attachments

  • Document0001.jpg
    Document0001.jpg
    69.7 KB · Views: 344
  • IMAG0010.jpg
    IMAG0010.jpg
    1.5 MB · Views: 305
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
    IMAG0010modified.jpg
    731.3 KB · Views: 243
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.

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
    GDO extract.GIF
    6.8 KB · Views: 313
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.

Latest threads

New Articles From Microcontroller Tips

Back
Top