Você está na página 1de 16

UPIITA-IPN Materia: Circuitos Lógicos

Práctica 1: Compuertas lógicas básicas Número de equipo: 1


Bibo Pérez César Javier Nombre de la empresa: Scout Logics
Cruz Rumbo César Jair Grupo: 2MM6
Sánchez Cid Lucio Emmanuel

Resumen

Se implementaron compuertas lógicas básicas de tres entradas, una alarma de tres puertas y cuatro
ventanas con enclavamiento externo, un apagador de escalera a una distancia de 1 m y un sistema
de timbrado activado por dos sensores. Además, se realizó el diseño de un sistema de encendido de
un ventilador por medio de la presencia de una persona o por el aumento de la temperatura en un
habitación y un sistema de acceso a un banco de doble puerta, que sólo permita abrir una puerta
a la vez. Todo lo anterior usando HDL.

Abstract

We implemented three input logic gates, a three door and four windows alarm with external
interlock, a stair damper at a distance of 1 m and a two-sensor activated ring system. Also, we
designed a fan ignition system by the presence of a person or by increasing the temperature in a
room, and an access system for a bank with double door, which allows only one door to be opened
at a time. All previous using HDL.

Resumo

Nós implementamos portões lógicos básicos com três entradas, um alarme de três portas e quatro
janelas com intertravamento externo, um interruptor de escada a uma distância de 1 me um siste-
ma de toque ativado por dois sensores. Além disso, o projeto de um sistema de ignição a ventilador
foi realizado por meio da presença de uma pessoa ou pelo aumento da temperatura em uma sala
e um sistema de acesso a um banco de porta dupla, que só permite uma porta abrir ao mesmo
tempo. Tudo acima usando HDL.

Introducción
SCR
El rectificador controlado de silicio es un dispositivo con la caracterı́stica de conducir la corriente
eléctrica en un sólo sentido, para que comience a conducir es necesario activarlo inyectando corriente
en la terminal de compuerta. Si la corriente que pasa a través de ánodo y cátodo es superior a la
corriente de enganche, el SCR se enclava y permite conducción aunque no exista una activación
en la compuerta.

1
Fotorresistencia
La fotorresistencia o LDR en sus siglas en inglés (Light Dependent Resistor) es una resistencia que
varı́a su valor en función de la luz que incide sobre su superficie. Cuanto mayor sea la intensidad
de la luz que incide en la superficie del LDR menor será su resistencia y cuanto menos luz incida
mayor será su resistencia.

Optoaislador
Un opto acoplador, también llamado optoaislador o aislador acoplado ópticamente, es un disposi-
tivo de emisión y recepción que funciona como un interruptor activado mediante la luz emitida por
un diodo LED que satura un componente opto electrónico, normalmente en forma de fototransistor
o fototriac. Se suelen utilizar para aislar eléctricamente a dispositivos muy sensibles.

Detector infrarrojo reflexivo


Es un sensor óptico reflexivo que consta de un emisor de luz infrarroja y un fototransistor. El
fototransistor detecta la luz que es reflejada cuando un objeto pasa enfrente del sensor.

(a) SCR (b) Fotorresistencia (c) Optoacoplador (d) Detector infrarrojo


reflexivo

Figura 1: Dispositivos electrónicos

Desarrollo
1. Compuertas lógicas básicas de tres entradas empleando VHDL
Componentes
• 3 interruptores (internos)
• 7 diodos led (internos)

2
Diagrama de bloques

Figura 2: Diagrama de bloques – Compuertas lógicas básicas

Tabla de verdad

A B C AND NAND OR NOR XOR XNOR NOT B


0 0 0 0 1 0 1 0 1 1
0 0 1 0 1 1 0 1 0 1
0 1 0 0 1 1 0 1 0 0
0 1 1 0 1 1 0 0 1 0
1 0 0 0 1 1 0 1 0 1
1 0 1 0 1 1 0 0 1 1
1 1 0 0 1 1 0 0 1 0
1 1 1 1 0 1 0 1 0 0

Tabla 1: Tabla de verdad – Compuertas lógicas básicas.

Código
Library ieee; --Declaración de la biblioteca
use ieee.std_logic_1164.all; --Habilita el uso de std_logic
entity P1 is --Declaración de la entidad
PORT( --Declaración de los puertos
A,B,C: in std_logic; --Entradas
sand, sor, snand, snor, --Salidas
sxor, sxnor, notB: out std_logic);
end P1; --Fin de la entidad
Architecture A1 of P1 is --Declaración de la arquitectura
Begin\\
Process(A,B,C) --Inicia el proceso
Begin
sand <= A and B and C; --AND
sor <= A or B or C; --OR
snand <= not(A and B and C); --NAND
snor <= not(A or B or C); --NOR
sxor <= A xor B xor C; --XOR
sxnor <= not(A xor B xor C); --XNOR

3
notB <= not B; --NOT B
end process; --Fin del proceso
end A1; --Fin de la arquitectura
--Todas las se~nales son activas en alto;

Estados lógicos
Se midió con un multı́metro la tensión que generan los niveles lógicos de salida de los puertos
de la tarjeta FPGA Nexys 4 DDR. En la figura 3a se puede apreciar que una salida en bajo ge-
nera una tensión de 0 mV y en la figura 3b se muestra que la tensión de salida en alto es de 3.325 V.

Estas mediciones se efectuaron sin carga; la tensión en operación generó una lectura de apro-
ximadamente 2.4 V, razón por la cual se considerará este parámetro en los cálculos de aquı́ en
adelante. También se hizo la consideración de que la corriente máxima que puede entregar la FPGA
es de 14 mA, según la hoja de datos.

(a) Bajo. (b) Alto.

Figura 3: Tensiones de salida.

Circuito

Figura 4: Circuito – Compuertas lógicas básicas.

4
2. Sistema de alarma para casa habitación empleando VHDL
Componentes
• 7 interruptores (internos): 3 para puertas y 4 para ventanas.
• Buzzer
• SCR 2N6399
• Resistor de 330 Ω
• Resistor de 220 Ω
• Fuente de tensión
• Push button normalmente cerrado

Cálculos
Para la resistencia de compuerta se consideró una corriente suministrada de 5 mA.
VG 2,4 − 0,7
RG = = = 340 ≈ 330 Ω
IG 5 × 10−3

5−1
IH = = 26,51 mA > 20 mA ← Corriente mı́nima de enclavamiento
220 || 480
Debido a que la resistencia del buzzer resultó ser de 480 Ω, se colocó una resistencia en paralelo
de 220 Ω para aumentar la corriente que circulaba a través del SCR y pudiera efectuarse el
enclavamiento.

Esquemático

Figura 5: Esquemático – Sistema de alarma para casa habitación.

5
Tabla de verdad

P1 P2 P3 V1 V2 V3 V4 alarma
0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1
0 0 0 0 0 1 0 1
0 0 0 0 0 1 1 1
0 0 0 0 1 0 0 1
0 0 0 0 1 0 1 1
0 0 0 0 1 1 0 1
0 0 0 0 1 1 1 1
.. .. .. .. .. .. ..
. . . . . . . 1
1 1 1 1 1 1 1 1

Tabla 2: Tabla de verdad – Sistema de alarma para casa habitación.

Código
Library ieee; --Declaración de biblioteca
use ieee.std_logic_1164.all; --Uso de std_logic

Entity Casa is PORT( --Declaración de entidad


P1,P2,P3,V1,V2,V3,V4: in std_logic; --Declaración de entradas
--P1, P2 y P3 son las se~ nales correspondientes a
las puertas
--V1, V2 ,V3 y V4 corresponden a las se~ nales de
las ventanas
--Todas las se~nales de entrada son activas en alto.
alarma: out std_logic); --Declaración de salida
--La salida se activa en alto. Esta encenderá el
SCR.
end Casa; --Fin de entidad

Architecture Alarma of Casa is --Declaración de arquitectura


Begin
Process(P1,P2,P3,V1,V2,V3,V4) --Declaración de proceso
Begin
alarma <= P1 or P2 or P3 or V1 --Asignación de salida, compuerta OR de 7
entradas.
or V2 or V3 or V4;
end Process; --Fin de proceso
end Alarma; --Fin de arquitectura

6
Circuito

Figura 6: Circuito – Sistema de alarma para casa habitación.

3. Compuertas lógicas básicas de tres entradas empleando Verilog


Componentes
Los materiales empleados en este punto fueron los mismos que en el punto 1.

Código
module CompuertasBasicas( //Declaración del módulo
//Declaración de las 3 entradas, las cuales son se~
nales activas en alto
input wire A, input wire B, input wire C,
//Declaración de las 7 salidas
output wire sand, output wire sor, output wire snand,
output wire snor, output wire sxor, output wire sxnor,
output wire snotb);

assign sand = A & B & C; //AND


assign sor = A | B | C; //OR
assign snand = ~(A & B & C); //NAND
assign snor = ~(A | B | C); //NOR
assign sxor = A ^ B ^ C; //XOR
assign sxnor = ~(A ^ B ^ C); //XNOR
assign snotb = ~B; //NOTB

endmodule //Fin del módulo

7
4. Sistema de alarma para casa habitación empleando Verilog
Componentes
Para la realización de esta parte de la práctica, se utilizaron los materiales empleados anteriormente
en el punto 2.

Código
module Casa( //Declaración del módulo
input wire P1, input wire P2, input wire P3, //Declaración de entradas
input wire V1, input wire V2, input wire V3, //P1,P2,P3 son las se~ nales correspondi-
input wire V4, //entes a las puertas y V1,V2,V3 a las
//ventanas; todas ellas activas en alto

output wire Alarma); //Declaración de la salida, la cual se


//activa en alto. Ésta encenderá el SCR
//Asignación de salida, compuerta OR de 7 entradas
assign Alarma = P1 | P2 | P3 | V1 | V2 | V3 | V4;
endmodule //Fin del módulo

5. Apagador de escalera
Componentes
• Opototriac MOC 3011 • Fuente de tensión
• Resistor de 180 Ω • 2 m de cable
• Resistor de 6.8 kΩ • Foco
• TRIAC BTA12 • Clavija
• 2 interruptores • Fuente de alimentación de CA
• 2 resistores de 390 Ω

Cálculos
De la hoja de datos del optoacoplador se obtuvo la tensión y corriente necesarias para activar
correctamente el led emisor, a partir de esto se calculó la resistencia de control.
VF 2,4 − 1,1
RF = = = 185,71 ≈ 180 Ω
IF 7 × 10−3
De manera similar, se utilizó la hoja de datos del TRIAC para determinar la resistencia de com-
puerta adecuada.
VG 124 − 0,7
RG = = = 61615 ≈ 6800 Ω
IG 20 × 10−3
También se tomó en cuenta la potencia que disipa este resistor.

VG2 (124 − 0,7)2


PR G = = = 2,24 W
RG 6800

8
Esquemático

Figura 7: Esquemático – Apagador de escalera.

Tabla de verdad

I1 I2 Foco
0 0 0
0 1 1
1 0 1
1 1 0

Tabla 3: Tabla de verdad – Apagador de escalera.

Código
Library ieee; --Declaración de biblioteca
use ieee.std_logic_1164.all; --Uso de std_logic

Entity Escalera is --Declaración de entidad


PORT(
I1, I2: in std_logic; --Declaración de entradas correspondientes a las
--se~
nales de los 2 interruptores activos en alto.
Foco: out std_logic); --Declaración de la salida, la cual enciende la
--carga: un foco.
end Escalera; --Fin de entidad

Architecture Estado of Escalera is --Declaración de arquitectura


Begin
Process(I1,I2) --Declaración de proceso
Begin
Foco <= I1 xor I2; --Asignación de salida, compuerta XOR de 2 entradas
end Process; --Fin de proceso
end Estado; --Fin de arquitectura

9
Circuito

Figura 8: Circuito – Apagador de escalera.

6. Sistema de timbrado activado por dos sensores


Componentes
• Fotorresistor • Resistor de 680 Ω
• Potenciómetro de 2 kΩ • Fuente de tensión
• Sensor de presencia • Buzzer
GP2Y0D815Z0F • SCR 2N6399
• 2 interruptores • Resistor de 330 Ω

Cálculos
Primero, se midió la resistencia que generaba el fotorresistor con las condiciones del laboratorio
con un valor de 4.4 kΩ; cuando se ponı́a la mano sobre este, la resistencia era de 15 kΩ. Se utilizó
un divisor de tensión con un potenciómetro para ajustar la tensión de entrada a la tarjeta con un
valor de 1.4 V, el cual genera un alto lógico.

Por otro lado, para el detector de presencia se utilizó un sensor infrarrojo reflectivo activo en bajo.

10
Esquemático

Figura 9: Esquemático – Sistema de timbrado activado por dos sensores.

Tabla de verdad

S1 S2 STimbre
0 0 1
0 1 0
1 0 0
1 1 0

Tabla 4: Tabla de verdad – Sistema de timbrado activado por dos sensores.

Código
module Timbre( //Declaración de módulo
input wire S1, input wire S2, //Declaración de entradas
//S1 corresponde al sensor fotorresistivo activado por la
// mano y S2, al sensor de presencia activado por la cercanı́a
//de la persona. Las se~
nales de entrada son activas en bajo.
output wire STimbre); //Declaración de salida activa en alto
//Enciende el SCR para encender el timbre
assign STimbre = (~S1) & (~S2); //Asignación de la salida
endmodule //Fin de módulo

11
Circuito

Figura 10: Circuito – Sistema de timbrado activado por dos sensores.

7a. Sistema de encendido de un ventilador


Componentes
• Detector infrarrojo reflexivo
• Sensor de temperatura LM35

Diagrama de bloques

Figura 11: Diagrama de bloques – Sistema de encendido de un ventilador.

12
Tabla de verdad

t p ventilador
0 0 1
0 1 0
1 0 0
1 1 0

Tabla 5: Tabla de verdad – Sistema de encendido de un ventilador

Código
module Ventilador( //Declaración de módulo
input wire t, input wire p, //Declaración de entradas
//t corresponde al sensor de temperatura y p corresponde al sensor de
//presencia. Ambas se~
nales de entrada son activas en alto.
output wire ventilador); //Declaración de salida
//activa en alto. Enciende el transistor para activar el ventilador.
assign ventilador = t | p; //Asignación de la salida. Consiste en una
//compuerta OR de dos entradas.
endmodule //Fin de módulo

7b. Sistema de acceso a un banco de doble puerta


Componentes
• 2 interruptores de lı́mite
• 2 electroimanes

Diagrama de bloques

Figura 12: Diagrama de bloques – Sistema de acceso de banco de doble puerta.

13
Tabla de verdad

S1 S2 E1 E2
0 0 0 0
0 1 1 0
1 0 0 1
1 1 1 1

Tabla 6: Tabla de verdad – Acceso a un banco de doble puerta.

Código
library ieee; --Declaración de biblioteca
use ieee.std_logic_1164.all; --Uso de std_logic

Entity puertas is port( --Declaración de entidad


S1, S2 : in std_logic; --Declaración de entradas, S1 y S2 corresponden
--a dos limit switch, activos en alto
EI1, EI2 : out std_logic); --Declaración de las salidas, que consisten en dos
--electroimanes, cuya función es activar el seguro
--de su respectiva puerta
end puertas; --Fin de la entidad

Architecture Banco of puertas is --Declaración de arquitectura


Begin
Process (S1, S2) --Declaración de procreso
Begin
EI1 <= S2; --Asignación de salida EI1, consiste en la se~
nal S2
EI2 <= S1; --Asignación de salida EI2, la cual es igual a S1
end process; --Fin de proceso
end Banco; --Fin de arquitectura

14
Conclusiones individuales
Bibo Pérez César Javier
Implementando compuertas lógicas básicas y lenguaje de descripción de hardware (HDL) se rea-
lizaron distintas aplicaciones de sistemas que tienen mucha utilidad, las cuales consistieron en un
apagador de escalera, una alarma para casa y un sistema de timbrado activado por dos sensores.
También se diseñó un sistema de encendido de un ventilador activado por dos sensores y un sistema
de acceso a un banco de doble puerta.
La realización de cada uno de los puntos de la práctica involucró todo un proceso a seguir. idear
el cómo implementarlo, qué componentes se utilizarı́an y cómo, ası́ como el circuito lógico necesario
para cumplir el propósito del sistema, el cual implica realizar su respectiva tabla de verdad y su
respectiva ecuación booleana. Además, de tener mucho cuidado con aspectos como la corriente
máxima que puede proporcionar la FPGA y la tensión máxima que ésta puede recibir.
El contar con una FPGA facilita radicalmente el efectuar la aplicación de circuitos lógicos debi-
do a que tan sólo basta hacer los programas correspondientes utilizando un lenguaje de descripción
de hardware y se tendrá la parte lógica. Aunque claro, al ser la primer práctica no fue nada difı́cil:
los códigos elaborados consistieron esencialmente en las compuertas lógicas básicas, sin embargo,
en un futuro definitivamente este aspecto va a ser muy útil.
En fin, la electrónica digital actualmente se encuentra en todos lados, tan sólo hay que encontrar
una situación o problema en la que se pueda utilizar, y llevar a cabo las acciones necesarias para
implementarla.

Cruz Rumbo César Jair


Esta práctica sirvió como una introducción al uso de las tarjetas de desarrollo con lenguaje de
descripción de hardware, también permitió aprender las palabras reservadas y las sintaxis que
manejan los dos lenguajes que utilizamos: VHDL y Verilog.
Por el momento se utilizaron compuertas lógicas básicas, se leyeron y enviaron constantes
digitales a través de los puertos de la FPGA y se implementaron estos conocimientos en aplicaciones
que se encuentran fácilmente en la vida cotidiana, por ejemplo: el apagador de escalera. A causa
de este ejercicio, se nota que las compuertas lógicas básicas tienen un sin fin de aplicaciones y que
el uso de una FPGA facilita en gran medida la implementación a gran escala de la electrónica
digital.

Sánchez Cid Lucio Emmanuel


A partir de esta práctica se logró comprender el correcto funcionamiento y programación para
el diseño de circuitos con compuertas básicas, ası́ como el uso de la interfaz de ISE para la pro-
gramación y Adept para el quemado del código. Se consiguió también reforzar los conocimientos
adquiridos en las clases con la resolución de problemas a partir de las tablas de verdad. Se logra-
ron implementar todos los circuitos propuestos en la FPGA, reconociendo la importancia de las
compuertas en diferentes aplicaciones ası́ como la gran cantidad de usos que se les pueden dar
con diferentes configuraciones. Esta práctica fue muy importante ya que nos ayudó a sentar las
bases para entender mejor los siguientes temas y pensar de forma más analı́tica para los próximos
diseños.

15
Referencias
[1] (s.f.). Tiristor SCR Funcionamiento. septiembre 06, 2018, de MrElberni Sitio web:
http://mrelbernitutoriales.com/tiristor-scr/

[2] (2017). Sensor fotoeléctrico. septiembre 6, 2018, de Ingenierı́a Mecafenix. Sitio web:
http://www.ingmecafenix.com/electronica/fotoresistencia/

[3] (s.f.). Optoacoplador MOC3011 Salida Triac. septiembre 06, 2018, de Carrod Electrónica Sitio
web: https://www.carrod.mx/products/optoacoplador- moc3011-salida-triac

[4] (s.f.). Sensor de infrarrojos. septiembre 06, 2018, de Wiki de Robótica Sitio web:
http://wiki.robotica.webs.upv.es/wiki-de-robotica/sensores/sensores-proximidad/sensor-
infrarrojos/

16

Você também pode gostar