Proyecto USB CDC en visual basic con microcontrolador PIC 18f4550

hola, soy nuevo en todo pero muy interesado en poder comunicar un pic18f4550 a una pc pormedio USB y me preguntaba si no tenias un documento para que le de una ojeada y sepa algo sobre la comunicacion
 
Ok, te paso los archivos que me hicieron útiles sobre USB. Compartir es bueno.

Además, tengo dos libros interesantes de USB:
1. Usb Complete - Everything You Need To Develop Custom Usb Per (JAN AXELSON)
2. USB Design by Example - A Practical Guide to Building IO Devices (Hyde) (JOHN HIDE)
Pesan mucho, si deseas me das tu correo y te lo envío.

Saludos.
Rómulo
 

Adjuntos

  • UnpaseoporUSB-2.pdf
    47.5 KB · Visitas: 515
  • USB_2.pdf
    209.7 KB · Visitas: 452
  • USB_1.pdf
    281.8 KB · Visitas: 441
  • PICDEM FS USB.pdf
    1.3 MB · Visitas: 472
  • PIC-USB-4550_OLIMEX.pdf
    181.8 KB · Visitas: 510
Hola Waldillo, estoy haciendo un proyecto con USB, estoy usando USB FULL SPEED en C18, el programa es parecido al USB CDC; el problema es cómo recibo 384 bytes por Serial (cómo lo guardo en un buffer)?, y luego enviarlo vía USB al PC?. Además, cómo envío varias tramas por USB?, por ejemplo envío trama(64 bytes), luego envío trama2(64 bytes) ... . Tengo entendido que USB FS y CDC sólo puede almacenar 64 bytes en transferencias Bulk (volumen de datos); por allí averigué usar transferencia Isocronas (trama 1023 bytes) pero tiene su desventaja. Si tienes algún ejemplo sería de ayuda.

Nota: Para USB uso PIC18F4550, recibe 384 bytes por serial de un módulo llamado controlador (fabricado en la empresa en que trabajo), y luego quiero mandarlo via USB.

Espero Respuesta. Saludos.
Rómulo
 
Que tal amigos, soy estudiante de ingeniería electrónica y quiero desarrollar una comunicación USB del PIC al PC. He tomado unos ejemplos en CCS para el firmware del PIC, y lo he probado en proteus poc CDC, utilizando el driver que trae proteus para este tipo de comunicación USB. Lo que quiero preguntar, es si siempre al conectar el dispositivo real al puerto USB es necesario indicarle la dirección donde se encuentra el driver??? no se podría realizar algo para que el driver lo detectara y lo instalara automáticamente como hace con otros dispositivos USB como por ejemplo los pendrive; es importante que funcione como indico al final, debido a que quiero desarrollar una aplicación muy simple de activar o desactivar un pin del PIC desde una interfaz en visual basic desde el pc, pero es para que lo usen otras personas que no saben mucho de computadores, para que no tengan que estar volteando para buscar el driver y esperar a que reconozca el dispositivo como pasa en las simulaciones de proteus. Agradecería alguna respuesta, donde me dijeran como hago para realizar esto, para no indicarle la dirección del driver sino que lo instale automáticamente. PDTA: No se mucho de USB en PIC, apenas estoy empezando y por eso mi duda.
 
Te refieres utilizando el driver que trae PROTEUS para la simulación de USB en modo CDC, yo no he probrado en proteus; los programas y drivers presentados en mi mensaje arriba si funciona realmente cn hardware real. Además, los drives mostrados arriba se detectan automáticamente al conectar el dispositvo USB.

Como nota te indico, que al conectar un dispositivo USB, la PC lo reconoce, luego sale una ventana con unos cuadros, en uno de los cuadros dice "Instalar drive automáticamente y cada vez que se conecta el dispositivo", usa esa opción e instala el driver por primera vez. Al volver a conectar el dispositivo USB ya no te pedirá indicar la ubicación del driver. Espero solucionarte el problema.

Rómulo
 
dejo unos links son pequeño aporte para entender el funcionamiento del protocolo USB 2.0 para PIC18F4550
en los siguientes modos:

El USB Desencadenado : Bulk Transfers USB o la transferencia bidireccional masiva de información.
El USB Desencadenado : HID USB o los dispositivos de interfaz humana.
El USB Desencadenado : CDC USB o la clase de dispositivos de comunicación.

LINK file:///H:/Iniciar%20USB%20PIC%2016F4550/USB%20paginas%20internet/El%20USB%20desencadenado.htm

link invalido perdon

http://picmania.garcia-cuervo.net/usb_0_desencadenado.php
 
Última edición:
Buenas a todos:

Acabo de terminar mi proyecto de fin de carrera. Se trataba de un robot con control distribuido por USB. Consistía en un PC que se comunica via USB con un numero de tarjetas de adquisición de datos gobernadas por el PIC 18f4550. Al empezar descubrí lo complejo y enrevesado que es este protocolo y casi muero en el intento, por lo que si sirve de ayuda puedo ayudar a desarrollar dispositivos con comunicación USB para quien lo necesite. Quien desee información al respecto que me escriba un mensaje.

---------------------------------------------------------------------------------------------------

en el momento estoy desarrollando la comunicacion usb pero todavia no me la salido sera que me puede ayudar?
 
Hola a todos, yo tengo un problema estoy haciendo una comunicacion desde labview al pic18f4550 por via USB utilizando las librerias CDC. Yo envio los datos de una archivo .txt el cual contiene en una fila un par de coordenadas X e Y, mi problema es que se e pierden datos al transmitir la informacion, me gustaria saber si alguno ha realizado un handshake en labview para poder sincronizar los datos, seria de gran ayuda en la finalizacion de mi proyecto, muchas gracias de antemano.
un saludo desde Venezuela
 
hola amiguo bueno no eh visto tus archivos pero talvez sea el cable usb o es de mala calidad o la distancia es mucha ese podria ser un motivo de la perdida de datos.
 
Excelente tu aporte, Wodzarod. Felicidades!!!!!!

Oye, la transferencia de datos es lenta entre la PC y el micro. Es esto debido al delay que agregaste ó es parte del protocolo?

Se puede hacer más eficiente en velocidad?

Te agradezco tus comentarios al respecto y nuevamente felicidades!!!!:apreton:
 
Buenas a todos:
Acabo de terminar mi proyecto de fin de carrera. Se trataba de un robot con control distribuido por USB. Consistía en un PC que se comunica via USB con un numero de tarjetas de adquisición de datos gobernadas por el PIC 18f4550. Al empezar descubrí lo complejo y enrevesado que es este protocolo y casi muero en el intento, por lo que si sirve de ayuda puedo ayudar a desarrollar dispositivos con comunicación USB para quien lo necesite. Quien desee información al respecto que me escriba un mensaje.

Quetal compañeros del foro soy algo nuevo por aca y tengo un pequeño problema y es que no logro sacar el mensaje en el lcd, con la comunicacion USB, aunquer ya logre encender unos cantos LEDS, utilizo un PIC 4550 y interfaz en VB 60. alguine me puede colaborar? GRacias:apreton:
 
Hola waldillo veo que controlas mucho sobre el pic,soy nueva en esto y estoy haciendo mi PFC, el caso es que ando un poco perdida tengo el firmware del pic18f450,tengo mplab,tengo la aplicacion en visual basic, y no se en que orden hacer los pasos para grabar el programa en el pic,ni con que programa grabar el bootloader, supongo que primero tendré que hacer un grabador para el pic 18f4550,me podrias guiar un poquillo en que pasos debo hacer esto si debo construir un grabador para este pic,como cargar el bootloader,como usar el firmware y como establecer la conexion entre el visual basic y la placa,te dejo mi correo muchas gracias espero que puedas ayudarme

 
Última edición por un moderador:
to tmb necesito ayuda!!! es para proyecto de fin de cursos y es hacerca de una interfaz en la pc que me muestre la temperatura y el voltaje de alterna ya tengo los circuitos que me miden el voltaje y la temperatura ahora bien, necesito hacer una interfaz y que esos datos me aparescan en la pc y tener la capacidad de guardas ciertos datos
ayudal please! :(

este proyecto ya lño realice en un pic 16f877a y muestro los datos en una lcd ahora bien necesito cambiarme al pic 18f4550 y que todo se vea tambien en la lcd pero trasmitir datos a la pc !!!
 
Hola a todos tengo una consulta. Tengo que realizar un proyecto donde voy a transmitir datos a la PC cada segundo sincronizado con una señal de 1 PPS, los datos provienen de un contador de 24 bits y los quiero transmitir a la PC y que se almacenen en un archivo de texto, para esto quiero usar un PIC18F4550 y sus capacidades de transmisión de USB que se exponen en este foro, además incluir en el código del pic el control para reiniciar los contadores cada segundo.

Qué me recomiendan hacer en cuanto al código a desarrollar en el PIC para que la transmisión sea eficiente y rápida?
Es posible obviar el contador y usar el PIC a su vez como contador para no usar uno externo (se va a contar una señal de reloj de 2 MHz aproximadamente) o implementar esto afecta el desempeño de la transmisión USB??
Por otra parte en la PC existe alguna manera sencilla de realizar un programa que cree un archivo de texto con los datos recibidos?

Cualquier ayuda es muy agradecida :)
 
Hola amigo, hace mucho que quiero usar el puerto usb con el VB 6.0 para envio y recepcion de datos, y no encuentro mucha informacion. Espero tu ayuda, gracias.
 
Atrás
Arriba