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; Tue, 29 Dec 2020 10:30:43 -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 0BTIKMUm013198; Tue, 29 Dec 2020 13:21:29 -0500 Received: from outgoing-exchange-5.mit.edu (OUTGOING-EXCHANGE-5.MIT.EDU [18.9.28.59]) by PCH.mit.edu (8.14.7/8.12.8) with ESMTP id 0BTIKLlu013193 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Tue, 29 Dec 2020 13:20:21 -0500 Received: from oc11exedge2.exchange.mit.edu (OC11EXEDGE2.EXCHANGE.MIT.EDU [18.9.3.18]) by outgoing-exchange-5.mit.edu (8.14.7/8.12.4) with ESMTP id 0BTIJrHA010907 for ; Tue, 29 Dec 2020 13:20:20 -0500 Received: from oc11expo16.exchange.mit.edu (18.9.4.47) by oc11exedge2.exchange.mit.edu (18.9.3.18) with Microsoft SMTP Server (TLS) id 15.0.1293.2; Tue, 29 Dec 2020 13:19:59 -0500 Received: from oc11exhyb2.exchange.mit.edu (18.9.1.98) by oc11expo16.exchange.mit.edu (18.9.4.47) with Microsoft SMTP Server (TLS) id 15.0.1365.1; Tue, 29 Dec 2020 13:20:16 -0500 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.177) by oc11exhyb2.exchange.mit.edu (18.9.1.98) with Microsoft SMTP Server (TLS) id 15.0.1395.4 via Frontend Transport; Tue, 29 Dec 2020 13:20:16 -0500 Received: from MW4PR03CA0131.namprd03.prod.outlook.com (2603:10b6:303:8c::16) by CH2PR01MB5831.prod.exchangelabs.com (2603:10b6:610:3d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.31; Tue, 29 Dec 2020 18:20:13 +0000 Received: from CO1NAM11FT029.eop-nam11.prod.protection.outlook.com (2603:10b6:303:8c:cafe::7f) by MW4PR03CA0131.outlook.office365.com (2603:10b6:303:8c::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.27 via Frontend Transport; Tue, 29 Dec 2020 18:20:13 +0000 Received: from premium47-1.web-hosting.com (68.65.123.241) by CO1NAM11FT029.mail.protection.outlook.com (10.13.174.214) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.29 via Frontend Transport; Tue, 29 Dec 2020 18:20:13 +0000 Received: from 107-145-246-199.res.spectrum.com ([107.145.246.199]:50626 helo=[192.168.0.108]) by premium47.web-hosting.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from ) id 1kuJbL-000VMX-1P; Tue, 29 Dec 2020 13:20:12 -0500 From: Neil To: Microcontroller discussion list - Public. Sender: "piclist-bounces@mit.edu" Date: Tue, 29 Dec 2020 10:20:06 -0800 Subject: Re: [EE] Eliminating external noise through PS Thread-Topic: [EE] Eliminating external noise through PS Thread-Index: AdbeELhCqPxcwxKYQQKV6pC+6/nSYg== Message-ID: <5FEB7356.7020408@narwani.org> References: <5FCFC00E.8040703@narwani.org> <004f01d6cf54$9da13a80$d8e3af80$@functech.com> <5FD3D1E9.8040605@narwani.org> <5FD6A0DC.4010801@narwani.org> <5FD6AEAF.6090505@narwani.org> List-Help: List-Subscribe: , List-Unsubscribe: , In-Reply-To: <5FD6AEAF.6090505@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: None (protection.outlook.com: narwani.org does not designate permitted sender hosts) dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=narwani.org ; s=default; h=Content-Transfer-Encoding:Content-Type:In-Reply-To: MIME-Version:Date:Message-ID:To:Reply-To:From:References:Subject:Sender:Cc: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=uOzMXg8ERgJvwf4Lf8+A3UJzMD+OPPMDGD6rJQzDwfE=; b=YET8lwEBWOT/KnyGN8HOSrY7FO bxpbHpHtFfjKz9RV73pI0kkPrqzE1x6ijPSMA8/1oB1qCsJeVW3LU9ICTBlyheZ9yfz/j1lG69r89 +JtGhHTx27q15UpCMcgvaQmeSjVZg8Yw9Og8GSiLkE3NcW1TaaLTGARof/5TLQzgIQlCoOT2QCNC2 /1Y+uz0GzZIniEHicQYTD1Adpj2gjRLIB5UwZ+EwYug/w9wx+L3o8fEQ/s587leODVVSD6ziiTbZb A0eSRO6zW4UfjO9wXy8qFEahdU8Vwc8AubYaLjhUSbAWrh45MZsj6InekvBNU/2APTUWyrfam//kj QhGr3e1Q==; authentication-results: spf=none (sender IP is 68.65.123.241) smtp.mailfrom=narwani.org; mit.edu; dkim=pass (signature was verified) header.d=narwani.org;mit.edu; dmarc=bestguesspass action=none header.from=narwani.org; user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 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-source-args: x-source-dir: x-antiabuse: Sender Address Domain - narwani.org x-source: x-authenticated-sender: premium47.web-hosting.com: ca4@narwani.org x-topics: [EE] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 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 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 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. Have y= ou >> considered a 4 layer PCB? A continuous dedicated ground plane layer woul= d >> drastically reduce the loop area (and thus susceptibility to EMI) of you= r >> traces. >> >> Otherwise, it may be worth considering moving the relays to a separate >> 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 120VAC >>> 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 to th= e >>> noise on the line. >>> >>> Either way, I haven't done my other tests yet since I took the pump wit= h >>> 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, just ab= ove >>>>> the relays... >>>>> http://orlandorobotbuilders.com/stuff/SMNoise/20201207-SMN-06.jpg >>>>> - James & Russell, in that diagram also, I labeled the paths for powe= r. >>>>> 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. Bu= t >>>>> yes, it's right up against the AC section, but as many components hav= e >>>>> 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 shou= ld >>>>> run two 3.3V regulators instead? I would think that the buck convert= er >>>>> 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. D= id >>>>> 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 that t= he >>>>> 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 the >>>>> 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 flyb= ack >>>>>> 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 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 occasionall= y >>>>>> releasing and causing big noise on the 5V bus. >>>>>> >>>>>>> -----Original Message----- >>>>>>> From: piclist-bounces@mit.edu On Behalf O= f >>>>> 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.jpg >>>>>>> >>>>>>> All has been great until we switched to a specific pump, which happ= ens >>>>> 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 parts w= ith >>>>> 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 120VAC >>> input >>>>>> wires >>>>>>> did not help. >>>>>>> I then tried to create a crude/uncalculated LC filter (which whatev= er >>>>>>> components I had on hand (33uh inductor and 1000uf capacitor, shoul= d >>> be >>>>>>> low ESR), then a Pi filter (added 680 uF capacitor), and those bare= ly >>>>> made >>>>>> a >>>>>>> dent. >>>>>>> Eventually I added another 0.1uf capacitor to the output side of th= e >>> 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 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 .