Documente Academic
Documente Profesional
Documente Cultură
Département d’automatique
Master-2 (A.I.I)
Réalisé par :
La sortie du circuit sera la tension aux bornes du condensateur qui sera lue via l'une
des entrées analogiques de la carte Pin 0 . Ces données sont ensuite transmises à
Simulink pour visualisation et comparaison avec nos prévisions théoriques.
2
Figure 2 Réponse en fréquence théorique
3
Figure 4 réponse de l'étape théorique pour notre circuit RC
Figure5 montre une réponse standard au premier ordre. Pour une entrée à onde
carrée, on peut imaginer que la sortie augmentera comme indiqué ci-dessus lorsque
l'entrée est "ON" et décroîtra exponentiellement lorsque l'entrée est "OFF". u Un
cycle entre les états "ON" et "OFF" générera alors une réponse comme celle illustrée
ci-dessous.
4
identification du système
Dans cette expérience, nous enregistrerons la tension de sortie du circuit RC pour
une entrée de tension d'onde carrée. Plus précisément, l'entrée de tension alternera
entre 0 Volts et 5 Volts, où le temps "OFF" sera égal au temps "ON".
Materielle utulise
Notre circuit RC simple peut être implémenté sur une maquette et connecté à la
carte Arduino comme indiqué (figure 6). La carte Arduino est utilisée pour recevoir la
commande de tension d'entrée de Simulink et pour appliquer la tension au circuit
(via une sortie numérique). La carte acquiert également les données de tension de
sortie du circuit (via une entrée analogique) et communique les données à Simulink.
5
Configuration du logiciel
Dans cette expérience, nous utiliserons Simulink pour lire les données de la carte et
tracer les données en temps réel. En particulier, nous utiliserons le package IO de
MathWorks. Pour plus de détails sur l'utilisation du package IO,, où vous devrez
peut-être changer le port auquel la carte Arduino est connectée (le port est COM8
dans ce cas).
Comme illustré ci-dessous, la commande de tension d'entrée est générée par un bloc
générateur d'impulsions (pour générer une entrée d'onde carrée). Le bloc du
générateur d'impulsions génère des valeurs de 0 ou 1 qui sont ensuite transmises à
un bloc d'écriture numérique Arduino. Puisque nous utilisons le canal 8 pour la sortie
numérique, nous double-cliquez sur le bloc Arduino Digital Write pour définir
la broche sur 8 dans le menu déroulant. Une entrée de 0 dans le bloc d'écriture
numérique entraîne la génération d'une sortie de 0 volt sur la broche
correspondante, tandis qu'une entrée de 1 dans le bloc d'écriture numérique génère
une sortie de 5 volts. Cette mise à l'échelle est capturée par le bloc Gain qui est
inclus avant le bloc Portée.
6
Le bloc de lecture analogique Arduino lit les données de tension de sortie via l'entrée
analogique A0 de la carte. Double-cliquer sur le bloc nous permet de mettre
le Pin à 0 dans le menu déroulant. Nous définirons également la durée
d'échantillonnage en fonction de la fréquence de l'entrée utilisée. Par exemple, pour
une fréquence d'entrée de 10 rad / sec (1 décade au-dessus de la fréquence de
coupure du circuit), nous pourrions utiliser un temps d'échantillonnage de "0,02". Ce
temps d'échantillonnage correspond à une fréquence d'échantillonnage de 50 Hz,
qui est plus de 30 fois plus rapide que la fréquence du signal d'entrée (10 rad /
sec1,59 Hz). Cela signifie que la réponse du circuit pour cette entrée serait
échantillonnée plus de 30 fois par cycle. Cela suffit pour capturer le caractère de la
sortie du système à cette fréquence. Le modèle téléchargeable inclus ci-dessus
définit tous les temps d'échantillonnage comme Ts (ou à gauche comme "-1"). Par
conséquent, avant d'exécuter ce modèle, vous devez définir la variable Ts dans
l'espace de travail MATLAB, par exemple, en tapant Ts = 0,02; sur la ligne de
commande. Le bloc Gain est inclus pour convertir les données en unités de Volts (en
multipliant les données par 5/1023).