Author Topic: Recurring Microcontroller Faults in LED Driver Board  (Read 464 times)

0 Members and 1 Guest are viewing this topic.

Offline Kfirmaymon84Topic starter

  • Newbie
  • Posts: 5
  • Country: il
Recurring Microcontroller Faults in LED Driver Board
« on: November 09, 2024, 03:49:18 pm »
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 units
2. Shorts between VBat and GND on others

Despite 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, Vbat
GND, Direct GND connection.
Touchpad 1, to touch sensor 1
Touchpad 2, to touch sensor 2
Float/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 pin
2. Removing the ESD protection IC to see if this reduces failures

I’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.
 

Offline igendel

  • Frequent Contributor
  • **
  • Posts: 370
  • Country: il
    • It's Every Bit For Itself (Programming & MCU blog)
Re: Recurring Microcontroller Faults in LED Driver Board
« Reply #1 on: November 10, 2024, 09:25:23 pm »
Hi, long time no see  :)

I 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?
Maker projects, tutorials etc. on my Youtube channel: https://www.youtube.com/user/idogendel/
 

Offline ajb

  • Super Contributor
  • ***
  • Posts: 2766
  • Country: us
Re: Recurring Microcontroller Faults in LED Driver Board
« Reply #2 on: November 11, 2024, 09:34:04 pm »
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. 
« Last Edit: November 11, 2024, 09:36:11 pm by ajb »
 

Offline jwet

  • Frequent Contributor
  • **
  • Posts: 620
  • Country: us
Re: Recurring Microcontroller Faults in LED Driver Board
« Reply #3 on: November 11, 2024, 10:45:25 pm »
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.
« Last Edit: November 11, 2024, 10:52:01 pm by jwet »
 
The following users thanked this post: igendel

Offline igendel

  • Frequent Contributor
  • **
  • Posts: 370
  • Country: il
    • It's Every Bit For Itself (Programming & MCU blog)
Re: Recurring Microcontroller Faults in LED Driver Board
« Reply #4 on: November 12, 2024, 01:38:51 pm »
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.

Whether this is the cause of the OP's issue or not, it's a good observation and warning  :-+
Maker projects, tutorials etc. on my Youtube channel: https://www.youtube.com/user/idogendel/
 
The following users thanked this post: jwet

Offline mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 14102
  • Country: gb
    • Mike's Electric Stuff
Re: Recurring Microcontroller Faults in LED Driver Board
« Reply #5 on: November 12, 2024, 02:13:00 pm »
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.
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf