Coder Social home page Coder Social logo

multispectled's Introduction

MultiSpectLED

Array of 15 1W LEDs spanning 280nm to 940nm alt text

Notes: The 280nm LED has a forward voltage drop of between 5V and 7.5V depending on the voltage bin. This is higher that I expected when I designed the circuit, and it will not work if the power supply is really 5.0V. It should have a boost converter instead of a buck converter. However, I happened to receive an LED with a 5.1V drop, and my 5V wall adapter supplies 5.35V at 500mA, so the system works with the buck converter, just barely. This part of the circuit should be redesigned if 280nm is needed.

UPDATE: I added 0402 resistors near each buck controller. The "enable" pin on the PAM2804 buck controller is very high-impedance, and will float around while the MCU is being programmed. This causes bright flashes, and potentially can draw too much current from the supply, so pull-down resistors MUST be added between each PWM control line and ground. I haven't updated the PCB yet, and fixed it in the prototype by adding resistors:

alt text

The heatsink has a 45mm wide rasied section, and the PCB is designed so that all exposed copper is ground within this 45mm strip. I used the PCB itself as a drill guide to drill 2.5mm holes, and then tapped them M3. I used M3x4 screws to hold the PCB to the heatsink.

Originally, I planned to use Luxeon IR LEDs from Lumileds for the 850 and 940nm. The thermal pad on these is tied to the anode, so it will not work with the current PCB design. I replaced them with alternate parts with very similar footprint, and have updated the BOM and layout.

Heatsink and fan: https://www.amazon.com/dp/B00006B8EX The fan runs nice and quiet on 5V, and provides more than enough airflow

USB-C 5V 4A power adapter: Digikey 1597-106060004-ND This should have enough current capacity to run up to 8 LEDs at full power.

Each LED channel is configured for 500mA , which is set by the 0.2 ohm resistor and internal 0.1V reference of the buck controller IC, PAM2804. Dimming is achieved with PWM, and I used "software PWM" to get 15 separate channels from the Teensy-LC. The SoftPWM library defaults to 60Hz update, which I noticed flickering, so I edited SoftPWM.cpp to use 120Hz instead. MCUs with 15+ hardware PWM channels exist, but are more expensive, and not easy to find these days!

The Teensy-LC also provides easy programability for external triggering, remote control via USB serial, etc

The +5V power connection on the Teensy-LC between its USB micro plug and Vin pin should be cut. There is a thin link between two exposed pads on the underside for this purpose. This allows the Teensy to be powered only by the Vin pin, which is connected to the USB-C power rail in this design (it must be powered for programming). If the link is not cut, and both USB connections are made with mismatched voltages (eg 4.9V vs 5.3V), bad currents may flow.

Total cost is about $180, and the 280nm LED alone is $24

alt text .

alt text

Thermal performance looks very good. At 16C ambient, the hottest part is the inductor at 23C. alt text

multispectled's People

Contributors

benkrasnow avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.