lunes, 9 de diciembre de 2013


Tecnológico de Monterrey, Campus Puebla




MARIO ALFREDO PÉREZ ROJAS
A01320041 


Ingeniero en Tecnologías Electrónicas 

Interfaces Computacionales (TE3006)
Otoño,2013



Resumen de trabajo:
El objetivo de esta práctica global es demostrar la construcción de una aplicación USB personalizada en base a modificación de ejemplos existentes.Esta aplicación personalizada trabaja en la placa de desarrollo personal que individualmente cada quien creó en clase en base a un diseño común.

Marco teórico:

Hoy en día es posible encontrar un sin fin de medios electrónicos que nos posibilitan desarrollar aplicaciones para la vida diaria y uso común. El uso de placas de desarrollo con microcontrolador y entorno de desarrollo (como el presente) facilita el uso de la electrónica en proyectos multidisciplinarios.

La placa aquí presentada consta del elemento principal y sin el cual no podríamos desarrollar: el microcontrolador PIC.
El PIC es un microntrolador ( circuito integrado programable,capaz de ejecutar las órdenes grabadas en su memoria) de la compañía Microchip que tiene distintas familias de acuerdo al número de bits que es capaz de manejar.


Requerimientos y desarrollo:

Primero que nada es necesario desarrollar la placa y para ello se necesitan muchos elementos electrónicos:
  • 2 capacitores de 22p, 1capacitor de 100, 1 capacitor de 470n, 5 capacitores de 10n 
  • 1 PIC18F4550_40
  • Un circuito integrado MAX3232CPE
  • 5 LED's ultrabrillantes (4 del mismo color y uno distinto)
  • 1 cristal de 20MHz
  • 1 resistencia de 1Mohm, 5 resistencias de 470ohms, 5 resistencias de 10Kohm, 5 resistores de 1Kohm, 2 resistencias de 22ohms
  • 3 switch button
  • 1 conector PN61729 conector de USB (como de impresora)
  • 1 conector hembra para puerto serial RS-232
  • Placa de cobre

Una vez teniendo todos los elementos para armar la placa es necesario primero tener el diseño en software del circuito, para esto se uso EAGLE 5.11. El diseño base para el circuito es el siguiente: 



Quedando luego entonces en el mismo programa sólo que en la parte de ruteo (.brd) el siguiente diagrama que habría de ser impreso en placa por parte de la maquina cortadora.



Ahora teniendo la placa ya armada y lista procedemos a realizar la práctica que concierne a este blog. Aquí es necesario tener los siguientes herramientas:


Hardware:

  • Tarejeta de desarrollo PIC18F4550 (periférico USB)
  • Cable de conexión USB
Software: 

  • Microsoft Visual Studio C++ 2008 Professional Edition
  • Microchip MPLAB v8.63 (no MPLAB X)
  • Microchip C Compiler C18 (MCC18) 3.37.01 Standard-Eval Version
  • Microchip USB Framework 2.8 (Microchip Application Libraries)

Pasos:
1

Localizar y abrir el proyecto  USB Device-HID-Simple Custom Demo-C18-PICDEM FUSB.mcp en MPLAB y editar la línea 78 del archivo HardwareProfile-PICDEM FSUSB.h de modo que quede la línea 82 como en la figura:


Se deberá compilar el código y cargar el archivo .hex generado en la tarjeta, ahora Windows detectará hardware nuevo e instalará el driver.


2

Localizar y abrir el proyecto de Visual Studio C++  GenericHIDSimpleDemo.sln  y dar doble click en el archivo Form1.h ubicado en el explorador de soluciones. Entonces aparecerá en ventana la siguiente:



Ahora es necesario compilar la aplicación en el menú Generar--->Generar Solución. Así se podrá conectar la tarjeta de desarrollo con la interfaz al dar click sobre Connect y se podrá tener control de los LED's conectados a RD0 Y RD1, además de que se podrá saber el estado del botón conectado a RB5  al hacer clic en Get Pushbutton State.





3

Ya ahora en MPLAB podremos habilitar el uso de los demás botones si modificamos el código del archivo principal main.c en la línea 690 y compilamos para cargar el ahora cambiado USB Device-HID-Simple Custom Demo-C18-PICDEM FSUSB.hex. de modo que quede como en la imagen.




4


De vuelta a Visual C++ es necesario crear un nuevo botón, por lo que basta con copiar uno de los ya existentes, cambiarle el nombre y añadirle código al darle doble clic:






Además es necesario sobre el mismo archivo añadir un poco de código sobre la línea 442, de modo que quede como en la imagen.




Así pues luego de guardar y ejecutar se podrá visualizar el boton Toggle LED3 que está conectado a RD2 , por ende después de conectar se tendrá control sobre el LED conectado a ese puerto del PIC. En la imagen se puede ver como después de dar clic sobre LED(4) se habilita el LED conectado a RD3 (se hizo el mismo proceso que LED3 para prender este LED)..




5

De la misma manera a como se ha hecho la adición de más botones es posible aumentar más y hasta dar edición a la interfaz que controla la placa. En fin se puede personalizar como se guste.



En la placa se pueden cambiar los LEDs de acuedo al gusto personal






Problemáticas:

Es preciso mencionar que sí se tuvieron demasiados problemas desde la elaboración de la placa hasta la elaboración de esta última práctica. Dificultades como soldar la placa correctamente desde su inicio y no afectar la conductividad, identificación de la tarjeta por parte de la computadora, problemas en programación que hicieron extender por más horas el tiempo de trabajo y demás.

Respuesta a las preguntas:

  • Al cambiar la sección de código 0x003F por 0X00E se perdió el control sobre la tarjeta, es decir ni siquiera se pudo conectar , pues Visual Studio ahora no la reconocía. Esto es porque este número en hexadecimal es un identificador que usan tanto MPLAB como Visual Studio para nombrar a la tarjeta, si uno de ellos no coincide simplemente no hay comunicación.
  • Luego de cambiar el código de la línea 61 por: "# define MY_DEVICE_ID  "Vid_04d8&Pid_003E"  se le dice a Visual Studio que aquel dispositivo que habrá de reconocer lleva por identificador el número 003E. Sólo así volvió a haber comunicación entre las dos partes.
  • Microchip adquirió el VendorID 0x04d8 para poder identificarse con el puerto USB.
Conclusiones:

Sin duda alguna el desarrollo de aplicaciones en electrónica facilita muchas actividades, en este ejemplo se puede observar que desde la realización hasta el final sí hay un gran número de pasos que seguir pero al final todos en conjunto trabajan de manera sorprendente para llevar a cabo alguna tarea. Dentro de las aplicaciones posibles que se pudieran tener son:

  1. Fines de decoración interior ya sea en casa u oficina, sin duda controlar dispositivos de este estilo le daría otra vista a algún interior.
  2. Aplicaciones con fines de prueba de funcionamiento de tarjetas de desarrollo como la presente.
  3. Controlar vía computadora la tarjeta de desarrollo o viceversa (para ciertas tareas).
  4. Aplicaciones con fines de alerta, para por ejemplo en un restaurante (haciendo modificaciones a la tarjeta para abarcar más espacio) dar a conocer el status de un pedido, en cualquier otro establecimiento usar como letrero para informar si la tienda está abierta o cerrada.
  5. Programar directamente un PIC18F4550 desde la computadora sin necesidad de un programador externo, todo vía USB.


Referencias:

2013.Andrade Román Jorge. Manual.Práctica USB.Parte 2 de 2.Interfaces Computacionales. Tecnológico de Monterrey..

Marshall Brain. How Microcontrollers Work. How Stuff Works. Tomado el 8 de Diciembre de 2012 de la página web http://electronics.howstuffworks.com/microcontroller3.htm


















No hay comentarios:

Publicar un comentario