Author Topic: Recommendations please – I2C or SPI controlled 2 channel 12 bit PWM driver  (Read 6072 times)

0 Members and 1 Guest are viewing this topic.

Offline Mr.BTopic starter

  • Supporter
  • ****
  • Posts: 1237
  • Country: nz
Hi all,

I don’t know if this is the appropriate place to post this…

I have recently been working with the NXP PCA9685, an I2C controlled 16 channel 12 bit PWM driver.
They are relatively cheap and easy to implement.

A design I am currently working on requires only 2 channels and the board needs to be fairly small. The PCA9685 is a bit of overkill with its 16 channels, and a bit physically large (TSSOP-28).
Can anyone recommend an I2C controlled 2 channel 12 bit (or more) PWM driver in a small SMD package?
I have hunted through Mouser search and cannot find anything suitable.

The device will be controlled by an ATmega328p-au, so the comms to the PWM chip can be either I2C or SPI.

Background to the design: ATmega328p-au, nRF24L01 radio, PWM driver, Power MOSFET x 2.
Forms the basis for a receiver module for dimmer control of 12vdc LED strip.
Transmitter/Controller yet to be designed.

Thanks in advance for any help.
I approach the thinking of all of my posts using AI in the first instance. (Awkward Irregularity)
 

Offline Kremmen

  • Super Contributor
  • ***
  • Posts: 1289
  • Country: fi
Any reason why you can't do it directly from the MCU? The 328 has 6 pwm channels built in.
Nothing sings like a kilovolt.
Dr W. Bishop
 

Offline Mr.BTopic starter

  • Supporter
  • ****
  • Posts: 1237
  • Country: nz
They are only 8 bit.
The first 20 or so steps of fade up look terrible.
Particularly if you are doing a slow fade - 0 to 100% over 10 seconds.

Thanks for your response anyway.
I approach the thinking of all of my posts using AI in the first instance. (Awkward Irregularity)
 

Offline PedroDaGr8

  • Super Contributor
  • ***
  • Posts: 1283
  • Country: us
  • A sociable geek chemist
They are only 8 bit.
The first 20 or so steps of fade up look terrible.
Particularly if you are doing a slow fade - 0 to 100% over 10 seconds.

Thanks for your response anyway.

What about the TLC5973. I just saw it mentioned in another thread.
The very existence of flamethrowers proves that some time, somewhere, someone said to themselves, "You know, I want to set those people over there on fire, but I'm just not close enough to get the job done." -George Carlin
 

Offline Mr.BTopic starter

  • Supporter
  • ****
  • Posts: 1237
  • Country: nz
Thanks for that.
I will have a good look through the data sheet tonight.

Cheers
I approach the thinking of all of my posts using AI in the first instance. (Awkward Irregularity)
 

Offline Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
In the same family there are also serial controlled devices (the TLC5973 is one wire protocol) like the TLC5970 which besides the 12 bit PWM has an additional 8 bit analog dimming.
Edit: The package of the TLC5970 does not meet your requirements  :(
« Last Edit: June 30, 2014, 08:35:03 am by Kjelt »
 

Offline Jeroen3

  • Super Contributor
  • ***
  • Posts: 4078
  • Country: nl
  • Embedded Engineer
    • jeroen3.nl
Quote
"One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture
Mode"
Whats wrong with timer/counter 2?

And you need a log function pwm to get linear brightness for your eyes.
 

Offline Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
or a LUT a bit more costly but fast and precise.
 

Offline miceuz

  • Frequent Contributor
  • **
  • Posts: 387
  • Country: lt
    • chirp - a soil moisture meter / plant watering alarm
What if you just slap in another micro that has two PWM channels on 16bit timer? I guess you can find a lot sot23-6 packaged micros from Microchip or Atmel to do that.

PCA9685 is an interesting part though, shame didn't stumble on it a while ago when I was looking for something like that, almost was going to do my own CPLD solution for that, luckily, the project didn't fly.


Offline Jeroen3

  • Super Contributor
  • ***
  • Posts: 4078
  • Country: nl
  • Embedded Engineer
    • jeroen3.nl
Great idea, keep rising the bill of material costs.  |O
 

Offline katzohki

  • Frequent Contributor
  • **
  • Posts: 378
  • Country: us
    • My Blog
This is an app note from Micro, but the concept applies to any micro you would want to use. Might give you inspiration?

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en560120
 

Offline filip_cro

  • Regular Contributor
  • *
  • Posts: 71
  • Country: hr
You can use 2 channel PWM on OCR1A and OCR1B.
 

Offline Mr.BTopic starter

  • Supporter
  • ****
  • Posts: 1237
  • Country: nz
Many thanks for all your input.
It looks to me like the TLC5973 will do the job nicely.

@katzohki
Thanks for the link. I will need to upskill myself on micros a bit more before I was to jump in to that.
However, the effort would be well worth it.
I approach the thinking of all of my posts using AI in the first instance. (Awkward Irregularity)
 

Offline Mr.BTopic starter

  • Supporter
  • ****
  • Posts: 1237
  • Country: nz
You can use 2 channel PWM on OCR1A and OCR1B.

Thanks for that suggestion.
After a bit more research it appears that I should be able to implement it within the MCU.
http://arduino.cc/en/Tutorial/SecretsOfArduinoPWM

I haven't read the full article yet... Looks like Saturday will be spent working through this.
I approach the thinking of all of my posts using AI in the first instance. (Awkward Irregularity)
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf