Control Carro RF

From Qi-Hardware
Jump to: navigation, search

Desarrollado por:

  1. Jairo Romero 261512
  2. Alejandro Rangel 261499
  3. Esteban Martínez 260656

Estudiantes Ingeniería Electrónica

Universidad Nacional de Colombia


Contents

[edit] Proyecto de Control Carro RF

El objetivo principal del curso electronica digital II es el diseño e implementacion de un sistema electronico capaz de controlar un carro desde un dispositivo remoto bajo un espectro de radiofrecuencia.

Para la elaboracion de dicho sistema se implemetara la tarjeta SIE la cual cuenta con una FPGA XC3S{100,250,500}E_VQ100 proporcionará el 25 de propósito general de entrada/salida para una señal digital, convertidor analogo-digital de 10 canales, memoria 64MB SDRAM, 2GB memoria NAND, RS-232 Serial UART, puerto I2C. Siendo una herramienta versatil para la implementacion de este proyecto.

[edit] Descripción del proyecto

Este proyecto consiste en desarrollar el control de un carro remoto por medio de radiofrecuencia, para tal fin utilizaremos los modulos RFM22B. Estos modulos operan en las siguientes bandas del espectro 433/868/915 MHz ISM comprendidas dentro de la Ultra High Frequency UHF.

Para este fin es necesario generar un periferico dentro del procesador PLASMA que controle el protocolo de comunicacion SPI, protocolo mediante el cual la fpga de la tarjeta SIE se comunicara con el modulo de radiofrecuancia RFM22B.

Ya establecida la comunicacion por medio del protocolo SPI entre la SIE y el modulo RFM22B, se debe establecer la comunicacion entre el modulo conectado a la tarjeta SIE y el modulo conectado a el carro remoto a ser controlado. Para este fin los modulos RFM22B deben estar en diferentes modos de operacion. El modulo conectado a la tarjeta SIE debe operar en modo TX, tipo de operacion en la cual el modulo transmite datos. Con respecto al modulo ubicado en el carro remoto debe operar en modo RX, estado en el cual el modulo recibe datos siendo estos las instrucciones que ejecutara el carro.

Para lograr que el carro ejecute las instrucciones recibidas por el mudulo que opera en modo RX, se implementara un PIC que se comunicara bajo el protocolo SPI con el modulo RFM22B, este tambien se encargara de procesar las instrucciones recibidas que posteriormente controlaran las tareas a ejecutar por el carro remoto.

Sie.png

[edit] Diagrama de bloques

[edit] Diagrama de Perifericos (Arquitectura)

[edit] MODULO COMUNICACION SPI(Serial Protocol Interface)

SPI, es una interfície serie síncrona de 4 hilos, la comunicación de datos se activa mediante una señal baja, aplicada en la entrada Slave Select (SS) o en el Chip Select (CSB). Los datos, se transmiten mediante 3 conexiones: conexión para la entrada de datos serie (MOSI), la de salida de datos (MISO) y la señal de reloj (SCK).

PIC SLAVES.png

Para nuestro caso tan solo se tiene un esclavo, el modulo RFM22B.

Spi slave.png

La línea MOSI (Master Out Slave In) transporta los datos del maestro hacia el esclavo.

La línea MISO (Master In Slave Out) transporta los datos del esclavo hacia el maestro.

[edit] Comunicacion con el Periferico RFM22B

SPI usa un par de parámetros llamados clock polarity (CPOL) y clock phase (CPHA), para determinar, cuando los datos son validos dependiendo del señal de reloj. Estos deben establecerse, tanto en el dispositivo maestro (SIE) como en el modulo de radio frecuencia, para que asi la comunicación funcione correctamente.

Modos de transmision:

Transspi.png

Transmision SPI CPHA = 0

Modosspi.png

Transmision SPI CPHA = 1

Modossspi1.png

[edit] Diagrama de Flujo

[edit] Maquina de estados control SPI

[edit] Diagrama de bloques

[edit] Esquematico RTL

[edit] Simulacion

[edit] MODULO DE CONTROL JOYSTICK

[edit] Diagrama de Flujo

[edit] Maquina de Estados de Control del Joystick

[edit] Diagrama de bloques

[edit] Datapath

[edit] Esquematico RTL


[edit] Codigo Maquina de Control

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
PACKAGE joystick IS
COMPONENT control
Port(up : in  STD_LOGIC;
down : in  STD_LOGIC;
right : in  STD_LOGIC;
left : in  STD_LOGIC;
up_right: in std_logic;
up_left: in std_logic;
down_right: in std_logic;
down_left: in std_logic;
out_flag : out STD_LOGIC_VECTOR (2 downto 0));
END COMPONENT;
END joystick;
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity control is
Port ( up : in  STD_LOGIC;
down : in  STD_LOGIC;
right : in  STD_LOGIC;
left : in  STD_LOGIC;
up_right: in std_logic;
up_left: in std_logic;
down_right: in std_logic;
down_left: in std_logic;
out_flag : out STD_LOGIC_VECTOR (2 downto 0));
end control;
architecture Behavioral of control is
signal in_signal : STD_LOGIC_VECTOR (7 downto 0);
begin
in_signal <= up&down&right&left&up_right&up_left&down_right&down_left;--&button;
process (in_signal)
begin
case in_signal is
when "10000000" => out_flag <= "001"; 
when "01000000" => out_flag <= "010";
when "00100000" => out_flag <= "011";
when "00010000" => out_flag <= "100";
when "00001000" => out_flag <= "101";
when "00000100" => out_flag <= "110";
when "00000010" => out_flag <= "111";
when "00000001" => out_flag <= "100";
when others => out_flag <= "000";
end case;
end process;
end Behavioral;

[edit] Simulaciones

Simulación con 8 estados para el Joystick


[edit] Puerto de Comunicacion Joystick

La implementación típica de un puerto de juegos emplea un condensador y un simple comparador de tensión, que constituyen un tipo de conversor analógico digital de rampa. Éste debe ser encuestado periódicamente y reiniciado en momentos muy concretos para leer una entrada, algo que necesita realizarse varias veces (generalmente en torno a 30) por segundo para conseguir una entrada sensible. La frecuencia de adquisición actual depende de la resistividad interna del joystick, el ruido, la velocidad de la CPU y el total de las constantes de tiempo de los circuitos RC de los joysticks.

DA-15 DSubminiatures.png

Pin 1	+5V	+5V DC
Pin 2	B1	Botón 1
Pin 3	X1	Eje X para joystick 1 (0-100 kΩ)
Pin 4	GND	Tierra para B1
Pin 5	GND	Tierra para B2
Pin 6	Y1	Eje Y para joystick 1 (0-100 kΩ)
Pin 7	B2	Botón 2
Pin 8	+5V	+5V DC
Pin 9	+5V	+5V DC
Pin 10	B4	Botón 4
Pin 11	X2	Eje X para joystick 2 (0-100 kΩ)
Pin 12	GND	Tierra para Botones 3 y 4 (o salida MIDI)
Pin 13	Y2	Eje Y para joystick 2 (0-100 kΩ)
Pin 14	B3	Botón 3
Pin 15	+5V	+5V DC (o MIDI en ocasiones desconectado)

[edit] PLASMA-JOYSTICK-SPI

[edit] Esquematico RTL

[edit] Mapa de memoria

* DESCRIPTION:
*    Plasma Hardware Defines
*--------------------------------------------------------------------*/
#ifndef __PLASMA_H__
#define __PLASMA_H__
/*********** Hardware addesses ***********/
#define RAM_INTERNAL_BASE      0x00000000 //8KB
#define RAM_EXTERNAL_BASE      0x10000000 //1MB
#define RAM_EXTERNAL_SIZE      0x00100000
#define CONTROL_UP             0x20000000
#define CONTROL_DOWN           0x20000000
#define CONTROL_LEFT           0x20000000
#define CONTROL_RIGHT          0x20000010
#define IRQ_MASK               0x20000010
#define IRQ_STATUS             0x20000020
#define SPI_SDO                0x20000030	
#define SPI_SS                 0x20000040
#define SPI_SDI                0x20000050
#define RF_TX                  0x20000060
/*********** Interrupt bits **************/
#define IRQ_CONTROL_UP          0x01
#define IRQ_CONTROL_DOWN        0x02
#define IRQ_CONTROL_LEFT        0x04
#define IRQ_CONTROL_RIGHT       0x08
#define IRQ_RF_NSEL             0x10
#define IRQ_RF_NIRQ             0x20

[edit] Herramientas a utilizar

[edit] Herramientas Hardware

  • Tarjeta SIE
 SIE
  • Wireless Transceiver RFM22B
Recursos y Herramientas RFM22B
 RF22B Register Settings
 Datasheet of RFM22B
  • PIC18F2550
PDF PIC18F2550

[edit] Herramientas Software

  1. Xilinx ISE WebPack
  2. Herramienta KiCAD (para el desarrollo de PCB's).
  3. GPUTILS: utilidades programar PIC
  4. GPSIM: simulador microcontrolador
  5. PIKLOOPS

[edit] ESQUEMATICO PIC-RFM22B

Vista general del esquematico, etapa de potencia y conexion PIC-RFM22B.

Detalle conexion PIC-RFM22B.

Detalle etapa de potencia para control de los dos motores.

[edit] PCB PIC-RFM22B

PCB preliminar.

PCB final con planos de tierra para eliminar ruido

[edit] PCB SIE-RFM22B

[edit] ANTENA-MODULO RFM22B

La antena WLP434 se conecta al modulo RFM22B, con el objetivo de emitir o recibir ondas electromagneticas que son transformadas en voltajes o en los datos generados por el sistema de control que se encuentra en la tarjeta madre SIE, siendo estos instrucciones las que generen el movimiento sobre el carro remoto.

WLP434.jpg

Datasheet of WLP434

[edit] Diagrama de Radiacion

Es la representación gráfica de las características de radiación de una antena, en función de la dirección (coordenadas en azimut y elevación). Lo más habitual es representar la densidad de potencia radiada, aunque también se pueden encontrar diagramas de polarización o de fase. Atendiendo al diagrama de radiación, se hace una clasificación general de los tipos de antena y podemos definir la directividad de la antena. Dentro de los diagramas de radiación se define el diagrama copolar que representa la radiación de la antena con la polaridad deseada y contrapolar al diagrama de radiación con polaridad contraria.

Parámetros diagrama de radiación son:

Dirección de apuntamiento: Es la de máxima radiación. Directividad y Ganancia.

Lóbulo principal: Es el margen angular en torno a la dirección de máxima radiación.

Lóbulos secundarios: Son el resto de máximos relativos, de valor inferior al principal.

Ancho de haz: Es el margen angular de direcciones en las que el diagrama de radiación de un haz toma un valor de 3dB por debajo del máximo. Es decir, la dirección en la que la potencia radiada se reduce a la mitad.

Relación de lóbulo principal a secundario (SLL): Es el cociente en dB entre el valor máximo del lóbulo principal y el valor máximo del lóbulo secundario.

Relación delante-atrás (FBR): Es el cociente en dB entre el valor de máxima radiación y el de la misma dirección y sentido opuesto.

[edit] Caracterizacion de la Antena WLP434

La caracterizacion de la antena fue realizada en el laboratorio de comunicaciones de la Universidad Nacional de Colombia.

Espectro de Magnitud

Caracterizacion carta de Smith

La antena debe conectarse al modulo RFM22B con una distancia maxima de 1 cm, para asi mantener el acople de impedancia (50Ω - 50Ω) entre el modulo y la antena.

En caso de que la distancia entre el modulo RFM22B y la antena sea mayor a 1 cm, se debe garantizar que se mantendra el acople de impedacia (50Ω - 50Ω) entre la antena y el modulo de radiofrecuencia.

[edit] Tareas Hardware

  1. FPGA (SIE).
  2. Modulo RFM22B.
  3. Protocolo comunicacion SPI.
  4. microcontolador (PIC).

[edit] Tareas Software

  1. generar comunicacion TX.
  2. generar comunicacion RX.
  3. generacion de coordenadas para mover el carro remoto.
  4. control motoreductores desde PIC

[edit] Cronograma

Cronos.png

Personal tools
Namespaces
Variants
Actions
Navigation
interactive
Toolbox
Print/export