Está en la página 1de 16

Circuitos Electricos II

Roberto Sanchez Figueroa

brrsanchezfi@unal.edu.co

Monitorias Circuitos II

Jueves, Viernes · 4:00 – 5:00pm

Información para unirse a Google Meet

Enlace a la videollamada: https://meet.google.com/zit-said-kmf

Github: https://github.com/brrsanchezfi/Circuitos_2

Soluciones propuestas para los ejercicios del taller 4

Table of Contents
Circuitos Electricos II............................................................................................................................................... 1
Soluciones propuestas para los ejercicios del taller 4............................................................................................ 1
Ejercicio 1, Analisis de nodos, simulacion en simulink y Ltspice .......................................................................1
Simulacion en simulink.................................................................................................................................... 7
Simulacion en LtSpice..................................................................................................................................... 8
Ejecicio 2, Matlab simbolico, expand().............................................................................................................. 10
Simulacion al escalon.................................................................................................................................... 14
Referencias.........................................................................................................................................................15

Ejercicio 1, Analisis de nodos, simulacion en simulink y Ltspice

1
%%%%%Valores de los elementos pasivos%%%%%%%%%%%%%%%%%%%%%%

R1=0.2;
R2=2.8;
C1=1;
C2=1;
R3=9;
R4=1;

2
%declaramos las variables simbolicas
%aplivamos nodos

syms R_1 R_2 R_3 R_4 C_1 C_2 s V_A V_p V_in V_out

%despejamos V_P del nodo C

Nodo_C = (V_out-V_p)/(R_3) + (-V_p)/(R_4)

Nodo_C =

V_p = simplify(solve(Nodo_C,V_p))

V_p =

%remplazamos V_P en nodo B y depejamos V_A

Nodo_B = (V_A-V_p)/(R_2) + (-V_p)*(s*C_2)

Nodo_B =

V_A = simplify(solve(Nodo_B,V_A))

V_A =

%Remplazamos tanto V_P y V_A y despejamos V_out

Nodo_A = ((V_in-V_A)/(R_1) + (V_p-V_A)/(R_2)) + (V_out-V_A)*(s*C_1)

Nodo_A =

%noten que tenemos la funcion de transferencia a la vista, solo hace falta


%despejar

V_out = simplify(solve(Nodo_A,V_out))

3
V_out =

%Declaramos la funcion de tranferencia y el despeje.

H_s = (V_out/V_in)

H_s =

%Sustituimos las variables simbolicas por lo valores que tenemos en la imagen

H_s = subs( H_s,[R_1 R_2 R_3 R_4 C_1 C_2 V_in],[R1 R2 R3 R4 C1 C2 1])

H_s =

%convertimos la funcion simbolica("sym") en una de tipo "tf"

H_s = sym2tf( H_s, 0)

H_s =

250
------------------
14 s^2 + 30 s + 25

Continuous-time transfer function.

%% Comando util para pasar los bodes a Hz%%


options = bodeoptions;
options.FreqUnits='Hz';

%Graficamos el bode

bode(H_s,options)

4
%%%% SENAL DE PRUEBA %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
frecuencia = 3e-1;
tiempo = linspace(0,30,10000);
senal = 10*sin((frecuencia*(2*pi))*tiempo+0);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%% Respuesta al escalon %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

step(H_s)
title("Respuesta al escalon")

5
%%%%%%Simulacion%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

lsim(H_s,senal,tiempo)
title("Simulacion del filtro 'lsim'")
legend()

6
Simulacion en simulink

7
Simulacion en LtSpice

8
%%%% Salida al escalon
step(H_s)

9
Ejecicio 2, Matlab simbolico, expand()

%Planteamos el metodo para hallar la funcion de transferencia


%en este caso NODOS

%dECLARO MIS FUNCIONES SIMBOLICAS


syms s R_1 R_2 C_1 C_2 V_o V_i V_A

%solo ocupo una funcion


Nodo_1 = (V_i-0)/((R_1*(1/(s*C_1)))/((R_1+(1/(s*C_1))))) + (-V_o)/(R_2 + (1/(s*C_2)))

Nodo_1 =

sol = solve(Nodo_1,V_o); %despejo la funcion

10
V_o = sol

V_o =

H_s = V_o/V_i % despejo la funcion de tranferencia

H_s =

H_s = expand(H_s) %USO EL COMANDO expand(), lo que hace es descomponer en francciones parciales

H_s =

C1 = 10e-6; %asigno valores


C2 = 10e-3;
R1 = 1000;
R2 = 1000;

H_s = subs(H_s,[C_1 C_2 R_1 R_2],[C1 C2 R1 R2]) %remplazo valores

H_s =

H_s = sym2tf( H_s, 0) %convierto a funcion de tranferencia

H_s =

10 s^2 + 1001 s + 100


---------------------
1000 s

Continuous-time transfer function.

H_s = pid(1.001,0.1,0.01) %comando pid para ver de mejor forma la funcion

H_s =

1
Kp + Ki * --- + Kd * s
s

with Kp = 1, Ki = 0.1, Kd = 0.01

Continuous-time PID controller in parallel form.

bode(H_s) %bode del filtro

11
% intento de simulacion de respuesta al impulso, no sirve!
H_s = feedback(H_s,1)

H_s =

0.01 s^2 + 1.001 s + 0.1


------------------------
0.01 s^2 + 2.001 s + 0.1

Continuous-time transfer function.

bode(H_s)

12
step(H_s)

13
Simulacion al escalon
la primera simulacion la intente con un circuito en simscape, no obstante la respuesta no fue interesante, no
sirve!

La segunda fue usar un digrama de bloques y usar el bloque PID(s), quizas sirva!

14
Referencias

• C,K Alexander,M.O Sadiku, "Fundamentos de Circuitos Eléctricos". Edición. 5 Cleveland: MC Graw Hill,
2006.
• Canal youtube "Brian Douglas" https://www.youtube.com/channel/UCq0imsn84ShAe9PBOFnoIrg ,
Material interesante acerca de bodes en Ingles.

function t_sym = tf2sym(H)

15
[num,den] = tfdata(H);
syms s;
t_sym = simplify(poly2sym(cell2mat(num),s)/poly2sym(cell2mat(den),s));
end

function [ tfobj ] = sym2tf( symobj, Ts) %pasa de sym a tf Ts es el samplin, para continuas
% SYM2TF convert symbolic math rationals to transfer function

if isnumeric(symobj)
tfobj=symobj;
return;
end

[n,d]=numden(symobj);
num=sym2poly(n);
den=sym2poly(d);

if nargin==1
tfobj=tf(num,den);
else
tfobj=tf(num,den,Ts);
end
end

16

También podría gustarte