Hi folks, I am currently designing an LED stimulator for vision research and intend to control them via an Arduino. Before I order a bunch of components, I was wondering if those familiar with the Arduino could look over my design and make sure its feasible. I’ve included a pdf of the circuit diagram as well. The resistances are not noted in an effort to clean up the diagram, but you can still get the main idea.
The plan is to use common cathode RGB LED’s and drive them with an Arduino, via separate banks for each color for ease of color mixing. Since these LED’s must be tied together at ground (common cathode), I realized that the switch must be on the high side( I plan to use a p-Channel mosfet rated at 24V, 20A). This created another issue, since p-channel mosfets close when the gate is LOW, thus making the PWM unusable. So here’s what I am attempting to do to get around that issue: invert the outputs via a 74HCU inverter IC, amplify the voltage to Vcc with op-amps in order to fully close the transistor switch, and feed a bunch of current to the LEDs when the transistor sees LOW ( which is actually a HIGH Arduino output).
A couple other notes, I intend to control the intensity of the light with potentiometers ( that are referenced from 5.6 V to Vcc). These are connected to in such a way that I can read the value and display it to indicate intensity, as they will serve to control the current through the LEDs ( at first I wanted to use PWM, but its to slow for the fast (1-5 ms) pulses I desire). Also, the Zeners are intended to limit the maximum voltage across the LED banks.
If possible, please comment on the design and note ways I can improve it, or if it will not work, suggest ways I can make it do so! Thanks everyone!
LED Circuit.pdf (440 KB)