Author Topic: Part recommendation for many channels of PWM?  (Read 3895 times)

0 Members and 1 Guest are viewing this topic.

Offline naimisTopic starter

  • Contributor
  • Posts: 41
Part recommendation for many channels of PWM?
« on: November 02, 2013, 06:37:50 pm »
I'm starting to give a bit more thought about my RGB LED cube design and am searching for parts to experiment with.

The goal is to have an 8x8x8 cube of 24-bit RGB (8b per color). This is a total of 256 independently controlled RGB LEDs or 768 channels, however I anticipate using a POV scanning to bring that down to 64*3 at a time, which is how I've done the single-color cubes.

The original plan was to use an FPGA with a set of SPI-based (I2C being too slow) I/O expanders, scanning through the display at a rate of 8 layers * 256 PWM levels * 30 fps = 61,440 times per second. An alternative might be to use external PWM controllers, though I'm unsure how well that would work in a multiplexed situation.

I'm currently looking at PWM controllers on digikey and mouser, but there are a lot and I haven't yet seen a suitable one (digital, 8-bit level control).  If any of you more experienced people have parts you'd recommend or design considerations to suggest, I'd appreciate it. (Mike? :-) Meanwhile, I'll continue pouring through the parts pages.
 

Offline naimisTopic starter

  • Contributor
  • Posts: 41
Re: Part recommendation for many channels of PWM?
« Reply #1 on: November 03, 2013, 05:07:04 am »
I don't know if this helps you?

PCA9626B,118  IC, LED DRVR

 I stumbled on it a while ago while looking for something else. The part looked interesting at the time so I bookmarked it.

Looks like it could be useful. Bookmarked it in any case. Thanks!

 

Offline jeremy

  • Super Contributor
  • ***
  • Posts: 1079
  • Country: au
Re: Part recommendation for many channels of PWM?
« Reply #2 on: November 03, 2013, 07:53:50 am »
Look for the colorduino and the ICs it uses, I have one that drives a 8x8 RGB matrix with PWM on each colour. Fun little toy and costs barely anything.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Part recommendation for many channels of PWM?
« Reply #3 on: November 03, 2013, 04:39:59 pm »
Quote
61,440 times per second.

The amount of data that needs to be transmitted to support that kind of operation is probably beyond most mcus' capabilities.

Maybe you want to think out of the box and see if you can achieve most of what you want to fewer requirements.

For example, do you really need 8bit/ch pwm?
================================
https://dannyelectronics.wordpress.com/
 

Online mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 14192
  • Country: gb
    • Mike's Electric Stuff
Re: Part recommendation for many channels of PWM?
« Reply #4 on: November 03, 2013, 04:52:22 pm »
Look at the LEDs with built-in WS8211 control chips - you could run a  few rows on each string - easy to drive many strings from an FPGA.
NXP and TI do a decent range of PWM chips. e.g.PCA9635.
Muxing can work but you need to be synchronous with the PWM cycle - easy with the TI parts as they have a blank signal to start the cycle -not sure about the NXP ones - I used them once but didn't need to worry about syncing - looks like it may have been nontrivial, but they can take an external clock.

But those WS2811 LEDs are so cheap, for something like this it's a no-brainer to do it with those unless you need something smaller
 
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Offline naimisTopic starter

  • Contributor
  • Posts: 41
Re: Part recommendation for many channels of PWM?
« Reply #5 on: November 07, 2013, 12:15:54 am »
Quote
61,440 times per second.

The amount of data that needs to be transmitted to support that kind of operation is probably beyond most mcus' capabilities.

Never planned to do this project using microcontrollers. Or at the very least, whatever plans I may have had for using mcus were quickly squashed once I ran the numbers. No, right now this project is being planned around an FPGA.
 

Offline naimisTopic starter

  • Contributor
  • Posts: 41
Re: Part recommendation for many channels of PWM?
« Reply #6 on: November 07, 2013, 12:30:01 am »
Thanks for the input, Mike. Figured I could count on your expertise :-)  The synchronization issue has definitely been a concern in the back of my mind.  LEDs with built in chips sounds expensive (512 of them in this design), though I haven't looked for any yet :-)

One other thing that's been suggested to me is using a CPLD either for I/O alone or for both the I/O and the logic. The idea in any instance was that the FPGA or CPLD would hold a frame buffer that it would scan through and "paint" onto the cube using PWM. I hadn't quite worked out whether the frame buffer would be filled by the FPGA itself or by an external source, e.g. a PC, or both. It's been suggested that the CPLD might be able to drive the LEDs directly without additional switching (higher voltage/current capability than an FPGA). I haven't investigated this, however.

I have a Digilent Basys 2 board (Xilinx Spartan 3E) but the lack of tutorials makes it a pretty steep learning "curve".
 

Offline mazurov

  • Frequent Contributor
  • **
  • Posts: 524
  • Country: us
Re: Part recommendation for many channels of PWM?
« Reply #7 on: November 07, 2013, 01:23:18 am »
TLC5940 is the name of TI part, quite popular among Arduino ppl. In addition to PWM it has programmable current source for each channel so you can tune for parts with uneven brightness or use it directly for non-PWM brightness control.
With sufficient thrust, pigs fly just fine - RFC1925
 

Offline naimisTopic starter

  • Contributor
  • Posts: 41
Re: Part recommendation for many channels of PWM?
« Reply #8 on: November 09, 2013, 07:24:22 pm »
After doing a bit of poking, I don't think ws8211 is appropriate for this project.  A single-color 8x8x8 cube involves over 1000 solder joints. An RGB LED would nearly double that.  The ws8211 has even more connections and appears to be available only as surface mount or in strips, neither of which would work well for an LED cube.

Ordered three books from Digilent on FPGA design. Hopefully I'll learn something from them. Also going through the Xilinx ISE tutorial for at least the third time, trying to make sense out of it.

The sync issues make me thing more and more that I/O expanders or CPLD are the way to go. But it wouldn't hurt for me to pick up a few samples of the NXP and/or TI products to experiment with.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf