Bonjour,
Je travaille avec un pic 18f (18f4580) qui possède un quartz de 4Mhz.
Je dois moduler la fréquence d'envoie des impulsions pour contrôler un moteur pas à pas en vitesse (L297). Pour cela, on m'a dit de modifier juste la valeur de PR2 et de PRESCALE. Et que si je modifie PR2, je dois alors également agir sur CCPR1 pour ne pas avoir le "duty cycle" à 0 ou 100%. Mais je comprends vraiment rien à ce charabiat....
concrètement si je modifie PR2 ou PRESCALE je modifie la fréquence de l'horloge de mon PIC ??? Et quelles valeurs je suis sensée mettre ? Je dois utiliser la formule : PERIODE = (PR2+1)*Toscil*4*PRESCALE
Est-ce bien ça ? OU sans le 4 ?
Et j'ai un gros problème... Comme j'utilise une rampe d'accélération afin de déterminer la vitesse et la position en un temps delta t, j'ai énormément d'informations qui devront être stockées et vont saturer la mémoire du PIC. Je me dis que je pourrais utiliser des interruptions qui se déclenchent chaque fois que 100 valeurs (delta t) ont été calculées. Plus précisément, calcul et stockage de 100 données, exécution, écrasement des données précédentes par 100 autres nouvelles etc... Est-ce la meilleure solution ? Si non, pourriez-vous me conseiller s'il vous plaît? Et si c'est la meilleure, est-ce quelqu'un pourrait m'expliquer comment ça se code parce que je vois bien le raisonnement, mais je ne sais pas quels registres je dois utiliser/configurer/actionner etc...
MERCI !
-----