Cours:SaeCpld : Différence entre versions
(→génération des PWMs) |
(→Liens/Ressources) |
||
Ligne 59 : | Ligne 59 : | ||
=Liens/Ressources= | =Liens/Ressources= | ||
− | + | [[Média:DE10-Lite_User_Manual.pdf]] | |
=Historique= | =Historique= | ||
*[[Cours:SaeCpldHistorique]] | *[[Cours:SaeCpldHistorique]] |
Version du 11 décembre 2023 à 13:31
Sommaire
Modalité d'évaluation
Organisation des travaux
- Le travail sera mené par trinôme. Vous devrez organiser vos travaux de manière à ce que chacun soit actif pour faire avancer le projet
- Il y aura une partie individuelle
- puis 1 travail de regroupement du travail
Calendrier indicatif
Présentation du projet
Vous allez réaliser la commande d'un moteur brushless (moteur synchrone à aimant permanent)
Tâches à réaliser
obtenir la position du rotor
interface utilisateur
génération des PWMs
On utilisera dans un 1er temps la carte de10-LIte exploitée lors des TPs XR3.16
module PWM
créer un module PWM qui aura :
- en entrées:
- clk : horloge à 50MHz
- rcyclique : integer 0 à 1023
- enable : bit
- 2 sorties :
- tH : bit qui pilotera le transistor du haut du 1/2 pont
- tL : bit qui pilotera le transistor du bas du 1/2 pont
- description du fonctionnement
- les changements d'état des sorties se feront uniquement sur un front montant de l'horloge
- un compteur modulo 1024 s'incrémente sur chaque front d'horloge
- si enable=0 alors les sorties sont à 0
- si enable=1 alors :
- si compteur<rcylique tH=1 et tL=0
- si compteur>rcyclique tH=0 et tL=1
vérifier le fonctionnement en utilisant des switch pour modifier le rapport cyclique
Incrémentation automatique du rapport cyclique
On ajoute un module qui incrémentera régulièrement la valeur du rapport cyclique.
créer un module :
- avec 1 entrée horloge à 50MHz
- 1 sortie de type entier entre 0 et 1023
- incrémente le rapport cyclique tous les 50000 front d'horloge
ajouter un filtre passe bas sur votre/vos sorties et vérifier le bon fonctionnement
Liens/Ressources
Média:DE10-Lite_User_Manual.pdf