Board or product to drive 15 PWM/analog outputs from USB/serial connection

analogpwmserialusb

Ok, Let me explain: I would like to drive 15 analogs (0-12V) signal from my computer (based on user interactions/other not-so-cool stuff).

This hardware has to be controlled over USB or Serial port or USB-to-serial adapter, keep in mind that this application will be installed on various OSs (I have to control this board from an application I already have, written in c# (for windows) and in java for linux (both with c++ parts))

I've considered using Arduino, there's one version with 15 PWM outputs and it should be possible to do exactly that.

I can "convert" PWM signals to voltage using a mosfet (and that's pretty easy).
Each output will require about 200mA.

Does anyone know a similar solution?

Best Answer

I would use something cheap and simple, like an Arduino, and an "LED display driver" chip. Then it does not matter how many PWM signals are on the MCU. In fact you could use a tiny MCU, maybe even an 8pin device. The "LED display driver" handles all of that.

Typically they drive LEDs directly, so dispense with any need for external transistors. Many have constant current source drivers, and so dispense with any need for external current-limiting resistors for the LEDs.

Many manufacturers make such chips, for example TI display drivers

Also Maxim Integrated

Many do PWM themselves. The PWM data is loaded over a serial channel (which could be done using SPI or bit banging), and the chip 'just does it'. Many use one external resistor to set the overall current for all of the LEDs.

Some come in DIP packages that you could prototype on a breadboard. Some cost under $2.

They can also be 'stacked' end-to-end, so if you need to add more PWM outputs, you'd just add another part.

If you wanted to strip out the MCU completely, you could get a USB-to-SPI chip. I think it is more awkward than using an MCU, e.g. an Arduino, but YMMV.