Hi, I was building an adjustable PWM driver with 555 (circuit schematic below):
The LED Array is a salvaged one from a visualiser. It has some SMD LEDs with 300ohm resistors.
The batteries are 18650s. I measured the (800ma) current usage of the LED Array @ 12V beforehand.
Whilst the curcuit seems to be working as intended (dimming the LEDs), there is an extremely annoying high-pitched whine coming from the LEDs, which vanishes when I adjust the brightness all the way up. (The noise increased as I decreased the brightness of my circuit.) The problem still remained when I swopped with 2 other different LED arrays (this time, they are sets of 5mm through-hole LEDs from cheapo LED video lights). I tried adding inductors (Suggested by looking through Google) of different values, capacitors to filter the DC out (again, Google), and they don't work. I have checked the capacitors & resistors in my circuit (and they are all within spec), and swopped out the components for my backup ones. Still the same.
This has been bugging me for a few days now.
How can I remove that noise?
EDIT: Updated schematic. Adding a 1K cap indeed made that squeal mostly softer (still audible), but the frequency of the PWM signal is very unstable (not to mention reduced by a significant amount).
Measuring at the lower end of the brightness level without the 1000uF cap was a stable 30kHz, now it's fluctuating between 7-13kHz. The brightness of the LEDs are also reduced (though I admit this is a good side effect). Q1 now is also extremely hot (~70 Celsius without heatsink) and putting back the 1K resistor yielded the same result. To make sure it wasn't due to the 'wun hung lo' caps I was using, I swopped it for a Nippon cap. Same result.
Also, 150R resistor at R2 was too low a current to drive the transistor. The lowest value I could use was 500R.
The saga continues...
UPDATE2: I've spent some time experimenting more on the circuit and brainstorming a bit.
On a whim, I tried using my circuit to drive a brushless computer fan without any extra protection. Realised that was stupid after burning through 2 555s. It didn't even want to drive the fan at all.
Tried constant current drive, however the circuit drew 2A and I burned through my only 100k pot for some odd reason. Now I'm using a few resistors as voltage dividers in place of my pot to test.
To clarify, here is a quick sketch of the main LED Array I intend to use (as I have a few lying around), after reverse line tracing (not sure if this is the correct term):
There are 4 sets of this, all SMDs. Resistors are all 300R 0603s (metric unit). I noticed that on one of the arrays whose manufacture date is newer, they added 1 cap on each set of 3 LEDs and a large filter cap (all SMDs). The other 2 or 3 doesn't have them. My DMM reads 8µF, though it isn't historically reliable in capacitance measuring. Oddly, the newer array actually sings less than the others without the caps.
Needless to say, I would prefer mitigating as much singing as possible from all the LED Arrays I have.
Right now, I will try migrating everything to veroboard to try out once I purchase what I need from my local electronic parts mall. It will simulate the cramped conditions I need to shove everything into the size of a 3x18650 battery holder.
UPDATE3: I finally got around to shoving everything onto a veroboard. This board below is my 2nd attempt (I removed the caps for troubleshooting, see below):
(** The jumpers lead to the potentiometer)
Unfortunately, migrating to a veroboard caused more problems:
https://www.eevblog.com/forum/beginners/circuit-behaves-completely-differently-on-veroboard-from-breadboard/