Pages: [1]   Go Down
Author Topic: Library Servo.h period change  (Read 1027 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 41
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello

 Sorry for my bad English.
 In the German forum could not help me.

 I want to use the library Servo.h servo signals to generate 200Hz period.
 I need that for position control of brushless controllers.

 How do I change the library?

 Thank you for your help.

 Kay
Logged

Seattle, WA USA
Offline Offline
Brattain Member
*****
Karma: 548
Posts: 46029
Seattle, WA USA
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I need that for position control of brushless controllers.
What brushless controller? Most can be controlled using the servo library as-is.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 41
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

This is the position control for a quadrocopter.
 At 200Hz, the system is much smoother than 50Hz.

How do I change the library?

Kay
« Last Edit: April 15, 2012, 09:00:55 am by Ketchup » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 41
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Does anyone know a solution?

Logged

Global Moderator
Offline Offline
Brattain Member
*****
Karma: 452
Posts: 18694
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

What brushless controller? Link to datasheet please.
Logged

0
Offline Offline
Tesla Member
***
Karma: 114
Posts: 8912
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I want to use the library Servo.h servo signals to generate 200Hz period. I need that for position control of brushless controllers.

Is your brushless controller compatable with this modification? You might get more info from the coptor forums.
Logged

Consider the daffodil. And while you're doing that, I'll be over here, looking through your stuff.   smiley-cool

Global Moderator
Offline Offline
Brattain Member
*****
Karma: 452
Posts: 18694
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I got it to output at 400 Hz by changing the timer prescaler. But that may be too fast. From what I read Servo motors expect pulses about every 20 mS (50 Hz).
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 41
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I got it to output at 400 Hz by changing the timer prescaler.

How did you do that?
 What I have to change the library?

 Thank you for an answer.

Kay
Logged

Global Moderator
UK
Offline Offline
Brattain Member
*****
Karma: 238
Posts: 24321
I don't think you connected the grounds, Dave.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
#define REFRESH_INTERVAL    2500
Or something along those lines?

But that's awfully close to
Code:
#define MAX_PULSE_WIDTH      2400
Logged

"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

Offline Offline
Newbie
*
Karma: 0
Posts: 41
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
#define REFRESH_INTERVAL    2500
Or something along those lines?


I changed this parameter of 20000 (50 Hz) to 5000 (200Hz).
 The signal has not changed, why?

 Thank you for an answer.

 Kay
Logged

Global Moderator
UK
Offline Offline
Brattain Member
*****
Karma: 238
Posts: 24321
I don't think you connected the grounds, Dave.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Because you didn't recompile it?
Logged

"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

Offline Offline
Newbie
*
Karma: 0
Posts: 41
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Because you didn't recompile it?
?

I have the file Servo.h changed the parameter and then saved the file.
 Then a small test program written and loaded fresh on the Arduino Uno.

 Is not that enough?

Kay
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 41
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

It goes :-)

 I am very stupid.
 I've had the Arduino folder 2X, edit the file in the wrong folder Servo.h.
 I'm sorry for my stupidity.
 Thank you for your help.

 Kay Gruss
Logged

Global Moderator
Offline Offline
Brattain Member
*****
Karma: 452
Posts: 18694
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I got it to output at 400 Hz by changing the timer prescaler.

How did you do that?


I used this:

http://www.arduino.cc/playground/Code/PwmFrequency
Logged

Pages: [1]   Go Up
Jump to: