Sei sulla pagina 1di 3

Universidad Santo Tomas.

Munar Aldana Juan Sebastian, Pinilla Andres Felipe.

Sistema de control de posicin

SISTEMA DE CONTROL DE POSICIN - SERVOMOTOR


Munar Aldana Juan Sebastian, Pinilla Cepeda Andres Felipe.
sebastianmunar@usantotomas.edu.co
andrespinilla@usantotomas.edu.co
Universidad Santo Tomas

Resumen En la prctica de laboratorio n6, Se


desarroll un servomotor a partir del programa de
desarrollo Xilinx y un circuito diseado.

INTRODUCCIN
En este proyecto se implemento un sistema de
control de posicin a partir de un moto-reductor,
sensores infrarrojos y el kit de desarrollo FPGA
controlado por el programa de sntesis Xilinx.
OBJETIVOS
*Disear y describir sistemas digitales
combinacionales mediante VHDL.
*Aplicar el mtodo jerrquico para diseo de
sistemas digitales en VHDL.
*Controlar dispositivos de potencia con seales
digitales.
*Construir y acondicionar sensores de proximidad.
MATERIALES
EQUIPOS Y SOFTWARE
*Kit FPGA Basis 2
*Xilinx WebPack
*Digilent Adept
MATERIALES
*Protoboard.
*Sensores de Herradura.
*Motor DC.
*Puente H (L298N).
*Buffers Open Collector (74LS07).
*Amplificadores operacionales (LM339 o LM393).
*Resistencias.

*Trimmers.
*Pinzas.
*Cable.
PROCEDIMIENTO
PROBLEMA:
Disear e implementar en el kit de desarrollo un
sistema de control digital que permita el
posicionamiento del eje de un motor DC:
El sistema debe poder posicionar en siete
diferentes puntos alrededor de 180 grados.
El sistema se debe implementar con un mximo de
4 sensores de proximidad. El sistema debe contar
con una entrada con la cual se pueda seleccionar la
posicin deseada (Dip-switch).
El sistema debe ser totalmente automtico, debe
posicionar el eje del motor conforme a la entrada de
posicin.
Los datos de la posicin actual, la posicin
deseada y las acciones instantneas ejercidas sobre
el motor deben ser visualizadas en el display 7Segmentos del kit de desarrollo.
Es necesario implementar todo el servomotor e
integrarlo con los dispositivos necesarios y con el
kit de desarrollo.
SOLUCION:
Para poder solucionar el problema del
posicionamiento del motor se tuvo que tener
encuentra los materiales necesarios para controlar el
motor y que posteriormente se haran las
conexiones necesarias para unir los sensores en
herradura con el circuito. Para efectuar todo esto es
necesario utilizar unos controladores de voltaje para
evitar que daemos la FPGA por medio de un
74ls07 que reciba y enva seales al kid de
desarrollo.

Universidad Santo Tomas.

Munar Aldana Juan Sebastian, Pinilla Andres Felipe.

Sistema de control de posicin

En esta imagen se evidencia ya el circuito


conectado con la FPGA y en pleno funcionamiento .
A continuacin mostraremos el cdigo madre que
fue utilizado en el programa xilinx para controlar el
motor por medio del kid de desarrollo.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

Imagen. 1
En la imagen 1 se muestra el plano el cual fue
necesario para conectar los sensores a la FPGA
teniendo cuidado de obtener una buena seal de
salida soportable para el kid de desarrollo.

entity Servo1 is
Port ( X : in STD_LOGIC_VECTOR (6 downto 0);--Sensores
Y : in STD_LOGIC_VECTOR (3 downto 0);--Switch
Z : in STD_LOGIC;--CLK
W : out STD_LOGIC_VECTOR (3 downto 0);--Siete Seg
D : out STD_LOGIC_VECTOR (7 downto 0);--Siete Seg
R : out STD_LOGIC_VECTOR (1 downto 0));--Motor
end Servo1;
architecture Behavioral of Servo1 is
component ComparB is
Port ( A : in STD_LOGIC_VECTOR (3 downto 0);
B : in STD_LOGIC_VECTOR (3 downto 0);
GI : in STD_LOGIC;
LI : in STD_LOGIC;
EI : in STD_LOGIC;
SAL : out STD_LOGIC_VECTOR (1
downto 0));
end component;

Imagen. 2
En esta imagen se muestra el esquema general del
proyecto con la explicacin de cmo conectar el
puente h y como sera la entrada y salida de datos.

component DecoA is
Port ( A : in STD_LOGIC_VECTOR (6 downto 0);
B : out STD_LOGIC_VECTOR (3 downto 0));
end component;
component DecoB is
Port ( A : in STD_LOGIC_VECTOR (3 downto 0);
B : out STD_LOGIC_VECTOR (3 downto 0));
end component;

component DecoAA is
Port ( A : in STD_LOGIC_VECTOR (1 downto 0);
B : out STD_LOGIC_VECTOR (3 downto 0));
end component;

Imagen. 3

component MuxtepA is
Port ( CH1 : in STD_LOGIC_VECTOR (3 downto 0);
CH2 : in STD_LOGIC_VECTOR (3 downto 0);
CH3 : in STD_LOGIC_VECTOR (3 downto 0);
CH4 : in STD_LOGIC_VECTOR (3
downto 0);
SELECT1 : in STD_LOGIC_VECTOR (1 downto 0);
O1 : out STD_LOGIC_VECTOR (3 downto 0));
end component;

Universidad Santo Tomas.

Munar Aldana Juan Sebastian, Pinilla Andres Felipe.

Sistema de control de posicin

component Conta2 is
Port ( CLK_50MHz : in STD_LOGIC;
L : out STD_LOGIC_VECTOR (1 downto 0));
end component;
component Code1 is
Port ( A2 : in STD_LOGIC_VECTOR (1 downto 0);
B2 : out STD_LOGIC_VECTOR (3 downto 0));
end component;
component Code2 is
Port ( entrada : in STD_LOGIC_VECTOR (3 downto 0);
salida : out STD_LOGIC_VECTOR (7 downto 0));
end component;
signal s_0,s_1,s_2,s_3,s_4,s_5,s_6,s_7,s_8 : std_logic;
signal v,l,k,ll,lk,km: std_logic;
signal t_0,t_1,t_2,t_3 : std_logic;
signal w_0,w_1,w_2,w_3 : std_logic;
signal w_4,w_5,w_6,w_7,s_9,s_10,s_11 : std_logic_vector (1
downto 0);
signal w_11,s_00,s_000,s_13: std_logic_vector (3 downto 0);
begin
v <= '0';
l <= '0';
k <= '0';
ll <= '0';
lk <= '0';
km <= '0';

Imagen.4
En esta imagen mostramos las conexiones que
fueron utilizadas para que el programa funcionara
sin ningn problema.

CONCLUSIONES
Deco11 : DecoA port map (A => X, B =>s_00); --B(0) =>t_0,
B(1) =>t_1, B(2) =>t_2, B(3) =>t_3);
Deco12 : DecoB port map (A => Y, B => s_000); --(0) =>w_0,
B(1) =>w_1, B(2) =>w_2, B(3) =>w_3);
Deco13 : DecoAA port map (A => s_9, B =>w_11); --C => s_10,
D =>s_11,

Compara11: ComparB port map (A => s_00, B => s_000, GI => v,


EI => l, LI => k, SAL=> R); --GO => R, EO => R, LO => R);
Compara12: ComparB port map (A => s_00, B => s_000, GI => v,
EI =>l, LI => k, SAL => s_9); --GO => s_9, EO => s_10, LO =>
s_11);

Mux11: MuxtepA port map (CH1 =>s_00, CH2 =>s_000, CH3


=>w_11,CH4 => "0000", SELECT1 =>w_4, O1 => s_13);
Conta11: Conta2 port map (CLK_50MHz => Z, L =>w_4);
Code11: Code1 port map (A2 => w_4, B2 => W);
Code12: Code2 port map (entrada => s_13, salida => D);
end Behavioral;

Por medio del diseo en el programa xilinx


se logr enviar y recibir la seal hacia el
servomotor y para saber en qu posicin est
el indicador adems de mostrarlo en el
display.
Se entendi el proceso que hacen los
comparadores para poder sacar la seal
necesaria y mover el motor para que el
indicador sea posesionado en el sitio
correspondiente al cual se le est mandando
la seal.

Potrebbero piacerti anche