Bonjour,
je suis entrain de me construire un petit robot bipede fonctionnant à l'aide de 4 servo.
Il ne me reste plus que la carte electronique à developper et je compté utiliser un pic (16f876 ou 18f2550).
J'ai pu lire que pour controller un servo il fallait utiliser un signal PWM de periode 20ms, avec un temps à l'etat haut variant de 0.5ms à 2.5ms.
Mon probléme est que si je fais fonctionner mon micro avec une horloge de 4MHz, les pic ne pouvant que utiliser un prescaller de 16 et les timers etant de 8bits, je me trouve limité à une frequence de 200 et quelques hertz.
Deplus, sur le 16f876 et 18f2550 il n'y a pas une sortie PWM par servo...
Donc je me demandé comment faire pour controller efficacement ces servos sans prendre 100% de la capacité de calcul du CPU ?
J'ai pensé à une solution un peu barbare. En utilisant un timer je genere une interruption à chaque overflow et incremente une variable.
L'idée serait de faire 5 tableaux (-90, -45, 0, 45, 90) qui contiendraient la bonne largeur d'impulsion pour la position voulue. La variable incrementée lors de l'overflow permettrait de lire le tableau.
Mais bon, ca prendrais enormement de memoire...
Avez vous des idées ?
Merci
-----