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 22:19:59 -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 0BV67iXv017442; Thu, 31 Dec 2020 01:09:54 -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 0BV67bV8017439 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Thu, 31 Dec 2020 01:07:39 -0500 Received: from oc11exedge2.exchange.mit.edu (OC11EXEDGE2.EXCHANGE.MIT.EDU [18.9.3.18]) by outgoing-exchange-1.mit.edu (8.14.7/8.12.4) with ESMTP id 0BV67b28019952 for ; Thu, 31 Dec 2020 01:07:37 -0500 Received: from w92expo6.exchange.mit.edu (18.7.74.60) by oc11exedge2.exchange.mit.edu (18.9.3.18) with Microsoft SMTP Server (TLS) id 15.0.1293.2; Thu, 31 Dec 2020 01:07:18 -0500 Received: from oc11exhyb8.exchange.mit.edu (18.9.1.113) by w92expo6.exchange.mit.edu (18.7.74.60) with Microsoft SMTP Server (TLS) id 15.0.1365.1; Thu, 31 Dec 2020 01:07:37 -0500 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.172) by oc11exhyb8.exchange.mit.edu (18.9.1.113) with Microsoft SMTP Server (TLS) id 15.0.1395.4 via Frontend Transport; Thu, 31 Dec 2020 01:07:37 -0500 Received: from DM6PR14CA0046.namprd14.prod.outlook.com (2603:10b6:5:18f::23) by CY4PR0101MB3095.prod.exchangelabs.com (2603:10b6:910:43::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.31; Thu, 31 Dec 2020 06:07:35 +0000 Received: from DM6NAM11FT028.eop-nam11.prod.protection.outlook.com (2603:10b6:5:18f:cafe::4a) by DM6PR14CA0046.outlook.office365.com (2603:10b6:5:18f::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3721.19 via Frontend Transport; Thu, 31 Dec 2020 06:07:35 +0000 Received: from mail-il1-f169.google.com (209.85.166.169) by DM6NAM11FT028.mail.protection.outlook.com (10.13.173.140) 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 06:07:35 +0000 Received: by mail-il1-f169.google.com with SMTP id k8so16656332ilr.4 for ; Wed, 30 Dec 2020 22:07:35 -0800 (PST) From: David VanHorn To: Microcontroller discussion list - Public. Sender: "piclist-bounces@mit.edu" Date: Wed, 30 Dec 2020 22:07:22 -0800 Subject: Re: [EE] Eliminating external noise through PS Thread-Topic: [EE] Eliminating external noise through PS Thread-Index: AdbfPPgLcsj8MfwASOyA7ztWFfocjQ== 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> <5FED1A93.6050502@narwani.org> List-Help: List-Subscribe: , List-Unsubscribe: , In-Reply-To: <5FED1A93.6050502@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.166.169 as permitted sender) receiver=protection.outlook.com; client-ip=209.85.166.169; helo=mail-il1-f169.google.com; dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=XmUnqeF0ZVvwggJCUegL7B+2pyHA/pK65/cU6rhZoZA=; b=MUhc3kWCTjuik4/CQyUrUbW7CkBlibG1L+pT3NgAAWL4sdQFaQ9cqKnp3bEzNKZf3j CMnfnTySCnB4L37g2EeZ9lOnwHltIZRVXf45PtgSSflxM5EeB0ARUT1ZwUD8EGnFEdaT 7WUjchOeSXcKoYPF/wJqReB8tNsamMFKGMSRgWrzap2Ma/b6IV5EK94UF0f/Z+WQZHEG mLSnp9Fsxw1NPd+5o8K93vODEXIHGKrgZTIt0FNLL5wdp53MaqlwRiVh6ijiw3Jv9sdA MkyLvyDBGJrFYzBMW9Vno0sXTYIEMbY/sfTXoEu952Adk+XnM1Ds7luDXgzYiHy2Nnmf HUtg== authentication-results: spf=pass (sender IP is 209.85.166.169) 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:a92:cc85:: with SMTP id x5mr39756535ilo.144.1609394854217; Wed, 30 Dec 2020 22:07:34 -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 10k might be light. Try 1k pullup, and 100nF to ground? On Wed, Dec 30, 2020 at 5:26 PM Neil wrote: > Interesting thought... 10k pullup to +3v3. > > > > > On 12/29/2020 5:13 PM, David VanHorn wrote: > > What's your reset circuit look like? High enough impedances here can > > cause these problems. > > > > On Tue, Dec 29, 2020, 11:22 AM Neil wrote: > > > >> 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 use= d > >> 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 , an= d > >> noise is mostly in the few Mhz range and higher. > >> > >> - Ceramic cap across (DC) motor wires (right at the motor) helped a bi= t. > >> - 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 ru= n > >> the pump, and a 1k load resistor on the PS output. Still a lot of nois= e > >> - 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 = in > >> 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 t= o > >>> 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. Ha= ve > >> 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 separa= te > >>>> 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), > and > >>>>> it was (expectedly) very clean (on the scope). > >>>>> (b) disconnected both of the pump wires and plugged it into the > female > >>>>> side of a PC power cord, so the pump ran, but was connected to 120V= AC > >>>>> from a different source. Very clean power again. > >>>>> In both cases, all else stayed the same including where the wires > were > >>>>> draped, etc. > >>>>> > >>>>> In other tests, I moved the scope, power lines, etc and no change t= o > >> 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 > voltage > >>>>>> 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 > scope > >>>>> 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, jus= t > >> 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 to= p > >>>>>>> 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, s= o > 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 fin= d. > >> 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 th= at > >> the > >>>>>>> noise is coming from brushes. > >>>>>>> I brought the pump with me, and I have a new blank board. My pla= n > >> 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 t= he > >>>>>>> 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 i= s > >>>>> turned > >>>>>>>> off. The lack of diode would cause a serious spike in the 5V > supply > >>>>> when > >>>>>>> the > >>>>>>>> relay is turned off. > >>>>>>>> > >>>>>>>> Is the transistor being turned on hard enough to keep the relay = on > >>>>>>> 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 wit= h > 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.jpg > >>>>>>>>> > >>>>>>>>> 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.jpg > >>>>>>>>> > >>>>>>>>> I was over at someone else's place so did not have a lot of par= ts > >> 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, > 200mV > >>>>>>>>> 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 120V= AC > >>>>> 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 o= f > >> 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.jpg > >>>>>>>>> > http://orlandorobotbuilders.com/stuff/SMNoise/20201207-SMN-03.jpg > >>>>>>>>> > >>>>>>>>> FWIW, this is where it ended up... > >>>>>>>>> > http://orlandorobotbuilders.com/stuff/SMNoise/20201207-SMN-04.jpg > >>>>>>>>> > >>>>>>>>> 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 archiv= e > >>>>>>>>> View/change your membership options at > >>>>>>>>> http://mailman.mit.edu/mailman/listinfo/piclist > >>>>>>> -- > >>>>>>> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive > >>>>>>> View/change your membership options at > >>>>>>> http://mailman.mit.edu/mailman/listinfo/piclist > >>>>>>> > >>>>> -- > >>>>> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive > >>>>> View/change your membership options at > >>>>> http://mailman.mit.edu/mailman/listinfo/piclist > >>>>> > >> -- > >> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive > >> View/change your membership options at > >> http://mailman.mit.edu/mailman/listinfo/piclist > >> > > -- > http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive > View/change your membership options at > http://mailman.mit.edu/mailman/listinfo/piclist > -- http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .