Electronics-Related.com
Forums

I2C to PWM IC

Started by Michael June 26, 2015
Michael schreef op 06/27/2015 om 02:15 PM:
> On Saturday, June 27, 2015 at 5:54:25 AM UTC-4, upsid...@downunder.com wrote: >> On Fri, 26 Jun 2015 13:10:29 -0700 (PDT), Michael >> wrote: >> >>> On Friday, June 26, 2015 at 8:04:44 AM UTC-4, Michael wrote: >>>> Does anybody make an IC that takes I2C command and outputs duty cycle (PWM)? >>>> I need to control bunch of TECs from CPU and I2C->PWM seems the most efficient (and smallest) way to do it. >>>> Any suggestion will be appreciated. >>>> Thanks >>>> Michael >>> >>> T >>> How do people control temperature (TEC or heater) with s/w? Wouldn't serial bus be more efficient than PWM line (especially if one has bunch of heaters/TECs in the system and I2C bus is present everywhere)? >> >> I2C is nice for communication within a PCB, but for any real distances >> (a few meters or more) this kind of single ended TTL communication is >> going to have troubles. >> >> For a system spanning a few meters, some RS-485/CANbus differential >> communication would be useful, but then each load would need to have >> its own PWM generator and you would need a way to assign addresses to >> each node. A DIP switch for address assignment is not the most >> reliable method. >> >> My suggestion is that if the number of independently controlled loads >> is small (less than half a dozen), go for a microcontroller with a >> sufficient number of PWM channels and use optocouplers on each channel >> if necessarily. > > The system I am dealing with is small (longest possible connection less than 2'), has at least half a dozen channels. I do not think our CPU has enough (if any) PWM outputs. > The "I2V->PWM" decision has been made, I need to come up with solution.
I'd reconsider. I2C over wires is asking for problems especially in a noisy environment. I2C is never designed for going from one board to another and therefore isn't suitable for that purpose. NXP does have solutions for taking I2C off board into a balanced 4 wire setup but RS485 is easier once you go down that road. If you need lots of PWM channels I'd add an FPGA or CPLD on the board where the CPU sits. That way you only need to take the PWM signal to a driver board. LVDS serializers/deserializers (like the ones used for TFT screens) can be used to concentrate multiple signals in a few LVDS lanes. Having an FPGA/CPLD do the PWM generation fits seemless with an LVDS solution to reduce the amount of wiring between the various boards.
Michael <mk617435@gmail.com> wrote in
news:772124ed-95b8-4bec-9a2d-2e1244bb71de@googlegroups.com: 

> Does anybody make an IC that takes I2C command and outputs duty cycle > (PWM)? I need to control bunch of TECs from CPU and I2C->PWM seems the > most efficient (and smallest) way to do it. Any suggestion will be > appreciated. Thanks > Michael
NXP has series of I2C to PWM chips numbered PCA9530 and beyond. http://www.nxp.com/parametrics/48878/282/#/p=1,s=0,f=,c=,rpp=,fs= 0,sc=c0,so=asc,es=PCA9530-581;PCA9531-581 petrus bitbyter
petrus bitbyter wrote...
> >Michael <mk617435@gmail.com> wrote in >news:772124ed-95b8-4bec-9a2d-2e1244bb71de@googlegroups.com: > >> Does anybody make an IC that takes I2C command and outputs duty cycle >> (PWM)? I need to control bunch of TECs from CPU and I2C->PWM seems the >> most efficient (and smallest) way to do it. Any suggestion will be >> appreciated. Thanks >> Michael > > NXP has series of I2C to PWM chips numbered PCA9530 and beyond. > > http://www.nxp.com/parametrics/48878/282/#/p=1,s=0,f=,c=,rpp=,fs= > 0,sc=c0,so=asc,es=PCA9530-581;PCA9531-581
Those all seem to be intended for LEDs, with 100Hz etc frequencies, programmable blink rates, etc. How about an honest PWM function? -- Thanks, - Win
On 6/28/2015 10:55 PM, Winfield Hill wrote:
> petrus bitbyter wrote... >> >> Michael <mk617435@gmail.com> wrote in >> news:772124ed-95b8-4bec-9a2d-2e1244bb71de@googlegroups.com: >> >>> Does anybody make an IC that takes I2C command and outputs duty cycle >>> (PWM)? I need to control bunch of TECs from CPU and I2C->PWM seems the >>> most efficient (and smallest) way to do it. Any suggestion will be >>> appreciated. Thanks >>> Michael >> >> NXP has series of I2C to PWM chips numbered PCA9530 and beyond. >> >> http://www.nxp.com/parametrics/48878/282/#/p=1,s=0,f=,c=,rpp=,fs= >> 0,sc=c0,so=asc,es=PCA9530-581;PCA9531-581 > > Those all seem to be intended for LEDs, with 100Hz etc frequencies, > programmable blink rates, etc. How about an honest PWM function?
FPGAs are cheap. -- Rick
On Sun, 28 Jun 2015 19:55:22 -0700, Winfield Hill wrote:

> petrus bitbyter wrote... >> >>Michael <mk617435@gmail.com> wrote in >>news:772124ed-95b8-4bec-9a2d-2e1244bb71de@googlegroups.com: >> >>> Does anybody make an IC that takes I2C command and outputs duty cycle >>> (PWM)? I need to control bunch of TECs from CPU and I2C->PWM seems the >>> most efficient (and smallest) way to do it. Any suggestion will be >>> appreciated. Thanks >>> Michael >> >> NXP has series of I2C to PWM chips numbered PCA9530 and beyond. >> >> http://www.nxp.com/parametrics/48878/282/#/p=1,s=0,f=,c=,rpp=,fs= >> 0,sc=c0,so=asc,es=PCA9530-581;PCA9531-581 > > Those all seem to be intended for LEDs, with 100Hz etc frequencies, > programmable blink rates, etc. How about an honest PWM function?
Intended for LEDs, but not all at 100Hz. This one http://www.nxp.com/documents/data_sheet/PCA9635.pdf for example, can output 16 independent channels of 97kHz 8 bit PWM (i.e. the clock is 25MHz). You can have any PWM frequency you want, as long as you only want 97kHz. There are also group dimming PWM modes that work at lower frequencies, but you don't have to use them. Allan
On Monday, June 29, 2015 at 7:38:34 AM UTC-4, Allan Herriman wrote:
> On Sun, 28 Jun 2015 19:55:22 -0700, Winfield Hill wrote: > > > petrus bitbyter wrote... > >> > >>Michael wrote in > >>news:772124ed-95b8-4bec-9a2d-2e1244bb71de@googlegroups.com: > >> > >>> Does anybody make an IC that takes I2C command and outputs duty cycle > >>> (PWM)? I need to control bunch of TECs from CPU and I2C->PWM seems the > >>> most efficient (and smallest) way to do it. Any suggestion will be > >>> appreciated. Thanks > >>> Michael > >> > >> NXP has series of I2C to PWM chips numbered PCA9530 and beyond. > >> > >> http://www.nxp.com/parametrics/48878/282/#/p=1,s=0,f=,c=,rpp=,fs= > >> 0,sc=c0,so=asc,es=PCA9530-581;PCA9531-581 > > > > Those all seem to be intended for LEDs, with 100Hz etc frequencies, > > programmable blink rates, etc. How about an honest PWM function? > > > Intended for LEDs, but not all at 100Hz. This one > http://www.nxp.com/documents/data_sheet/PCA9635.pdf > for example, can output 16 independent channels of 97kHz 8 bit PWM (i.e. > the clock is 25MHz). You can have any PWM frequency you want, as long as > you only want 97kHz. > > There are also group dimming PWM modes that work at lower frequencies, > but you don't have to use them. > > Allan
I noticed that LED dimmers have 8 bit resolution. I wonder if the system would act as "bang-bang controller" when it is near target temperature (unless duty cycle vs. error relationship is nonlinear - ?). As to FPGA/CPLD - we have nobody to program it. Michael
On 6/29/2015 1:47 PM, Michael wrote:
> On Monday, June 29, 2015 at 7:38:34 AM UTC-4, Allan Herriman wrote: >> On Sun, 28 Jun 2015 19:55:22 -0700, Winfield Hill wrote: >> >>> petrus bitbyter wrote... >>>> >>>> Michael wrote in >>>> news:772124ed-95b8-4bec-9a2d-2e1244bb71de@googlegroups.com: >>>> >>>>> Does anybody make an IC that takes I2C command and outputs duty cycle >>>>> (PWM)? I need to control bunch of TECs from CPU and I2C->PWM seems the >>>>> most efficient (and smallest) way to do it. Any suggestion will be >>>>> appreciated. Thanks >>>>> Michael >>>> >>>> NXP has series of I2C to PWM chips numbered PCA9530 and beyond. >>>> >>>> http://www.nxp.com/parametrics/48878/282/#/p=1,s=0,f=,c=,rpp=,fs= >>>> 0,sc=c0,so=asc,es=PCA9530-581;PCA9531-581 >>> >>> Those all seem to be intended for LEDs, with 100Hz etc frequencies, >>> programmable blink rates, etc. How about an honest PWM function? >> >> >> Intended for LEDs, but not all at 100Hz. This one >> http://www.nxp.com/documents/data_sheet/PCA9635.pdf >> for example, can output 16 independent channels of 97kHz 8 bit PWM (i.e. >> the clock is 25MHz). You can have any PWM frequency you want, as long as >> you only want 97kHz. >> >> There are also group dimming PWM modes that work at lower frequencies, >> but you don't have to use them. >> >> Allan > > I noticed that LED dimmers have 8 bit resolution. I wonder if the system would act as "bang-bang controller" when it is near target temperature (unless duty cycle vs. error relationship is nonlinear - ?). > As to FPGA/CPLD - we have nobody to program it. > Michael
That can be easily farmed out. I just happen to be living near a farm too! -- Rick
On Mon, 29 Jun 2015 02:08:11 -0400, rickman <gnuarm@gmail.com> wrote:

>On 6/28/2015 10:55 PM, Winfield Hill wrote: >> petrus bitbyter wrote... >>> >>> Michael <mk617435@gmail.com> wrote in >>> news:772124ed-95b8-4bec-9a2d-2e1244bb71de@googlegroups.com: >>> >>>> Does anybody make an IC that takes I2C command and outputs duty cycle >>>> (PWM)? I need to control bunch of TECs from CPU and I2C->PWM seems the >>>> most efficient (and smallest) way to do it. Any suggestion will be >>>> appreciated. Thanks >>>> Michael >>> >>> NXP has series of I2C to PWM chips numbered PCA9530 and beyond. >>> >>> http://www.nxp.com/parametrics/48878/282/#/p=1,s=0,f=,c=,rpp=,fs= >>> 0,sc=c0,so=asc,es=PCA9530-581;PCA9531-581 >> >> Those all seem to be intended for LEDs, with 100Hz etc frequencies, >> programmable blink rates, etc. How about an honest PWM function? > >FPGAs are cheap.
For very small values of cheap.