Electronics > Beginners

Need help finding high current drain on my PCB

(1/17) > >>

sailah:
Hi, thanks for reading my post.  First off I don't know enough to likely pose a decent question but I hope to learn so that I know what to ask an expert.  My real goal here is to find an expert that I can engage with to help finally hammer this issue and put it to rest.  My developer who built the circuit and firmware has tried to find the issue but it keeps happening.  My US contract manufacturer says there are no hardware issues that are obvious.

We build a simple PCB running the Murata CMWX1ZZABZ-078 LoRaWAN module which uses the STM32L0 MCU.  We followed the reference design.  We've now built 2K of these and they mostly work excellent.

However an alarmingly high number of devices (1-5%) will exhibit very high current drain and flatten a 14500 lithium primary cell in 1-5 months.  We've done extensive power profiling of these on our Keysight N6705C and a good PCB will show ~12µA continuous and a life of 13+years.  Devices that are behaving poorly are showing ~450µA drain.

I had purposely flashed 500 of these devices and found ~15 or so that dies prematurely.  Took a device that lasted 132 days and erased flash with STLink.  Reflashed with same firmware and it immediately rejoined the LoRa network as it should.  Left it overnight to stabilize the supercap.

Put on Keysight and datalogged power profile.  Marker 1 is typical, we are sampling 30x in 1 min.  Then it should be a log slope down to next sample at marker 2.  But 15 min in it goes all wonky.  I removed supercap and tested again, seeing 2.77mA resting.  Should be 12µA.

Hoping I can learn a bit more about debugging this.  I can do most things like solder/desolder, power profile, use DMM etc.  But anything above that is greek to me.  I do have an Agilent scope, Siglent VNA with probes, Keysight N6705C with SMU.  And I know what a good device should look like.  If you think you can help me, I'm happy to engage. 

Thx

sailah:
This is what a good device looks like for 1 hour.  Marker 1 shows our 1 minute sample, then recharging 0.47F supercap until next sample.  Looks like average over that hour is 11.7µA.

We thought it could be inputs on MCU "not pulled up/down" I forget but I believe we addressed that in firmware.

Tried removing power caps 1 at a time but I don't recall that made a difference.  We really thought it was firmware but I have no idea.

fcb:
Depending on how many channels you have (N6705C has 4 if fully loaded?) can you power the suspects (LAN, MCU, etc..) from seperate channels.  Perhaps prove which part is misbehaving?

How do the suspect units behave at low temperatures compared to the known good units?
Die revisions?
Are boot times IDENTICAL?

sailah:

--- Quote from: fcb on October 19, 2021, 02:10:27 pm ---Depending on how many channels you have (N6705C has 4 if fully loaded?) can you power the suspects (LAN, MCU, etc..) from seperate channels.  Perhaps prove which part is misbehaving?

How do the suspect units behave at low temperatures compared to the known good units?
Die revisions?
Are boot times IDENTICAL?

--- End quote ---

I have the N6705C loaded but just 1 SMU (N6781A) for battery drain analysis.  I guess I'll admit I wouldn't know how to power the various circuits separately.  If it involves cutting traces that's probably above my pay grade.

When you say die revisions I assume you are talking about the Murata module?  They were all from the same 1K reel so they should be identical.

I can try boot times and compare.  From memory, and I've looked at a lot of my datalogs, it's pretty darn close but I will check and compare this baddie with a good one to see if boot time is same.

Thx

Siwastaja:
Do binary search.

Cut power traces in half, measure the halves separately. You don't need many channels to do that. After you found which side is misbehaving, again cut that half and so on.

"Half" not necessarily meaning geometrical sides, but half the components, you know.

Even easier, just remove some parts completely, this might render the unit nonfunctional of course, but this lets you see if the problem disappears.

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version