Autor Tema: Mouse USB en pic 18F2550  (Leído 10679 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado dragon_maldito

  • PIC10
  • *
  • Mensajes: 10
Mouse USB en pic 18F2550
« en: 03 de Abril de 2010, 20:07:54 »
Saludos...

Soy nuevo en esto de la programación USB y en este momento estoy tratando de simular un pic 18F2550 para que la computadora lo reconozca como un ratón usb genérico. Estoy utilizando el CCS y tiene un ejemplo (ex_usb_mouse.c) el cual simula un mouse usb genérico que pone a dar circulos al cursor. Ya le cargué el *.hex al pic sin embargo al conectarlo, windows me arroja un mensaje que me indica que el dispositivo ha tenido un mal funcionamiento y ya. no hace nada mas. Tengo conectado un cristal de 20MHz y 2 cap. de 22 pF.

Ya le moví a los archivos para tratar de hacerlo correr pero nada, no consigo que lo reconozca. Alguien que me pueda ayudar para adecuar los archivos *.c para que el pic 18f2550 jale??? Muchas gracias de antemano y disculpen la molestia, pero ya no se que hacer...  :?

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Mouse USB en pic 18F2550
« Respuesta #1 en: 03 de Abril de 2010, 20:18:48 »
Creería que borrando todo lo que hay anteriormente a la función usb_debug_task y colocar lo siguiente debería funcionar:


Código: C
  1. #include <18F2550.h>
  2.  
  3. //~~~ 20MHZ OSCILLATOR CONFIGS ~~~//
  4. //// FULL SPEED
  5. #fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
  6. #use delay(clock=48000000)
  7. #use rs232(baud=9600)
  8.  
  9. /////////////////////////////////////////////////////////////////////////////
  10. //
  11. // If you are using a USB connection sense pin, define it here.  If you are
  12. // not using connection sense, comment out this line.  Without connection
  13. // sense you will not know if the device gets disconnected.
  14. //       (connection sense should look like this:
  15. //                             100k
  16. //            VBUS-----+----/\/\/\/\/\----- (I/O PIN ON PIC)
  17. //                     |
  18. //                     +----/\/\/\/\/\-----GND
  19. //                             100k
  20. //        (where VBUS is pin1 of the USB connector)
  21. //
  22. /////////////////////////////////////////////////////////////////////////////
  23.  // the CCS 18F4550 development kit has this pin
  24.  // #define USB_CON_SENSE_PIN PIN_B2
  25. /////////////////////////////////////////////////////////////////////////////
  26. //
  27. // Include the CCS USB Libraries.  See the comments at the top of these
  28. // files for more information
  29. //
  30. /////////////////////////////////////////////////////////////////////////////
  31. #include <pic18_usb.h>   //Microchip PIC18Fxx5x hardware layer for usb.c
  32. #include <usb_desc_mouse.h>    //USB Configuration and Device descriptors for this UBS device
  33. #include <usb.c>        //handles usb setup tokens and get descriptor reports
  34.  
  35. /////////////////////////////////////////////////////////////////////////////
  36. //
  37. // Configure the demonstration I/O
  38. //
  39. /////////////////////////////////////////////////////////////////////////////
  40.  
  41.  #define LED2 PIN_B4
  42.  #define LED3 PIN_B5
  43.  #define LED_ON(x) output_low(x)
  44.  #define LED_OFF(x) output_high(x)
  45.  #define BUTTON_PRESSED() !input(PIN_A4)

Debes de colocarle un capacitor de 1 uF al pin C3.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado dragon_maldito

  • PIC10
  • *
  • Mensajes: 10
Re: Mouse USB en pic 18F2550
« Respuesta #2 en: 03 de Abril de 2010, 20:38:36 »
Ando revisando la hoja de datos del Pic y no encuentro cual es el pin C3, podrías ayudarme a identificarlo ??

Ya corregí el codigo fuente y al conectar el usb a la PC si detecto algo al principio "USB Device" pero de ahi se escuchoi como si se conectara y desconectara varias veces y despues me puso que habia tenido un mal comportamiento el dispositivo y no funcionó correctamente. será por el problema del capacitor? Gracias.

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Mouse USB en pic 18F2550
« Respuesta #3 en: 03 de Abril de 2010, 20:47:33 »
« Última modificación: 03 de Abril de 2010, 20:50:46 por AKENAFAB »

Desconectado dragon_maldito

  • PIC10
  • *
  • Mensajes: 10
Re: Mouse USB en pic 18F2550
« Respuesta #4 en: 03 de Abril de 2010, 20:57:02 »
Ya le puse el capacitor. Cuando lo conecto a la PC, se escucha varias veces como si se conectara algo y enseguida se escucha cuando se desconecta, luego aparece un mensaje de que No se reconoce el dispositivo USB y asi aparece constantemente. Despues de varios mensajes de estos la computadora despliega "USB DEVICE"     "Dispositivo de interfaz humana" y se desconecta otra vez y vuelven a aparecer los mensajes de que no se reconoce el dispositivo.

Crees que tenga que ver el tamaño del cristal ??? O algo en la rutina se esté ciclando ???

Gracias por tu ayuda, ya veo esperanza en esta aplicación

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Mouse USB en pic 18F2550
« Respuesta #5 en: 03 de Abril de 2010, 21:01:11 »
Tambien puede ser la fuente de alimentacion que este entregando menos de 4.5v y unos cuantos mA.

A mi me pasaba eso que a veces lo reconocia y otras no y era por mi fuentecita. la cambie y todo bien.

Pues revisa ejemplos en el foro y compara el programa a lo mejor se esta olvidando algo

Saludos!

Desconectado dragon_maldito

  • PIC10
  • *
  • Mensajes: 10
Re: Mouse USB en pic 18F2550
« Respuesta #6 en: 03 de Abril de 2010, 21:02:11 »
Listo ya funciona ¡¡¡¡¡¡¡¡¡¡

Muchas gracias amigo ¡¡¡¡¡ te estoy demasiado agradecido ¡¡¡¡

No funcionaba por que lo habia conectado el capacitor en la pata anterior, no me habia fijado, pero ya lo puse en su lugar y ya funciona... MUCHAS GRACIAS ¡¡¡¡¡

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Mouse USB en pic 18F2550
« Respuesta #7 en: 03 de Abril de 2010, 22:46:52 »
jejeje! Era importante el capacitor ese  :mrgreen: Yo aveces no lo coloco y no tengo problemas, igual son pruebas, no lo dejo así  :mrgreen:


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado Tinrik

  • PIC10
  • *
  • Mensajes: 4
Re: Mouse USB en pic 18F2550
« Respuesta #8 en: 20 de Agosto de 2010, 16:28:19 »
Yo tengo el mismo problema: cuando lo conecto a veces me sale el mensaje de "No se pudo instalar el dispositivo", y otras ni aparece, aunque suena cada 2 segundos aprox. el sonido típico de Windows al conectar nuevo hardware, pero no hace nada más. En teoría, al conectarlo, el programa debería hacer dar vueltas al puntero en círculos.

Le he cargado al 18F2550 el ejemplo más sencillo que trae CCS, el ex_usb_mouse.c, con la modificación de poner el include del 2550 en lugar del 4550. El reloj es de 20 MHz con 22 pF, y he probado varios condensadores para el VUSB: 220nF, 4.7 uF y 47 uF (estos electrolíticos), y con ninguno funciona...

¿Alguien podría echarme una mano?

Un saludo y muchas gracias :)

Desconectado ALE1973

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 229
Re: Mouse USB en pic 18F2550
« Respuesta #9 en: 20 de Agosto de 2010, 18:35:10 »
Hola, varias veces tuve el problema de que se conecta y se desconecta enseguida, o bien se escucha 2 veces el sonido de la conexion, y en esos casos era el capacitor de vsub, o me habia olvidado de colocarlo, o el valor no era el adecuado, creo que quedo ahora el de 47 o 33 nf, miro esta noche y te comento.
Lo de no se reconoce dispositivo usb me hace cuando meto la pata en el descriptor, siempre he hecho dispositivos HID.
Espero sirva.


Saludos.
Alejandro.

Verificado tengo uno de 47nf en VUSB, y anda perfecto
« Última modificación: 20 de Agosto de 2010, 20:11:16 por ALE1973 »

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Mouse USB en pic 18F2550
« Respuesta #10 en: 20 de Agosto de 2010, 19:33:49 »
¿Tienes puesto un condensador de desacoplo en las patillas de alimentación del pic?, si no es así ponle de 100nF lo mas cerca de las patillas de  alimentación.

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado Tinrik

  • PIC10
  • *
  • Mensajes: 4
Re: Mouse USB en pic 18F2550
« Respuesta #11 en: 21 de Agosto de 2010, 05:41:37 »
Hola:

@ALE1973: 47 nF?? No es un valor demasiado pequeño? Por lo que leí en el datasheet, el mínimo recomendado eran 220 nF, y como mucho la gente he visto que pone de mayor valor. Aunque si dices que te va bien, probaré a ver qué tal funciona ;)

@jfh900: En efecto, tengo puesto un condensador justo entre las patillas 19 y 20 de 100 nF, así que de ahi no debería ser el problema.

Creo que el problema será, en efecto, del dichoso condensador de VUSB, aunque me parece raro que no me funcione con los que pone el datasheet... Probé también a poner uno de 4.7 uF, que es el que tiene puesto un programador de PIC's por USB que monté hace tiempo (el cual sí funciona y lleva el mismo PIC) pero sigue sin funcionar. Si veo que sigue fallando os cuelgo una imagen del montaje a ver si veis algo raro!

Por cierto, con el PIC conectado, al medir VDD me sale de 4.18 V, puede estar ahí el problema? He probado a conectarlo tanto al portátil como a un sobremesa (con una buena fuente) y sale lo mismo. Si no tengo el PIC conectado sí que da los 5.00 voltios...

Muchas gracias por responder! =)
« Última modificación: 21 de Agosto de 2010, 05:44:55 por Tinrik »

Desconectado Tinrik

  • PIC10
  • *
  • Mensajes: 4
Re: Mouse USB en pic 18F2550
« Respuesta #12 en: 21 de Agosto de 2010, 07:58:23 »
Vale, he conseguido por fin que funcione. Bueno, realmente, ha sido pura suerte, pues estaba toqueteando el conector USB y de pronto ha empezado el ratón a dar vueltas. Tenía puesto el condensador de 220 nF. Lo que me resulta raro es que los LED's de estado (uno para attached y otro para enumerated) se apagan cuando finalmente el ordenador reconoce el dispositivo. ¿No deberían estar encendidos, señal de que el ordenador lo ha reconocido?

Lo malo es que al desconectar y volver a conectar no he tenido tanta suerte, y ya no funciona  :( . En su lugar, el LED de conectado se queda encendido, y el de enumerated parpadea rapidamente... He conectado la carcasa a GND, repasado las soldaduras del conector, incluso lo he puesto en una PCB, pero nada, sigue sin funcionar...¿Alguna idea?
Gracias!

Desconectado ALE1973

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 229
Re: Mouse USB en pic 18F2550
« Respuesta #13 en: 22 de Agosto de 2010, 14:24:17 »
Perdon.

@ALE1973: 47 nF?? No es un valor demasiado pequeño? Por lo que leí en el datasheet, el mínimo recomendado eran 220 nF, y como mucho la gente he visto que pone de mayor valor. Aunque si dices que te va bien, probaré a ver qué tal funciona

ES de 470nf, perdon por el error.

Saludos.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Mouse USB en pic 18F2550
« Respuesta #14 en: 22 de Agosto de 2010, 15:10:44 »
Tan critico es el tema del condensador?? Yo recuerdo haber hecho aplicaciones con USB sin ese capacitor y funcionaban O.o

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein