Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

higher output frequency with PCA9685?

Status
Not open for further replies.

omax

Newbie level 6
Joined
Nov 19, 2016
Messages
12
Helped
1
Reputation
2
Reaction score
1
Trophy points
3
Activity points
94
Hello every one.
pca9685 has an external clock input pin.
and its maximum output frequency is about 1.6khz as mentions in the datasheet.
can we increase the output frequency using a 50MHz crystal oscilator?
or is there any other way to increse the output frequency?

i want to make 16, 50khz pwm waveform and control their duty cycles.:???:
 

Hi,

simple calculation:
50kHz PWM frequency x 4096 (12 bits resolution) = 204,800kHz = about 205MHz input clock.

Answer: not possible.


Klaus
 
  • Like
Reactions: omax

    omax

    Points: 2
    Helpful Answer Positive Rating
The maximum PWM frequency is actually fclk/(4*4096), there's an additional prescaler.
 
  • Like
Reactions: omax

    omax

    Points: 2
    Helpful Answer Positive Rating
thank u,
do you have any other suggestions for producing 16 PWM signal?

I use Arduino mega 2560 and pca9685 for low frequency. and i know that pca9635 could be used for 96khz PWM.
but what can I do for 50khz?

do you know any other PWM ic that could be controlled with a microcontroller?
 

yes
its internal clock is 25Mhz and max freq is 1.6khz.
it seems that "Klaus" calculations are not correct and there's an additional prescaler.
 

Hi,

it seems that "Klaus" calculations are not correct and there's an additional prescaler.
You may say "not correct"...
but I did just a general calculation of the required minimum input frequency .. (for any digital PWM generation, not only MAX9685)
and if the minimum required frequency is 200MHz then I saw no need to do further calculations.
For sure I can do: 200MHz x 4 (min prescaler) = 800MHz.

Still above 50MHz, still not possible.


Klaus

- - - Updated - - -

Hi,

do you know any other PWM ic that could be controlled with a microcontroller?
What PWM resolution do you need?
Whay exactly 50kHz? What tolerance / range do you allow?

PCA9955 operates with 31.25kHz... this is the closest on a quick view.

But any small FPGA will do. What quantity? Maybe you find someone coding and programming it for you.

Klaus
 
  • Like
Reactions: omax

    omax

    Points: 2
    Helpful Answer Positive Rating
any other suggestions for producing 16 PWM signal?

A 555 timer IC is able to produce PWM, by applying a voltage to its control pin #5.

Low V makes short duty cycle. Higher V makes long duty cycle. Hence PWM. In some degree it's PFM because carrier frequency is unfixed.

16 timer IC's are needed of course.
 

Hi,


You may say "not correct"...
but I did just a general calculation of the required minimum input frequency .. (for any digital PWM generation, not only MAX9685)
and if the minimum required frequency is 200MHz then I saw no need to do further calculations.
For sure I can do: 200MHz x 4 (min prescaler) = 800MHz.

Still above 50MHz, still not possible.


Klaus

- - - Updated - - -

Hi,


What PWM resolution do you need?
Whay exactly 50kHz? What tolerance / range do you allow?

PCA9955 operates with 31.25kHz... this is the closest on a quick view.

But any small FPGA will do. What quantity? Maybe you find someone coding and programming it for you.

Klaus

your replies are always useful::thumbsup:

I used two Arduino as master and slave to produce the 16 PWMs with F=31khz. (by modifying some registry codes to get this freq.)

maybe I start to learn FPGA.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top