Need 64 pwm outputs that can source 25ma
jacksonliam wrote 11/06/2016 at 16:35 • 1 pointI'm thinking of re-doing the electronics to an old shift-register based 8x8x8 LED cube (uses 5v LEDs). I want to instead do fast pwm in hardware.
Unfortunately its built with the layers being common anode. So I need 64 individual pwm outputs which can source minimum 25ma. I'm happy to daisy chain ICs, but each IC must have >6 channels to reduce the part count. I don't want to use 64 individual ICs!
Nearly all of the LED drivers seem to be open drain/collector. The closest I can find is the 16 channel PCA9685 but it can only source 10ma. I'm also concerned I2C (Which the PCA9685 uses) may not be fast enough as I want to modify the 64 PWM values 480 times per second (60fps x 8 Layers). So perhaps I need an SPI based IC.
I'm thinking about using an open collector LED driver IC with a pull up resistor for each channel, but that will waste power (and I'm not sure if it would allow the LED to be completely off?).
I also thought about inlining some sort of PNP transisor/FET array or trying to find some kind of high side buffer/driver, but I'm not sure what I'm looking for. Do those sort of ICs switch fast enough for PWM and can they be driven from an open collector IC (I guess with 10k pullups)? If so is there a nice PWM IC that could drive a buffer/driver?
Also cost is a factor, I want to keep it under $20 ish of parts.
Suggestions?
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
Have a look at the Cypress PSoC 4200-L. 96 IOs rated to 25 mA
Are you sure? yes | no
Thanks that did look like a good candidate until I saw:
SID69A ITOT_GPIO Maximum Total Source or Sink Chip
Current
– – 200 mA Guaranteed by
characterization
So looks like max 200ma for the entire chip!
Are you sure? yes | no
Ah bummer, I hadn't caught that.
Are you sure? yes | no
You can consider to use CPLD and simple sot23 p mos , or better a FPGA.
Are you sure? yes | no
Which p mos would you recommend?
Are you sure? yes | no
No worries. You are right - cheap, this is not. Being this is HackaDay, I thought the design concepts and coding techniques might still be useful to you. Cheers!
Are you sure? yes | no
Have a look at the Pinscape project at http://mjrnet.org/pinscape. It is an open source solution that among other features includes the ability to drive 64 PWM channels at up to 4 amps each from a KL25Z. While this is designed to support virtual pinball cabinet builders, it has all the features you seek.
Are you sure? yes | no
Thanks but I think that might be a tad overkill and expensive for what I want. Also I'm not sure if that board is designed to source current, it looks like it uses N channel FETs which would make it a sink.
Are you sure? yes | no
I would think about using a microcontroller with 64+ outputs (atmega2560 for example) and some software PWM on 64 Pins. If 25mA needed you should also add some trasisitors to drive that.
Are you sure? yes | no
I could do that, though the atmega might actually cost more than a few pwm chips (like the PCA9685). What transistors would you recommend? I don't really want to use 64 individual ones.
Are you sure? yes | no
I would use some single mosfets. You could also think about using only 20mA direct from the microcontroller output. (or two outputs per LED in parallel). But the better way would be to arrange the led in some form of 2d Matrix.
Are you sure? yes | no