ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

COLABORATIVO DOS DIGITALES


Enviado por   •  25 de Noviembre de 2013  •  2.746 Palabras (11 Páginas)  •  223 Visitas

Página 1 de 11

Fase 1: Diseño

• Planteamiento del problema

Para comenzar con el diseño de este carro de choque, debemos definir qué es lo queremos hacer o que es lo que lograr antes de comenzar armar o crear este circuito.

“Necesitamos un carro que al tocar un obstáculo cambie su dirección de marcha”

Para tener una idea de lo que necesitamos hacer a continuación describiremos unos pasos generales del objetivo del diseño.

1. Lo primero que necesitamos es que el carro inicie su marcha hacia adelante, que los dos motores DC, giren en el mismo sentido

2. cuando impacte este debe recordar el impacto e iniciar un retroceso de unos segundos.

3. una vez transcurrido el tiempo de retroceso este debe seguir su marcha hacia adelante

4. este paso lo debe hacer tantas veces que encuentre un obstáculo.

Diagrama de bloques

• Definir las variables lógicas de entrada y de salida del sistema.

Se indican las entradas D1 y D0 como bits, la dirección como un vector de 2 bits, y la salida S como un bit.

• Realizar una tabla de verdad que muestre la relación entre las variables de entrada y de salida del sistema.

Las variables de entrada son 2 que son la correspondiente a los 2 microswiches las posibles funciones de la variable son en total 4. Este número de posibilidades podemos calcularlo como 2².

ENTRADA SALIDA

S1 S2 M1 M2

0 0 0 0 Adelante

0 1 1 1 Retroceso

1 0 1 1 Retroceso

1 1 1 1 Retroceso

• Describir cómo funciona el sistema en palabras, por ejemplo, la señal de los Microswiches va a un temporizador, la señal del temporizador va a la entrada de un cerrojo que maneja un motor etc.

El circuito se enciende inmediatamente los flip Flop hacen una comparación y manda una señal la cual llega a dos relevos y activan los dos motores, esto genera el movimiento del carro hacia adelante cuando el carro choca o golpea se activa uno de los 2 microswitch ubicados en la parte delantera el microswitches manda una señal hacia los flip Flop los cuales la interpretan y mandan una señal hacia el reloj el cual está programado para tener un señal activa durante 1.3 segundos esta señal llega a los relevos y activa los motores en diferente polaridad durante 1.3 segundos después el reloj entra en estado bajo dándole paso a la señal de los flip Flop estos mandan una señal a los relevos y estos nuevamente activan los motores quedando el carro andando hacia delante.

• Simulación del sistema diseñado en cualquier programa simulador que se decida.

Diseño En Proteus

• Fase 2: Verificación

Para la verificación del funcionamiento del sistema se debe realizar el diseño del mismo en VHDL. Para el diseño se debe realizar en primera medida un diagrama de flujo del sistema.

Diagrama de flujo realizado en DFD

• A continuación se debe realizar el programa en un simulador de VHDL

Código VHDL

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

use IEEE.NUMERIC_STD.ALL;

entity compl is

Port ( s_fcc, s_fcd, s_fci, reset, ss, c, i, d : in STD_LOGIC;

clk: inout STD_LOGIC;

e1, e2, e3, e4 : out STD_LOGIC);

end compl;

architecture Behavioral of compl is

constant N : integer := 28; -- tamaño de bits para bajar de frecuencia

signal a: std_logic;

signal q_reg, q_reg1, q_reg2, q_next, q_next1, q_next2 : unsigned (N-1 downto 0);

signal sel : std_logic_vector (1 downto 0);

begin

process (s_fcc, s_fcd, s_fci,c,d,i,clk,ss,reset)

begin

if (reset = '0') then

---- GIRA ADELANTE

e1<= '0';

e2<= '1';

e3<= '0';

e4<= '1';

if (ss= '1') then

if (s_fcc = '1' ) then

a<= '1';

if(clk'event and clk = '1' ) then

q_reg <= q_next;

end if;

q_next <= q_reg + 1;

sel <= std_logic_vector(q_reg(N-1 downto N-2));

...

Descargar como (para miembros actualizados)  txt (7.9 Kb)  
Leer 10 páginas más »
Disponible sólo en Clubensayos.com