Comunicacion Arduino Con Scilab
Comunicacion Arduino Con Scilab
Comunicacion Arduino Con Scilab
net/publication/281784042
CITATIONS READS
0 5,007
1 author:
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Jacob Javier Vásquez Sanjuan on 24 September 2015.
1
Ingeniería de sistemas automotrices, Universidad Politécnica de Puebla, 3er carril del ejido serrano s/n, San Mateo
Cuanalá, Puebla, México. C.P.72640, e-mail: jacob.vasquez@uppuebla.edu.mx
2
Ingeniería en Electrónica, Universidad Tecnológica de la Mixteca. Carretera a Acatlima Km. 2.5, Huajuapan de
León, Oaxaca, México. C.P. 69020.
Resumen (M&A)
Existen diversos programas de software libre que son una opción viable en la realidad mexicana donde los recursos
económicos pueden emplearse en otras necesidades académicas. En este trabajo se muestran ejemplos del uso de Scilab
orientados al diseño de sistemas de control. Ejemplos de Routh-Hurtwitz, lugar de las raíces (root-locus), Bode, diagramas
retroalimentados y su respuesta en el tiempo son analizados. Finalmente se muestran los pasos para emplear Scilab y
Arduino Mega 2560 para crear un sistema de monitoreo y/o control.
Abstract (M&A)
There are several free software programs that are an option for Mexican Institutions where their limited economics
resources could be used in other academics necessities. In this work several examples for use of Scilab to design control
systems are shown. Examples of Routh-Hourtwitz, root-locus, Bode, feedback systems and his response on time are also
shown. Finally is presented the necessary steps to use Scilab with Arduino Mega 2560 for control systems or data
acquisition.
1 2 3
𝐴 = [4 5 6] (1)
7 8 9
>>A = [1 2 3; 4 5 6; 7 8 9]
clear
K=1;T=1;
s = poly(0, "s");
sys=syslin('c',K,T*s+1);
Fig. 3. Editor de instrucciones.
t=0:0.01:5*T;
sys_rt=csim('step',t,sys); sys=syslin('c',num/den);
plot(t,sys_rt) clf();
title('Respuesta al escalón de un sistema evans(sys,100);sgrid()
de primer orden');
[Ki,s]=kpure(sys) // Ganancia (polos
xlabel('tiempo(s)');
ylabel('Amplitud'); complejos conjugados)
plot([real(s) real(s)],[imag(s) -
La instrucción poly permite definir la variable s, para imag(s)],'*r')
funciones de transferencia (Laplace). Para indicar la cad=msprintf('%3.2f',Ki)
función e indicar si es continua o discreta se emplea la hl=legend(cad);
instrucción syslin. La instrucción csim permite obtener la
respuesta en el tiempo de la función.
ANÁLISIS EN EL DOMINIO DE LA FRECUENCIA
Mediante el siguiente código se obtiene la respuesta de un Existen instrucciones para el análisis y diseño de sistemas
sistema prototipo de segundo orden retroalimentado para de control en el dominio de la frecuencia:
diferentes coeficientes de amortiguamiento. Las
instrucciones son las empleadas en el sistema
anteriormente descrito. bode(sys)
show_margin(sys)
g_margin(sys)
clear p_margin(sys)
s=%s;
wn=1;
zeta=[0 0.1 0.5 1 2]; La gráfica de Bode de la función de transferencia de lazo
t=0:0.1:20;
num=wn^2; L(s) = 2500/[s(s + 5)(s + 50)]
fori=1:5
den=s^2+2*zeta(i)*wn^2*s+wn^2; se obtiene a partir de las siguientes instrucciones:
sysnd=num/(num+den);
sys=syslin('c',sysnd);
y(i,:)=csim('step',t,sys); s=%s;
end num=2500;den=s*(s+5)*(s+50);
sys=syslin('c',num/den)
plot2d(t',y',style=[1 3 4 5 6]) ; bode(sys)
xtitle('Respuesta de segundo show_margins(sys,'bode')
orden','tiempo','y(t)')
legends(['psi=0','psi=0.1','psi=0.5','psi=
1','psi=2'], La instrucción show_margins permite mostrar el margen
[1,3,4,5,6],opt="ur");
de fase y magnitud del sistema.
La tabulación de Routh-Hurtwitz empleada para
determinar la estabilidad absoluta del sistema se obtiene VARIABLES DE ESTADO
mediante la instrucción routh_t. A continuación se
Las variables de estado son otra forma de representar la
muestra el código necesario para obtener la tabulación
dinámica de un sistema, mediante la siguiente estructura:
para el polinomio
𝑥̇ = 𝐴𝑥(𝑡) + 𝐵𝑢(𝑡)
s 4 + 6s 3 + 5s 2 + 2s + 1.
𝑦 = 𝐶𝑥(𝑡) + 𝐷𝑢(𝑡)
Fig. 6. Implementación en Xcos del control por retroalimentación de estados de un convertidor buck.