Académique Documents
Professionnel Documents
Culture Documents
I. DESARROLLO DE LA PRACTICA
PRIMERA PARTE
6. Representación de un vector
Parte B
Para representar la función de transferencia en MATLAB se
Figura 13. Diagrama de bloques en LABVIEW para
definen dos vectores que representan e numerador y el
función de transferencia.
denominador de la función de transferencia, seguido del
comando tf(numerador, denominador), que tomará dichos
vectores como las partes de una función de transferencia;
teniendo en cuenta los valores de M = 1.5Kg, k = 0.3Nw/M y
B = 0.6Nws/M.
Parte C
Parte D
Figura 22. Implementación comandos ZP2TF, TF2ZP,
Cuando tenemos la masa variable en el sistema y las otras dos
TF2SS, SS2TF.
variables de viscosidad y contante de resorte son contantes se
nota que la amplitud de la respuesta del sistema es mayor a
ZP2TF: Teniendo los polos y ceros se puede hallar la función
mayor masa y se logra una estabilidad más rápida del sistema
de transferencia.
con una masa mas baja. Por otro lado, cuando el coeficiente de
viscosidad es mas bajo la amplitud del sistema es mayor, pero
TF2ZP: Teniendo la función de transferencia se pueden
a mayor viscosidad se logra una mayor estabilidad del sistema
encontrar los polos y ceros.
de manera más rápida. Finalmente, con la constante de
elasticidad más baja la amplitud del sistema es mayor pero en
TF2SS: Teniendo la función de transferencia se pueden
este caso se logra una estabilidad del sistema muy similar en
encontrar los espacios de estado.
las tres variaciones de esta variable.
TERCERA PARTE SS2TF: teniendo los espacios de estados se puede encontrar la
función de transferencia.
Implementación de comandos en Matlab para el cálculo polos
y ceros de un sistema.
diseñador obtener la función de transferencia de lazo cerrado
directamente de la función de transferencia de lazo abierto.
CUARTA PARTE
Figura 28. Diagrama de Bode LABVIEW.
En Matlab se pueden implementar varios comandos que
facilitan visualizar diagramas de manera mas sencilla en este
caso se muestra como se define la función de transferencia en
MatlLAB y seguido de esto su implementación para el
diagrama de BODE y el diagrama de NYQUIST. El diagrama
de Nichols muestra 20 log_10 〖 (|G(s)|) 〗 . Versus
arg(G(s)). Lugares geométricos de constante 20 log_10〖
(|M(s)|) 〗 y arg(M(s)) son superpuestos para permitir al
Figura 29. Diagrama de Bode.
SEXTA PARTE
De igual manera se implementan las funciones del punto
anterior, pero en este caso en la interfaz de LabVIEW.
QUINTA PARTE
Se realiza la implementación de las señales expuestas en la
guía, donde se realizan variaciones de amplitud, frecuencia y
fase descritas en la interfaz de MatLAB a continuación.
Figura 42. 555 timer free con frecuencia 2Khz y ciclo útil
de 50%.
A la salida del 555 tendremos un pulso con la frecuencia
Figura 40. Script en MATLAB para producto entre deseada hasta este punto se tiene la señal cuadrada, para poder
matrices. sacar la señal triangular y la señal sinusoidal se debe integrar
NOVENA PARTE esta señal una vez para la señal triangular y dos veces para la
señal sinusoidal.
Se realiza la implementación de un circuito que sea capaz de
generar la una señal sinusoidal, una señal cuadrada, y una
señal triangular con una frecuencia de 2Khz, para ello se hace
uso del circuito integrado 555 en su modo astable con un ciclo
útil de trabajo de 50%, la configuración usada para esta
aplicación esta especificada en el datasheet.
-------------------------CODIGO VHDL----------------------------
library ieee;
Figura 50. Circuito tanque paralelo. use ieee.std_logic_1164.all;
entity SENAL_SS is
port(clk_50MHz,reset: in std_logic;
salida: out std_logic_vector (3 downto 0)
);
end SENAL_SS;
architecture BH of SENAL_SS is
divisor_1kHz: process(clk_50MHz)
variable contador: integer range 0 to 1800;
begin
Figura 52. Respuesta del circuito tanque con respecto a la
corriente eléctrica. if(rising_edge(clk_50MHz)) then
contador:= contador+1;
Como se puede observar, la resistencia (verde) alcanza su if(contador=1800) then
máximo valor de corriente en la frecuencia de resonancia, clk<= not(clk);
mientras que la bobina (azul) comienza en su valor máximo y
a mediad que aumenta la frecuencia su valor tiende a cero; por end if;
end if; when S3=>
end process divisor_1kHz; salida<="0111";
when S4=>
--registro de estados salida<="1111";
when S5=>
process(clk) salida<="0111";
begin when S6=>
salida<="0011";
if reset='0' then when S7=>
estado_actual<=S0; salida<="0001";
elsif rising_edge (clk) then
estado_actual<=estado_siguiente; end case;
end if; end process;
end process;
end BH;
--logica del estado siguiente
----------------------------FIN CODIGO VHDL-------------------
process (estado_actual)
begin El código esta fundamentado en dos cosas la primera un
contador y la segunda una maquina de estado finito, el
case estado_actual is contador garantiza la frecuencia deseada que es este caso es de
1KHZ, por otro lado este contador esta anclado directamente
when S0=> con la maquina de estado finito que a la salida puede
estado_siguiente<=S1; entregarnos 8 posibles salidas, estas salidas deben ir a un
when S1=> amplificador operacional en modo sumador el cual se encarga
estado_siguiente<=S2; de sumar las señales de salida de la FPGA así se reflejara la
when S2=> señal deseada que se muestra a continuación.
estado_siguiente<=S3;
when S3=>
estado_siguiente<=S4;
when S4=>
estado_siguiente<=S5;
when S5=>
estado_siguiente<=S6;
when S6=>
estado_siguiente<=S7;
when S7=>
estado_siguiente<=S0;
end case;
end process;
--logica de salida
Figura 54. Señal propuesta implementada.
process (estado_actual)
begin ANALISIS DE DATOS
case estado_actual is PREGUNTAS: