Motorized valve interfering with button? The 2019 Stack Overflow Developer Survey Results Are In Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)simulate pin as connect nowhereAlternative to wake on LANHow can I replace the functionality of a button with an arduino?Convert a NO push button into an On/Off buttonMacro Button for my Game Boy - Master button to press all buttons at onceArduino PIR relay with manual override switchHow does this push button work?Relay flashes during reset but not on power upPush-Button Voltage Spike (not debouncing)Replace mechanical switch with electrical switch or relay

Why can't wing-mounted spoilers be used to steepen approaches?

What was the last x86 CPU that did not have the x87 floating-point unit built in?

Is a pteranodon too powerful as a beast companion for a beast master?

How many people can fit inside Mordenkainen's Magnificent Mansion?

Arduino Pro Micro - switch off LEDs

short and long uuids under /dev/disk/by-uuid

Why did all the guest students take carriages to the Yule Ball?

RT6224D-based step down circuit yields 0V - why?

Derivation tree not rendering

How can I define good in a religion that claims no moral authority?

Does Parliament need to approve the new Brexit delay to 31 October 2019?

Are spiders unable to hurt humans, especially very small spiders?

verb not working in beamer even though I use [fragile]

Is this wall load bearing? Blueprints and photos attached

What are these Gizmos at Izaña Atmospheric Research Center in Spain?

Can a novice safely splice in wire to lengthen 5V charging cable?

Match Roman Numerals

What do you call a plan that's an alternative plan in case your initial plan fails?

"... to apply for a visa" or "... and applied for a visa"?

Python - Fishing Simulator

Simulating Exploding Dice

He got a vote 80% that of Emmanuel Macron’s

Semisimplicity of the category of coherent sheaves?

Is it ok to offer lower paid work as a trial period before negotiating for a full-time job?



Motorized valve interfering with button?



The 2019 Stack Overflow Developer Survey Results Are In
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)simulate pin as connect nowhereAlternative to wake on LANHow can I replace the functionality of a button with an arduino?Convert a NO push button into an On/Off buttonMacro Button for my Game Boy - Master button to press all buttons at onceArduino PIR relay with manual override switchHow does this push button work?Relay flashes during reset but not on power upPush-Button Voltage Spike (not debouncing)Replace mechanical switch with electrical switch or relay



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








6












$begingroup$


I have the following circuit:



circuit not working



The relay will basically be controlled by the Arduino (using pin 3), based on a value it's getting (from a NRF24L01 module). However, I also want the relay to be controllable via a button.






Problem:



Controlling the relay with the button is working fine WITHOUT the load (a 3-way motorized valve) being connected. When the load is connected, the button gets randomly pressed WHILE the valve is moving.






Based on this observation, I guess the 3-way motorized valve interferes with the button. Sadly, I cant figure out how to solve this error. I've spend several hours, with no success. Some things I've tried:



  • add flyback diodes around valve

  • attach the button in different ways

  • tried placing resistors

  • seperate the relay circuit from the rest, as it should ideally be (I was not succesfull doing this, because the transistor must be connected to the common ground? + the Arduino has the same power source as the 3-way valve..)

Another solution is (I think obviously) to seperate the relay circuit from the rest. But I can't figure out how to split the 12V power supply into two seperate power sources.






My temporary solution...



Since the button only gets randomly pressed WHILE the valve is moving, I've written my code to ignore the button during valve movement. I consider this as a temporary solution. I want to understand what exactly is going on and how to solve it.






Is the motorized valve interfering? How to solve this problem?










share|improve this question







New contributor




crisg1201 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$











  • $begingroup$
    The button is fine, the valve does not press it. Is this really your full schematic as well, decoupling and all?
    $endgroup$
    – awjlogan
    Apr 7 at 15:14










  • $begingroup$
    @awjlogan Yes this is the full schematic. There were some LEDs connected and the NRF24L01 module, but I've removed these for now. -- the button only is randomly pressed while the valve is moving.
    $endgroup$
    – crisg1201
    Apr 7 at 15:30











  • $begingroup$
    The button isn't pressed, but you are getting voltage induced on that pin, which is why it's appearing to be pressed. Simple things to try: some decoupling near the valve, check your wiring is neat and ground is a single point, stronger pull up on that pin, decoupling of that pull up, clamp diodes on the pin.
    $endgroup$
    – awjlogan
    Apr 7 at 15:38










  • $begingroup$
    When you mix high- and low-power stuff like this, layout becomes important. Post a picture, please. Clearly the valve is interfering with the button; a picture of your layout may show why.
    $endgroup$
    – TimWescott
    Apr 7 at 15:43






  • 6




    $begingroup$
    Really appreciate the red notice. I have seen a lot of stack exchange images popping up in google searches.
    $endgroup$
    – Whiskeyjack
    Apr 7 at 15:51

















6












$begingroup$


I have the following circuit:



circuit not working



The relay will basically be controlled by the Arduino (using pin 3), based on a value it's getting (from a NRF24L01 module). However, I also want the relay to be controllable via a button.






Problem:



Controlling the relay with the button is working fine WITHOUT the load (a 3-way motorized valve) being connected. When the load is connected, the button gets randomly pressed WHILE the valve is moving.






Based on this observation, I guess the 3-way motorized valve interferes with the button. Sadly, I cant figure out how to solve this error. I've spend several hours, with no success. Some things I've tried:



  • add flyback diodes around valve

  • attach the button in different ways

  • tried placing resistors

  • seperate the relay circuit from the rest, as it should ideally be (I was not succesfull doing this, because the transistor must be connected to the common ground? + the Arduino has the same power source as the 3-way valve..)

Another solution is (I think obviously) to seperate the relay circuit from the rest. But I can't figure out how to split the 12V power supply into two seperate power sources.






My temporary solution...



Since the button only gets randomly pressed WHILE the valve is moving, I've written my code to ignore the button during valve movement. I consider this as a temporary solution. I want to understand what exactly is going on and how to solve it.






Is the motorized valve interfering? How to solve this problem?










share|improve this question







New contributor




crisg1201 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$











  • $begingroup$
    The button is fine, the valve does not press it. Is this really your full schematic as well, decoupling and all?
    $endgroup$
    – awjlogan
    Apr 7 at 15:14










  • $begingroup$
    @awjlogan Yes this is the full schematic. There were some LEDs connected and the NRF24L01 module, but I've removed these for now. -- the button only is randomly pressed while the valve is moving.
    $endgroup$
    – crisg1201
    Apr 7 at 15:30











  • $begingroup$
    The button isn't pressed, but you are getting voltage induced on that pin, which is why it's appearing to be pressed. Simple things to try: some decoupling near the valve, check your wiring is neat and ground is a single point, stronger pull up on that pin, decoupling of that pull up, clamp diodes on the pin.
    $endgroup$
    – awjlogan
    Apr 7 at 15:38










  • $begingroup$
    When you mix high- and low-power stuff like this, layout becomes important. Post a picture, please. Clearly the valve is interfering with the button; a picture of your layout may show why.
    $endgroup$
    – TimWescott
    Apr 7 at 15:43






  • 6




    $begingroup$
    Really appreciate the red notice. I have seen a lot of stack exchange images popping up in google searches.
    $endgroup$
    – Whiskeyjack
    Apr 7 at 15:51













6












6








6


1



$begingroup$


I have the following circuit:



circuit not working



The relay will basically be controlled by the Arduino (using pin 3), based on a value it's getting (from a NRF24L01 module). However, I also want the relay to be controllable via a button.






Problem:



Controlling the relay with the button is working fine WITHOUT the load (a 3-way motorized valve) being connected. When the load is connected, the button gets randomly pressed WHILE the valve is moving.






Based on this observation, I guess the 3-way motorized valve interferes with the button. Sadly, I cant figure out how to solve this error. I've spend several hours, with no success. Some things I've tried:



  • add flyback diodes around valve

  • attach the button in different ways

  • tried placing resistors

  • seperate the relay circuit from the rest, as it should ideally be (I was not succesfull doing this, because the transistor must be connected to the common ground? + the Arduino has the same power source as the 3-way valve..)

Another solution is (I think obviously) to seperate the relay circuit from the rest. But I can't figure out how to split the 12V power supply into two seperate power sources.






My temporary solution...



Since the button only gets randomly pressed WHILE the valve is moving, I've written my code to ignore the button during valve movement. I consider this as a temporary solution. I want to understand what exactly is going on and how to solve it.






Is the motorized valve interfering? How to solve this problem?










share|improve this question







New contributor




crisg1201 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$




I have the following circuit:



circuit not working



The relay will basically be controlled by the Arduino (using pin 3), based on a value it's getting (from a NRF24L01 module). However, I also want the relay to be controllable via a button.






Problem:



Controlling the relay with the button is working fine WITHOUT the load (a 3-way motorized valve) being connected. When the load is connected, the button gets randomly pressed WHILE the valve is moving.






Based on this observation, I guess the 3-way motorized valve interferes with the button. Sadly, I cant figure out how to solve this error. I've spend several hours, with no success. Some things I've tried:



  • add flyback diodes around valve

  • attach the button in different ways

  • tried placing resistors

  • seperate the relay circuit from the rest, as it should ideally be (I was not succesfull doing this, because the transistor must be connected to the common ground? + the Arduino has the same power source as the 3-way valve..)

Another solution is (I think obviously) to seperate the relay circuit from the rest. But I can't figure out how to split the 12V power supply into two seperate power sources.






My temporary solution...



Since the button only gets randomly pressed WHILE the valve is moving, I've written my code to ignore the button during valve movement. I consider this as a temporary solution. I want to understand what exactly is going on and how to solve it.






Is the motorized valve interfering? How to solve this problem?







arduino button






share|improve this question







New contributor




crisg1201 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question







New contributor




crisg1201 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question






New contributor




crisg1201 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked Apr 7 at 15:07









crisg1201crisg1201

333




333




New contributor




crisg1201 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





crisg1201 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






crisg1201 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











  • $begingroup$
    The button is fine, the valve does not press it. Is this really your full schematic as well, decoupling and all?
    $endgroup$
    – awjlogan
    Apr 7 at 15:14










  • $begingroup$
    @awjlogan Yes this is the full schematic. There were some LEDs connected and the NRF24L01 module, but I've removed these for now. -- the button only is randomly pressed while the valve is moving.
    $endgroup$
    – crisg1201
    Apr 7 at 15:30











  • $begingroup$
    The button isn't pressed, but you are getting voltage induced on that pin, which is why it's appearing to be pressed. Simple things to try: some decoupling near the valve, check your wiring is neat and ground is a single point, stronger pull up on that pin, decoupling of that pull up, clamp diodes on the pin.
    $endgroup$
    – awjlogan
    Apr 7 at 15:38










  • $begingroup$
    When you mix high- and low-power stuff like this, layout becomes important. Post a picture, please. Clearly the valve is interfering with the button; a picture of your layout may show why.
    $endgroup$
    – TimWescott
    Apr 7 at 15:43






  • 6




    $begingroup$
    Really appreciate the red notice. I have seen a lot of stack exchange images popping up in google searches.
    $endgroup$
    – Whiskeyjack
    Apr 7 at 15:51
















  • $begingroup$
    The button is fine, the valve does not press it. Is this really your full schematic as well, decoupling and all?
    $endgroup$
    – awjlogan
    Apr 7 at 15:14










  • $begingroup$
    @awjlogan Yes this is the full schematic. There were some LEDs connected and the NRF24L01 module, but I've removed these for now. -- the button only is randomly pressed while the valve is moving.
    $endgroup$
    – crisg1201
    Apr 7 at 15:30











  • $begingroup$
    The button isn't pressed, but you are getting voltage induced on that pin, which is why it's appearing to be pressed. Simple things to try: some decoupling near the valve, check your wiring is neat and ground is a single point, stronger pull up on that pin, decoupling of that pull up, clamp diodes on the pin.
    $endgroup$
    – awjlogan
    Apr 7 at 15:38










  • $begingroup$
    When you mix high- and low-power stuff like this, layout becomes important. Post a picture, please. Clearly the valve is interfering with the button; a picture of your layout may show why.
    $endgroup$
    – TimWescott
    Apr 7 at 15:43






  • 6




    $begingroup$
    Really appreciate the red notice. I have seen a lot of stack exchange images popping up in google searches.
    $endgroup$
    – Whiskeyjack
    Apr 7 at 15:51















$begingroup$
The button is fine, the valve does not press it. Is this really your full schematic as well, decoupling and all?
$endgroup$
– awjlogan
Apr 7 at 15:14




$begingroup$
The button is fine, the valve does not press it. Is this really your full schematic as well, decoupling and all?
$endgroup$
– awjlogan
Apr 7 at 15:14












$begingroup$
@awjlogan Yes this is the full schematic. There were some LEDs connected and the NRF24L01 module, but I've removed these for now. -- the button only is randomly pressed while the valve is moving.
$endgroup$
– crisg1201
Apr 7 at 15:30





$begingroup$
@awjlogan Yes this is the full schematic. There were some LEDs connected and the NRF24L01 module, but I've removed these for now. -- the button only is randomly pressed while the valve is moving.
$endgroup$
– crisg1201
Apr 7 at 15:30













$begingroup$
The button isn't pressed, but you are getting voltage induced on that pin, which is why it's appearing to be pressed. Simple things to try: some decoupling near the valve, check your wiring is neat and ground is a single point, stronger pull up on that pin, decoupling of that pull up, clamp diodes on the pin.
$endgroup$
– awjlogan
Apr 7 at 15:38




$begingroup$
The button isn't pressed, but you are getting voltage induced on that pin, which is why it's appearing to be pressed. Simple things to try: some decoupling near the valve, check your wiring is neat and ground is a single point, stronger pull up on that pin, decoupling of that pull up, clamp diodes on the pin.
$endgroup$
– awjlogan
Apr 7 at 15:38












$begingroup$
When you mix high- and low-power stuff like this, layout becomes important. Post a picture, please. Clearly the valve is interfering with the button; a picture of your layout may show why.
$endgroup$
– TimWescott
Apr 7 at 15:43




$begingroup$
When you mix high- and low-power stuff like this, layout becomes important. Post a picture, please. Clearly the valve is interfering with the button; a picture of your layout may show why.
$endgroup$
– TimWescott
Apr 7 at 15:43




6




6




$begingroup$
Really appreciate the red notice. I have seen a lot of stack exchange images popping up in google searches.
$endgroup$
– Whiskeyjack
Apr 7 at 15:51




$begingroup$
Really appreciate the red notice. I have seen a lot of stack exchange images popping up in google searches.
$endgroup$
– Whiskeyjack
Apr 7 at 15:51










2 Answers
2






active

oldest

votes


















6












$begingroup$

One hardware solution is to add 100~1000pF at the input port.



and ensure Vdd-Vss has decoupling ~ 0.1uF near the chip.**



Of course, ignoring the switch for a period during activity will work, but the spike noise might in future interfere with something else. ( 20ms settling time?)



The reverse biased diodes ideally are across the switch, not the coil so that the current loop area continues to flow in the same path and direction as it decays rather than an abrupt dI/dt between the switch source and end of pair diode snubber.



The transient in valve current loop is mutually coupled to the high impedance loop area of the switch to internal pullup to gnd. This is a typical EMI issue that may be conducted or radiated or both. When the inductive valve load is released from the high side to a diode normally reverse biased on the opposite Rail. The diode current clamps the voltage spike and dissipates the inductor current slower (T=L/R) where the high side current switches from the contacts now to the forward biased diode on the opposite rail(0v).




This appears to try to shift the ground lower but more likely pulls down high impedance pull-up in the uC port towards the ground rail from wire (1pF/cm) and switch capacitance (1pF) from the negative edge trigger creating a false trigger.




There is also radiated negative EMF field during high side turn off negative voltage spike that can couple to the unshielded switch wire pair.



This suppresses the stray dV/dt noise with a bigger capacitance to bypass the induced current from stray capacitance (~10 pF) or mutual inductance with a larger capacitor ( but not too large) on the switch input either to Vss or Vdd depending on your choice for power-up such as 1nF near the IC.



You may or may not want the switch active during power-on reset, so use the cap from input to Vdd to prevent this.



The electromagnetic solutions would include, Shield twisted pairs (STP cable), orthogonal wire pairs for switch and load, Ferrite beads on both noise offender and receiver with small load capacitance (30pF).



But you aren't looking for high bandwidth here and just want to suppress the glitch so 100pF to 1nF should be plenty across the switch input.



The technical choice is to make pullup RC > L/Rdc where Rdc is now is the diode (<1 Ohm) and this reduces the dV/dt noise spike but not make it too big so that when the switch closes the cap stored energy does not burn the contact surface excessively but just enough to burn off any oxidation if not gold plated or carbon.



ALSO NOTE



Your 2A relay is only rated for 1A @ 30Vdc which means your valve current must not exceed 1A for long life, otherwise the plated burns off and Rs rises into rapid thermal ageing.






share|improve this answer











$endgroup$




















    5












    $begingroup$

    Without knowing exactly what's going on, here are things to try:



    • Decouple the 12V to the Arduino, with a series resistor from 12V and a cap from the Arduino's power input to ground. I'd look at the highest current consumption I expect from the Arduino, and choose a resistor that'd drop no more than 2V (1V by preference), and no more than about 220 ohms. Then use a 10$mu$F bypass cap.

    • Use an external pullup on the button, to make it stiffer. The Arduino's internal pullups are intentionally wimpy (to reduce power consumption) and vary (because they're made on silicon).

    • Place the button close to the Arduino. If you can't, shield the wire to the button using some shielded microphone cable or coax.

    • Review your grounding scheme carefully. Ideally, you'll bring the motor power and ground to the power supply separately from the Arduino power and ground.





    share|improve this answer









    $endgroup$












    • $begingroup$
      A series resistor in the power supply line is not generally the best plan. A diode would be much better, because that does what you need, which is stopping the motor draining the Arduino's power supply cap.
      $endgroup$
      – Graham
      Apr 8 at 7:38











    • $begingroup$
      It depends on what you're aiming for, and the kind of noise you're experiencing. But yes -- a diode may be better, in this case.
      $endgroup$
      – TimWescott
      Apr 8 at 15:26











    Your Answer






    StackExchange.ifUsing("editor", function ()
    return StackExchange.using("schematics", function ()
    StackExchange.schematics.init();
    );
    , "cicuitlab");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "135"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );






    crisg1201 is a new contributor. Be nice, and check out our Code of Conduct.









    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f431264%2fmotorized-valve-interfering-with-button%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    6












    $begingroup$

    One hardware solution is to add 100~1000pF at the input port.



    and ensure Vdd-Vss has decoupling ~ 0.1uF near the chip.**



    Of course, ignoring the switch for a period during activity will work, but the spike noise might in future interfere with something else. ( 20ms settling time?)



    The reverse biased diodes ideally are across the switch, not the coil so that the current loop area continues to flow in the same path and direction as it decays rather than an abrupt dI/dt between the switch source and end of pair diode snubber.



    The transient in valve current loop is mutually coupled to the high impedance loop area of the switch to internal pullup to gnd. This is a typical EMI issue that may be conducted or radiated or both. When the inductive valve load is released from the high side to a diode normally reverse biased on the opposite Rail. The diode current clamps the voltage spike and dissipates the inductor current slower (T=L/R) where the high side current switches from the contacts now to the forward biased diode on the opposite rail(0v).




    This appears to try to shift the ground lower but more likely pulls down high impedance pull-up in the uC port towards the ground rail from wire (1pF/cm) and switch capacitance (1pF) from the negative edge trigger creating a false trigger.




    There is also radiated negative EMF field during high side turn off negative voltage spike that can couple to the unshielded switch wire pair.



    This suppresses the stray dV/dt noise with a bigger capacitance to bypass the induced current from stray capacitance (~10 pF) or mutual inductance with a larger capacitor ( but not too large) on the switch input either to Vss or Vdd depending on your choice for power-up such as 1nF near the IC.



    You may or may not want the switch active during power-on reset, so use the cap from input to Vdd to prevent this.



    The electromagnetic solutions would include, Shield twisted pairs (STP cable), orthogonal wire pairs for switch and load, Ferrite beads on both noise offender and receiver with small load capacitance (30pF).



    But you aren't looking for high bandwidth here and just want to suppress the glitch so 100pF to 1nF should be plenty across the switch input.



    The technical choice is to make pullup RC > L/Rdc where Rdc is now is the diode (<1 Ohm) and this reduces the dV/dt noise spike but not make it too big so that when the switch closes the cap stored energy does not burn the contact surface excessively but just enough to burn off any oxidation if not gold plated or carbon.



    ALSO NOTE



    Your 2A relay is only rated for 1A @ 30Vdc which means your valve current must not exceed 1A for long life, otherwise the plated burns off and Rs rises into rapid thermal ageing.






    share|improve this answer











    $endgroup$

















      6












      $begingroup$

      One hardware solution is to add 100~1000pF at the input port.



      and ensure Vdd-Vss has decoupling ~ 0.1uF near the chip.**



      Of course, ignoring the switch for a period during activity will work, but the spike noise might in future interfere with something else. ( 20ms settling time?)



      The reverse biased diodes ideally are across the switch, not the coil so that the current loop area continues to flow in the same path and direction as it decays rather than an abrupt dI/dt between the switch source and end of pair diode snubber.



      The transient in valve current loop is mutually coupled to the high impedance loop area of the switch to internal pullup to gnd. This is a typical EMI issue that may be conducted or radiated or both. When the inductive valve load is released from the high side to a diode normally reverse biased on the opposite Rail. The diode current clamps the voltage spike and dissipates the inductor current slower (T=L/R) where the high side current switches from the contacts now to the forward biased diode on the opposite rail(0v).




      This appears to try to shift the ground lower but more likely pulls down high impedance pull-up in the uC port towards the ground rail from wire (1pF/cm) and switch capacitance (1pF) from the negative edge trigger creating a false trigger.




      There is also radiated negative EMF field during high side turn off negative voltage spike that can couple to the unshielded switch wire pair.



      This suppresses the stray dV/dt noise with a bigger capacitance to bypass the induced current from stray capacitance (~10 pF) or mutual inductance with a larger capacitor ( but not too large) on the switch input either to Vss or Vdd depending on your choice for power-up such as 1nF near the IC.



      You may or may not want the switch active during power-on reset, so use the cap from input to Vdd to prevent this.



      The electromagnetic solutions would include, Shield twisted pairs (STP cable), orthogonal wire pairs for switch and load, Ferrite beads on both noise offender and receiver with small load capacitance (30pF).



      But you aren't looking for high bandwidth here and just want to suppress the glitch so 100pF to 1nF should be plenty across the switch input.



      The technical choice is to make pullup RC > L/Rdc where Rdc is now is the diode (<1 Ohm) and this reduces the dV/dt noise spike but not make it too big so that when the switch closes the cap stored energy does not burn the contact surface excessively but just enough to burn off any oxidation if not gold plated or carbon.



      ALSO NOTE



      Your 2A relay is only rated for 1A @ 30Vdc which means your valve current must not exceed 1A for long life, otherwise the plated burns off and Rs rises into rapid thermal ageing.






      share|improve this answer











      $endgroup$















        6












        6








        6





        $begingroup$

        One hardware solution is to add 100~1000pF at the input port.



        and ensure Vdd-Vss has decoupling ~ 0.1uF near the chip.**



        Of course, ignoring the switch for a period during activity will work, but the spike noise might in future interfere with something else. ( 20ms settling time?)



        The reverse biased diodes ideally are across the switch, not the coil so that the current loop area continues to flow in the same path and direction as it decays rather than an abrupt dI/dt between the switch source and end of pair diode snubber.



        The transient in valve current loop is mutually coupled to the high impedance loop area of the switch to internal pullup to gnd. This is a typical EMI issue that may be conducted or radiated or both. When the inductive valve load is released from the high side to a diode normally reverse biased on the opposite Rail. The diode current clamps the voltage spike and dissipates the inductor current slower (T=L/R) where the high side current switches from the contacts now to the forward biased diode on the opposite rail(0v).




        This appears to try to shift the ground lower but more likely pulls down high impedance pull-up in the uC port towards the ground rail from wire (1pF/cm) and switch capacitance (1pF) from the negative edge trigger creating a false trigger.




        There is also radiated negative EMF field during high side turn off negative voltage spike that can couple to the unshielded switch wire pair.



        This suppresses the stray dV/dt noise with a bigger capacitance to bypass the induced current from stray capacitance (~10 pF) or mutual inductance with a larger capacitor ( but not too large) on the switch input either to Vss or Vdd depending on your choice for power-up such as 1nF near the IC.



        You may or may not want the switch active during power-on reset, so use the cap from input to Vdd to prevent this.



        The electromagnetic solutions would include, Shield twisted pairs (STP cable), orthogonal wire pairs for switch and load, Ferrite beads on both noise offender and receiver with small load capacitance (30pF).



        But you aren't looking for high bandwidth here and just want to suppress the glitch so 100pF to 1nF should be plenty across the switch input.



        The technical choice is to make pullup RC > L/Rdc where Rdc is now is the diode (<1 Ohm) and this reduces the dV/dt noise spike but not make it too big so that when the switch closes the cap stored energy does not burn the contact surface excessively but just enough to burn off any oxidation if not gold plated or carbon.



        ALSO NOTE



        Your 2A relay is only rated for 1A @ 30Vdc which means your valve current must not exceed 1A for long life, otherwise the plated burns off and Rs rises into rapid thermal ageing.






        share|improve this answer











        $endgroup$



        One hardware solution is to add 100~1000pF at the input port.



        and ensure Vdd-Vss has decoupling ~ 0.1uF near the chip.**



        Of course, ignoring the switch for a period during activity will work, but the spike noise might in future interfere with something else. ( 20ms settling time?)



        The reverse biased diodes ideally are across the switch, not the coil so that the current loop area continues to flow in the same path and direction as it decays rather than an abrupt dI/dt between the switch source and end of pair diode snubber.



        The transient in valve current loop is mutually coupled to the high impedance loop area of the switch to internal pullup to gnd. This is a typical EMI issue that may be conducted or radiated or both. When the inductive valve load is released from the high side to a diode normally reverse biased on the opposite Rail. The diode current clamps the voltage spike and dissipates the inductor current slower (T=L/R) where the high side current switches from the contacts now to the forward biased diode on the opposite rail(0v).




        This appears to try to shift the ground lower but more likely pulls down high impedance pull-up in the uC port towards the ground rail from wire (1pF/cm) and switch capacitance (1pF) from the negative edge trigger creating a false trigger.




        There is also radiated negative EMF field during high side turn off negative voltage spike that can couple to the unshielded switch wire pair.



        This suppresses the stray dV/dt noise with a bigger capacitance to bypass the induced current from stray capacitance (~10 pF) or mutual inductance with a larger capacitor ( but not too large) on the switch input either to Vss or Vdd depending on your choice for power-up such as 1nF near the IC.



        You may or may not want the switch active during power-on reset, so use the cap from input to Vdd to prevent this.



        The electromagnetic solutions would include, Shield twisted pairs (STP cable), orthogonal wire pairs for switch and load, Ferrite beads on both noise offender and receiver with small load capacitance (30pF).



        But you aren't looking for high bandwidth here and just want to suppress the glitch so 100pF to 1nF should be plenty across the switch input.



        The technical choice is to make pullup RC > L/Rdc where Rdc is now is the diode (<1 Ohm) and this reduces the dV/dt noise spike but not make it too big so that when the switch closes the cap stored energy does not burn the contact surface excessively but just enough to burn off any oxidation if not gold plated or carbon.



        ALSO NOTE



        Your 2A relay is only rated for 1A @ 30Vdc which means your valve current must not exceed 1A for long life, otherwise the plated burns off and Rs rises into rapid thermal ageing.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Apr 7 at 16:08

























        answered Apr 7 at 15:42









        Sunnyskyguy EE75Sunnyskyguy EE75

        71.5k227103




        71.5k227103























            5












            $begingroup$

            Without knowing exactly what's going on, here are things to try:



            • Decouple the 12V to the Arduino, with a series resistor from 12V and a cap from the Arduino's power input to ground. I'd look at the highest current consumption I expect from the Arduino, and choose a resistor that'd drop no more than 2V (1V by preference), and no more than about 220 ohms. Then use a 10$mu$F bypass cap.

            • Use an external pullup on the button, to make it stiffer. The Arduino's internal pullups are intentionally wimpy (to reduce power consumption) and vary (because they're made on silicon).

            • Place the button close to the Arduino. If you can't, shield the wire to the button using some shielded microphone cable or coax.

            • Review your grounding scheme carefully. Ideally, you'll bring the motor power and ground to the power supply separately from the Arduino power and ground.





            share|improve this answer









            $endgroup$












            • $begingroup$
              A series resistor in the power supply line is not generally the best plan. A diode would be much better, because that does what you need, which is stopping the motor draining the Arduino's power supply cap.
              $endgroup$
              – Graham
              Apr 8 at 7:38











            • $begingroup$
              It depends on what you're aiming for, and the kind of noise you're experiencing. But yes -- a diode may be better, in this case.
              $endgroup$
              – TimWescott
              Apr 8 at 15:26















            5












            $begingroup$

            Without knowing exactly what's going on, here are things to try:



            • Decouple the 12V to the Arduino, with a series resistor from 12V and a cap from the Arduino's power input to ground. I'd look at the highest current consumption I expect from the Arduino, and choose a resistor that'd drop no more than 2V (1V by preference), and no more than about 220 ohms. Then use a 10$mu$F bypass cap.

            • Use an external pullup on the button, to make it stiffer. The Arduino's internal pullups are intentionally wimpy (to reduce power consumption) and vary (because they're made on silicon).

            • Place the button close to the Arduino. If you can't, shield the wire to the button using some shielded microphone cable or coax.

            • Review your grounding scheme carefully. Ideally, you'll bring the motor power and ground to the power supply separately from the Arduino power and ground.





            share|improve this answer









            $endgroup$












            • $begingroup$
              A series resistor in the power supply line is not generally the best plan. A diode would be much better, because that does what you need, which is stopping the motor draining the Arduino's power supply cap.
              $endgroup$
              – Graham
              Apr 8 at 7:38











            • $begingroup$
              It depends on what you're aiming for, and the kind of noise you're experiencing. But yes -- a diode may be better, in this case.
              $endgroup$
              – TimWescott
              Apr 8 at 15:26













            5












            5








            5





            $begingroup$

            Without knowing exactly what's going on, here are things to try:



            • Decouple the 12V to the Arduino, with a series resistor from 12V and a cap from the Arduino's power input to ground. I'd look at the highest current consumption I expect from the Arduino, and choose a resistor that'd drop no more than 2V (1V by preference), and no more than about 220 ohms. Then use a 10$mu$F bypass cap.

            • Use an external pullup on the button, to make it stiffer. The Arduino's internal pullups are intentionally wimpy (to reduce power consumption) and vary (because they're made on silicon).

            • Place the button close to the Arduino. If you can't, shield the wire to the button using some shielded microphone cable or coax.

            • Review your grounding scheme carefully. Ideally, you'll bring the motor power and ground to the power supply separately from the Arduino power and ground.





            share|improve this answer









            $endgroup$



            Without knowing exactly what's going on, here are things to try:



            • Decouple the 12V to the Arduino, with a series resistor from 12V and a cap from the Arduino's power input to ground. I'd look at the highest current consumption I expect from the Arduino, and choose a resistor that'd drop no more than 2V (1V by preference), and no more than about 220 ohms. Then use a 10$mu$F bypass cap.

            • Use an external pullup on the button, to make it stiffer. The Arduino's internal pullups are intentionally wimpy (to reduce power consumption) and vary (because they're made on silicon).

            • Place the button close to the Arduino. If you can't, shield the wire to the button using some shielded microphone cable or coax.

            • Review your grounding scheme carefully. Ideally, you'll bring the motor power and ground to the power supply separately from the Arduino power and ground.






            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Apr 7 at 16:37









            TimWescottTimWescott

            6,8791416




            6,8791416











            • $begingroup$
              A series resistor in the power supply line is not generally the best plan. A diode would be much better, because that does what you need, which is stopping the motor draining the Arduino's power supply cap.
              $endgroup$
              – Graham
              Apr 8 at 7:38











            • $begingroup$
              It depends on what you're aiming for, and the kind of noise you're experiencing. But yes -- a diode may be better, in this case.
              $endgroup$
              – TimWescott
              Apr 8 at 15:26
















            • $begingroup$
              A series resistor in the power supply line is not generally the best plan. A diode would be much better, because that does what you need, which is stopping the motor draining the Arduino's power supply cap.
              $endgroup$
              – Graham
              Apr 8 at 7:38











            • $begingroup$
              It depends on what you're aiming for, and the kind of noise you're experiencing. But yes -- a diode may be better, in this case.
              $endgroup$
              – TimWescott
              Apr 8 at 15:26















            $begingroup$
            A series resistor in the power supply line is not generally the best plan. A diode would be much better, because that does what you need, which is stopping the motor draining the Arduino's power supply cap.
            $endgroup$
            – Graham
            Apr 8 at 7:38





            $begingroup$
            A series resistor in the power supply line is not generally the best plan. A diode would be much better, because that does what you need, which is stopping the motor draining the Arduino's power supply cap.
            $endgroup$
            – Graham
            Apr 8 at 7:38













            $begingroup$
            It depends on what you're aiming for, and the kind of noise you're experiencing. But yes -- a diode may be better, in this case.
            $endgroup$
            – TimWescott
            Apr 8 at 15:26




            $begingroup$
            It depends on what you're aiming for, and the kind of noise you're experiencing. But yes -- a diode may be better, in this case.
            $endgroup$
            – TimWescott
            Apr 8 at 15:26










            crisg1201 is a new contributor. Be nice, and check out our Code of Conduct.









            draft saved

            draft discarded


















            crisg1201 is a new contributor. Be nice, and check out our Code of Conduct.












            crisg1201 is a new contributor. Be nice, and check out our Code of Conduct.











            crisg1201 is a new contributor. Be nice, and check out our Code of Conduct.














            Thanks for contributing an answer to Electrical Engineering Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            Use MathJax to format equations. MathJax reference.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f431264%2fmotorized-valve-interfering-with-button%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Romeo and Juliet ContentsCharactersSynopsisSourcesDate and textThemes and motifsCriticism and interpretationLegacyScene by sceneSee alsoNotes and referencesSourcesExternal linksNavigation menu"Consumer Price Index (estimate) 1800–"10.2307/28710160037-3222287101610.1093/res/II.5.31910.2307/45967845967810.2307/2869925286992510.1525/jams.1982.35.3.03a00050"Dada Masilo: South African dancer who breaks the rules"10.1093/res/os-XV.57.1610.2307/28680942868094"Sweet Sorrow: Mann-Korman's Romeo and Juliet Closes Sept. 5 at MN's Ordway"the original10.2307/45957745957710.1017/CCOL0521570476.009"Ram Leela box office collections hit massive Rs 100 crore, pulverises prediction"Archived"Broadway Revival of Romeo and Juliet, Starring Orlando Bloom and Condola Rashad, Will Close Dec. 8"Archived10.1075/jhp.7.1.04hon"Wherefore art thou, Romeo? To make us laugh at Navy Pier"the original10.1093/gmo/9781561592630.article.O006772"Ram-leela Review Roundup: Critics Hail Film as Best Adaptation of Romeo and Juliet"Archived10.2307/31946310047-77293194631"Romeo and Juliet get Twitter treatment""Juliet's Nurse by Lois Leveen""Romeo and Juliet: Orlando Bloom's Broadway Debut Released in Theaters for Valentine's Day"Archived"Romeo and Juliet Has No Balcony"10.1093/gmo/9781561592630.article.O00778110.2307/2867423286742310.1076/enst.82.2.115.959510.1080/00138380601042675"A plague o' both your houses: error in GCSE exam paper forces apology""Juliet of the Five O'Clock Shadow, and Other Wonders"10.2307/33912430027-4321339124310.2307/28487440038-7134284874410.2307/29123140149-661129123144728341M"Weekender Guide: Shakespeare on The Drive""balcony"UK public library membership"romeo"UK public library membership10.1017/CCOL9780521844291"Post-Zionist Critique on Israel and the Palestinians Part III: Popular Culture"10.2307/25379071533-86140377-919X2537907"Capulets and Montagues: UK exam board admit mixing names up in Romeo and Juliet paper"Istoria Novellamente Ritrovata di Due Nobili Amanti2027/mdp.390150822329610820-750X"GCSE exam error: Board accidentally rewrites Shakespeare"10.2307/29176390149-66112917639"Exam board apologises after error in English GCSE paper which confused characters in Shakespeare's Romeo and Juliet""From Mariotto and Ganozza to Romeo and Guilietta: Metamorphoses of a Renaissance Tale"10.2307/37323537323510.2307/2867455286745510.2307/28678912867891"10 Questions for Taylor Swift"10.2307/28680922868092"Haymarket Theatre""The Zeffirelli Way: Revealing Talk by Florentine Director""Michael Smuin: 1938-2007 / Prolific dance director had showy career"The Life and Art of Edwin BoothRomeo and JulietRomeo and JulietRomeo and JulietRomeo and JulietEasy Read Romeo and JulietRomeo and Julieteeecb12003684p(data)4099369-3n8211610759dbe00d-a9e2-41a3-b2c1-977dd692899302814385X313670221313670221

            Creating closest line along the point''s azimuth using PostgreSQL Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Drawing line between points at specific distance in PostGIS?How to efficiently find the closest point over the dateline?How to find the nearest point by using PostGIS function?PostGIS nearest point with LATERAL JOIN in PostgreSQL 9.3+Creating a table and inserting selected streets using plpgsql functionsCreating a table that stores Distances and other columnSaving select query results (year wise) from PostgreSQL/PostGIS to text filesWhat is the information behind this geometry?How to give start and end vertex ids dynamically in pgr_dijkstra?Point to Polygon nearest distance DS_distance is not using geography index & knn <-> or <#> does not give result in orderLine to point conversion with start point and end point detection?

            Crop image to path created in TikZ? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Crop an inserted image?TikZ pictures does not appear in posterImage behind and beyond crop marks?Tikz picture as large as possible on A4 PageTransparency vs image compression dilemmaHow to crop background from image automatically?Image does not cropTikzexternal capturing crop marks when externalizing pgfplots?How to include image path that contains a dollar signCrop image with left size given