Problema - Banda Transportadora
Problema - Banda Transportadora
Problema - Banda Transportadora
El sistema posee:
1 sensor de proximidad
1 motor para la banda transportadora 1
1 mbolo retrctil (ACME) para empujar las piezas
Un sensor de proximidad detecta la pieza y manda un pulso negativo al
control de secuencia, 1 segundo despus el motor de la banda transportadora
1 se apaga, al transcurrir otro segundo se activa el mbolo retrctil por un
tiempo de 1 segundo que empuja la pieza hacia la banda transportadora 2 que
est constantemente en movimiento. Transcurrido 3 segundos del proceso se
enciende nuevamente el motor de la banda transportadora 1 hasta que el
sensor de proximidad detecte otra pieza.
El orden para la solucin es:
1.
2.
3.
4.
5.
Diagrama de estados
Tabla de excitacin
Tabla de estados
Diseos de los circuitos
Implementacin del circuito completo
En total son 5 estados, entonces se necesitan 3 flip flop (23 = 8), se pueden
elegir tipo D o tipo JK, obviamente que posea clear o reset. Inicialmente
seleccionamos el F/F tipo D y luego el F/F JK.
2. Tabla de excitacin del Flip Flop tipo D
CK
D
1
0
X
1
1
1
1
0
1
Qo Qo
Reset (sncrono)
No cambia
Q
0
0
1
1
Qn+1
0
1
0
1
D
0
1
0
1
3. Tabla de estados
ESTADOS
SECUENCIA
ACTUAL
QC
QB
QA
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
SECUENCIA
PRXIMA
QC+1
QB+1 QA+1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
DATOS D
DC
0
0
0
1
1
DB
0
1
1
0
0
DA
1
0
1
0
0
00
01
11
10
BC
A
00 01 11 10
0
0 0 X 1
1
1 X X 0
BC
A
00 01 11 10
0
0 1 X 0
1
0 X X 1
DA
DB
DC
DA
A C
DA
QA QC
DB
( A B) ( A B)
DC
( A QB )
DB
DC
(QA QB ) (QA QB )
DB
(QA
QB )
QC (QA QB )
QB
Maxterm "0"
A B
QA QB
---------------------------------------------------------------------------------library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity BandaTransportadora is
Port ( CLK : in STD_LOGIC;
SENSOR : in STD_LOGIC;
EMBOLO : out STD_LOGIC;
MOTOR : out STD_LOGIC;
Qa : inout STD_LOGIC;
Qb : inout STD_LOGIC;
Qc : inout STD_LOGIC);
end BandaTransportadora;
architecture Comportamiento of BandaTransportadora is
SIGNAL Da,Db,Dc:STD_LOGIC:='0';
SIGNAL Qat,Qbt,Qct:STD_LOGIC:='0';
begin
-- FUNCIONES SIMPLIFICADAS POR MAPAS K
Da <= NOT Qa AND NOT Qc;
Db <= Qa XOR Qb;
Dc <= Qc OR (Qa AND Qb);
-- FUNCIONES DEL MOTOR DE LA BANDA Y DEL MBOLO
MOTOR <= NOT Qb;
EMBOLO <= Qa AND Qb;
-- PROCESO SECUENCIAL
SEQ: PROCESS (CLK,SENSOR)
BEGIN
IF SENSOR='0' THEN
Qat <= '0';
Qbt <= '0';
Qct <= '0';
ELSE
IF CLK'EVENT AND CLK='1' THEN
Qat <= Da;
Qbt <= Db;
Qct <= Dc;
ELSE
NULL;
END IF;
END IF;
END PROCESS SEQ;
Qa <= Qat;
Qb <= Qbt;
Qc <= Qct;
end Comportamiento;
---------------------------------------------------------------------------------library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity BandasTransportadoras_Ddis is
Port ( SENSOR : in STD_LOGIC;
CLK : in STD_LOGIC;
EMBOLO : out STD_LOGIC;
MOTOR : out STD_LOGIC;
Q : inout STD_LOGIC_VECTOR (2 downto 0);
ANODOS: out STD_LOGIC_VECTOR (3 downto 0);
SEG: out STD_LOGIC_VECTOR (6 downto 0));
end BandasTransportadoras_Ddis;
architecture Comportamiento of BandasTransportadoras_Ddis is
SIGNAL Da,Db,Dc:STD_LOGIC:='0';
SIGNAL Q0t,Q1t,Q2t:STD_LOGIC:='0';
begin
-- FUNCIONES SIMPLIFICADAS POR MAPAS K
Da <= NOT Q(0) AND NOT Q(2);
Db <= Q(0) XOR Q(1);
Dc <= Q(2) OR (Q(0) AND Q(1));
-- FUNCIONES DEL MOTOR DE LA BANDA Y DEL MBOLO
MOTOR <= NOT Q(1);
EMBOLO <= Q(0) AND Q(1);
-- PROCESO SECUENCIAL
SEQ: PROCESS (CLK,SENSOR)
BEGIN
IF SENSOR='0' THEN
Q0t <= '0';
Q1t <= '0';
Q2t <= '0';
ELSE
IF CLK'EVENT AND CLK='1' THEN
Q0t <= Da;
Q1t <= Db;
Q2t <= Dc;
ELSE
NULL;
END IF;
END IF;
END PROCESS SEQ;
Q(0) <= Q0t;
Q(1) <= Q1t;
Q(2) <= Q2t;
ANODOS <= "1110"; -- Seleccion del display 0 en la MUX
R
0
1
1
1
1
1
CK
X
Q
0
0
1
1
Set (sncrono)
Reset (sncrono)
Conmuta
No cambia
QN+1
0
1
0
1
J
0
1
X
X
K
X
X
1
0
3. Tabla de estados
ESTADOS
SECUENCIA
ACTUAL
QC
QB
QA
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
SECUENCIA
PRXIMA
QC+1 QB+1 QA+1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0
DATOS JK
JC
0
0
0
1
X
KC
X
X
X
X
0
JB
0
1
X
X
0
KB
X
X
0
1
X
JA
1
X
1
X
0
00
01
11
10
KA
X
1
X
1
X
BC
A
00 01 11 10
0
0 0 X X
1
1 X X X
BC
A
00 01 11 10
0
0 X X 0
1
0 X X 1
JA
JB
JC
JA
JB
JC
A C
JA QA QC
A JB QA
A B
JC QA QB
BC
A
00 01 11 10
0
X X X X
1
1 X X 1
BC
A
00 01 11 10
0
X X X 0
1
X X X 1
BC
A
00 01 11 10
0
X 0 X X
1
X X X X
KA
KB
KC
KA
KB
Vcc
A
KB
KC
Gnd
QA
QB
Maxterm "0"
E = Embolo
A B
E QA QB