Réponse à un échelon d'un système du second ordre pseudo périodique
On sait que pour un système du second ordre, si le facteur d'amortissement est inférieur à 1, la réponse à un échelon d'amplitude \(E_0\) sera :
\(s(t) = K.E_0 . \left [ 1- \dfrac{e^{-\omega_0.t}}{\sqrt{1-\xi^2}}.\sin \left (\omega_0.\sqrt{1-\xi^2}.t + \varphi \right )\right ].he(t)\)
Le code proposé ci-dessous permet de définir la fonction \(s.\)
import numpy as np # Importation de la bibliotheque numpy sous l'alias (surnom) np
def s(t,E0,K,m,w0):
"""
Fonction qui retourne la valeur de la sortie à l'instant t pour un systeme du second ordre, de facteur d'amortissement inferieur a 1, soumis a un echelon d amplitude E0
Arguments :
t : le temps (flottant)
E0 : l'amplitude del 'echelon (flottant)
K : le gain statique (flottant)
m : le facteur d'amortissement (flottant)
w0 : la pulsation naturelle non amortie (flottant)
Sortie :
Un flottant
"""
expo = np.exp(-m*w0*t)
w = w0*np.sqrt(1-m**2)*t
c = np.cos(w)
s = np.sin(w)
inter = 1 - expo*(c+(m/np.sqrt(1-m**2))*s)
return K*E0*inter
Question
Tracer la réponse temporelle d'un système du second ordre pour \(t \in [0(s) ;4(s)]\)si :
\(K=2(rd.s^{-1}.V^{-1})\)
\(\xi = 0.2\)
\(\omega_0 = 10 (rd.s^{-1})\)
\(E_0=1(Volt)\)
Vous ferez varier le nombre de subdivision pour le temps pour réaliser 4 tracés :
premier tracé avec 200 valeurs pour le temps ;
second tracé avec 100 valeurs pour le temps ;
troisième tracé avec 50 valeurs pour le temps ;
quatrième tracé avec 10 valeurs pour le temps ;
Que constatez vous ?
Faut il porter une attention particulière au nombre de subdivision pour les valeurs en abscisse ?