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

Moyano, he seguido tu post mucho, pero al trabajar en windows 7, los softwares controladores de VB6 no me corren, solo me corren los del easy HID, pero no lo consigo por ninguna parte, podrías facilitarme un enlace para descargarlo?, Muchas gracias de antemano.
 
Buenas Moyano:

Ya que la tecnología cambia, el XC8 cada vez se usa más y hay muchos videotutoriales sobre el MPLAB X. El C18 dicen que se dejará de actualizar con el tiempo, el MPLAB v8.92 se quedará ahí y no se incluirán nuevos dispositivos pero si estará para su descarga.

No se si tendrás tiempo.

¿Podrás hacer algún tutorial o manual con el XC8, MPLAB X y C# sobre USB en el futuro?

Un saludo.
 
Moyano, he seguido tu post mucho, pero al trabajar en windows 7, los softwares controladores de VB6 no me corren, solo me corren los del easy HID, pero no lo consigo por ninguna parte, podrías facilitarme un enlace para descargarlo?, Muchas gracias de antemano.

El controlador mcHID.dll está en el archivo de descarga de la primera página, junto al software en Visual C# para usarlo. Quiero aclarar que yo he probado algunos programas viejos de VB 6.0 en Win 7 de 32 y 64 bits y han funcionado. De todas maneras te recomiendo que pases directamente a VB.net 2010 - 2012.

¿Podrás hacer algún tutorial o manual con el XC8, MPLAB X y C# sobre USB en el futuro?

No uso MPLAB, ni XC8. Si voy realizar un manual nuevo con más funcionalidades, otro controlador USB más estandar y voy a usar CCS. Esto último por que es el compilador que a mi parecer está más difundido en el ambiente de desarrollo.

Sobre cuando lo voy a terminar, no se, pero en cuanto lo termine lo voy a publicar.

Saludos !
 
Ok, ahora tengo otro problema, tomando como base los ejemplos que tu dejaste, funcionan perfectamente, sin prpblemas vuando utilizo ese. HEX, pero si tomo ese proyecto en MPLAB, y lo compilo con la libreria que dejas tambien een el ejemplo, sin cambiarle nada, no lo reconoce el software controlador, solo reconoce el. HeX que tu ddejas, pero el compilado por mi no. A que se puede deber? Disculpa la molestia, pero es para un trabajo de la uni yla verdad es uno de esos profesores que ni van a clases. Muchas gracias, he aprendido mucho en eeste post, me decidi por el HID por ser nativo de windows, agradesco toda ayuda

Uso mplab y compilador ccs
 
Sinceramente no entiendo por que no te funciona, si no has modificado nada te tiene que andar. Quizás sea la versión del compilador. Yo lo compilé con la v4.114 o v4.104....alguna de esas 2.
Tengo que avisarte que hace mucho que no toco los ejemplos de USB por mis obligaciones académicas, trabajo, etc.
 
ok, muchas gracias por tu tiempo, estoy siguiendo paso a paso tu guía. Me parece muy ilustrativa, cambiare el ccs a esa versión y avisare cualquier resultado. Espero sea positivo, muchas gracias por tu trabajo.
 
Ya termine de seguir tu guia paso a paso, me pareció bastante buena e interactiva, todo funciona bien, pero no el HOST no me reconoce aun al dispositivo, es igual un 18f2550 y uso CCS 4.1. También, al compilar tus trabajos, dejan de ser reconocidos, queria saber si podria subir el proyecto aqui ( El host en Visual C# y la aplicación del pic en CCS ademas de la libreria ) Para que le echaras un ojo, y si puedes, me dijeras que hago mal. De verdad me interesa mucho el tema y en mi universidad, mi profesor es un vago, y me frustra un poco el que aun no pueda hacer funcionar el primer proyecto. Agradecería mucho tu ayuda.

Si estas en las posibilidades de echarle un ojito, subiría lo mas pronto posible el código.

Bueno, adjunto dejo los archivos, de verdad me gustaría que me ayudaran con esto. El proceso aun no esta establecido, solo quiero que primero me conecte el pic con el HOST. Muchas gracias a todos, de verdad.

No se si es por mis librerías pic18_usb, usb.c o la de descripciones, pero uso su mismo codigo y no me funciona u.u ya estoy algo desilusionado conmigo, no logro que funcione ni el 1ero, y he intentado con HID, CDC, y EasyHiD. incluso seguí tu guía paso a paso, y actualice el CCS a la ultima versión. En verdad necesito ayuda y saber que hago mal u.u Muchas gracias.


Adjunto envío de igual forma, las librerias de mi CCS y el ejemplo 4 que tu proporcionaste pero compilado por mi. Nada me funciona y debo entregar un avance para la otra semana u.u, Si pueden decirme que estoy haciendo mal, se los agradeceria muchisimo, me conformaría con poder modificar un ejemplo hasta que haga lo que necesito, pero si los compilo no los reconocen los controladores.

Si me hace falta alguna libreria, si debo modificar otra, lo que sea, sera de gran ayuda. Repito, utilizo la libreria modificada de descripcion que viene en el mismo ejemplo y luego de compilar, no los reconoce. Lo he compilado en el MPLAB y directo del CCS.

SOS.



Nota del Moderador:

Por favor edita tus mensajes, no crees nuevos.
 

Adjuntos

  • Aplicacion al pic.rar
    90.1 KB · Visitas: 184
  • 18F2550 Control Usb Urbe - Proyecto C# -.rar
    362.7 KB · Visitas: 204
  • librerias.rar
    26.4 KB · Visitas: 131
  • Ejercicio N°4 - copia.rar
    239.8 KB · Visitas: 144
Última edición:
josexremix65: Tu tienes el mismo problema que yo, desinstale la versión 4.068 que al principio me compilaba
la aplicación_hid, cambie por la aplicación 4.104 y nada, por la 4.114 y nada, volví nuevamente a la primera y no lo compila mas.
Ahora estoy buscando las versiones 4.104,4.110 y si consigo la 4.114 pero de otros link.
Tal vez estén modificados los usb.h, usb.c y el pic18_usb.h.
Lo que más me llama la atención es mi primera versión, lo compilaba y cuando lo reinstale no lo compilo mas,
eso que me tome el trabajo de borrar la carpeta picc que queda después de la desinstalación.
Al final se me terminó por complicar todo el trabajo. Saludos



Bueno conseguí compilarlo con la versión 4.110.
Dejo el link www.políticasdelforo.com
Un abrazo.



Bueno moyano funciona todo, era el compilador (la versión 4.068) no funciona para esto.
Ojo para los que tengan este problema no todos los compiladores que están en la web funcionan,
el que los colgó por algún motivo modifico funciones.
Gracias

buenas otra vez por acá, Moyano tendras otra forma de remapeo la mía no funciona en este caso,yo uso el hid booloader c18
#build(reset=0x1000,interrupt=0x1008)
#org 0x0000,0x0FFF {}
Desde ya se agradece

Aclaro que sin booloader ya funciona real en el pic18f4550

 
Última edición por un moderador:
alberto0265 como estás.

- Antes que nada te digo que no se pueden colgar archivos de programas pirata dentro del foro.

- Yo lo compilé con la versión 4.114 (Cualquier versión mayor tiene que funcionar).

- No te podría decir como implementar los ejercicios utilizando el bootloader, nunca lo he utilizado de esa
manera.

josexremix65:

Ya termine de seguir tu guia paso a paso, me pareció bastante buena e interactiva, todo funciona bien, pero no el HOST no me reconoce aun al dispositivo, es igual un 18f2550 y uso CCS 4.1. También, al compilar tus trabajos, dejan de ser reconocidos, queria saber si podria subir el proyecto aqui

El proyecto está completo y funcionando en la primera página. Está compilado con la versión de CCS
v4.114 o superior. Si tenés problemas con tu proyecto puede ser un tema hardware...o los drivers de
tu PC, o el controlador USB de tu PC en el peor de los casos.

Adjunto envío de igual forma, las librerias de mi CCS y el ejemplo 4 que tu proporcionaste pero compilado por mi. Nada me funciona y debo entregar un avance para la otra semana u.u, Si pueden decirme que estoy haciendo mal, se los agradeceria muchisimo, me conformaría con poder modificar un ejemplo hasta que haga lo que necesito, pero si los compilo no los reconocen los controladores.

Vas a tener que revisar bien tu ejercicio e investigar adecuadamente para poder desarrollar el programa. Yo personalmente no puedo implementar una solución a tu caso en particular, pero te recomiendo investigar más a fondo el hilo y en otras páginas de internet.
 
Je,je tengo funcionando el ejemplo de microchip Hid pnp demo en C18 limpio para el 18f4550 y C# en la PC.
Para el que necesite lo que tengo me envia un mail.
Saludos a todos. :D



Me olvide le adjunte un boton para encender y apagar un led en la salida D3 del 4550.



Hay que aclarar que este tipo de software funciona con la dll que trae window y creo que tambien con
otras dll aunque no lo probe.
Funciona en 32 y 64 bits cuando se lo construye en Modo / / "x86" en el C#,y lo hace muy bien sin tantos percanses como el ccs,ademas esta para que funcione cargandolo por medio de booloader con la ventaja
para los que no conocen bien el C# y el C18 de probar y reprobar constantemente las modificaciones.
 
Última edición:
Ya lo tengo todo operativo, debo entregar el proyecto en 2 semanas, ya funciona, le doy los últimos detalles.

El proyecto se basa en, Un control SCADA para el sistema de llenado de camiones cisterna en el Edo Zulia. Este SCADA debe conectarse al controlador mediante USB, debe soportar salidas y entradas analogicas de 4-20 mA, entradas y salidas discretas de 110V AC, poder pasarse de Automatico a Manual y debe contar de un despliegue.

Ya funciona aunque aun tengo unos detalles con unas alarmas.

Esta en CCS y VB6, Basado en el ejemplo de Jonathan, protocolo HID y el pic esta en esclavo, lo que indica que, el SCADA debe enviar una petición cada 100ms para que el pic le actualice sus estado.

No cumple con ningun standart porque es solo con propósitos académicos. Una ves que este listo lo subire todo al foro, para que sirva de antecedente a cualquier otra persona.

Muchas Gracias a Jonathan, tu ejemplo fue anillo al dedo.
 
Hola Moyano, la comunicación USB la puedo hacer con el PIC18F2550 o PIC18F4550 o con los dos?, veo mucha información. Ademas del USB-HID puede ser modificable?
 
Última edición:
Lo prometido es deuda, Gracias especiales a Jonathan, aquí les traigo el proyecto que entregue, de toda la sección hasta ahora soy el único que no lo mando a hacer, aquí lo dejo como aporte para que sirva de antecedente.

Aquí dejo todo lo necesario.

Cristal a 20Mhz.
No tengo en este momento disponible la simulación, luego la coloco para que lo simulen
Pic18f4550

Los archivos disponibles son:

El ejecutable con su codigo fuente.
La aplicacion al PIC.
Manual de usuario bastante sencillo.
Protocolo de comunicacion.
Datos tecnicos.
Despliegue del proceso.
Un paint con el diagrama instrumentado del proceso.


En el proceso, se conecto el Micro Controlador a una fuente de 4 a 20 mA digital, para general la salida a la válvula de control mediante sus respectivos opto-acopladores
Se utilizo unos periféricos para que el Pic pudiera leer una señal entrante de 110Vac como un uno logico.
Cambien una combinación de transistores, optacopladores y relees para que pudiera emitir 110Vac hacia unas bombas de llenado.

La entrada del tanque, se implemento con un transmisor de nivel de 4-20 mA, conectado a una resistencia de 250 Omnios. Luego se coloco la entrada AN0 en paralelo con dicha resistencia, y mide su voltaje, lo que es una medida indirecta de su corriente, y por lo tanto del nivel del tanque.
El escalamiento se realizo mediante EL HOST, el pic envía de forma directa el dato analógico recibido, mediante el protocolo claro esta.

Siéntanse libres de usarlo como antecedentes, codificarlo y demás para sus proyectos.
 

Adjuntos

  • Aplicacion al PIC.rar
    739.2 KB · Visitas: 200
  • CONTROLADOR (EJECUTABLE).rar
    3.1 MB · Visitas: 172
  • Manual de Usuario.rar
    3.3 MB · Visitas: 239
  • Datos Tecnicos.rar
    2.6 MB · Visitas: 172
Hola Moyano, hice el intento del ejemplo 1 que tienes tu de ejemplo en la primera pagina del post, pero he programado mis micros 18F2550 y 18F4550, pero mi computador es un AMD turon 32 bits y el bendito computador da dispositivo desconocido. Como le hago o tendre que cambiar de maquina?

Perdón por molestarte y buen día....
 
Última edición:
Moyano Gracias por la info me lei las 109 paginas completas ...
la info esta exelente...
Soy nuevo en el Foro y queria hacerte una pregunta yo ya hice en hid y en cdc mis experminetos y ya logre comunicarlos con el pc pero mi problema es el siguiente en Hid la aplicacion la estoy haciendo en Visual Basic . net y no entindo muy bien como funciona el HIDWRITE y el HIDREAD

geacias.....
 
Muy bueno el post Moyano.
Todavía no terminé de leerlo todo, llegué a ver el ejemplo de 4 salidas digitales, 4 entradas digitales y 2 PWM.

Lo que no entiendo bien es porque no me funcionan unas modificaciones del código en CCS.
Cargo el .HEX y anda. alguien me podría dar los archivos pero con el .pjt.
Quizás estoy haciendo algo mal con eso.

Además otra cosa que todavía no entiendo es porque ese mismo proyecto no funciona con WIN 7 de 64 bits.
Probé en otra PC (siguiendo los mismos pasos) con WIN 7 de 32bits y anduvo.

Gracias por su tiempo!
 
Última edición por un moderador:
Hid la aplicacion la estoy haciendo en Visual Basic . net y no entindo muy bien como funciona el HIDWRITE y el HIDREAD

No uso VB.net...solo Visual C# pero HIDWRITE y HIDREAD, administran la salida y entrada de datos respectivamente del puerto USB. Son funciones para enviar o recibir datos. Investiga en internet acerca de VB.net e easyHID, vas a encontrar mucha información relevante.

Lo que no entiendo bien es porque no me funciona unas modificaciones del codigo en CCS.

Dependen de que modificaciones sean.

Ademas otra cosa q todavia no entiendo es porq ese mismo proyecto no funciona con WIN 7 de 64 bits. Probe en otra PC (siguiendo los mismos pasos) con WIN 7 de 32bits y anduvo.

El proyecto fue compilado para 32 bits originalmente, pero tendría que funcionar en 64 bits. Lo que hay que hacer es crear nuevamente el proyecto y compilarlo para 64 bits.

Saludos !
 
Una consulta por el asunto USB-CDC CCS pic18f4550, el problema que tenía era que se tildaba el programa o que perdía la comunicación cada 5, 10 o 20 mins. Para mejorar esto intenté varias casas entre ellas utilicé el SENSE PIN, con esto mejoró bastante, aunque también se tildaba cada tanto.
Ahora cambie la declaración del fichero (#include "usb_cdc.h" ) por el (#include <usb_cdc.h> )
Desde entonces veo que no se tilda. ¿Quisiera saber si ha alguien le a pasado algo similar "master Moyano Jonathan" ?
Ya que según el manual se lo pueden declarar de de esas dos formas.
Aclaro que probé con varias PC tanto con window xp y window7 ambas de 32 bits y versiones del CCS 4.1
 
Última edición por un moderador:
Atrás
Arriba