miércoles, 9 de abril de 2008

Estimación de la Incertidumbre de la Medida de un Termómetro Electrónico



Basanta Ingrid, Pérez Edar y Urdaneta Elizabeth
dergrid@hotmail.com; edarperez@hotmail.com; eliurdaneta@gmail.com
Universidad Nacional Experimental Politécnica
“Antonio José de Sucre”
Vicerrectorado Puerto Ordaz
Departamento de Ingeniería Electrónica
Maestría de Ingeniería Electrónica, Cátedra: Mediciones Industriales



Planteamiento del Problema



Para este caso se estudiara la incertidumbre de la medida basada en las características de un termómetro electrónico construido con un transductor, un amplificador operacional y un display siete segmentos, el cual posee un rango de temperatura de 0 ºC a 100 ºC, como el mostrado en la Figura 1.





En dicho estudio se considera la precisión de los dispositivos que conforman el termómetro electrónico como:



Transductor
Para todo el rango de operación posee un error de 0,05 ºC.




Amplificador Operacional
Se considera ideal y con una precisión para las resistencias de 2%.




Display
Con una resolución de 0,05%




Funcionamiento
El termopar (transductor) sensa la temperatura y la convierte en una señal de tensión en el orden de los milivoltios; dicha señal es enviada al amplificador operacional el cual la amplifica y la envía al display que genera la visualización de la misma, que es equivalente a la temperatura medida.




Cálculos:



Incertidumbre en la estabilidad del transductor (termopar).
La relación entre la temperatura sensada (TV) por el transductor y el voltaje de salida (VT) en los terminales de este se puede considerar que es lineal por lo que:



VT = STTV (1)



Donde ST es la sensibilidad del transductor en mV/ ºC.



De la ecuación (1) se puede establecer que el error de la tensión medida (eVT) es:



eVT = STeTV (2)



Donde eTV es el error en la temperatura medida, el cual se calcula mediante la siguiente relación:



(3)



Por otra parte, la contribución de incertidumbre para el transductor será:





Sustituyendo (3) en (2) y luego en (4) queda:





Al sustituir los valores numéricos para el caso de la temperatura presentada en el display (Figura 1), se tiene que:







Incertidumbre en la estabilidad del Amplificador Operacional

De igual forma el voltaje de salida V0 para el amplificador operacional es lineal y está dado por:



V0 = -(R2/R1)VT (6)



Por otro lado la ganancia del amplificador está dada por:



GA = -(R2/R1) (7)




De donde se tiene que: GA=-100
Luego se tiene que:



V0 = GAVT (8)



Cuando intervienen varios parámetros la incertidumbre total se evalúa a través de la siguiente ecuación, conocida como ley de propagación de incertidumbre:






Donde:


λi: Coeficiente de sensibilidad


ui: Incertidumbre de cada uno de los valores de entrada


Debido a que R1 y R2 son independientes entre sí, las varianzas de la ecuación (9) son nulas, entonces:





La contribución de incertidumbre para el amplificador será:






Se calculan los coeficientes de sensibilidad λ1 y λ2 derivando parcialmente la ecuación (7).





Sustituyendo en la ecuación (10) se tiene que:





Simplificando y resolviendo se tiene la incertidumbre del amplificador:





Incertidumbre en la estabilidad del display.

El máximo error del display para una decima de grado centigrado es 0,05 ºC, donde se tiene que:





Incertidumbre en la medida del termómetro.
El valor numérico mostrado en el display representara la temperatura medida (Tm). Por lo que el valor verdadero de la temperatura será:



Tm=V0+ED (12)


Sustituyendo la ecuación (1) y (8) en (12) se tiene:



Tm=GASTTV+ED (13)



Para este caso el valor medido solo depende de GA y ST, además se considera que cuando el sistema está en equilibrio GAST ≈ 1.

La incertidumbre total se tendrá a partir de la siguiente ecuación:






Se obtienen los coheficientes de sensibilidad λT, λA y λD derivando parcialmente la ecuación (13):




De la condición de equilibrio se puede decir que ST =1/GA y GA=1/ ST, sustituyendo en (15) y simplificando se tiene:


Sustituyendo todos los parámetros calculados en la ecuación (14) se tendrá:





Luego simplificando y resolviendo se tiene que la incertidumbre total es:

Um = 0,43 ºC

Finalmente se obtiene la incertidumbre de la medida para un nivel de confianza del 95% (k=2), utilizando para ello la siguiente ecuación:


I = k Um= 2×(0,43) ==> I = 0,86ºC

Donde el resultado final de la medida está dado por:


Tm= Tmc ± Ik


Luego la temperatura de salida Tm queda en:


Tm= (25,3 ± 0,9) ºC



Al graficar la incertidumbre versus la temperatura (Figura 2) se observa que el comportamiento de la misma es lineal. Además la curva muestra que para cada valor de temperatura se tendra un valor de incertidumbre, ya que la incertidumbre en cada punto de temperatura es constante.










domingo, 10 de febrero de 2008

APLICACIÓN DE UNA FPGA EN EL SISTEMA DE CONTROL DE UN BRAZO MECÁNICO

Basanta Ingrid
dergrid@hotmail.com, edgar010170@cantv.net
Santiago Lemus
santi@hotmail.com
Universidad Nacional Experimental Politécnica
“Antonio José de Sucre”
Vicerrectorado Puerto Ordaz
Departamento de Ingeniería Electrónica

Maestría de Ingeniería Electrónica

Cátedra Electrónica Integrada


Resumen: Son variadas las técnicas para el control de la posición y orientación de los robots industriales en especial aquellos en forma de brazos mecánico. En tal sentido, se presenta en este trabajo una descripción de la implementación de los arreglos de compuertas de campo programables (Field Programmable Gate Array, FPGA) para el control de la posición de un brazo mecánico de dos grados de libertad (dos barras). Como elementos sensores se presentan los acelerómetros de Analog Divices Modelo ADXL202E y como elemento de control se considera la FPGA Xilinx XC2S200E sobre una tarjeta de desarrollo Digilent 2SB-DIO4.

Palabras Claves: Brazo Mecánico, FPGA, Acelerómetro, Control Digital.


1. INTRODUCCIÓN.

Los brazos mecánicos son muy utilizados, hoy en día en diferentes tipos de industrias, tales como: automotriz, química, electrónica, entre otras. También son utilizados en medicina como asistentes en cirugía, en ambientes radioactivos, desactivación de explosivos, exploración de planetas, entre otros.
Adquiere gran importancia el poder manipular estos brazos mecánicos en tiempo real y en forma remota, por lo que se requieren sistemas de control de respuestas rápidas. En ese sentido las FPGAs representan una tecnología interesante en aplicaciones de control en tiempo real cuando se requiere implementar un determinado algoritmo de control sobre un dispositivo [1].

En el siguiente trabajo se presenta el uso de la FPGA Xilinx XC2S200E para el diseño de un brazo robot de dos grados de libertad, cuya tarea es del tipo “PICK AND PLACE”, es decir, tareas donde únicamente nos interesa tomar un objeto desde una posición y orientación inicial y ubicarlo en otra sin importar la trayectoria que se ejecuta durante el movimiento.


2. DESARROLLO.

2.1. Modelo Matemático.

La Figura 1 muestra el esquema físico del brazo mecánico de dos (2) grados de libertad, el cual se desea manipular utilizando dos servomotores ubicados en las dos rótulas del manipulador. El punto "A", representa la posición que se desea determinar, dado que allí estará ubicada la pinza de sujeción.
De la Figura 1 se pueden obtener las ecuaciones que rigen la posición del punto "A" como función de los ángulos de giro de los servomotores, donde resulta que:



Como se puede observar, determinando los ángulos de giro de los servomotores se puede calcular la posición del punto A (pinza) del brazo mecánico.


2.2. Arquitectura del Sistema de Control.

En forma general un sistema de control para un manipulador (brazo mecánico) tiene la estructura mostrada en la Figura 2. Estos sistemas poseen sensores que se encargan de medir el ángulo de giro de cualquiera de las partes del sistema y transmitir dicha información al control del sistema. La data del sensor es tomada por un sistema de adquisición de datos, el cual a su vez la decodifica y envía al sistema de control, el sistema de control procesa la información y toma la decisión requerida por el sistema o el operador y la transmite al actuador (en este caso un servomotor), el cual ejecuta la acción ordenada por el controlador.






2.2.1. Descripción del Sensor utilizado.


En este trabajo el sensor seleccionado es un acelerómetro modelo ADXL202E de Analog Divices cuyo diagrama de bloque se muestra en la Figura 3 [2].

El acelerómetro contiene un sensor micro-máquina de poli-silicio y un circuito que prepara la señal de aceleración para implementarla en una arquitectura de lazo abierto. En cada eje, un circuito de salida convierte la señal analógica a un ciclo de trabajo modulado, donde la señal digital es decodificada con un microcontrolador.

Este tipo de acelerómetro es utilizado para medir ángulos de inclinación que van desde a a través de la longitud de los pulsos T1 y T2 mostrados en la Figura 3.

La Tabla 1 presenta las salidas de las aceleraciones medidas por los sensores X y Y del acelerómetro como función del ángulo de inclinación de este. Se puede observar que cuando el ángulo de inclinación es -90° la salida X es -g y Y es cero, por otra parte, sí la inclinación es +90°, el valor de X es g y Y es cero. Cuando el ángulo es 0° la salida X es cero y Y es igual a g.





Dado que el servomotor del brazo L1 tendrá un giro de 0° a 180° el acelerómetro a instalar debe estar a +90° desde la posición 0° de dicho servomotor, es decir, para un ángulo de giro del servomotor de 90° el sensor tendrá un ángulo de 0° y para un ángulo de giro de 180° del servomotor el sensor tendrá un ángulo de -90°.

Para el brazo L2, el sensor medirá el ángulo phi de la ecuación (3), el cual también tiene un ángulo de 0° a 180° por lo que la instalación del sensor es similar al brazo L1.


2.2.2. Descripción del sistema de Control (FPGA).

El sistema de control recibe la data de los sensores, la decodifica, la procesa y envía la señal modulada por ancho de pulso (PWM por sus siglas en ingles) a los actuadores (servomotores). El dispositivo lógico programable utilizado es un FPGA Xilinx XC2S200E [3], montado sobre una tarjeta de desarrollo Digilent 2SB-DIO4.

La FPGA es un arreglo lógico y digital que puede ser programado por diferentes softwares tales como el VHDL, el Verilog, ABEL, entre otros. La arquitectura de una FPGA consiste de un arreglo de varias celdas lógicas que se comunican entre sí a través de canales de posición horizontal y vertical (ver Figura 4). Cada celda lógica funciona en forma similar a los bloques lógicos de los dispositivos lógicos programables complejos (CPLD), pero se diferencian en que la FPGA utiliza generadores de funciones en vez de compuertas lógicas.



Cada generador de función es como una memoria que en vez de implementar la función lógica por compuerta se precalcula el resultado y se almacena en el generador. Las entradas al generador funcionan como un bus de direcciones que mediante combinación de las diferentes entradas se selecciona el resultado correcto. Por esta razón es que las FPGA tardan menos tiempo en procesar la información en comparación con las compuertas.


2.2.3. Descripción del Actuador.

El actuador utilizado es un servomotor Marca Futaba, Modelo S3004, cuyas características son [4]:

Para 4,8 V: Veloc. = 0,23 s/60º, Torque = 3,06 kg-cm.
Para 6,0 V: Veloc. = 0,19 s/60º, Torque = 3,57 kg-cm.
Peso: 37,2 g (1,3 oz)
Largo: 41 mm (1,6")
Ancho: 20 mm (0.8")
Alto: 36 mm (1,4")

El voltaje que se utilizará es de 4,8 V donde los tiempos de los ciclos de trabajo de , y son 0,9 ms, 1,5 ms y 2,1 ms respectivamente [5].En forma general los servomotores son un sistema compuesto por un motor eléctrico de corriente continua al cual se le acopla una pequeña caja de engranajes que se encarga de aumentar el torque del motor eléctrico disminuyendo la velocidad angular. El motor eléctrico es controlado por un sistema de control que permite regular la velocidad y sentido de giro del mismo. La Figura 5 muestra un esquema general del servomotor utilizado.


2.2.4. Funcionamiento del Sistema.

La Figura 6 muestra el diagrama de control del sistema, donde la adquisición de los datos se realiza a través de un contador de doble reset (uno asíncrono y otro sincrónico). Este bloque cuenta el tiempo de encendido del ciclo de trabajo de la señal PWM proveniente de los acelerómetros. Al comienzo del tiempo de encendido de la señal PWM el registro del contador se resetea e incrementa su cuenta y cuando la señal se apaga el registro queda almacenado para luego ser procesado (cálculo).


El procesamiento de datos regula los diferentes niveles de inclinación de los sensores, los cuales están relacionados por las ecuaciones (1), (2) y (3). Esta data después de procesada se convierte en un valor de posición para los servomotores. El servomotor posee un controlador de lazo cerrado que ajusta su posición de acuerdo al incremento o decremento del error de retroalimentación.

3. CONCLUSIONES.

- Las FPGAs procesan la información a altas velocidades, son fáciles de implementar y compatibles con muchos dispositivo.

- Los acelerómetros son dispositivos económicos, compatibles con las FPGAs, que son utilizados para medir ángulos de inclinación en un rango de a , por lo que limita el ángulo de giro de cada brazo a un ángulo de a (o en algunas aplicaciones de a ). Para medir ángulos de 360° se deben instalar dos acelerómetros en cada articulación desfasados 90°.

- Este tipo de mecanismo puede simular el movimiento de un brazo humano moviéndose en un solo plano.

- La velocidad de los servomotores y su posición es controlada por pulsos PWM.


5. BIBLIOGRAFÍAS.

[1] Martinez, J. J., Guerrero, A. y López, J. "Herramienta para la Implementación Hardware de Controladores Sobre FPGAs.". Universidad Politécnica de Cartagena.

[2] Analog Divices, Inc., (2000). “Manual del Fabricante". Disponible: http://www.analog.com/. [Consulta: 2007, diciembre, 27].

[3] Xilinx, Inc,. (2001). "Data Sheets Catalog". Disponible: http://www.xilinx.com/. [Consulta: 2007, diciembre, 27].

[4] Futaba. "Radio Control (RC-R/C) Sistemns and Accessories". Disponible: http://www.futaba-rc.com/. [Consulta: 2007, diciembre, 29].

[5] Castillo, A. A., et al. "Control Digital de Posición con Acelerómetros Utilizando FPGA". Universidad Autónoma de Yucatán, Facultad de Ingeniería.Pérez M. C. y Yáñez S. O. "Demodulador Digital para Acelerometría Dinámica". Universidad Autónoma Metropolitana, Iztapalapa. México.

sábado, 26 de enero de 2008

Implementación de un FPGA a una Máquina Expendedora de Refresco


Basanta Ingrid
dergrid@hotmail.com
Santiago Lemus
santia90@hotmail.com
Universidad Nacional Experimental Politécnica
“Antonio José de Sucre”
Vicerrectorado Puerto Ordaz
Departamento de Ingeniería Electrónica
Maestría de Ingeniería Electrónica, Cátedra Electrónica Integrada



Resumen: En el presente trabajo se realiza la programación e implementación de una FPGA para el control de una máquina expendedora de refresco, la cual no acumula dinero ni da cambio. Primeramente se describe el proceso de expendio del refresco de la máquina, luego se presenta el diagrama de estado el cual se utiliza para obtener las ecuaciones booleanas y secuenciales del sistema, que a su vez permitirá construir el circuito lógico y desarrollar la codificación en VHDL para programar la FPGA Xilinx XC2S200E. Antes de realizar la implementación se presenta la simulación del código en VHDL, mediante el software ModelSim XE III 6.2g de la empresa Xilinx. Los resultados muestran que el código desarrollado se ajusta perfectamente a la lógica establecida para el funcionamiento de la máquina de refresco.
Palabras Claves: Máquina de estado, expendedora de refresco, FPGA, simulación, programación en VHDL.


1. INTRODUCCIÓN.

Actualmente con los avances tecnológicos la automatización de equipos ha crecido en la industria, hogares, entre otros. Las dificultades más grandes que se pueden encontrar en la automatización es el tiempo de respuesta de los equipos, desde el momento en que se da la orden hasta que se ejecuta. En ese sentido los dispositivos Lógicos programables (PLD), en especial los FPGA resuelven en gran medida las constantes de tiempo debido a sus altas velocidades de respuestas dado que su propagación es a nivel lógico.

Como tarea de fin de curso de la asignatura Electrónica Digital se presenta en este trabajo la programación e implementación de un FPGA en una máquina expendedora de refresco la cual posee las siguientes características: la máquina solo puede admitir dos tipos de monedas y un solo tipo billete. El costo del refresco es de 2,5 Bs.F y la máquina solo expende un tipo de refresco.

En el trabajo se presentan las ecuaciones y el circuito lógico del problema a modelar, se realiza el código en VHDL y la simulación del dispositivo utilizando el software Xilinx ISE 9.2i y el ModelSim XE III 6.2g de la empresa Xilinx.


2. DESARROLLO.

2.1. Descripción del Proceso.

Como se mencionara anteriormente la máquina expende un solo tipo de refresco siempre y cuando el usuario introduzca una cantidad de dinero igual o superior a BsF 2,5 dado que la máquina no da vuelto ni acumula la cantidad. Se pueden introducir dos tipos de monedas y un solo tipo de billete, donde las monedas son de 0,50 BsF y 1 BsF, y el billete de 2 BsF.

2.3. Diagrama de Estado.

Para identificar las monedas la máquina posee un circuito lógico de reconocimiento de las monedas y billetes el cual activa las señales A y B según como se muestra en la Tabla 1.


Ahora bien, a medida que se introducen monedas a la expendedora de refresco, el estado lógico de la misma debe ir cambiando para identificar cuantas monedas ha introducido el consumidor. Estos estados se pueden definir mediante tres bits, los cuales son identificados en la Tabla 2 por Q1, Q2 y Q3.



Las señales de los estados deben ser generadas por tres Flip-Flops; donde el estado VACÍO significa que no hay monedas en la máquina, el estado BSF05 señala que hay 0,5 BsF., el estado BSF10 indica que existe 1,0 BsF, el estado BSF15 que hay 1,5 BsF., el estado BSF20 que hay 2,0 BsF. y el estado final del proceso se representa por SALIDA, el cual indica que la condición de pagó se ha cumplido ejecutando la salida del refresco y reinicio la máquina al estado VACÍO.
Para ilustrar mejor los estados del sistema se hace uso del diagrama de estado de la máquina de Moore, mostrado en la Figura 1, estos son una representación gráfica que indican la secuencia de los estados que se presentan en el circuito secuencial, teniendo en cuenta las entradas y las salidas. Vale la pena comentar que al activarse la señal RST la máquina de estado se va al estado VACÍO.



2.2. Ecuaciones Booleanas y Circuito Lógico.
Del diagrama de estado se obtiene la tabla de transición de estado (Tabla 3), donde se especifican las salidas D1, D2 y D3 de los tres Flip-Flop tipo D y la salida S para las diferentes combinaciones de entrada. Vale la pena comentar que las filas sombreadas en la Tabla 3 representan los puntos en los cuales la máquina suministra el refresco y regresa al estado vacio.

Las ecuaciones booleanas secuenciales resultantes son:



Finalmente a partir de las ecuaciones booleanas se construye el circuito lógico secuencial mostrado en la Figura 2.

Figura 2. Circuito Lógico Secuencial
2.3. Codificación en VHDL.
A partir del circuito lógico secuencial se puede obtener la codificación en VHDL de nuestro sistema (también se puede obtener la codificación en Verilog) utilizando el software Xilinx ISE 9.2i. Es posible también obtener la codificación a partir del diagrama de estado desarrollado en el mismo software Xilinx. La codificación en VHDL para el sistema es la siguiente:
_______________________________________________________
-- Module Name: MaqRefresco - Behavioral
-- Project Name: Ingrid Basanta
-- Target Devices: FPGA XC2S200E
---------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity MaqRefresco is
Port ( A : in STD_LOGIC;
B : in STD_LOGIC;
RST : in STD_LOGIC;
CLK : in STD_LOGIC;
S : out STD_LOGIC );
end MaqRefresco;
architecture Behavioral of MaqRefresco is
type ESTADOS is (VACIO, BSF05, BSF10, BSF15, BSF20, SALIDA);
attribute syn_encoding: string;
attribute syn_encoding of ESTADOS: type is "sequential";
signal ESTADOA,ESTADOSIG: ESTADOS;
begin
process (RST,CLK) --Inicia el proceso secuencial
begin
if (RST='1') then
ESTADOA <= VACIO;
elsif (CLK'event and CLK='1') then
ESTADOA <= ESTADOSIG;
end if;
end process;
process (ESTADOA,A,B)
begin
ESTADOSIG <= ESTADOA;
case ESTADOA is
when VACIO => if A='0' and B='1' then ESTADOSIG<=BSF05;
elsif A='1' and B='0' then ESTADOSIG<=BSF10;
elsif A='1' and B='1' then ESTADOSIG<=BSF20;
end if;
when BSF05 => if A='0' and B='1' then ESTADOSIG<=BSF10;
elsif A='1' and B='0' then ESTADOSIG<=BSF15;
elsif A='1' and B='1' then ESTADOSIG<=SALIDA;
end if;
when BSF10 => if A='0' and B='1' then ESTADOSIG<=BSF15;
elsif A='1' and B='0' then ESTADOSIG<=BSF20;
elsif A='1' and B='1' then ESTADOSIG<=SALIDA;
end if;
when BSF15 => if A='0' and B='1' then ESTADOSIG<=BSF20;
elsif A='1' then ESTADOSIG<=SALIDA;
end if;
when BSF20 => if A='1' or B='1' then ESTADOSIG<=SALIDA;
end if;
when SALIDA => ESTADOSIG<=VACIO;
end case;
end process;
S <= '1' when (ESTADOA = SALIDA) else '0';
end Behavioral;
__________________________________________________

2.4. Simulación.
A partir de la codificación en VHDL se puede simular el comportamiento del sistema para diferentes señales de entrada A y B.
La Figura 3 muestra el comportamiento del sistema cuando se introduce el dinero en la siguiente secuencia BsF. 0,5; BsF. 1,0 y BsF. 2,0; justo cuando se introduce el billete de BsF. 2,0 se genera la salida del refresco, dado que el pagó supera el valor requerido por la máquina.

Figura 3. Comportamiento para la secuencia BsF. 0,5; BsF. 1,0 y BsF. 2,0


Para una secuencia de BsF. 1,0, BsF. 1,0 y BsF. 0,5 el comportamiento del sistema responde a la Figura 4, donde se observa que después que la máquina ha acumulado BsF. 2,5 se produce la señal de salida para expender el refresco.
Figura 4. Comportamiento para la secuencia BsF. 1,0; BsF. 1,0 y BsF. 0,5.

Finalmente se muestra la Figura 5 el comportamiento de la máquina para las secuencias 2; 2 y 0,5; 2, donde se observa que la salida del refresco responde de manera muy precisa a las condiciones establecidas, de que el refresco se expende una vez que el pagó es mayor o igual a BsF. 2,5.


Figura 5. Comportamiento para la secuencia 2; 2 y 0,5; 2.


2.5. Implementación.

Una vez probado el código mediante la simulación se procedió a realizar la implementación en la FPGA Xilinx XC2S200E utilizando el mismo software, donde los pines de conexión para las entradas y salidas son:

A: T11
B: L14
CLK: T9
RST: M13
S: T13
En la Figura 6 se muestra el diagrama esquemático de la FPGA y la arquitectura de conexión de las mismas.
(a)

(b)Figura 6. Esquema de conexión de la FPGA Xilinx XC2S200E. (a) Vista superior de la ubicación de los pines en el encapsulado y (b) arquitectura de conexión.

3. CONCLUSIONES.

- La utilización de los softwares de simulación facilita el diseño de los sistemas de control que utilizan dispositivos lógicos.

- Los diagramas de estados son una herramienta poderosa que permiten generar o desarrollar la programación en VHDL (o en Verilog) de los PLDs, en forma muy sencilla.

- La utilización de software de la empresa que fabrica la FPGA (en éste caso Xilinx) permite realizar la implementación con bastante sencillez, dado que éste, despues de culminado el proceso genera el código para programar la FPGA e indica los puntos de conexión de la misma.


5. BIBLIOGRAFÍAS.

[1] Tocci Ronald, (1996), "Sistemas Digitales, Principios y Aplicaciones". Prentice Hall, Sexta edición, Máxico. Pag. 833.

[2] Sánchez Inocente, (2007). “Tecnología de Computadores". Disponible: http://www.virtual.unal.edu/. [Consulta: 2007, enero, 15].

[3] Xilinx, Inc,. (2001). "Data Sheets Catalog". Disponible: http://www.xilinx.com/. [Consulta: 2007, diciembre, 27].

lunes, 7 de enero de 2008

Guía de Cinemática - Fisica I

PARTE I: M.R.U., M.R.U.A., M.R.U.R.

1. Un atleta realiza un recorrido en línea recta con una velocidad promedio de 7 m/s durante 5min y después con una velocidad promedio de 5 m/s durante 3min. Calcule la velocidad promedio en todo el recorrido.

2. Un atleta parte desde Macro Centro hacia el C.C. Orinokia y simultáneamente parte otro del C.C. Orinokia hacia Macro Centro cruzándose a 120 m de Macro Centro. En el trayecto de vuelta se cruzan a 100 m del Orinokia. Determine la distancia que existe entre ambos centros comerciales.

3. Un ciclista parte del reposo desde una ciudad a otra, con una aceleración de 4 m/s^2. Dos segundos después desde el mismo punto parte otro ciclista del reposo en la misma dirección con una aceleración de 6 m/s^2. ¿A qué distancia desde el punto de partida alcanza el segundo ciclista al primero?

4. Un auto recorre 220 km con una rapidez promedio de 12 m/s, una hora después parte otro desde el mismo punto recorriendo la trayectoria del primero al mismo tiempo. ¿Cuál fue la rapidez promedio del segundo auto durante el período que estuvo en movimiento?.

5. En la prueba preliminar para determinar la posición de partida de una carrera de formula uno, un auto se encuentra en el punto de partida, mientras que otro pasa por ese mismo punto a una velocidad constante de 210 km/h. Después de 3s el primer auto arranca e intenta alcanzar a su oponente. Si el primer auto acelera uniformemente a 20 m/s2, determine: a) ¿Cuánto tiempo tardará el primer auto en alcanzar al segundo auto?. b) ¿Qué distancia han recorrido los autos, desde el punto de partida, cuando el primero alcanza al segundo?. c) ¿Qué velocidad lleva cada auto al momento del encuentro?

6. Una partícula se mueve a lo largo del eje x según la ecuación x = 3 + 4t - 2t^2 donde x esta en metros y t en segundos. Para t = 4 s, halle: La posición de la partícula, su velocidad y su aceleración.

7. Un automóvil es acelerado uniformemente desde el reposo hasta alcanzar una velocidad de 15 m/s, luego se aplican los frenos desacelerando uniformemente hasta detenerse. Sí el tiempo total del recorrido fue de 0,3 min. Calcule la distancia recorrida por el automóvil.

8. Una pelota parte del reposo y acelera a 0,8 m/s^2 mientras se mueve hacia abajo en un plano inclinado de 10 m de largo. Cuando alcanza la parte inferior, la pelota rueda por otro plano horizontal, desacelerando uniformemente hasta que se detiene en 18 m. a) ¿Cuál es la velocidad de la pelota en la parte inferior del primer plano?. b) ¿Cuánto tarda en rodar por el primer plano?. c) ¿Cuál es la aceleración a lo largo del segundo plano?. d) ¿Cuál es la velocidad de la pelota 8 m a lo largo del primer plano?

9. El conductor de una góndola que se mueve con una velocidad de 100 km/h ve en el medio de la vía a un niño recogiendo su pelota a una distancia de 168 m. El conductor al reaccionar aplica los frenos desacelerando a 2,5 m/s^2. Calcule a) ¿Cuál fue el tiempo de reacción del conductor?.

10. Un motorizado parte del reposo acelerando a 2,8 m/s^2 hasta alcanzar una velocidad de 35 m/s, luego continua moviéndose durante 12 s a velocidad constante hasta que aplica los frenos deteniéndose 3 s después. Calcule: a) El tiempo que estuvo el motorizado en movimiento. b) La distancia que recorre antes de detenerse.

PARTE II: CAÍDA LIBRE

1. Una pelota es lanzada verticalmente hacia abajo con una velocidad de 9 m/s desde una altura de 40 m. ¿En que momento la pelota golpea el suelo.

2. Un niño lanza un cuerpo verticalmente hacia arriba a otro niño que se encuentra en una ventana 2,6 m arriba. El niño atrapa el cuerpo 1,1 s después con la mano extendida. a) ¿Cuál es la velocidad inicial con la cual se lanzo el cuerpo?. b) ¿Cuál era la velocidad del cuerpo justo al momento de ser atrapado?

3. La altura de un helicóptero sobre el suelo está representada por y = 4t^3, donde y esta en metros y t en segundos. Después de 3 s se deja caer desde el helicóptero una caja. ¿Cuánto tiempo tarda la caja en llegar al suelo?

4. Una esferita de metal se deja caer desde la ventana de un edificio, un joven que se encuentra parado unas ventanas más abajo observa que la esferita tarda 0,25 s en descender la altura de 1,8 m de la ventana. Sí cada piso tiene una altura de 3 m. a) ¿A que altura respecto a la base de la ventana se dejo caer?. b) ¿Cuántos pisos hay desde el punto de partida hasta la ventana?

5. Un joven lanza un dardo verticalmente hacia arriba con una velocidad 6 m/s desde una altura de 3 m, en el mismo instante otro joven desde el suelo lanza otro dardo en la misma dirección con una velocidad de 10 m/s. Encuentre: a) El tiempo que tardan en encontrarse los dardos respecto al suelo. b) A que altura se encuentran.

6. Desde un globo que asciende verticalmente con una velocidad 8m/s, se deja caer un cuerpo cuando el globo se encuentra a una altura de 36,4 m por encima del suelo. a) Luego de ser soltado el cuerpo diga ¿Cuánto tiempo estará en el aire?. b) ¿Cuál es su velocidad justo antes de chocar con el suelo?

7. Se deja caer una piedra desde un precipicio y 1s más tarde se lanza otra desde el mismo punto verticalmente hacia abajo con una velocidad de 20 m/s. ¿A que distancia por debajo del punto más alto del precipicio alcanza la segunda piedra a la primera?. Dos niños se encuentran sobre el techo de un edificio de 30 m de altura. Un niño deja caer una metra y 1 s después el otro niño lanza otra metra verticalmente hacia abajo. Calcule la velocidad con la cual fue lanzada la segunda metra para que ambas toquen simultáneamente el suelo.
PARTE III: PROYECTILES

1. Una pelota se lanza horizontalmente desde la azotea de un edificio de 35 m de altura. La pelota golpea al suelo en un punto a 80 m de la base del edificio. Encuentre: a) el tiempo que la pelota permanece en el aire. b) Su velocidad inicial c) Las componentes X y Y de la velocidad justo antes de que la pelota pegue en el suelo.

2. Un jugador de fútbol patea un balón desde un punto de 36 m de la zona de gol y el balón debe librar los postes que están a 3,5 m de altura. Cuando se patea, el balón abandona el suelo con una velocidad de 20 m/s y con un ángulo de 53° respecto a la horizontal, a) ¿Por cuanta distancia el balón libra o no los postes? b) ¿El balón se aproxima a los postes mientras continúa ascendiendo o cuando va descendiendo?

3. Un bombero a cincuenta metros de un edificio en llamas dirige un chorro de agua de una manguera a un ángulo de 50° sobre la horizontal (ver figura 1). Sí la velocidad inicial de la corriente es 40 m/s. ¿A que altura el agua incide en el edificio?

4. Un cañón puede lanzar un proyectil a 1,7 km/s, sí el ángulo de inclinación es de 55° ¿Cuál es el alcance del proyectil y el tiempo que permanece en el aire?

5. Un balón de fútbol es pateado con una velocidad de 32 m/s, ¿Cuál será el intervalo angular al que deberá ser pateado el balón si se quiere anotar un gol, desde un punto ubicado a 56 m en frente de la arquería, cuya altura es de 3,5 m.?

6. Un proyectil se dispara de tal manera que su alcance horizontal es tres veces su altura máxima, ¿Cuál es el ángulo de disparo?

7. Un jugador de básquetbol de 2 m de altura lanza un tiro a la canasta desde una distancia horizontal de 10 m (ver figura 2). Sí tira a un ángulo de 40° con la horizontal, ¿Con que velocidad debe lanzar el balón para que este entre en el aro sin golpear el tablero?
8. Un balón de fútbol es pateado con una velocidad de 20 m/s con un ángulo de elevación de 36° con respecto a la horizontal, un portero ubicado en la línea de gol a 56 m en dirección de la patada, comienza a correr en ese mismo instante para atraparla. ¿Cuál debe ser su velocidad promedio, sí este debe llegar justo en el instante en que el balón toque el suelo?

viernes, 7 de diciembre de 2007

Arreglos Lógicos Programables (PAL)

Ingrid Basanta(1), Santiago Lemus(2)
Universidad Nacional Experimental Politécnica
"Antonio José de Sucre"
Vicerrectorado Puerto Ordaz
Catedra de Circuitos Digitales Configurables


1. Introducción

Las PAL (Arreglos Lógicos Programables), que como su nombre lo indica son arreglos matriciales de fusibles y diodos que mediante una cierta lógica pueden llegar a desempeñar cualquier función booleana. Su arquitectura interna consiste en términos AND programables que alimentan términos OR fijos. Todas las entradas a la matriz pueden ser combinadas mediante AND entre si, pero los términos AND específicos se dedican a términos OR específicos. Las PAL tienen una arquitectura muy popular y son probablemente el tipo de dispositivo programable por usuario más empleado. Si un dispositivo contiene macrocélulas, comúnmente tendrá una arquitectura PAL.

Las PAL son PLD que se han desarrollado para superar ciertas desventajas de la PLA, tales como los largos retardos debidos a los fusibles adicionales que resultan de la utilización de dos matrices programables y la mayor complejidad del circuito. Básicamente la PAL está formada por una matriz AND programable y una matriz OR fija con la lógica de salida, esta estructura permite implementar cualquier suma de productos lógica con un número de variables definido, sabiendo que cualquier función lógica puede expresarse como suma de productos. La PAL es el dispositivo lógico programable más común y se implementa con tecnología bipolar TTL o ECL.


2- Arreglos Lógicos Programables (PAL)

Un dispositivo lógico programable es aquel cuyas características pueden ser modificadas y almacenadas mediante programación. Entre los dispositivos lógicos programables el PAL es el más simple, son los más populares y los más utilizados.

El circuito interno de un PAL consiste de una matriz de conexiones, una matriz de compuertas AND programables y un arreglo de compuertas OR fijo [1]. La matriz de conexiones es una red de conductores distribuidos en filas y columnas con un fusible en cada punto de intersección, mediante la cual se seleccionan cuales entradas del dispositivo serán conectadas al arreglo OR y así obtener una función lógica en forma de suma de productos. Los circuitos PAL son no reprogramables; ya que la síntesis de las ecuaciones lógicas se realiza a través de la quema de fusibles en cada punto de intersección de los pines de entrada con las compuertas.

3. Estructura de la PAL

En la Figura 1 se muestra la estructura interna de una PAL, en esta se observa que cada línea de salida es conectada a tres líneas producto y por consiguiente representa una suma de tres términos producto.

Figura 1. Estructura interna de la PAL.

Debido al arreglo OR, la representación del PAL mostrada en la Figura 2 es más usada que el de la Figura 1.

Figura 2. Estructura interna de la PAL estándar.

4. Funcionamiento de la PAL.

Como se ha mencionado, las PAL están formadas por una matriz de puertas AND programable conectada a una puerta OR fija. Esta estructura permite implementar cualquier suma de productos lógicos con un número de variables definidas y limitadas, entre otras, por el número de entradas y salidas que tenga el dispositivo.
En la Figura 3 se muestra la estructura básica de un PAL para tres variables de entrada y salida sin programar [2]. Cada punto de intersección entre una fila y una columna se denomina celda y es el elemento programable de la PAL. Cada fila se conecta a la entrada de una puerta AND y cada columna a la variable de entrada o su complemento. En función de la presencia o ausencia de las conexiones creadas por programación, se puede aplicar cualquier combinación de variables de entrada o sus complementos a una puerta AND para generar cualquier operación producto que se desee.

Figura 3. PAL con matriz AND sin programar.


La implementación de una función lógica sobre un PAL, se muestra la figura 4, donde las señales que entran a la matriz son las variables de entrada y sus complementos. Cuando se requiere la conexión entre una fila y una columna, el fusible queda intacto, Cuando dicha conexión no se requiere, el fusible se abre en el proceso de programación. La salida de la puerta OR proporciona finalmente la suma de productos. Observe que si alguna entrada de una puerta AND queda sin conectar, esta adquiere el valor del elemento neutro del producto lógico, sin afectar el resultado de dicha puerta.

Figura 4. PAL con matriz AND programada.

5. Símbolo simplificado de la PAL.

Puesto que las PAL son circuitos integrados muy complejos desde el punto de vista interno, los fabricantes han adoptado una notación simplificada para eliminar los diagramas lógicos complicados. En la Figura 5 se muestra la notación.

Figura 5. Símbolo simplificado de una PAL.


Buffer de entrada: Para evitar cargar con la gran cantidad de entradas de puertas AND a las que se pueden conectar una variable o su complemento, se añade un buffer a las variables de entrada de la PAL. Un buffer inversor genera el complemento de una variable de entrada.

Puertas AND: una matriz AND de una puerta PAL típica tiene una gran cantidad de líneas de interconexión y cada puerta AND tiene entradas múltiples. El diagrama lógico de una PAL muestra cada puerta AND que realmente tienen varias entradas, utilizando una sola línea para representar a todas las líneas de entrada.

Conexiones de una PAL: Para obtener un diagrama lo más sencillo posible, los fusibles de una matriz AND programable se indican mediante una X en el punto de intersección si el fusible queda intacto y no se indica nada sí el fusible esta fundido. Las conexiones fijas emplean el punto estándar.

6. Diagrama de bloque de una PAL.

Las salidas de la matriz AND son las entradas de la matriz OR y la salida de cada puerta OR se asocia a una variable lógica de salida. Una PAL típica tiene ocho o más entradas en la matriz AND y hasta ocho bloques lógicos de salida como se muestra en la Figura 6 [3].


Figura 6. Diagrama de bloque de una PAL.


Algunas PAL disponen de pines de entrada/salida (E/S) combinados, que se pueden programar como salida o como entrada. La presencia de estos pines es muy útil cuando se desea, por ejemplo, realizar una realimentación entre variables de salida y entrada como es el caso del diseño de un biestable.

7. Fabricantes de la PAL.

Dispositivos PAL (o simplemente PALS) se introducen en 1978 por Monolithic Memories, Inc., (MMI), la arquitectura era más sencilla que la FPLA porque omitía la matriz OR programable. Esto hizo los dispositivos más rápidos, más pequeños y más baratos [4].

Los PAL de MMI pronto fueron distribuidos por AMD la cual empleo tecnología PROM de fusibles Titanio-Tungsteno programables una sola vez; Texas Instruments apoya las PALs con arquitectura variable programables una sola vez y National Semiconductor, quien fue el pionero en el desarrollo de Arreglos Lógicos Programables (Programmable Logic Arrays, PLA’s) en forma de un DIP grande de 24 pines o terminales (0.6 pulgadas de ancho) con 96 términos productos, 14 entradas, 8 salidas.

El primer circuito PAL fue el 16L8, de 20 terminales (pines), con soporte para 8 salidas y hasta 16 entradas con tecnología Bipolar, mostrada en la Figura 7, en cada macro celda se observa:

° Cada variable de entrada es distribuida negada y sin negar en la matriz de intersección mediante los literales (columnas).

° Todas las columnas cruzan líneas horizontales donde se puede realizar el AND cableado de las columnas que se elijan y con ello generar en cada fila la suma de productos que se desee.

° Siete filas son unidas mediante una compuerta OR para realizar la suma de productos.

° La señal de salida es negada por cuestiones de velocidad; ya que es más rapida una compuerta NOR que una OR, aunque existe la PAL 16H8, donde la salida en la compuerta OR sale sin negar.

° En algunas macroceldas el valor de salida se realimenta negado y sin negar a todo el circuito, lo cual permite la conexión en cascada de lógica, para la síntesis de funciones más complejas. Esto además facilita el diseño de circuitos realimentados para la elaboración de celdas de emorias.

° Las salidas se pueden controlar individualmente a través de las compuertas Tri-State de cada una y con esto poder seleccionar la salida como entrada.

Figura 7. PAL16L8 en encapsulado DIP20.


Con este tipo de dispositivos pueden simularse arreglos del tipo de Productos Lógicos, o en su caso realizar decodificación de direcciones. Sin embargo, la mayor aportación de los dispositivos PAL fue generar aplicaciones específicas en muy corto tiempo. La operación de estos dispositivos inicio manejando velocidades de 4.7 Mhz para la IBM PC hasta 33 Mhz, para posteriormente alcanzar los 50 Mhz; hoy se pueden encontrar dispositivos que operan con un retraso de propagación de la señal del orden de 5ns.

Sin embargo, su estructura simple también es su principal desventaja, ya que solo se pueden implementar pequeños circuitos lógicos representados con un modesto número de términos producto, porque su estructura de interconexión esta fija en cuanto a que no se puede configurar la salida si se requiere que sea activo alto, activo bajo, con o sin registro. En la Figura 8 se observa el diseño de una PAL con puertas de distintos tipos.


Figura 8. Diseño de una PAL con puertas de distintos tipos.


En el mercado se manejan referencias de las PALs comerciales como la PAL16L8, PAL20L8, PAL20V8 y PAL20X8.


8. Nomenclatura de la PAL.

Los líderes en fabricación de PLDs, Texas Instruments y AMD, tienen una notación para identificar los dispositivos [2]. Por ejemplo, la estructura en PLD según AMD es:


Figura 9. Nomenclatura utilizada para identificar los PLD según AMD.


Dentro de la estructura de salida se tienen las posibilidades contenidas en la tabla 1.

Tabla 1 Tipos de Salidas de una PAL.


9. Conclusiones.

Los PAL internamente están formados por matriz de conexiones, matriz de compuertas AND programables y un arreglo de compuertas OR fijo, y se encuentran disponibles en varias tecnologías de circuitos, además de TTL bipolar de fusibles programables.

Debido a la complejidad del circuito interno de las PAL, los fabricantes implementaron un circuito simplificado para eliminar los diagramas lógicos complicados utilizando buffer de entradas, una sola línea para representar a todas las líneas de entrada de una AND, indicando los fusibles mediante una X en el punto de intersección, entre otros.

Entre los fabricantes de las PAL, se encuentran la Monolithic Memories, Inc., (MMI), National Semiconductor, Texas Instruments y AMD.

Los arreglos lógicos programables (PAL) son introducidos al mercado como un reemplazo de bajo costo para las compuertas lógicas PROM y PLA.

Las velocidad de manejo de las PAL es de 4.7 Mhz para la IBM PC hasta 50 Mhz, además existen dispositivos que operan con un retraso de propagación de la señal del orden de 5 ns.


10. Referencias Bibliográficas.

1. Torres Francisco. Circuitos Integrados de Aplicación Específica. Disponible: www2.uniovi.es/8693/documento/LECC1ce.Pdf. [Consulta: 2007, noviembre 27].

2. González, José L. Sistemas Electrónicos Digitales. Temario Volumen II. Disponible: books.google.com. [Consulta: 2007, noviembre 27].

3. Sanchis Enrique. (2002). Fundamentos y Diseño de Aplicaciones. Tecnología. Disponible: books.google.com. [Consulta: 2007, noviembre 27].

4. Montejo Miguel. Lógica Programada. Disponible: es.wikipedia.org/wiki/ Lógica _ programada - 40k. [Consulta: 2007, noviembre 27].