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; Sun, 13 Dec 2020 16:08:56 -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 0BDNwVkk019132; Sun, 13 Dec 2020 18:59:14 -0500 Received: from outgoing-exchange-7.mit.edu (OUTGOING-EXCHANGE-7.MIT.EDU [18.9.28.58]) by PCH.mit.edu (8.14.7/8.12.8) with ESMTP id 0BDNwUcM019110 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Sun, 13 Dec 2020 18:58:30 -0500 Received: from oc11exedge2.exchange.mit.edu (OC11EXEDGE2.EXCHANGE.MIT.EDU [18.9.3.18]) by outgoing-exchange-7.mit.edu (8.14.7/8.12.4) with ESMTP id 0BDNwOBc019315 for ; Sun, 13 Dec 2020 18:58:30 -0500 Received: from oc11expo11.exchange.mit.edu (18.9.4.16) by oc11exedge2.exchange.mit.edu (18.9.3.18) with Microsoft SMTP Server (TLS) id 15.0.1293.2; Sun, 13 Dec 2020 18:58:21 -0500 Received: from oc11exhyb4.exchange.mit.edu (18.9.1.100) by oc11expo11.exchange.mit.edu (18.9.4.16) with Microsoft SMTP Server (TLS) id 15.0.1365.1; Sun, 13 Dec 2020 18:58:24 -0500 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.173) by oc11exhyb4.exchange.mit.edu (18.9.1.100) with Microsoft SMTP Server (TLS) id 15.0.1395.4 via Frontend Transport; Sun, 13 Dec 2020 18:58:24 -0500 Received: from MWHPR22CA0061.namprd22.prod.outlook.com (2603:10b6:300:12a::23) by CY4PR01MB3223.prod.exchangelabs.com (2603:10b6:903:e6::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.20; Sun, 13 Dec 2020 23:58:22 +0000 Received: from CO1NAM11FT051.eop-nam11.prod.protection.outlook.com (2603:10b6:300:12a:cafe::f6) by MWHPR22CA0061.outlook.office365.com (2603:10b6:300:12a::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.12 via Frontend Transport; Sun, 13 Dec 2020 23:58:22 +0000 Received: from mail-ed1-f51.google.com (209.85.208.51) by CO1NAM11FT051.mail.protection.outlook.com (10.13.174.114) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.20 via Frontend Transport; Sun, 13 Dec 2020 23:58:22 +0000 Received: by mail-ed1-f51.google.com with SMTP id q16so15285507edv.10 for ; Sun, 13 Dec 2020 15:58:22 -0800 (PST) Received: by 2002:a54:21cb:0:0:0:0:0 with HTTP; Sun, 13 Dec 2020 15:58:19 -0800 (PST) From: Jason White To: Microcontroller discussion list - Public. Sender: "piclist-bounces@mit.edu" Date: Sun, 13 Dec 2020 15:58:19 -0800 Subject: Re: [EE] Eliminating external noise through PS Thread-Topic: [EE] Eliminating external noise through PS Thread-Index: AdbRrVDCyob9rERdTpmq2aL05Bc5Ug== Message-ID: References: <5FCFC00E.8040703@narwani.org> <004f01d6cf54$9da13a80$d8e3af80$@functech.com> <5FD3D1E9.8040605@narwani.org> <5FD6A0DC.4010801@narwani.org> List-Help: List-Subscribe: , List-Unsubscribe: , In-Reply-To: <5FD6A0DC.4010801@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: TempError X-MS-Exchange-Organization-PRD: mit.edu X-MS-TNEF-Correlator: received-spf: Pass (protection.outlook.com: domain of gmail.com designates 209.85.208.51 as permitted sender) receiver=protection.outlook.com; client-ip=209.85.208.51; helo=mail-ed1-f51.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=QglFo+qk8mVA1jjfVYOTjoAIOHREu0+Blnx07/0vVEI=; b=jlnXaxjUzaCD5epYx59Hu6vPLYLUD1cmP7hYuTccawuxqeumpfLAgDpYkNYFPnRGoO vizwuglzHPGuqH8ZnEzJbY9DyQlQQTpWp64LIKopfYUpOZL3bke6C+yQNf/+h8VIolAh 6Yu/ZzTO0m6bkhmpSs7dgyixvdcA0GskwgGCkucOmW2FbpamQKs/SIhrp5P/1M7NT4zQ uC/M/uFF196eyB76dGrfBVdJQzT+dxdzzxDPIhL5S2gMUwYPJAS/jbRozwExWaH1EU7n DuxUTndQDTnpZ13llPKzxd7WQbvzaYnb2XPRscLcyAXHwXyIGuyn9T7U8vXnfwCBYiqX 3f+w== authentication-results: spf=pass (sender IP is 209.85.208.51) 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:aa7:da07:: with SMTP id r7mr22253920eds.309.1607903900729; Sun, 13 Dec 2020 15:58:20 -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 Neil, from the pictures it looks like you're using a 2 layer PCB. Have 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 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 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 y= ou > > 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 abo= ve > >> 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 shoul= d > >> run two 3.3V regulators instead? I would think that the buck converte= r > >> 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. Di= d > >> 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, b= ut > >> there's a bridge rectifier on the wires. So I'm now convinced that th= e > >> 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 a= nd > >> 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 flyba= ck > >>> 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 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.jpg > >>>> > >>>> All has been great until we switched to a specific pump, which happe= ns > >> to > >>>> generate a LOT of conducted noise, which passes through the 5V PS, a= nd > >> 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 wi= th > >> me, > >>>> but... > >>>> Adding a bunch more 0.1uf bypass capacitors all over the board did n= ot > >>> 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 whateve= r > >>>> components I had on hand (33uh inductor and 1000uf capacitor, should > be > >>>> low ESR), then a Pi filter (added 680 uF capacitor), and those barel= y > >> 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.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 i= t > >> 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 > --=20 Jason White --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .