Back | << | Index | >> |
BROCHAGE
Un Timer est un compteur qui s’incrémente à chaque front montant d’une horloge.
Cette horloge peut éventuellement être ralentie avec un diviseur de fréquence (Prescaler).
Le Compteur est remis périodiquement à zéro lorsque sa valeur courante de comptage atteint celle d’un registre de comparaison.
T=[(Presc_buff+1) * (Comp_Reg+1)]*T_CLK
Pour générer un signal MLI (Modulation de Largeur d’Impulsion), il suffit de comparer la valeur courant de comptage à celle d’un registre (Duty), et de forcer à 0 ou à 1 une broche de sortie du microcontrôleur en fonction du résultat de cette comparaison.
On applique motorCommand_SetDuty(150)
Signal PWM en sortie du microcontrôleur ( Broche PB4 ) :
La fréquence mesurée du signal est 50kHz
En effet, le timer 3 est configuré pour s’incrémenter à une fréquence de 100MHZ.
Sachant que la remise à zéro se fait à 199,
F=100e6/200=50e3
Signal PWM en sortie du Hacheur :
C’est une tension différentielle qui s’applique aux bornes du moteur :
Afin d’asservir les moteurs en vitesse ou en position, il faut déjà connaître les mesures correspondantes.
Le Codeur incrémental
Mesure le la Position
Le comptage des fronts montants des signaux A et B issus du codeur incrémental permet de connaître la position du rotor du moteur.
La précision des codeurs étant de 500 impulsions/tours, le OU EXCLUSIF entre A et B permet d’obtenir une précision de 1000 impulsions par tours.
le signal index déclenche une interruption de type EXTI permettant d’incrémenter une variable et de remettre à zéro le compteur dans le cas d’une mesure de position.
Mesure de la Vitesse
SENS DIRECT
SENS INVERSE
Speed=30000-2232=27768 –> Speed>0 –> Speed>16384 –> Speed=27768-32768=-5000 –> Speed=-10000
Signaux A et B du codeur incrémental :
La période mesurée du signal est de 40us.
Il me faut donc 500*40us pour faire un tour ( 500 impulsions par tour ), soit 20ms pour un tour.
Pour connaitre la vitesse en tours par minute, je fais la règle de 3 :
N=60/0.02
N=3000 tr/min
Signaux A et index du codeur incrémental :
Back | << | Index | >> |