Received: from PCH.mit.edu (18.7.21.50) by mail.efplus.com (192.168.0.8) with Microsoft SMTP Server (TLS) id 8.3.485.1; Wed, 30 Dec 2020 16:45:24 -0800 Received: from PCH.MIT.EDU (localhost.localdomain [127.0.0.1]) by PCH.mit.edu (8.14.7/8.12.8) with ESMTP id 0BV0asBN011182; Wed, 30 Dec 2020 19:37:29 -0500 Received: from outgoing-exchange-1.mit.edu (OUTGOING-EXCHANGE-1.MIT.EDU [18.9.28.15]) by PCH.mit.edu (8.14.7/8.12.8) with ESMTP id 0BV0aqDk011178 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Wed, 30 Dec 2020 19:36:52 -0500 Received: from w92exedge3.exchange.mit.edu (W92EXEDGE3.EXCHANGE.MIT.EDU [18.7.73.15]) by outgoing-exchange-1.mit.edu (8.14.7/8.12.4) with ESMTP id 0BV0apO8029435 for ; Wed, 30 Dec 2020 19:36:52 -0500 Received: from oc11expo12.exchange.mit.edu (18.9.4.17) by w92exedge3.exchange.mit.edu (18.7.73.15) with Microsoft SMTP Server (TLS) id 15.0.1293.2; Wed, 30 Dec 2020 19:36:13 -0500 Received: from oc11exhyb8.exchange.mit.edu (18.9.1.113) by oc11expo12.exchange.mit.edu (18.9.4.17) with Microsoft SMTP Server (TLS) id 15.0.1365.1; Wed, 30 Dec 2020 19:36:51 -0500 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.174) by oc11exhyb8.exchange.mit.edu (18.9.1.113) with Microsoft SMTP Server (TLS) id 15.0.1395.4 via Frontend Transport; Wed, 30 Dec 2020 19:36:51 -0500 Received: from BN1PR13CA0005.namprd13.prod.outlook.com (2603:10b6:408:e2::10) by DM5PR01MB2345.prod.exchangelabs.com (2603:10b6:3:46::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.29; Thu, 31 Dec 2020 00:36:50 +0000 Received: from BN8NAM11FT039.eop-nam11.prod.protection.outlook.com (2603:10b6:408:e2:cafe::98) by BN1PR13CA0005.outlook.office365.com (2603:10b6:408:e2::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.2 via Frontend Transport; Thu, 31 Dec 2020 00:36:50 +0000 Received: from mail-ej1-f42.google.com (209.85.218.42) by BN8NAM11FT039.mail.protection.outlook.com (10.13.177.169) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.29 via Frontend Transport; Thu, 31 Dec 2020 00:36:50 +0000 Received: by mail-ej1-f42.google.com with SMTP id ga15so23811125ejb.4 for ; Wed, 30 Dec 2020 16:36:50 -0800 (PST) Received: by 2002:a54:21cb:0:0:0:0:0 with HTTP; Wed, 30 Dec 2020 16:36:47 -0800 (PST) From: Jason White To: Microcontroller discussion list - Public. Sender: "piclist-bounces@mit.edu" Date: Wed, 30 Dec 2020 16:36:47 -0800 Subject: Re: [EE] Eliminating external noise through PS Thread-Topic: [EE] Eliminating external noise through PS Thread-Index: AdbfDjoNDCwsIAosRr6ZtabEZytewQ== Message-ID: References: <5FCFC00E.8040703@narwani.org> <004f01d6cf54$9da13a80$d8e3af80$@functech.com> <5FD3D1E9.8040605@narwani.org> <5FD6A0DC.4010801@narwani.org> <5FD6AEAF.6090505@narwani.org> <5FEB7356.7020408@narwani.org> <5FED1AF5.9000700@narwani.org> List-Help: List-Subscribe: , List-Unsubscribe: , In-Reply-To: <5FED1AF5.9000700@narwani.org> Reply-To: Microcontroller discussion list - Public. Accept-Language: en-US X-MS-Exchange-Organization-AuthAs: Anonymous X-MS-Exchange-Organization-AuthSource: TS500.efplus4.local X-MS-Has-Attach: X-Auto-Response-Suppress: All X-MS-Exchange-Organization-SenderIdResult: Pass X-MS-Exchange-Organization-PRD: mit.edu X-MS-TNEF-Correlator: received-spf: Pass (protection.outlook.com: domain of gmail.com designates 209.85.218.42 as permitted sender) receiver=protection.outlook.com; client-ip=209.85.218.42; helo=mail-ej1-f42.google.com; dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=7XaDViPezIQiT58o0zYZk0wDbkDZZuDb5qycnKD4lf8=; b=s0dt9U3grqHXrFPno3t+H4T1xohkuYGDNQMKDVile3U2d5bUYs3XJs+9ehCy3A24sW tMhA2MvvZ8iFWfgUte7PnWp8G57tXhaLaBu3QHIrOiIuU7j/NxM6oLCTU+AjYnYTcxYF lNTsetr3zjKg6VYZSNW/RRS0CLUrf+WPOZNAQn2/mj6Hav15hBqFmpHMWz+4YiFrz+uV jIKQwmyChaDAU3HnehyOh3WU0wZM2rIVgKzYNLdcs1aNGaWJWNJ8IZtYTNu7FNmhC+8f cb1JR//fur5Qfz+8xDM/y//ISHFy/htN/qMsg9S70WaZqZDO/m+jW9+87npcMLxz68kw wUwg== authentication-results: spf=pass (sender IP is 209.85.218.42) smtp.mailfrom=gmail.com; mit.edu; dkim=pass (signature was verified) header.d=gmail.com; mit.edu; dmarc=pass action=none header.from=gmail.com; errors-to: piclist-bounces@mit.edu list-id: "Microcontroller discussion list - Public." list-post: x-beenthere: piclist@mit.edu x-mailman-version: 2.1.6 x-received: by 2002:a17:907:414c:: with SMTP id od20mr51005582ejb.75.1609375008757; Wed, 30 Dec 2020 16:36:48 -0800 (PST) x-topics: [EE] x-content-filtered-by: Mailman/MimeDel 2.1.6 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Have you considered using the "poor man's" differential probe "trick" [1] to assess (partially) if the noise is being picked up by your leads? [1] https://www.eevblog.com/forum/beginners/poor-mans-differential-probe/ On Wednesday, December 30, 2020, Neil wrote: > Hmmm... not a current clamp, but I probably have a current sensor. Only > thing is that it would most probably be a high range (few 10's of amps > at least). > > I really need to research and get some better equipment one of these days= .. > > Cheers, > -Neil. > > > > On 12/29/2020 5:30 PM, Bob Blick wrote: > > Hi Neil, > > > > I've found that measuring current is quite often better than measuring > voltage when seeking out noise problems. I can be less convenient to do b= ut > at least where wires enter and exit the board it can be quite useful. Do > you have a current clamp you can attach to your scope? > > > > Cheerful regards, Bob > > > > ________________________________________ > > From: piclist-bounces@mit.edu on behalf of > Neil > > Sent: Tuesday, December 29, 2020 10:20 AM > > To: Microcontroller discussion list - Public. > > Subject: Re: [EE] Eliminating external noise through PS > > > > Happy holidays everyone. > > > > Okay, I got back to this recently and have a bunch of updates: > > > > For the tl;dr 'ers... I've got a lot of noise out, the processor does > > not crash anymore, but 2 questions remain: > > > > - Should I have the AC-outlet ground wire, coming onto the PCB and used > > as a shield? > > > > - If I hold the AC wire with my hand, the noise (as seen on the > > oscilloscope) drops (noticeably). Shielding the AC wire does not have > > the same effect, so what is happening here, and how can I use this to > > help reduce the noise even more? > > > > > > For the gory details, here's my summary of what I tried and found... > > > > For reference... > > http://orlandorobotbuilders.com/stuff/SMNoise/20201224-SMN-08.jpg , and > > noise is mostly in the few Mhz range and higher. > > > > - Ceramic cap across (DC) motor wires (right at the motor) helped a bit= .. > > - Low-pass filter helped minimally > > - Pi filter was a bit better, but still small impact. > > - Common mode choke (uncalculated, but should've been able to separate > > 60Hz from Mhz-range noise) didn't help. I am new to these, but > > apparently above some frequency the impedance drops again. > > - Ferrite across AC side of motor wires helped minimally. > > - Ferrite on incoming-power AC wires did not help > > - Removed relay (and jumper across contacts to run the pump) to see if > > noise was coming into board from that side, but nope. > > - Started from scratch with a minimal setup -- the AC-DC PS (no PCB), > > with wires soldered on for the incoming power and parallel wires to run > > the pump, and a 1k load resistor on the PS output. Still a lot of noise > > - Low-pass filter again helped reduce noise minimally. > > - Capacitance multiplier helped noticeably. > > - 2 more ceramic caps from each motor wire to ground/motor case (right > > at the motor) helped noticeably. > > - Twisted the AC wires to the motor tighter, and didn't really see any > > difference. > > - Back to original board, to use some of these, but too much voltage > > drop on capacitance multiplier to be usable. I should calculate this > > properly and find the right transistor for this. > > > > At this point, I have 3 @ 0.01uf ceramic caps at the motor and the pi > > filter and the board isn't crashing, but I can still see some noise on > > the scope, which I'd like to reduce even more. Going to try a > > multi-stage pi/LC filter. > > > > But I'm curious how to use the "phenomenon" where holding the AC wire i= n > > my hand reduces noise noticeably, to help this. > > > > > > Thanks, > > -Neil. > > > > > > > > On 12/13/2020 7:15 PM, Neil wrote: > >> That's a definite possibility at this point. The original circuit > >> (prior version) worked great with 2 layers, but I needed 2oz copper to > >> handle the pump current. > >> Never version works just as great. Or I should say "worked", until > >> they decided to switch from the AC pump to this DC pump. > >> > >> Cheers, > >> -Neil > >> > >> > >> > >> On 12/13/2020 6:58 PM, Jason White wrote: > >>> Neil, from the pictures it looks like you're using a 2 layer PCB. Hav= e > you > >>> considered a 4 layer PCB? A continuous dedicated ground plane layer > would > >>> drastically reduce the loop area (and thus susceptibility to EMI) of > your > >>> traces. > >>> > >>> Otherwise, it may be worth considering moving the relays to a separat= e > >>> board/area. > >>> > >>> On Sunday, December 13, 2020, Neil wrote: > >>> > >>>> I strongly feel so, because in my early tests, I: > >>>> (a) disconnected one of the pump wires (so the pump wouldn't run), a= nd > >>>> it was (expectedly) very clean (on the scope). > >>>> (b) disconnected both of the pump wires and plugged it into the fema= le > >>>> side of a PC power cord, so the pump ran, but was connected to 120VA= C > >>>> from a different source. Very clean power again. > >>>> In both cases, all else stayed the same including where the wires we= re > >>>> draped, etc. > >>>> > >>>> In other tests, I moved the scope, power lines, etc and no change to > the > >>>> noise on the line. > >>>> > >>>> Either way, I haven't done my other tests yet since I took the pump > with > >>>> me, so I'll get to those this week. > >>>> > >>>> Cheers, > >>>> -Neil. > >>>> > >>>> > >>>> On 12/11/2020 7:37 PM, Jason White wrote: > >>>>> Hi Neil, > >>>>> > >>>>> This may be a silly question: are you sure that some of these volta= ge > >>>>> spikes that you've captured on the scope are not artifacts of your > >>>>> measurement setup? The loop formed by the ground wire/clip on a sco= pe > >>>> probe > >>>>> makes a very effective antenna. Maybe your power rail is cleaner > than you > >>>>> think - in which case the true problem might be elsewhere. > >>>>> > >>>>> -Jason White > >>>>> > >>>>> On Fri, Dec 11, 2020 at 3:11 PM Neil wrote: > >>>>> > >>>>>> Sorry, disappeared for a couple days, but some quick answers to > >>>>>> everything for now, and my next steps: > >>>>>> > >>>>>> - Yes I have flyback diodes. Highlighted with yellow here, just > above > >>>>>> the relays... > >>>>>> http://orlandorobotbuilders.com/stuff/SMNoise/20201207-SMN-06.jpg > >>>>>> - James & Russell, in that diagram also, I labeled the paths for > power. > >>>>>> The 5V to the relays is pretty much dedicated and 5V is on the top > >>>>>> layer, and (dedicated) ground for the relays on the bottom layer. > But > >>>>>> yes, it's right up against the AC section, but as many components > have > >>>>>> been removed now, I will push that far away. > >>>>>> - The 3.3V regulator has been getting a bit warmer than I like, so= I > >>>>>> have been planning to use a buck converter instead. But maybe I > should > >>>>>> run two 3.3V regulators instead? I would think that the buck > converter > >>>>>> would be pass less of the noise through. > >>>>>> - I ran over there quickly to pick up stuff and tried a crude > >>>>>> (uncalculated) common-mode choke I made up from stuff I could find= .. > Did > >>>>>> not make in dent in the noise coming through. > >>>>>> See here... > >>>>>> http://orlandorobotbuilders.com/stuff/SMNoise/20201207-SMN-07.jpg > >>>>>> - I feel like Brent may be correct, that the noise may be coming > from > >>>>>> the relay side. The processor (ESP32) is resetting. I know it's > not a > >>>>>> firmware issue as it had zero crashes with the previous pump. > >>>>>> > >>>>>> > >>>>>> Adding some info: > >>>>>> The previous pump was a huge AC pump. This new pump is actually > DC, but > >>>>>> there's a bridge rectifier on the wires. So I'm now convinced tha= t > the > >>>>>> noise is coming from brushes. > >>>>>> I brought the pump with me, and I have a new blank board. My plan > is to > >>>>>> reproduce just enough of the circuit to see the noise, and I can > cut and > >>>>>> re-route traces (the 5V & ground to the relays) to see if helps. > >>>>>> I will also add a ceramic capacitor to the pump wires (right at th= e > >>>>>> pump), and hope that helps. Plus twist the wires. > >>>>>> > >>>>>> I'll be back with some results. > >>>>>> > >>>>>> Cheers, > >>>>>> -Neil. > >>>>>> > >>>>>> > >>>>>> > >>>>>> On 12/10/2020 7:28 PM, FTL wrote: > >>>>>>> This is almost too obvious, but in the schematic I do not see a > flyback > >>>>>>> diode across the relay to suppress the back EMF when the relay is > >>>> turned > >>>>>>> off. The lack of diode would cause a serious spike in the 5V supp= ly > >>>> when > >>>>>> the > >>>>>>> relay is turned off. > >>>>>>> > >>>>>>> Is the transistor being turned on hard enough to keep the relay o= n > >>>>>> properly. > >>>>>>> If it is not fully on with no flyback diode, maybe it is > occasionally > >>>>>>> releasing and causing big noise on the 5V bus. > >>>>>>> > >>>>>>>> -----Original Message----- > >>>>>>>> From: piclist-bounces@mit.edu On > Behalf Of > >>>>>> Neil > >>>>>>>> Sent: December 8, 2020 11:04 AM > >>>>>>>> To: Microcontroller discussion list - Public. > >>>>>>>> Subject: [EE] Eliminating external noise through PS > >>>>>>>> > >>>>>>>> Hi, > >>>>>>>> > >>>>>>>> I'm working on a device that takes 120VAC, converts to 5VDC with= a > >>>> PCB- > >>>>>>>> mounted power supply, then further reduces that to 3.3VDC with a > >>>> linear > >>>>>>>> regulator. > >>>>>>>> A 3.3V microcontroller switches a relay to power a 120VAC pump. > >>>>>>>> Overview... > >>>>>>>> http://orlandorobotbuilders.com/stuff/SMNoise/20201207-SMN-00.jp= g > >>>>>>>> > >>>>>>>> All has been great until we switched to a specific pump, which > happens > >>>>>> to > >>>>>>>> generate a LOT of conducted noise, which passes through the 5V > PS, and > >>>>>> the > >>>>>>>> 3.3V regulator, and causing the microcontroller to crash. > >>>>>>>> I did a bunch of tested and found that the noise is being > conducted > >>>>>>> through > >>>>>>>> the wires back to the board through the PS, through the linear > >>>>>> regulator, > >>>>>>> and > >>>>>>>> this is the 3.3V line... > >>>>>>>> http://orlandorobotbuilders.com/stuff/SMNoise/20201207-SMN-01.jp= g > >>>>>>>> > >>>>>>>> I was over at someone else's place so did not have a lot of part= s > with > >>>>>> me, > >>>>>>>> but... > >>>>>>>> Adding a bunch more 0.1uf bypass capacitors all over the board > did not > >>>>>>> help. > >>>>>>>> Changing the power supply from an IRM-10-5 (industrial spec, 200= mV > >>>>>>>> ripple) to MPM-10-5 (medical spec, 100mV ripple), helped reduce > the > >>>> rate > >>>>>>> of > >>>>>>>> the crashing... but the ripple itself wasn't causing crashing. > >>>>>>>> > >>>>>>>> Adding (non-specific size) ferrites to the pump wires, and 120VA= C > >>>> input > >>>>>>> wires > >>>>>>>> did not help. > >>>>>>>> I then tried to create a crude/uncalculated LC filter (which > whatever > >>>>>>>> components I had on hand (33uh inductor and 1000uf capacitor, > should > >>>> be > >>>>>>>> low ESR), then a Pi filter (added 680 uF capacitor), and those > barely > >>>>>> made > >>>>>>> a > >>>>>>>> dent. > >>>>>>>> Eventually I added another 0.1uf capacitor to the output side of > the > >>>> pi > >>>>>>> filter > >>>>>>>> and that helped enough to prevent the microcontroller crashing. > >>>>>>>> But there is still a lot of noise on the 3.3V line... > >>>>>>>> http://orlandorobotbuilders.com/stuff/SMNoise/20201207-SMN-02.jp= g > >>>>>>>> http://orlandorobotbuilders.com/stuff/SMNoise/20201207-SMN-03.jp= g > >>>>>>>> > >>>>>>>> FWIW, this is where it ended up... > >>>>>>>> http://orlandorobotbuilders.com/stuff/SMNoise/20201207-SMN-04.jp= g > >>>>>>>> > >>>>>>>> The noise is in the 7Mhz to 30Mhz range (prob even higher). > >>>>>>>> I feel like smaller, low-ESR ceramic caps should help, but I > doubt it > >>>>>> will > >>>>>>> take > >>>>>>>> out most of the noise. > >>>>>>>> What is the right type of filter to eliminate this noise? > >>>>>>>> > >>>>>>>> Cheers, > >>>>>>>> -Neil. > > -- > http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive > View/change your membership options at > http://mailman.mit.edu/mailman/listinfo/piclist > -- Jason White -- http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .