Control de dispositivos a través del módulo USB del PIC18F45/2550

usb_init_cs(), por la información que he encontrado en diferentes post el micro tiene por medio del sense pin detectar dicha conexión

Es muy importante usar el sense pin. Para poder hacer esto tenes que utilizar alimentación externa para tu circuito y usar Vusb con un divisor de voltaje realizado con 2 resistencias de 100K. La salida de dicho divisor de voltaje la conectas al sense pin.

Entonces una vez que desconectes el USB, Sense PIN va a tomar un valor lógico 0 y va a ejecutar la aplicación que tenías prevista ..podrías probar con parpadear un led cada 1 segundo.

En las primeras páginas del hilo se encuentra explicado esto que te digo.

Saludos !
 
Muchas gracias, volveré a pasar por las primeras paginas.

Con respecto a lo de crear un nuevo hilo o postear aquí que me recomiendan??

El proyecto que estoy desarrollando el es sistema de control de un brazo robótico, con aprendizaje de rutinas de movimientos, y su programacion por medio de una aplicación hecha en CCS.

GRACIAS.

Tambien estoy empezando a desarrollar un blog sobre instrumentacion electronica y robótica, esta aun un poco crudo pero avanzando a paso firme.... para los interesados aqui dejo el link al mimsmo
 
Última edición:
Hola a todos,
Esta es la primera vez que he utilizado este foro, por lo que me perdones y me corrija si me equivoco.

Tengo una pregunta acerca de este artículo, Control de dispositivos a través del módulo USB del PIC18F2550.

Puede utilizar este circuito en Windows 7 64 bits?
Cuando se conecta un circuito de PIC en el puerto USB,
el mensaje "Este dispositivo no puede iniciar. (Código 10)" y no se conecta con el programa hecho en Visual C #.

Los archivos relacionados con el "Dispositivo de entrada USB", y son Hidclass.sys Hidusb.sys Hidparse.sys contenidos en la carpeta System32.

Gracias,
Guilherme.
 
lo que podrias revisar primero es el id de hardware de tu dispositivo tal vez por ahi va el problema que no te reconoce el micro por el VID y PID incorrecto chequea esas opciones en el administrador de dispositivos en las propiedades
 
Necesito ayuda con el #include <pic18_usb.h>. Una vez que compilo el archivo en el CCS C, me sale
error en la compilaciòn.
Dònde lo encuentro please??

Ese archivo es de CCS, lo trae el mismo compilador. No se lo tenés que pedir a nadie.

Puede utilizar este circuito en Windows 7 64 bits?
Cuando se conecta un circuito de PIC en el puerto USB,
el mensaje "Este dispositivo no puede iniciar. (Código 10)" y no se conecta con el programa hecho en Visual C #.

Los archivos relacionados con el "Dispositivo de entrada USB", y son Hidclass.sys Hidusb.sys Hidparse.sys contenidos en la carpeta System32.

A veces funciona y a veces no en Windows 7 de 64 bits. El código de Visual C# lo tenés que ejecutar como AnyCPU, dentro de la configuración del proyecto. Por el momento estoy investigando de hacer funcionar todas mis aplicaciones con la DLL de windows nativa, que es HID.dll
 
Bueno, yo dejo aquí mi aporte en cuanto al asunto de utilizar la libreria nativa de windows "HID.DLL" que funciona en todos los Windows desde el win98 hasta el windows 7 pasando por 16,32 y 64 bits.

es una hoja de excel, y para accesar a la dll se utilizo el visual basic que viene embebido en el propio office.

Yo lo hice así, por que mi necesidad era manipular los datos desde excel.

Un saludo y hasta pronto.
 

Adjuntos

  • HID.rar
    32.3 KB · Visitas: 325
Última edición:
Hola muchachos,
Gracias por la ayuda Moyano, manolo159753 y miborbolla!
Yo estaba de formatear mi disco duro e instalar Windows XP 32-bit, por lo que tarde a agradecerles.

Conseguí hacer la comunicación!

Gracias a todos,
Guilherme.
 
Última edición:
Hola soy nuevo en el foro, necesito ayuda con un problema que tengo con modulo usb:

He leido casi todas las paginas de este hilo y no he podido aclarar mi duda. A pesar de que en este hilo se insiste en que se compilen los firmwares con la version CCS 4.114 a mi me dan problemas. He compilado con exito solo los ejemplos que trabajan con la clase HID. En CDC y BULK a sido un total fracaso. He puesto correctamente los respectivos VID y PID haciendolos coincidir con los del .inf en cada driver y nada, no logro que trabajen correctamente, simplemente cuando sale el asistente de nuevo hardware detectado no reconoce el driver. Estoy pensando que es un problema de la version del compilador puesto que en versiones mas viejas como, la 4.057 o la 4.068 no tengo problema alguno y funcionan perfectamente. Entonces quisiera aclarar si es un problema mio o del compilador.

Muchas gracias de antemano.
 
Entonces quisiera aclarar si es un problema mio o del compilador.

Muchas gracias de antemano.

En general casi todos los problemas que resultan de preguntas frecuentes..se deben al compilador...no todos los ejemplos están actualizados debido a mi falta de tiempo para hacerlo.
En general todos los ejemplos de CDC (mios), está realizados con la versión 4.023 de CCS.

Saludos !
 
Hola, quisiera antes que todo agradecer su pronta respuesta, Moyano, su participacion en el foro ha sido activa y mas que valiosa. Soy cubano, recien graduado de Ingenieria en Automatica, mi nombre es Rafael y los felicito a todos por abordar un tema tan interesante.
Para mi es un poco contradictorio que tantas versiones de CCS, especificamente de la version 4.114 en adelante tengan tantos problemas, cuando ese software no es gratis y la licencia no es nada barata. Moyano si puedes orientarme con usb bulk transfer te lo voy a agradecer, te explico lo que me pasa:
Yo uso la version 4.068, hasta ahora no he tenido problemas, pero especificamente con usb bulk transfer cuando conecto mi pic a traves del simulador proteus y le instalo el correspondiente driver de microchip, en el administrador de dispositivos me sale un cartel que dice:
El dispositivo no se puede iniciar (codigo 10).
Yo he probado con varias versiones del compilador y nada, no he logrado ningun resultado, por favor le pido orientacion en este aspecto. El firmware que tengo es el mismo que pubicaste en las primeras paginas, solo para probar que la pc me reconozca el dispositivo. Por otro lado quisiera tambien alguna orientacion de como trabajar con la dll de microchip para este modo bulk transfer, pero no en C# sino en C++, si tienes algo por ahi sobre ese tema, le agradecere que me aclare mi duda.

Otra vez gracias y saludos a todos.
 
Buen dia

en primer lugar soy nuevo en este tema y me interesa saber muy bien como controlar la comunicacion usb para elcender un led y variarle la intensidad con visual c#


estoy trabajando c# 2010 y windows 7, lo que he realizado hasta el momento no me ha quedado igual que el archivo sumistrado por ud en la opcion de agregar las librerias


mcHID.dll (Librería de control).
easyHID.cs (Clase con las funciones de control definidas).

entonces no se que hacer, en la opcion de agregar nuevo elemento dentro de c# es igual al 2008.

Buen dia

en primer lugar soy nuevo en este tema y me interesa saber muy bien como controlar la comunicacion usb para elcender un led y variarle la intensidad con visual c#


estoy trabajando c# 2010 y windows 7, lo que he realizado hasta el momento no me ha quedado igual que el archivo sumistrado por ud en la opcion de agregar las librerias


mcHID.dll (Librería de control).
easyHID.cs (Clase con las funciones de control definidas).

entonces no se que hacer, en la opcion de agregar nuevo elemento dentro de c# es igual al 2008.



aca tome una imagen lo que estoy obteniendo respecto a la implementacion de dicho proyecto
 

Adjuntos

  • problema librerias.jpg
    problema librerias.jpg
    142.1 KB · Visitas: 71
Última edición:
Hola a todos, hace tiempos estuve por acá opinando con respecto a la comunicación USB con easyHID, y ahora que me encuentro realizando un proyecto con ello en mi trabajo, me surge un pequeño inconveniente al respecto. Resulta que cuando trato de cerrar mi aplicación ya sea desde Visual Basic 6.0 o desde el ejecutable, y el micro aun se encuentra conectado al pc, el sistema entra en una especie de error o algo por el estilo. Al parecer es un problema con la función DisconnectFromHID en visual basic pero no estoy seguro. Así que pregunto, alguno de ustedes sabe como solucionar este inconveniente?.

De antemano muchas gracias por su atención y ayuda



Ya resolví el problema haciendo esta pequeña modificación

Código:
'*****************************************************************
' disconnect from the HID controller...
'*****************************************************************
Private Sub Form_Unload(Cancel As Integer)
   While DisconnectFromHID = False
   Wend
End Sub

Sin embargo, temo que pueda generar un loop infinito o un desbordamiento si sucede algo
 
Última edición:
Por favor necesito que me ayuden con mi problema, no logro que me trabaje correctamente ninguna aplicacion con usb bulk transfer, cada vez que intalo el driver, me sale un cartel que dice:
el dispositivo no se puede iniciar (codigo 10). Estoy parado con este problema desde hacer como 2 semanas, no logro resolverlo, por favor respondanme lo antes posible.
Saludos y gracias de antemano
 
hola a todos hace tiempisimos no escribo pero esta vez ando con tiempo de sobra,
asi que me gustaria aprender a usar el usb del pic 18f2550 para posteriormente hacer un conversor de usb a lpt para usar mi viejo programador y para hacer un sitema de control...
agradeceria q me facilitaran informacion nombre de un libro o una guia o curso donde pueda empezar a aprender gracias gente.
 
Por favor necesito que me ayuden con mi problema, no logro que me trabaje correctamente ninguna aplicacion con usb bulk transfer, cada vez que intalo el driver, me sale un cartel que dice:
el dispositivo no se puede iniciar (codigo 10). Estoy parado con este problema desde hacer como 2 semanas, no logro resolverlo, por favor respondanme lo antes posible.
Saludos y gracias de antemano

La solución está a lo largo del desarrollo del hilo, vas a tener que leer. Caso contrario es mejor busca a fondo en internet. Revisá que no tengas problemas de hardware y que tu implementación en CCS esté bien hecha.

agradeceria q me facilitaran informacion nombre de un libro o una guia o curso donde pueda empezar a aprender gracias gente

El proyecto que vos planteas no tiene un libro específico de donde puedas guiarte, pero si hay 2 libros que por separado pueden darte una orientación...

http://www.lvr.com/parprtib.htm

http://www.lvr.com/usbc.htm
 
Hola, ya casi terminando con mi proyecto del brazo robotico y para el cual este post y Moyano ya sido mas que de ayuda.

Resulta que ya en las ultimas lineas de programación, programe unas interrupciones en el pic, especificamente RB0 y RB4-RB7, y resulta que cuando tengo las interrupciones activas, el pic no establece la comunicación USB, un amigo me comento que cuando se trabaja con USB no se pueden utilizar interrupciones, a alguien mas le a sucedido esto??, alguna manera de solucionarlo, porque tengo forma de evitar las interrupciones para este proyecto, pero siempre son utilies y para aplicaciones futuras.

Gracias de antemano y de poder solucionar este detalle entre todos seria un GRAN aporte para el tema.
 
Atrás
Arriba