3.2.1. Génération d’une PWM

Le système doit être capable de fournir en sortie 3 couples de PWM à une fréquence de 500 kHz avec une précision de 10 bits. Une PWM est l’opposée de l’autre avec un temps mort de quelques millisecondes. Ces dernières permettent de contrôler un bras de puissance. En entrée, le bloc prend le rapport cyclique (Commande), le coefficient diviseur de fréquence (Div_freq) et le On/Off (STOP).

Afin de vérifier la faisabilité, une étude théorique est nécessaire. En effet, la fréquence de la PWM est dépendante de la fréquence de l’horloge du FPGA. La relation suivante donne la fréquence de sortie de la PWM en fonction de la fréquence d’horloge et la précision de la PWM :
f_PWM=f_clk/2^n avec n la précision de la PWM

Grâce à cette relation,on constate que pour atteindre l’objectif fixé par le cahier des charges avec une précision de 10 bits, il faut une fréquence d’horloge de 512 MHz. Or l’horloge de base de la carte de prototypage est de 50 MHz. Cependant, il est possible d’augmenter cette fréquence à l’aide de PLL. Le cyclone V en possède cinq, ces dernières sont limitées à 550 MHz. Il est donc possible théoriquement de répondre au cahier des charges et de produire une PWM de 500 kHz avec une précision de 10 bits.

Le bloc PWM s’articule autour de deux compteurs décalés avec la valeur de temps mort voulu et de deux seuils, un seuil correspondant à la commande et un autre correspondant à la commande avec la valeur du temps mort. Cette configuration permet d’avoir des fréquences de fonctionnement plus élevé qu’en utilisant un compteur/décompteur afin d’obtenir les deux PWM complémentaire avec un temps mort.

Afin de pouvoir modifier la fréquence de la PWM, le compteur est codé sur 13 bits. Les dix premiers bits correspondent au compteur à proprement parler de la PWM et les 3 derniers permettent d’incrémenter le compteur. En effet, si l’on rajoute 10002 alors le compteur est incrémenté de 1 tous les fronts d’horloge. Si l’on rajoute 01002 alors le compteur est incrémenté de 1 tous les deux fronts d’horloge ainsi la fréquence de la PWM est divisée par deux.

Le bloc est programmé en VHDL sur Quartus, puis implanté sur le FPGA. Pour vérifier le bon fonctionnement du bloc, il est possible de modifier le rapport cyclique et la fréquence de la PWM à l’aide de boutons. Les résultats observés à l’aide d’un oscilloscope montrent le bon fonctionnement du bloc PWM avec un temps mort de 180ns et une fréquence de 438 kHz.

______________________________________________________________________________________________________________________________________________________
Page précédente : 3.2. Mise en place de la partie FPGA
Page suivante : 3.2.2. Acquisition de la tension d’entrée