Recurring Microcontroller Faults in LED Driver Board - Page 1
Forum section: electronics / projects

author: Kfirmaymon84
author_rank: Newbie
timestamp: November 09, 2024, 03:49:18 pm
content: Hello guys,I would love to get your opinion on an issue with one of our LED driver boards that only seems to manifest on the customer’s end, and I’m struggling to pinpoint the root cause.System Overview:The LED driver board is powered by a battery that connects via two magnetic touchpads. Key components include:Two capacitive touch sensor ICs,Buzzer for audio feedback,Buck-boost controller for consistent current regulation in the LED driver,Atmega4808 microcontroller for managing all user interface interactions.Problem Summary:The issue began when I started to get boards with Atmega4808 microcontroller overheating to the point where the heat deformed the product’s plastic casing.Initially, I suspected an ESD-related issue. To address this in the next board revision, I implemented the following changes:- Added 100mA PTC fuses on the microcontroller and touch sensor ICs.- Introduced ESD protection on the input connector.However, this resulted in a significant increase in returns, with around 20% of boards showing failures related to the ESD protection IC. Upon inspection, I observed:1. Shorts between the UPDI pin and GND on some units2. Shorts between VBat and GND on othersDespite various troubleshooting methods, I haven’t been able to reproduce these failures in our lab environment.More info:Battery Connector Pinout:The battery connector is configured as follows:Battery side, LED Driver side:Vbat via a 1.5A PTC, VbatGND, Direct GND connection.Touchpad 1, to touch sensor 1Touchpad 2, to touch sensor 2Float/GND, (depends on battery type) connected to Atmega4808 input with pull-up(Battery ID Pin)GND, UPDI (programming pin).Hypothesis and Potential Fixes:One potential issue could be the programming voltage. The Atmel ICE might be programming the microcontroller at 5V, whereas the VCC is around 3V. This discrepancy could damage the microcontroller during programming. As a corrective measure, I’m considering:1. Adding a 1k resistor in series with the UPDI pin and battery ID pin2. Removing the ESD protection IC to see if this reduces failuresI’ve attached the schematics for both Revision A and Revision B for review. I would appreciate any insights or suggestions you might have regarding this issue.Thank you in advance for your assistance.

author: igendel
author_rank: Frequent Contributor
timestamp: November 10, 2024, 09:25:23 pm
content: Hi, long time no seeI can't see anything particularly suspicious in the design, but I'm not an authority on such matters. Here are a few things I'd check and/or try in order to isolate the cause:1. What is the nature of the failure which you described as "related to the ESD protection IC"?2. Are the defective units defective from the first moment, or do things start to happen to them after some time?3. If you take a defective unit and replace only the MCU, does that fix the problem?4. Could there be any unwanted short circuits in the field - soldering issues, loose wires, metallic enclosure, over-tight screws, spilled water...?5. Is it possible that the customer handles the circuit somehow while it is live?

author: ajb
author_rank: Super Contributor
timestamp: November 11, 2024, 09:34:04 pm
content: I'm confused about how the battery connects. You say "The LED driver board is powered by a battery that connects via two magnetic touchpads" but then you show a six pin connector of some sort as the battery input. What kind of connector is it?If there is a six position connector to the battery that the user is plugging/unplugging, my immediate suspicion is that the users are able to partly mate the connector with it incorrectly aligned, so that gnd and/or vbat from the battery are temporarily connected to one or more signal lines. That would cause battery power to flow through the ESD diodes in the MCU or in your ESD protection device and into the power/ground nets for the rest of the board, or the diodes could end up fully reverse biased and effectively a short circuit across the battery depending on exactly how it's misconnected. That would absolutely cause the failures you're seeing, depending on which diodes end up handling that fault current. It could also explain why you see more failures with the ESD protection device, since that provides additional/different fault current paths via the Vbus/Gnd zener.(ESD diodes are only designed to handle transient events where the instantaneous power is high but the duration is short, so total energy is limited. On the other hand a continuous fault at comparatively very low power can quickly destroy them, and short circuits are a common failure mode for semiconductors.)You can defend against these problems by providing non-shorting protection on the signal lines, IE blocking diodes (rather than the shunting diodes you have already) and or current limiting resistors, and/or by ensuring the batter connector cannot be misconnected. Your polyfuse probably isn't really doing any good here -- they are waaaay too slow to protect semiconductors against a dead short.

author: jwet
author_rank: Frequent Contributor
timestamp: November 11, 2024, 10:45:25 pm
content: One thing that jumps out that has bitten me in the past is paralleling port pins as you have for the PWM port pins. If you have any condition in software, reset, etc where these can get out of sync as being ins or outs, etc, you have pins pulling pretty hard against each other. Old PICs were famous for losing the DDR setup and Microchip even recommended that you "refresh" the periodically. You can also get into problems with bit set or clear instruction, these use read modify right and can get screwed up. First place I'd look.

author: igendel
author_rank: Frequent Contributor
timestamp: November 12, 2024, 01:38:51 pm
content: Quote from: jwet on November 11, 2024, 10:45:25 pmWhether this is the cause of the OP's issue or not, it's a good observation and warning

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: November 12, 2024, 02:13:00 pm
content: If there are any signals on the battery connector, assume any pin can connect/disconnect in any order - that would explain both the initial failures and the subsequent ESD chip issues.What is probably happenning is that the thing is trying to power or ground itself via the ESD chip ( or MCU's input diodes) if power or ground don't mate first - that would explain those failures, both the heating due to latchup, and the ESD chip failures.Having external pins connect direct to the MCU is a bad idea.Some series resistors on the signal lines are probably all you need to fix this.