PCA9685

krockdur
sam, 11/04/2017 - 09:52
Bonjour à tous,
J'utilise une carte ADAFRUIT pour contrôler plusieurs servomoteurs. Elle est construite autour d'un PCA9685.
La carte : https://www.adafruit.com/product/815
Jusqu'à maintenant je l'utilisais de la manière suivante (sans vraiment comprendre...) :
- Détermination du pulse mini pour chaque servo qui correspond au 0°
- Détermination du pulse maxi pour chaque servo qui correspond à 180°
Ensuite,j'utilise la fonction map() pour directement donner l'angle à l'instruction setPWM()
Exemple :
map_pwm.setPWM(2, 0, map(angle_degre, 0, 180, pulse_min, pulse_max))
Mais apparemment, ce n'est pas la mailleur solution pour piloter des servomoteurs avec le PCA9685.
Ce que je pense comprendre : le pulse pris en paramètre de setPWM est une durée d'impulsion.
Sur le github, il propose d'utiliser cette fonction qui permet de donner les pulse en seconde :
// you can use this function if you'd like to set the pulse length in seconds
// e.g. setServoPulse(0, 0.001) is a ~1 millisecond pulse width. its not precise!
void setServoPulse(uint8_t n, double pulse) {
double pulselength;
pulselength = 1000000; // 1,000,000 us per second
pulselength /= 60; // 60 Hz
Serial.print(pulselength); Serial.println(" us per period");
pulselength /= 4096; // 12 bits of resolution
Serial.print(pulselength); Serial.println(" us per bit");
pulse *= 1000;
pulse /= pulselength;
Serial.println(pulse);
pwm.setPWM(n, 0, pulse);
}
Je ne comprend pas l'interêt, est ce la bonne manière de faire ?
2nde question, comment connaître la fréquence de la PWM à indiquer ? (je met 60Hz par défaut....)
Merci à tous, bonne journée.
krockdur
sam, 11/04/2017 - 18:23
Bonjour Brossden,
Oui j'avais vu cette vidéo. Mais elle n'aborde pas la question de la fréquence PWM à mettre en place dans mon cas (utilisation d'une PCA9685).
Mon architecture me fait utiliser 16 servos, c'est pour ça que je passe par la carte d'afadruit.
A+
krockdur
sam, 11/04/2017 - 18:28
Oups pardon, dans le datasheet du servo c'est bien précisé 50Hz :)
krockdur
sam, 11/04/2017 - 20:00
Merci,donc c'est bon j'en fais une bonne utilisation. Pour infos, ca me sert pour ce projet (la V2 à gauche).