Vous êtes sur la page 1sur 8

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

Université des Sciences et de la Technologie Mohamed Boudiaf, Oran

Faculté de Génie Électrique

Département d’automatique

Master-2 (A.I.I)

Identification temps-réponse d'un


circuit résistance-condensateur
(RC)

Réalisé par :

Sadok bouziane yazid

Année Universitaire : 2019/2020


1
Dans ce travail , nous utiliserons un circuit de résistance-condensateur RC (figure 1)
dans cette expérience. Le matériel et les logiciels nécessaires à cette expérience
Matlab et une carte Arduino sera utilisée pour générer l'entrée du circuit et pour
mesurer la sortie du circuit.

L'entrée du circuit sera générée à partir de Pin 8 sorties numériques de la carte ,


appliquée à travers la résistance et le condensateur en série.

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.

Figure 1 circuit de résistance-condensateur RC

Réponse en fréquence théorique


L'idée derrière l'analyse de la réponse en fréquence est d'examiner comment un
système répond aux entrées variant sinusoïdalement de différentes fréquences. Si
nous avons un système linéaire, comme nous le faisons dans ce cas, alors une entrée
sinusoïdale d'une fréquence particulière va générer en régime permanent une sortie
sinusoïdale de la même fréquence. Cependant, la sortie peut avoir une amplitude
différente de l'entrée et la sortie peut être déphasée par rapport à l'entrée. Cette
idée est illustrée ci-dessous. (Figure 2)

2
Figure 2 Réponse en fréquence théorique

Programme sous matlab


s = tf('s');

R = 10000; % resistance of resistor in RC circuit

C = 100*10^-6; % capacitance of capacitor in RC circuit

G = 1/(C*R*s+1); % RC circuit transfer function

bode(G) title('RC Circuit Frequency Response (R = 10 kOhm, C = 100 uF)')

Figure 3 reponse du circuit RC

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.

Figure 5 réponse standard au premier ordre

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".

La fréquence de l'entrée d'onde carrée sera modifiée et l'amplitude résultante de la


réponse de sortie du circuit sera enregistrée pour approximer la réponse en
amplitude du système. Dans un sens, nous générons empiriquement le modèle de
réponse en fréquence du système. Ceci est parfois appelé modèle de boîte noire ou
modèle piloté par les données

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.

Figure 6 Configuration materielle

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.

Figure 7 Configuration du logiciel

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).

Le modèle Simulink donné trace ensuite la tension d'entrée commandée et la


tension de sortie enregistrée sur un oscilloscope(figure 8 et figure 9) et écrit
également les données de sortie dans l'espace de travail MATLAB pour une analyse
plus approfondie. Le bloc Arduino Digital Write, le bloc Arduino Analog Read, le bloc
Arduino IO Setup et le bloc Real-Time Pacer font tous partie du package IO. Les blocs
restants font partie de la bibliothèque Simulink standard, en particulier, ils se
trouvent dans les bibliothèques Math, Sources et Sinks.

Figure 7 l'entrée commandée


7
Figure 8 sortie commandee