So I'm dealing with an issue involving driving FCOB PWM control LED strips (BTF-LIGHTING) with my ESP32-S3. These are lights that are on my ceiling in my room, and are being used as general lighting. These strips are the non-addressable type, meaning I am controlling them by controlling the gate voltage of the MOSFET to turn on and off the LED's. The gate itself is controlled by an ESP32-S3.
Light Circuit Specs:
- LED Light strips are about 50 ft in length
- Power Supply I'm using is 24 V, 5 A
- Max LED Current/Power consumed is about 1.875A/45W (on the White Channel)
- Length of Power Supply 24V wires is about 10 ft
- Wire Gauge of Power Supply wires is 18 AWG
So my main issue is that when I just want to turn an LED color channel on at 100% brightness (i.e. turning MOSFET ON 100% of the time), then my lights are running as expected. But if I want to PWM my lights, then what happens is my circuit works as intended for a little bit, but then I start to see this “flash flickering effect” coming from my lights, which might be a sign the MCU is resetting itself. The lights will turn on for maybe 100 ms, turn off for 2 seconds, and the cycle will repeat. I'm only driving the white channel currently, so the current is just under 2 A. I'm not sure what the PWM frequency is since I don't have an oscilloscope, but I'm using the analogWrite function in Arduino. So I'm assuming for now it's 490 Hz. So the issue right now is that the MCU seems to reset itself continuously when I am PWMing my LED lights, and I'm trying to figure out how to fix it.
I've tried cutting the GND return trace and adding a jumper wire directly to the GND power input, I've tried adding a 470 μF bulk capacitor, and I've tried using a 10 A lab bench power supply, but the issue is still present. Maybe there's something obvious in my schematic or layout, but I'm mainly looking for advice for how to fix this.