Adafruit 16-Channel Servo Driver Accuracy

For other supported Arduino products from Adafruit: Shields, accessories, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
JohnGaby
 
Posts: 12
Joined: Sun Apr 27, 2014 12:30 pm

Adafruit 16-Channel Servo Driver Accuracy

Post by JohnGaby »

I have been playing around with the 16-Channel Server Driver, controlled by an Arduino (nice tutorial by the way), and I am wondering about the accuracy of the timing. As per the example, I have it set up to run at 60hz, but when I look at the signal on a scope, I see the period is 15.5 ms instead of 16.6 ms. Is this to be expected?

Thanks.

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: Adafruit 16-Channel Servo Driver Accuracy

Post by adafruit_support_rick »

Not sure - I'll check with the experts

User avatar
adafruit2
 
Posts: 22148
Joined: Fri Mar 11, 2005 7:36 pm

Re: Adafruit 16-Channel Servo Driver Accuracy

Post by adafruit2 »

the pwm driver is 16-bit precise - but the internal oscillator clock is not always accurate. just adjust the frequency until you get the right freq! that is, 60hz may require setting to "55" or "65" Hz

JohnGaby
 
Posts: 12
Joined: Sun Apr 27, 2014 12:30 pm

Re: Adafruit 16-Channel Servo Driver Accuracy

Post by JohnGaby »

I can do that. I just wanted to be sure there was not something wrong with my unit.

Thanks.

User avatar
FIREWALL
 
Posts: 1
Joined: Thu Jun 05, 2014 8:50 am

Re: Adafruit 16-Channel Servo Driver Accuracy

Post by FIREWALL »

adafruit2 wrote:the pwm driver is 16-bit precise - but the internal oscillator clock is not always accurate. just adjust the frequency until you get the right freq! that is, 60hz may require setting to "55" or "65" Hz
I noticed that the internal 25mhz clock is off by about -8.6% on my unit. My question, is this deviation relatively stable? or will it fluctuate greatly as the chip changes temperature? If it is a 'stable' deviation from 25mhz, I can correct for that in software, if the acutal clock can deviate by +/- 15% then I will need to use an external clock (and some thin wire).

If an external clock is required, any recommendations on a chip/drop in package that I can just supply power to and get a 25mhz clock?

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: Adafruit 16-Channel Servo Driver Accuracy

Post by adafruit_support_rick »

It will change to some degree as the chip changes temperature. I can't tell you how much; however, the clock should be stable at any temperature.
Instead of a different clock (which will also likely change with temperature), you are better off adding a thermometer and compensating based on temperature. You will have to determine the compensation empirically, by sampling the offset at several different temperature points.

JohnGaby
 
Posts: 12
Joined: Sun Apr 27, 2014 12:30 pm

Re: Adafruit 16-Channel Servo Driver Accuracy

Post by JohnGaby »

If you really need a stable clock, you are going to need a crystal oscillator. Try searching for 'crystal clock oscillators'.

Locked
Please be positive and constructive with your questions and comments.

Return to “Other Arduino products from Adafruit”