Vous êtes sur la page 1sur 30

Contenido

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

OBJETIVO PRINCIPAL .................................................................................................................... 3

OBJETIVOS ESPECIFICO ................................................................................................................ 3

AGRADECIMIENTO......................................................................................................................... 3

MARCO TEÓRICO ............................................................................................................................ 4

Características generales del Puerto USB ....................................................................................... 4

Tipos de puertos USB. Detalle de formas físicas. ........................................................................... 4

Concepto de jPicUsb ....................................................................................................................... 5

DIAGRAMAS..................................................................................................................................... 7

ADICIONALES DEL DIAGRAMA ELÉCTRICO ....................................................................... 8

CONEXIÓN DE LOS CABLES USB ............................................................................................ 8

MAPA DE VARIABLES.................................................................................................................... 9

EXPLICACIÓN DE MÉTODOS Y FUNCIONES .......................................................................... 10

LISTA DE COMPONENTES ........................................................................................................... 10

CONCLUSIONES ............................................................................................................................ 11

RECOMENDACIONES ................................................................................................................... 11

APLICACIONES .............................................................................................................................. 11

MANUAL DE USUARIO ................................................................................................................ 13

ANEXO 1 .......................................................................................................................................... 16

Manual de configuración del simulador de electrónica ISIS de Proteus para ser comandado por
JAVA a través del puerto USB, utilizando el PIC 18F4550 como interfase. ................................ 16
PLANTEAMIENTO DEL PROBLEMA

La evolución de los puertos de comunicación de las computadora permitió desarrollar medios de


intercambio de información más veloces y eficaces, uno de los increíbles avances que se logro es la
comunicación serial (USB). En donde se logro mantener la idea de comunicar datos por medio de
una línea, ganando velocidad y añadiendo una fuente de energía continua para ampliar a diversas
aplicaciones.

Por otro lado, los micro controladores han sido participes de muchos desarrollos de miniaturización,
control y automatización. 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 aplicación desarrollada en java por supuesto escogido en el presente
trabajo y en muchos otros por su facilidad de desarrollo, constante evolución y riqueza de
herramientas para desarrollar aplicaciones complejas con gran precisión y ahorrando recursos.

Se presenta esta aplicación que combina todos estos elementos conjuntos, un microprocesador de la
gama 18Fxx, más específicamente el 18F4550 programado en lenguaje C que tiene en sus puertos la
comunicación el afanado USB (Universal Serial Bus), esta información se recepta en Java con el
uso de la librería dinámica que es el centro de nuestro estudio JpicUSB 1.1.1, que nos permitirá
salida e ingreso de datos.

2
OBJETIVO PRINCIPAL

Investigar la utilización de la librería dinámica JpicUSB, implementando un circuito en el cual se


realice salida e ingreso de datos por dicho puerto.

OBJETIVOS ESPECIFICO

Desarrollar una aplicación en Java que permita comunicar un micro controlador con una aplicación
por medio de puerto USB.

Discernir información válida que nos permita desarrollar con excito la comunicación.

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 investigación, a Genaro
Oñativia, que es la persona que desarrollo la librería dinámica, los métodos, entre otras cosas. Y
entrega su ayuda en el internet para que todos podemos tener acceso a este puerto, y además en los
diferentes foros nos aclaro las ideas y por ello logramos realizar la investigación.

3
MARCO TEÓRICO

Características generales del Puerto USB

Fig. 1 Explicación de USB

Tipos de puertos USB. Detalle


de formas físicas.

Fig. 2 Tipos de USB


Concepto de jPicUsb

Fig. 3 JPicUsb

5
Detalle de los métodos de inicialización de jPicUsb.

Tabla 1 Metodos de inicializacion del JPicUsb

Detalle de los métodos rápidos de jPicUsb.

Tabla 2 Métodos rápidos de JPicUsb

6
DIAGRAMAS

7
Fig. 4 Diagrama Eléctrico
ADICIONALES DEL DIAGRAMA ELÉCTRICO
Es una característica que en los programas de modelaje eléctrico muchas veces se obvia elementos
que necesariamente no se deben detallar, pero en la práctica si no los ponemos en el circuito
simplemente no funciona, estos son:

La alimentación de energía del Pic, en el pin VDD.

La conexión a tierra del Pic, en el pin VSS

Cables USB

El circuito de oscilación con:

 1 oscilador de 20 MHz

 2 capacitores de 22 pF

Fig. 5 Conexión Oscilador

CONEXIÓN DE LOS CABLES USB


La conexión de los cables USB esta presentado en el diagrama eléctrico, pero además 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
conexión se nuestra en los siguientes gráficos.

Fig. 6 Conexión de cables USB

8
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 aplicación, pero debemos detener
a hacer el análisis de la utilidad de nuestra aplicación, y si necesita mucha corriente nos convendría
utilizar una fuente adisional de alimentación.

Fig. 7 Salida de la PC del USB

MAPA DE VARIABLES
MiFrame

NOMBRE TIPO EXPLICACIÓN Variable

CmdEnvio byte Dato que se envía por puerto

CLASE
CmdRecepcion byte En donde se recibirá la información por puerto

txtPortd int Txt en donde se recepta información proveniente de


FRAME
USB
temp String Label, en donde se dispone la temperatura
ambiental en tiempo real
Cbrb0-cbrb7 True-false Radio buttons cada uno activa un diferente bit de
salida del puerto B del pic
Salida Byte[] Bytes que se envían al PIC para que responda con
INSTANCIA

la lectura del DeepSW


a Byte [] Bytes que recibe el numero que leyó por el puerto
del micro controlador
MiLed byte Byte que se envía la información de los led que se
deben activar
Tabla 3 mapa de variables

9
EXPLICACIÓN DE MÉTODOS Y FUNCIONES
Clase “MiFrame.java”

 public void salida_usb1(byte comando)

Envía el byte “comando” al PIC a través del puerto USB, y luego de 1 segundo, cierra la conexión.
Usualmente, el byte “comando” indica al PIC que habrá un envío 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)

Envía los bytes “comando” y “datoenviado” en un arreglo de bytes al PIC a través del puerto USB,
y luego de 1 segundo, cierra la conexión. Usualmente, el byte “comando” (que ocupa la posición 0
en el arreglo de bytes) indica al PIC que habrá una recepción de datos PC-PIC, siendo el dato que
recibe el PIC, el byte “datoenviado” (que ocupa la posición 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 conexión.

 public void leds_on()

Ordena al PIC la activación o desactivación de un determinado pin de algún puerto, valiéndose del
método “salida_usb2”. El puerto depende de la programación que tenga el PIC.

Tabla 4 Explicación de métodos 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 cerámico 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 conexión necesario
Fuente regulada de 5V, para alimentación del PIC.

Tabla 5 Lista de Componentes

10
CONCLUSIONES
Se pudo realizar la comunicaciones entre PC, pic con la librería dinámica 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 aplicaión.

RECOMENDACIONES
Realizar el análisis para determinar que si es necesario que la aplicación que vamos a realizar
necesita una fuente de alimentación extra, o puede solventarse con la alimentación del puerto USB.

Recordar que no todos los elementos que se describen en algunos diagramas eléctricos, son todos
los necesarios para el circuito físico, 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 investigación, no es el fin sino el comienzo porque es por donde podemos explotar para
sacar el máximo de provecho a la combinación pics y Java, y podemos desarrollar aplicaciones
sencillas y desarrolladas como:

Métodos 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), fácilmente transportables a otra computadora porque


el puerto USB es el más popular.

Control de robot por medio de USB, con métodos de envió de señales, recepción de respuesta para
tomar decisiones de para manejar su desempeño.

Realizar aplicaciones que no necesiten de una fuente de alimentación extra.

Realizar una aplicación que pueda seguir procesos como, controlar el clima y almacenar los datos
en su memoria y al intercambiarlo con la PC y realizar gráficas de representación 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 Disposición de Hardware

Este programa permite controlar leds, e ingresar datos numéricos 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 restricción para
apagarlos.

13
Fig. 11 Led encendidos de la Aplicación

Interface 2

Fig. 12 Interface 2

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

Lsb (menos significativo)

Fig. 13 DeepSwitch

14
Como podemos ver ingresamos el número:

00001001b=9d

Debemos clicar el botón 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 versión del software o la temperatura ambiental
actual (opcional).

15
ANEXO 1

Manual de configuración del simulador de electrónica ISIS de Proteus para ser comandado por
JAVA a través del puerto USB, utilizando el PIC 18F4550 como interfase.
El presente manual permitirá al usuario la configuración del simulador de circuitos eléctricos y
electrónicos ISIS de Proteus, para ser controlado por JAVA a través del puerto USB. Para este
propósito, nos valdremos del microcontrolador de la casa Microchip 18F4550 para la interface, y
para facilitar aún más la inducción, se proporciona un circuito de prueba, así como los programas
necesarios para llegar a un buen término.

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 versión 4.084.
 Netbeans IDE versión 1.6.8 o superior
 Proteus versión 7.7, Service Pack 2.

SU COMPUTADOR ADEMÁS, 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 elaboración de este manual), todavía no
habían 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 servirán como proyecto de ejemplo, que le
brindarán una idea acerca de comandos básicos y estructuración de los programas para sus futuros
proyectos. Descomprima a su computador también, el archivo “jpicusb 1.1.1”, que contiene la
librería jPicUsb.

Configurando Netbeans.

Abra el programa Netbeans, y una vez abierto, abra el proyecto “FrameUSB”, buscando la
dirección donde pegó la carpeta previamente. Todavía no lo
compile. Luego siga los siguientes pasos:

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


la opción Properties.

16

Fig. 16 configuracion NetBeans


2. Escoja haciendo clic izquierdo, la opción Libraries, y dentro de esta, haga clic en el botón
Add JAR/Folder.

Fig. 17 Adición de librerías

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
botón Abrir. Regresará al cuadro de diálogo anterior.

Fig. 18 Selección de librería

17
4. Ahora, seleccione la opción Run. Presione el botón Browse, correspondiente a Working
Directory. Seleccione la carpeta “jpicusb 1.1.1” sin abrirla. Una vez que la haya encontrado,
selecciónela y haga clic en el botón 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 librería jPicUsb, importada al
principio, debe aparecer sin ningún subrayado de ningún color, ni alguna observación. Para
estar seguros incluso, se puede compilar el proyecto, haciendo clic derecho sobre la carpeta
del proyecto, y escogiendo la opción Clean and Build. Caso contrario, revísese los pasos
anteriores.

Fig. 21 Eliminación de Observaciones

No hay observación al importar jPicUsb

Fig. 22 Compilación

Para asegurarse, se puede compilar el proyecto

6. Ya sólo falta hacer correr el proyecto, pero esto lo haremos después 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 librería
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
elaboración de proyectos personalizados propios. No obstante, ya se incluye una simulación para
realizar una prueba rápida. Ábrase el archivo “ManejoUSB” que se encuentra dentro de la carpeta
“Investigador2”, tras los cual se abrirá también 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 diálogo, al cual se hará clic en el botón “Install” el cual comenzará la
instalación de los drivers. Este cuadro de diálogo se cerrará automáticamente, indicando
que la instalación fue un éxito.

Fig. 23 Instalar USb en Proteus

20
Ubicación (para el caso del autor) del archivo ejecutable “installer”. Esta ubicación puede
variar.

Fig. 24 Ventana de instalación USb en Proteus

Tras hacer clic en Install, se instalará automáticamente la aplicación.

2. Ahora sí, presionamos el botón Play del simulador.

Fig. 25 Corrida de simulación

3. La primera vez, la simulación no funcionará al primer intento. Se pedirá primero la


instalación del driver del dispositivo (el PIC 18F4550). Por defecto, al aparecer el cuadro de
diálogo, se deberá escoger la opción “No por el momento”, y luego, hacer clic en el botón
“Siguiente”.

Fig. 26 Plug and play de nuevo Hardware


21
4. Luego, se debe escoger la opción “Instalar desde una lista o una ubicación específica
(avanzado)”. Se hace clic en siguiente.

Fig. 27 Búsqueda de driver

5. Se habilita al usuario la búsqueda de la carpeta que contenga el instalador. Para ello, se debe
escoger la opción “Incluir esta ubicación en la búsqueda”, tras lo cual se habilita el botón
“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 través de una barra de estado la instalación del dispositivo. Después
aparecerá un cuadro de diálogo con el botón “Finalizar”, al cual se debe dar clic. Tras esto,
la simulación en Proteus correrá normalmente. No obstante, es necesario detener la
simulación paradójicamente, para realizar una correcta simulación en conjunto con el
programa de JAVA.

Fig. 30 Instalación Driver

23
Fig. 31 Aceptación de Driver

7. A veces se producen algunos contratiempos. Entre los más comunes, es que el PIC de la
simulación no encuentre el archivo .hex necesario para la simulación, 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 simulación 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 diálogo. Luego se deberá buscar el archivo
“Familia18F”, incluido dentro de la carpeta “Investigador2”, copiada
anteriormente. Después de haber hallado el archivo, se hace clic en “OK”.

Fig. 32 Grabación de pic en Proteus

24
Tras haber hecho doble clic en el PIC de la simulación

Fig. 33 Encontrar programa en carpeta de proyecto

Buscando el archivo .hex para la simulación. Luego se hace clic en “OK”, de la


ventana anterior

b. Si el problema es que el archivo .hex está dañado, 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 pestaña
“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 programación del PIC en este punto.
Todo el programa está comentado, lo que hace más fácil la comprensión del
mismo.

25
Fig. 34 Compilación del proyecto en C

Fig. 35 Ventana de Compilación

Compilación exitosa. Remítase al paso 7.a.

Controlando ISIS de Proteus desde JAVA

26
Ahora ya está todo a punto para la simulación 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 opción “Clean and Build”. Luego, haciendo clic derecho sobre la carpeta del
proyecto, se hace clic ahora sobre la opción “Run”. El frame del proyecto hace su aparición:

Fig. 36 Interface 1

Luego en Proteus, se corre la simulación, haciendo clic en el botón “Play”. La ventana de la


aplicación 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 aplicación de
JAVA. El puerto correspondiente se deberá activar en Proteus.

Fig. 38 Activación de Leds

Y no sólo se puede comandar a Proteus desde JAVA. Es factible incluso lo inverso! Para verificar
esto, se selecciona un número (binario, claro está) a través del dipswitch en la simulación de
Proteus. Se trae a primer plano la aplicación JAVA. Se selecciona la pestaña “Entrada USB” de la
ventana de la aplicación, y se presiona el botón “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 imaginación es su límite!

28
Fig. 1 Explicación de USB .................................................................................................................. 4

Fig. 2 Tipos de USB ............................................................................................................................ 4

Fig. 3 JPicUsb ..................................................................................................................................... 5

Fig. 4 Diagrama Eléctrico ................................................................................................................... 7

Fig. 5 Conexión Oscilador .................................................................................................................. 8

Fig. 6 Conexión de cables USB .......................................................................................................... 8

Fig. 7 Salida de la PC del USB ........................................................................................................... 9

Fig. 8 Diagrama de Grantt ................................................................................................................. 12

Fig. 9 Disposición de Hardware ........................................................................................................ 13

Fig. 10 Interface 1 ............................................................................................................................. 13

Fig. 11 Led encendidos de la Aplicación .......................................................................................... 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 Adición de librerías ............................................................................................................... 17

Fig. 18 Selección de librería .............................................................................................................. 17

Fig. 19 Escoger directorio ................................................................................................................. 18

Fig. 20 Carpeta de JPicUSB .............................................................................................................. 18

Fig. 21 Eliminación de Observaciones .............................................................................................. 19

Fig. 22 Compilación .......................................................................................................................... 19

Fig. 23 Instalar USb en Proteus ......................................................................................................... 20

Fig. 24 Ventana de instalación USb en Proteus ................................................................................ 21

Fig. 25 Corrida de simulación ........................................................................................................... 21

Fig. 26 Plug and play de nuevo Hardware ........................................................................................ 21


29
Fig. 27 Búsqueda de driver ............................................................................................................... 22

Fig. 28 Escoger carpeta destino......................................................................................................... 22

Fig. 29 Carpeta de Driver .................................................................................................................. 23

Fig. 30 Instalación Driver.................................................................................................................. 23

Fig. 31 Aceptación de Driver ............................................................................................................ 24

Fig. 32 Grabación de pic en Proteus ................................................................................................. 24

Fig. 33 Encontrar programa en carpeta de proyecto ......................................................................... 25

Fig. 34 Compilación del proyecto en C............................................................................................. 26

Fig. 35 Ventana de Compilación ....................................................................................................... 26

Fig. 36 Interface 1 ............................................................................................................................. 27

Fig. 37 Corrida del programa ............................................................................................................ 27

Fig. 38 Activación de Leds ............................................................................................................... 28

Fig. 39 Lectura de Datos ................................................................................................................... 28

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

Tabla 2 Métodos rápidos de JPicUsb .................................................................................................. 6

Tabla 3 mapa de variables ................................................................................................................... 9

Tabla 4 Explicación de métodos y funciones .................................................................................... 10

Tabla 5 Lista de Componentes .......................................................................................................... 10

30

Vous aimerez peut-être aussi