Está en la página 1de 30

Contenido

PLANTEAMIENTO DEL PROBLEMA............................................................................................ 2


OBJETIVO PRINCIPAL .................................................................................................................... 3
OBJETIVOS ESPECIFICO ................................................................................................................ 3
AGRADECIMIENTO......................................................................................................................... 3
MARCO TERICO ............................................................................................................................ 4
Caractersticas generales del Puerto USB ....................................................................................... 4
Tipos de puertos USB. Detalle de formas fsicas. ........................................................................... 4
Concepto de jPicUsb ....................................................................................................................... 5
DIAGRAMAS..................................................................................................................................... 7
ADICIONALES DEL DIAGRAMA ELCTRICO ....................................................................... 8
CONEXIN DE LOS CABLES USB ............................................................................................ 8
MAPA DE VARIABLES.................................................................................................................... 9
EXPLICACIN DE MTODOS Y FUNCIONES .......................................................................... 10
LISTA DE COMPONENTES ........................................................................................................... 10
CONCLUSIONES ............................................................................................................................ 11
RECOMENDACIONES ................................................................................................................... 11
APLICACIONES .............................................................................................................................. 11
MANUAL DE USUARIO ................................................................................................................ 13
ANEXO 1 .......................................................................................................................................... 16
Manual de configuracin del simulador de electrnica ISIS de Proteus para ser comandado por
JAVA a travs del puerto USB, utilizando el PIC 18F4550 como interfase. ................................ 16

PLANTEAMIENTO DEL PROBLEMA

La evolucin de los puertos de comunicacin de las computadora permiti desarrollar medios de


intercambio de informacin ms veloces y eficaces, uno de los increbles avances que se logro es la
comunicacin serial (USB). En donde se logro mantener la idea de comunicar datos por medio de
una lnea, ganando velocidad y aadiendo una fuente de energa continua para ampliar a diversas
aplicaciones.
Por otro lado, los micro controladores han sido participes de muchos desarrollos de miniaturizacin,
control y automatizacin. Se busca un medio por el cual se pueda transmitir datos de forma fiable
hacia una computadora. Por ello, aqu estamos solucionando aquella idea y logrando implementar
una interface que comunique los microprocesadores por medio de puerto serial (USB), hacia una
computadora, que tenga una aplicacin desarrollada en java por supuesto escogido en el presente
trabajo y en muchos otros por su facilidad de desarrollo, constante evolucin y riqueza de
herramientas para desarrollar aplicaciones complejas con gran precisin y ahorrando recursos.
Se presenta esta aplicacin que combina todos estos elementos conjuntos, un microprocesador de la
gama 18Fxx, ms especficamente el 18F4550 programado en lenguaje C que tiene en sus puertos la
comunicacin el afanado USB (Universal Serial Bus), esta informacin se recepta en Java con el
uso de la librera dinmica que es el centro de nuestro estudio JpicUSB 1.1.1, que nos permitir
salida e ingreso de datos.

OBJETIVO PRINCIPAL

Investigar la utilizacin de la librera dinmica JpicUSB, implementando un circuito en el cual se


realice salida e ingreso de datos por dicho puerto.

OBJETIVOS ESPECIFICO

Desarrollar una aplicacin en Java que permita comunicar un micro controlador con una aplicacin
por medio de puerto USB.
Discernir informacin vlida que nos permita desarrollar con excito la comunicacin.

AGRADECIMIENTO

Mas que una responsabilidad es un deber, debemos tomarnos la molestia de agradecer a una persona
que sin conocerlo, entrego su conocimiento para el desarrollo de esta investigacin, a Genaro
Oativia, que es la persona que desarrollo la librera dinmica, los mtodos, entre otras cosas. Y
entrega su ayuda en el internet para que todos podemos tener acceso a este puerto, y adems en los
diferentes foros nos aclaro las ideas y por ello logramos realizar la investigacin.

MARCO TERICO
Caractersticas generales del Puerto USB

Fig. 1 Explicacin de USB

Tipos de puertos USB. Detalle


de formas fsicas.

4
Fig. 2 Tipos de USB

Concepto de jPicUsb

Fig. 3 JPicUsb

Detalle de los mtodos de inicializacin de jPicUsb.

Tabla 1 Metodos de inicializacion del JPicUsb

Detalle de los mtodos rpidos de jPicUsb.

Tabla 2 Mtodos rpidos de JPicUsb

DIAGRAMAS

7
Fig. 4 Diagrama Elctrico

ADICIONALES DEL DIAGRAMA ELCTRICO


Es una caracterstica que en los programas de modelaje elctrico muchas veces se obvia elementos
que necesariamente no se deben detallar, pero en la prctica si no los ponemos en el circuito
simplemente no funciona, estos son:
La alimentacin de energa del Pic, en el pin VDD.
La conexin a tierra del Pic, en el pin VSS
Cables USB
El circuito de oscilacin con:

1 oscilador de 20 MHz

2 capacitores de 22 pF

Fig. 5 Conexin Oscilador

CONEXIN DE LOS CABLES USB


La conexin de los cables USB esta presentado en el diagrama elctrico, pero adems es necesario
construir un cable USB, que sea aplicable con terminales que calcen en nuestro circuito prueba, este
lo podemos hacer con un cable USB que no se utilice con uno de sus terminales machos, y la
conexin se nuestra en los siguientes grficos.

Fig. 6 Conexin de cables USB

La salida de la PC es la siguiente, recordemos que el pin de 5V no significa que debemos alimentar


con 5 voltios, sino que esta linea no proporciona 5 V para nuestra aplicacin, pero debemos detener
a hacer el anlisis de la utilidad de nuestra aplicacin, y si necesita mucha corriente nos convendra
utilizar una fuente adisional de alimentacin.

Fig. 7 Salida de la PC del USB

MAPA DE VARIABLES
MiFrame

CmdEnvio

byte

Dato que se enva por puerto

CmdRecepcion

byte

En donde se recibir la informacin por puerto

txtPortd

int

temp

String

Cbrb0-cbrb7

True-false

Salida

Byte[]

Byte []

MiLed

byte

Txt en donde se recepta informacin proveniente de


USB
Label, en donde se dispone la temperatura
ambiental en tiempo real
Radio buttons cada uno activa un diferente bit de
salida del puerto B del pic
Bytes que se envan al PIC para que responda con
la lectura del DeepSW
Bytes que recibe el numero que ley por el puerto
del micro controlador
Byte que se enva la informacin de los led que se
deben activar

Variable

INSTANCIA

EXPLICACIN

FRAME

TIPO

CLASE

NOMBRE

Tabla 3 mapa de variables

EXPLICACIN DE MTODOS Y FUNCIONES


Clase MiFrame.java

public void salida_usb1(byte comando)

Enva el byte comando al PIC a travs del puerto USB, y luego de 1 segundo, cierra la conexin.
Usualmente, el byte comando indica al PIC que habr un envo de datos PIC-PC, por lo que el
Frame en java estar presto a recibir el dato.

public void salida_usb2(byte comando,byte datoenviado)

Enva los bytes comando y datoenviado en un arreglo de bytes al PIC a travs del puerto USB,
y luego de 1 segundo, cierra la conexin. Usualmente, el byte comando (que ocupa la posicin 0
en el arreglo de bytes) indica al PIC que habr una recepcin de datos PC-PIC, siendo el dato que
recibe el PIC, el byte datoenviado (que ocupa la posicin 1 en el arreglo de bytes).

public byte entrada_usb(int maxbytes)

Devuelve el byte maxbytes, que fuese enviado por el PIC previamente. Tras 0.5 segundos, cierra
la conexin.

public void leds_on()

Ordena al PIC la activacin o desactivacin de un determinado pin de algn puerto, valindose del
mtodo salida_usb2. El puerto depende de la programacin que tenga el PIC.
Tabla 4 Explicacin de mtodos y funciones

LISTA DE COMPONENTES
1 microcontrolador PIC 18F4550 (precio final: USD$ 10.50)
1 dipswitch de 8 interruptores (precio final: USD$ 0.40)
10 resistencias de 220 a W (precio final: USD$ 0.30)
10 diodos LED cualquier color (precio final: USD$ 1.20)
1 condensador cermico de 47nF (precio final: USD$ 0.15)
1 conector USB hembra tipo A B* (precio final: USD$ 0.50)
*: Dependiendo del conector usado, se comprar el cable de conexin necesario
Fuente regulada de 5V, para alimentacin del PIC.
Tabla 5 Lista de Componentes

10

CONCLUSIONES
Se pudo realizar la comunicaciones entre PC, pic con la librera dinmica JPicUSB.
El puerto USB es importante por su popularidad, y lo podemos utilizar en cualquier PC actual, sin
preocuparnos de que tan antigua sea, por la portabilidad de su aplicain.

RECOMENDACIONES
Realizar el anlisis para determinar que si es necesario que la aplicacin que vamos a realizar
necesita una fuente de alimentacin extra, o puede solventarse con la alimentacin del puerto USB.
Recordar que no todos los elementos que se describen en algunos diagramas elctricos, son todos
los necesarios para el circuito fsico, por ejemplo (osciladores, fuentes, entre otros).
Estar seguros en el momento de alimentar el circuito, por que como sabemos los Pic tiene alta
probabilidad de quedar sin funcionamiento, por sobrecargas, y un solo pin mal conectado es basta
para terminar su vida til.

APLICACIONES
La presente investigacin, no es el fin sino el comienzo porque es por donde podemos explotar para
sacar el mximo de provecho a la combinacin pics y Java, y podemos desarrollar aplicaciones
sencillas y desarrolladas como:
Mtodos de control industrial por interfaces java.
Realizar una red de computadoras, que para comunicarse con dispositivos portables lo hagan por
medio de USB.
Desarrollar aplicaciones portables (hardware), fcilmente transportables a otra computadora porque
el puerto USB es el ms popular.
Control de robot por medio de USB, con mtodos de envi de seales, recepcin de respuesta para
tomar decisiones de para manejar su desempeo.
Realizar aplicaciones que no necesiten de una fuente de alimentacin extra.
Realizar una aplicacin que pueda seguir procesos como, controlar el clima y almacenar los datos
en su memoria y al intercambiarlo con la PC y realizar grficas de representacin con JfreeChart o
Java Graphics.

11

12
Fig. 8 Diagrama de Grantt

MANUAL DE USUARIO
UsbLed1.0
Hardware

LEDS
Micro controlador

Ingreso de datos

Fig. 9 Disposicin de Hardware

Este programa permite controlar leds, e ingresar datos numricos de 1-255.


Interface 1

Fig. 10 Interface 1

En esta ventana se puede escoger los led que se desee encender, con un solo click los leds se
encienden y con otro se apangan, no se tiene un orden para escogerlos, y no hay restriccin para
apagarlos.

13

Fig. 11 Led encendidos de la Aplicacin

Interface 2

Fig. 12 Interface 2

La denominada Entrada USB nos permite ingresar datos a traves del conjunto de interruptores, el
nmero que se debe ingresar es en binario
Msb (mas significativo)

Lsb (menos significativo)

Fig. 13 DeepSwitch

14

Como podemos ver ingresamos el nmero:


00001001b=9d

Debemos clicar el botn que dice leer puerto d y el resultado es:

Fig. 14 Entrada Puerto D

Interface 3

Fig. 15 Interface 3

En donde podemos observar cosas varias, como la versin del software o la temperatura ambiental
actual (opcional).

15

ANEXO 1
Manual de configuracin del simulador de electrnica ISIS de Proteus para ser comandado por
JAVA a travs del puerto USB, utilizando el PIC 18F4550 como interfase.
El presente manual permitir al usuario la configuracin del simulador de circuitos elctricos y
electrnicos ISIS de Proteus, para ser controlado por JAVA a travs del puerto USB. Para este
propsito, nos valdremos del microcontrolador de la casa Microchip 18F4550 para la interface, y
para facilitar an ms la induccin, se proporciona un circuito de prueba, as como los programas
necesarios para llegar a un buen trmino.
Se recomienda que, previamente al desarrollo de cualquier paso en el presente manual, se tenga
previamente instalado en su computador, los siguientes programas (Por cierto, no incluidos en el
CD):

Windows XP Service Pack 2.


Compilador CCS C versin 4.084.
Netbeans IDE versin 1.6.8 o superior
Proteus versin 7.7, Service Pack 2.

SU COMPUTADOR ADEMS, DEBER TENER UNA ARQUITECTURA DE 32 BITS, PUES


ALGUNOS DE ESTOS PASOS NO FUNCIONAN PARA ARQUITECTURAS DE 64 BITS. (Los
proveedores de los respectivos softwares a la fecha de elaboracin de este manual), todava no
haban corregido estas falencias. [Nota de los autores]).
Desde el CD copie el contenido de las carpetas FrameUSB, MCHPUSB Driver e
Investigador2 a su computador; estas carpetas servirn como proyecto de ejemplo, que le
brindarn una idea acerca de comandos bsicos y estructuracin de los programas para sus futuros
proyectos. Descomprima a su computador tambin, el archivo jpicusb 1.1.1, que contiene la
librera jPicUsb.
Configurando Netbeans.
Abra el programa Netbeans, y una vez abierto, abra el proyecto FrameUSB, buscando la
direccin donde peg la carpeta previamente. Todava no lo
compile. Luego siga los siguientes pasos:

1. Haga clic derecho sobre el proyecto, y haga clic en


la opcin Properties.
16

Fig. 16 configuracion NetBeans

2. Escoja haciendo clic izquierdo, la opcin Libraries, y dentro de esta, haga clic en el botn
Add JAR/Folder.

Fig. 17 Adicin de libreras

3. Busque al archivo jpicusb.jar, dentro de la carpeta jpicusb 1.1.1, que descomprimi


previamente. Una vez que lo haya encontrado, haga clic izquierdo sobre ste, haga clic en el
botn Abrir. Regresar al cuadro de dilogo anterior.

Fig. 18 Seleccin de librera

17

4. Ahora, seleccione la opcin Run. Presione el botn Browse, correspondiente a Working


Directory. Seleccione la carpeta jpicusb 1.1.1 sin abrirla. Una vez que la haya encontrado,
seleccinela y haga clic en el botn OK.

Fig. 19 Escoger directorio

Fig. 20 Carpeta de JPicUSB

18

5. Para comprobar que los anteriores pasos fueron realizados exitosamente, brase la carpeta
del proyecto, hasta hallar la clase MiFrame.java. La librera jPicUsb, importada al
principio, debe aparecer sin ningn subrayado de ningn color, ni alguna observacin. Para
estar seguros incluso, se puede compilar el proyecto, haciendo clic derecho sobre la carpeta
del proyecto, y escogiendo la opcin Clean and Build. Caso contrario, revsese los pasos
anteriores.

Fig. 21 Eliminacin de Observaciones

No hay observacin al importar jPicUsb

Fig. 22 Compilacin

Para asegurarse, se puede compilar el proyecto


6. Ya slo falta hacer correr el proyecto, pero esto lo haremos despus de haber configurado el
simulador ISIS de Proteus.

19

7. Se ha observado que algunos computadores, a pesar de haber realizado correctamente los


anteriores pasos, simplemente no encuentran (o no parecen querer encontrar) al la librera
jPicUsb. Este problema se soluciona al instalar los Runtimes de Visual Studio 2008 en el
computador. (Este pack se incluye en el CD).

Configurando ISIS de Proteus


Es necesario recomendar que se debe tener cierta experiencia en el manejo de Proteus para la
elaboracin de proyectos personalizados propios. No obstante, ya se incluye una simulacin para
realizar una prueba rpida. brase el archivo ManejoUSB que se encuentra dentro de la carpeta
Investigador2, tras los cual se abrir tambin ISIS de Proteus. Luego realice los siguientes pasos:
1. Antes de simular el circuito, es necesario configurar los Drivers del USB que maneja
Proteus. Para ello, se debe ir a la carpeta donde se haya instalado Proteus, luego se abre la
carpeta USB Drivers y luego se hace clic en el archivo ejecutable installer. Aparecer
un cuadro de dilogo, al cual se har clic en el botn Install el cual comenzar la
instalacin de los drivers. Este cuadro de dilogo se cerrar automticamente, indicando
que la instalacin fue un xito.

Fig. 23 Instalar USb en Proteus

20

Ubicacin (para el caso del autor) del archivo ejecutable installer. Esta ubicacin puede
variar.

Fig. 24 Ventana de instalacin USb en Proteus

Tras hacer clic en Install, se instalar automticamente la aplicacin.


2. Ahora s, presionamos el botn Play del simulador.

Fig. 25 Corrida de simulacin

3. La primera vez, la simulacin no funcionar al primer intento. Se pedir primero la


instalacin del driver del dispositivo (el PIC 18F4550). Por defecto, al aparecer el cuadro de
dilogo, se deber escoger la opcin No por el momento, y luego, hacer clic en el botn
Siguiente.

Fig. 26 Plug and play de nuevo Hardware

21

4. Luego, se debe escoger la opcin Instalar desde una lista o una ubicacin especfica
(avanzado). Se hace clic en siguiente.

Fig. 27 Bsqueda de driver

5. Se habilita al usuario la bsqueda de la carpeta que contenga el instalador. Para ello, se debe
escoger la opcin Incluir esta ubicacin en la bsqueda, tras lo cual se habilita el botn
Examinar. Se deber buscar la carpeta Driver Microchip que se halla dentro de la
carpeta MCHPUSB Driver, que se copi anteriormente. Una vez realizado esto, se hace
clic en siguiente.

Fig. 28 Escoger carpeta destino

22

Fig. 29 Carpeta de Driver

6. Luego, se indicar a travs de una barra de estado la instalacin del dispositivo. Despus
aparecer un cuadro de dilogo con el botn Finalizar, al cual se debe dar clic. Tras esto,
la simulacin en Proteus correr normalmente. No obstante, es necesario detener la
simulacin paradjicamente, para realizar una correcta simulacin en conjunto con el
programa de JAVA.

Fig. 30 Instalacin Driver

23

Fig. 31 Aceptacin de Driver

7. A veces se producen algunos contratiempos. Entre los ms comunes, es que el PIC de la


simulacin no encuentre el archivo .hex necesario para la simulacin, o que lo encuentre,
pero el programa no funcione de cualquier forma. Esto se soluciona de manera sencilla, al
seguir los siguientes pasos.
a. Si el problema es nicamente de que el PIC de la simulacin no halla la ruta del
archivo .hex, se debe hacer doble clic sobre el PIC, y se hace clic en el icono de una
carpeta que aparece en el cuadro de dilogo. Luego se deber buscar el archivo
Familia18F, incluido dentro de la carpeta Investigador2, copiada
anteriormente. Despus de haber hallado el archivo, se hace clic en OK.

Fig. 32 Grabacin de pic en Proteus

24

Tras haber hecho doble clic en el PIC de la simulacin

Fig. 33 Encontrar programa en carpeta de proyecto

Buscando el archivo .hex para la simulacin. Luego se hace clic en OK, de la


ventana anterior
b. Si el problema es que el archivo .hex est daado, se abre el archivo
Familia18F.c, incluido dentro de la carpeta Investigador2, copiada
anteriormente, usando para el efecto el compilador CCS C. Se dirige a la pestaa
Compile, y se presiona el cono de Build All. Aparece una ventana indicando el
porcentaje de uso de la memoria RAM y ROM del PIC. Se cierra el compilador, y
se ejecutan los pasos del literal 7.a.
Dicho sea de paso, se recomienda observar la programacin del PIC en este punto.
Todo el programa est comentado, lo que hace ms fcil la comprensin del
mismo.

25

Fig. 34 Compilacin del proyecto en C

Fig. 35 Ventana de Compilacin

Compilacin exitosa. Remtase al paso 7.a.


Controlando ISIS de Proteus desde JAVA
26

Ahora ya est todo a punto para la simulacin en conjunto. Desde Netbeans, por si acaso, se
compila nuevamente el proyecto FrameUSB, haciendo clic derecho en la carpeta del proyecto, y
haciebdo clic en la opcin Clean and Build. Luego, haciendo clic derecho sobre la carpeta del
proyecto, se hace clic ahora sobre la opcin Run. El frame del proyecto hace su aparicin:

Fig. 36 Interface 1

Luego en Proteus, se corre la simulacin, haciendo clic en el botn Play. La ventana de la


aplicacin en JAVA seguramente desaparecer de la vista del usuario. Se lo trae nuevamente a
primer plano.

Fig. 37 Corrida del programa

27

Y finalmente, se hace clic en el puerto que se desee activar, claro, en la ventana de la aplicacin de
JAVA. El puerto correspondiente se deber activar en Proteus.

Fig. 38 Activacin de Leds

Y no slo se puede comandar a Proteus desde JAVA. Es factible incluso lo inverso! Para verificar
esto, se selecciona un nmero (binario, claro est) a travs del dipswitch en la simulacin de
Proteus. Se trae a primer plano la aplicacin JAVA. Se selecciona la pestaa Entrada USB de la
ventana de la aplicacin, y se presiona el botn Leer Puerto D (Una vez que se haya ganado
experiencia, se puede leer cualquier puerto), y aparecer el valor en decimal de la lectura en binario
del puerto D.

Fig. 39 Lectura de Datos

Y ahora la imaginacin es su lmite!

28

Fig. 1 Explicacin de USB .................................................................................................................. 4


Fig. 2 Tipos de USB ............................................................................................................................ 4
Fig. 3 JPicUsb ..................................................................................................................................... 5
Fig. 4 Diagrama Elctrico ................................................................................................................... 7
Fig. 5 Conexin Oscilador .................................................................................................................. 8
Fig. 6 Conexin de cables USB .......................................................................................................... 8
Fig. 7 Salida de la PC del USB ........................................................................................................... 9
Fig. 8 Diagrama de Grantt ................................................................................................................. 12
Fig. 9 Disposicin de Hardware ........................................................................................................ 13
Fig. 10 Interface 1 ............................................................................................................................. 13
Fig. 11 Led encendidos de la Aplicacin .......................................................................................... 14
Fig. 12 Interface 2 ............................................................................................................................. 14
Fig. 13 DeepSwitch ........................................................................................................................... 14
Fig. 14 Entrada Puerto D ................................................................................................................... 15
Fig. 15 Interface 3 ............................................................................................................................. 15
Fig. 16 configuracion NetBeans ........................................................................................................ 16
Fig. 17 Adicin de libreras ............................................................................................................... 17
Fig. 18 Seleccin de librera .............................................................................................................. 17
Fig. 19 Escoger directorio ................................................................................................................. 18
Fig. 20 Carpeta de JPicUSB .............................................................................................................. 18
Fig. 21 Eliminacin de Observaciones .............................................................................................. 19
Fig. 22 Compilacin .......................................................................................................................... 19
Fig. 23 Instalar USb en Proteus ......................................................................................................... 20
Fig. 24 Ventana de instalacin USb en Proteus ................................................................................ 21
Fig. 25 Corrida de simulacin ........................................................................................................... 21
Fig. 26 Plug and play de nuevo Hardware ........................................................................................ 21
29

Fig. 27 Bsqueda de driver ............................................................................................................... 22


Fig. 28 Escoger carpeta destino......................................................................................................... 22
Fig. 29 Carpeta de Driver .................................................................................................................. 23
Fig. 30 Instalacin Driver.................................................................................................................. 23
Fig. 31 Aceptacin de Driver ............................................................................................................ 24
Fig. 32 Grabacin de pic en Proteus ................................................................................................. 24
Fig. 33 Encontrar programa en carpeta de proyecto ......................................................................... 25
Fig. 34 Compilacin del proyecto en C............................................................................................. 26
Fig. 35 Ventana de Compilacin ....................................................................................................... 26
Fig. 36 Interface 1 ............................................................................................................................. 27
Fig. 37 Corrida del programa ............................................................................................................ 27
Fig. 38 Activacin de Leds ............................................................................................................... 28
Fig. 39 Lectura de Datos ................................................................................................................... 28

Tabla 1 Metodos de inicializacion del JPicUsb................................................................................... 6


Tabla 2 Mtodos rpidos de JPicUsb .................................................................................................. 6
Tabla 3 mapa de variables ................................................................................................................... 9
Tabla 4 Explicacin de mtodos y funciones .................................................................................... 10
Tabla 5 Lista de Componentes .......................................................................................................... 10

30

También podría gustarte