Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diagrama de boques en lazo cerrado de una planta de primer orden tipo cero en
tiempo discreto.
2
Wn
G ( s )=
s (s+2 ξ W n)
1 T
∫ dt → s ↔ z−1
T sWn
B x 1=x 1 + ( u−x 1 )
2ξ
B x 2=x 2 +2 ξ W n T s ( x 1−x2 )
y=x 2
x 1=B x 1
x 2=B x 2
Y MAX −Y MIN
Y= ∗( X− X MIN ) +Y MIN
X MAX −X MIN
Y =mX −m X MIN + Y MIN
La configuración de los opamp nos permite realizar un cambio de escala de la señal de entrada,
estableciendo un voltaje de referencia y una ganancia R/m donde m está definida por la
pendiente de los valores máximos y minios a la entrada y salida del circuito
Calculo del voltaje de referencia
−Y 1=R ( X
+
R /m R
Vref
)
Donde:
R= 10K
m=0,2798
0=10 (
−9 Vref
36 10
+ )
Vref =2. 5 V
Y1=0V
X=-9V
R 1+R 2=10 K
VD ( 1 1
+ ) 5 12
− + =0
R 1 R 2 R1 R 2
R 1+R 2 12 R 1−5 R 2
VD + =0
R 1 . R 2 R 1. R 2
V D 10 K +12 R1−5 R 2=0
V D 10 K +12 R1−5(10 K−R 1)=0
17 R1=43 K
R 1=2 ,5294 K
R 2=7 , 4706 K
Una vez determinado el cambio de voltaje en el circuito podemos inyectar la señal de salida
con toda seguridad a cualquier puerto analógico del Arduino.
Señal de ingreso al puerto analógico
f= 10 Hz
T= 1/f = 100 ms
tss= T/4
5tao= tss
Mp=0,3
Código
close all; clear; format long g; clc;
T=0.1;
tss=T/4;
f=1/T;
w=2*pi*f;
tao=(1/5)*tss;
x1=0;
x2=0;
mp=0.3;
chi=abs(log(mp))/sqrt(pi^2+log(mp)^2);
wn=4/(tss*chi);
%T1=2*pi/(wn*sqrt(1-chi^2));
T1=1/1500;
Ts=T1/2;
tf=T*5;
t=[0:Ts:tf]';
u=9*square(w*t,50);
figure; plot(t,u)
grid on
N=length(t);
k1 = 2*chi*wn*Ts;
k2 = (wn/(2*chi))*Ts;
y=zeros(size(t));
for k=1:N
Bx1=x1+k1*(x2-x1);
Bx2=x2+k2*(u(k)-x1);
y(k)=x1;
x1=Bx1;
x2=Bx2;
end
figure; plot(t,y,'r-','linewidth',2);
grid on
La planta digital programada en arduino tienen que ser visualizada en el osciloscopio para lo
cual implementamos un DAC R2R ocupando 10 salidas digitales de arduino.
2
V OMAX = V S n
3 ( )
2n −1
2
n=10
2
V OMAX = (5 )
3 ( )
1023
1024
V OMAX =3 . 491V
IMPLEMENTACION DE LA PLANTA
Consideraciones:
Código en Arduino
float U1 = 0;
float k1=0.2542;
float k2=0.4875;
int x1 = 0, x2=0;
float y = 0;
int y1 = 0;
void setup() {
pinMode(i, OUTPUT);
void loop() {
int U = analogRead(A0);
Bx1=x1+k1*(x2-x1);
Bx2=x2+k2*(U1-x1);
y=x1;
x1=Bx1;
x2=Bx2;
step(y1);
b1=!b1;
digitalWrite(13,b1);
void step(int n) {
for (int i=0; i<10; i++)
Circuito implementado
Visualización Cambio de Escala
El cálculo de las volares de las ganancias donde intervienen el sobre impulso y tiempo
de establecimiento para la determinación de Wn y Chi en la digitalización de la planta
es importante no realizaros en el código de arduino para una mejor ejecución del
programa.