I did some “mass production” of LED drivers:
The one with the big inductor is a 1W version. The inductor is much too big but I didn’t have a smaller one. The other boards are for 3W LEDs. More info can be found here.
I also assembled one of the light 2 boards:
As usual the bugs show up when assembling and plugging things together: The LED outputs have a wrong footprint and some connectors should be placed differently. Driver 1 and 3 should be swapped because now driver 1 and I/O share more or less the same place. ISP should be put where I/O is because I have to plug out driver 1 and 2 to be able to plug in ISP. Then I/O should go somewhere near driver 3. Or maybe I drop the usage of OC2B and combine I/O with driver 3… We’ll see
Another thing I could try now is the pulldown resistor at the DIM input of the LED driver. When a microcontroller (in this case an AVR) is connected to the DIM input things don’t work nice. While the microcontroller starts up its pin will be in input mode and not driving the pin. The LED driver will then be switched on until the microcontroller decides to drive the pin low. This causes a short flash when switching on or resetting the system. With the pulldown resistor on the DIM pin this does not happen. Very nice, I love it when a plan comes together!
A note on the feedback resistors of the step down converter: It’s not as easy as it looks (f.ex. EEVblog #110 – Let’s Design a DC to DC Switchmode Converter). I only have 5% resistors here so it’s very important to calculate the tolerance of the output voltage:
r1 = 3.3e3
r2 = 10e3
tolerance_percent = 5
r1min = r1 * (1.0 - 0.01 * tolerance_percent)
r1max = r1 * (1.0 + 0.01 * tolerance_percent)
r2min = r2 * (1.0 - 0.01 * tolerance_percent)
r2max = r2 * (1.0 + 0.01 * tolerance_percent)
vth = 1.25
vthmin = 1.21
vthmax = 1.29
vout = vth / r1 * (r2 + r1)
voutmin = vthmin / r1max * (r2min + r1max)
voutmax = vthmax / r1min * (r2max + r1min)
The result is 4.53V and 5.61V which is +-11%. This might be too much for the AVR in worst case. Let’s see what happens if I use 1% resistors: 4.80V and 5.28V which is around 4.5%. This looks much better. The tolerance now comes mostly from the threshold voltage tolerance of the MC34063.