Cours:InfoS2 tdMli : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(Configuration du timer en {{Rouge|fast PWM}})
Ligne 12 : Ligne 12 :
 
Il faut générer un signal MLI (PWM) dont le rapport cyclique permettra de faire varier la tension moyenne aux bornes de la charge (ici une lampe) et donc de faire varier l'intensité lumineuse.
 
Il faut générer un signal MLI (PWM) dont le rapport cyclique permettra de faire varier la tension moyenne aux bornes de la charge (ici une lampe) et donc de faire varier l'intensité lumineuse.
  
Afin de ne pas percevoir le clignotement de la lampe, la fréquence de la MLI devra être supérieure à 50Hz.
+
Afin de ne pas percevoir le clignotement de la lampe, la fréquence de la MLI ( Fmli ) devra être supérieure à 50Hz.
  
 
=Configuration du timer en {{Rouge|fast PWM}}=
 
=Configuration du timer en {{Rouge|fast PWM}}=
Ligne 23 : Ligne 23 :
 
*le mode de fonctionnement (normal, ctc, pwm ...)
 
*le mode de fonctionnement (normal, ctc, pwm ...)
 
*le prédiviseur (qui changera la Fmli )
 
*le prédiviseur (qui changera la Fmli )
 +
*la configuration des bits COMxAx sachant que nous utilisons le mode fast PWM
 +
 +
{{Question|Compléter en conséquence le programme avec la configuration du timer :}}
 +
<source lang=cpp>
 +
int main()
 +
{
 +
  // configuration des sorties
 +
 +
  // timer en mode fast PWM
 +
 +
  // valeur du prediviseur
 +
 +
  // génération de la sortie par le timer
 +
 +
  // rapport cyclique
 +
 
 +
  while(1)
 +
  {
 +
    // on peut changer le rapport cyclique régulièrement
 +
    _delay_ms(500);
 +
  }
 +
}
 +
</source>
 +
  
 
=Configuration des boutons=
 
=Configuration des boutons=

Version du 9 mars 2022 à 14:20

ArduinoPinout.png

lien Tinkercad

datasheet aTmega328p

Cahier des charges

On souhaite modifier l'éclairement d'une lampe à l'aide de 2 boutons.

Les broches du µcontrôleur pouvant délivrer un courant maximum de qques dizaines de mA maximum avec une tension maximale de 5V (tension d'alimentation), il convient d'utiliser un transistor en commutation (se comporte comme un interrupteur commandé) tel que câblé sur le document tinkercad.

Il faut générer un signal MLI (PWM) dont le rapport cyclique permettra de faire varier la tension moyenne aux bornes de la charge (ici une lampe) et donc de faire varier l'intensité lumineuse.

Afin de ne pas percevoir le clignotement de la lampe, la fréquence de la MLI ( Fmli ) devra être supérieure à 50Hz.

Configuration du timer en fast PWM

Question.jpg D'après le schéma tinkercad et le pinout de la carte arduino, quel timer devons nous configurer ?

Todo.jpg Chercher dans la datasheet du µcontroleur (lien ci dessus) la section décrivant ce périphérique et plus particulièrement les pages donnant la descriptions des registres

Question.jpg Quel tableau permet de choisir:

  • le mode de fonctionnement (normal, ctc, pwm ...)
  • le prédiviseur (qui changera la Fmli )
  • la configuration des bits COMxAx sachant que nous utilisons le mode fast PWM

Question.jpg Compléter en conséquence le programme avec la configuration du timer :

int main()
{
  // configuration des sorties

  // timer en mode fast PWM

  // valeur du prediviseur

  // génération de la sortie par le timer

  // rapport cyclique
  
  while(1)
  {
    // on peut changer le rapport cyclique régulièrement
    _delay_ms(500);
  }
}


Configuration des boutons