Proyecto USB CDC en visual basic con microcontrolador PIC 18f4550

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.
 
waldillo dijo:
puedo ayudar a desarrollar dispositivos con comunicación USB para quien lo necesite. Quien desee información al respecto que me escriba un mensaje.

Hola:

Me interesa mucho la comunicaión del USB. ¿Utilizaste el C o ASM?

ME interesa saber con una interfaz hecho desde el PC para saber las entradas y salidas del Pic, a parte de controlar el pic desde el PC.

Un cordial saludos.
 
Gracias por interesarte Meta:

Pues lo he escrito en C, sino ASM es una locura. He utilizado el PIC 18f4550 y lo he porgramado en C18. Se ha de programar un firmware que brinda el fabricante. que si al principio es una locura(9 archivos.c y 15 .h) al final es muy facil, ya que son los ingenieros de microchip los que se encargan de manejar el protocolo en su nivel mas bajo( a nivel de tramas, handshake y demas). Te dejan un sitio para meter tu codigo. aunque bueno hay trampas pero se puede decir que es facil una vez visto. Cuando quieras te ayudo, ando haciendo la memoria del proyecto, cuando la tenga la subiré junto con el codigo y todo.

La aplicación que he programado es la CDC que es una clase de USB que le permite al sistema operativo ver estos perifericos como COM virtuales lo que incluso con hyper terminal se puede comprobar la comunicación. He hecho la aplicacion en visual basic por que ya estaba hasta el gorro de programar y el tiempo se echaba encima pero se puede hacer con cualquier software que controle el puerto serie, c c++ labview etc
 
Me interesa mucho tu proyecto del usb, ya que en mi tesis quiero hacer la adquisicion de unas mediciones por el puerto usb y manipularlas en labview y pienso que me seria de gran ayuda para empezar.
Gracias
 
Pues respondiendo al primero el protocolo de comunicacion es el USB. Se utiliza un firmware de la casa microchip.El 20 de septiembre defiendo el proyecto.El k kiera información que me escriba un mensaje y le mando la memoria y el firmware y la aplicación cliente en vb.La aplicación en labview sería muy similar
 
Hola waldillo me intereza mucho tu proyecto ya que nesecito realizar un sistema de adquisicion de datos por el puerto USB en labview y he quiero usar este puerto como un COM normal.

Me gustaria que me ayudes con el proyecto ya qe el tiempo de entrega se me esta acabando.
si estas dispuesto ayudarme mi e-mail electronica es elhijodemolina3 en hotmail.
muchas gracias por tu tiempo, espero pronta respuesta.
 
Os agradezco el interes y vuestras palabras de animo y admiración. Haber para desarrollar un protocolo USB primero debeis leer algo sobre el. Hay mucha información en internet y una breve lectura viene bien para desarrollar prototipos caseros. El que esté haciendo un proyecto y requiera una información mas detallada que me de su correo. A los que ya me han dado les digo que ya les agregé y espero hablar con ellos por messenger.
Haber esto consta de tres cosas fundamentales, el maestro o host (PC), el esclavo(Tarjeta) y el driver de la clase USB CDC.
El usb tiene una característica muy importante y es que está agrupado en clases de USB. Por ejemplo, todas las impresoras reciben e imprimen datos y responden al host con información de status. Todos los ratones mandan datos sobre sus movimientos y clics de botón al host. Todos los discos duros externos intercambian archivos con el host.

Cuando un grupo de periféricos comparten atributos o cuando responden a peticiones similares, se les agrupa en clases. Estas clases definen un comportamiento esperado en términos de dispositivo y descriptores de interfaz de modo, por lo que se puede utilizar el mismo driver para cualquier dispositivo miembro de una cierta clase. Los sistemas operativos tienen drivers genéricos para cualquier clase de dispositivo USB. Además de ello, se simplifica el firmware ya que el trabajo de definir los atributos y servicios ya está hecho, por lo que solo se han de implementar los detalles específicos en cada caso concreto.

En nuestro caso el dispositivo es clase CDC y la palabra clave a buscar en google es FIRMWARE USB CDC 18f4550. Este es un codigo que se de descargar y compilar en mplab teniendo configurado el compilador c18. ver www.beyondlogic.org/usbnutshell/usb-in-a-nutshell.pdf Hay que seguir este manual o sino esperen a mi memoria y listo. De todas formas ya tienen un anticipo para ir investigando.Cualquier duda me preguntan
 
Jajaj despues de tanta chapa me olvidaba. La aplicación cliente que ha de residir en el maestro puede servir cualquier aplicación que maneje el puerto serial. En labview no se como se hace nunca lo hice pero consulta manuales sobre ello, el puerto serial está muy trillado y no creo que tengas problema alguno.
 
ww1.microchip.com/downloads/en/AppNotes/00956b.pdf (Funciones lectura escritura cdc). Estas son las funciones que se han de utilizar en el firmware. Mi proyecto explica bien muchos aspectos pero es realmente util con el dvd que adjunto, por que hay tengo los manuales que te ayudarían mucho y exactamente ahora no se en que pagina los saqué. Ahora no la encuentro. Como podría mandarte ese dvd?
 
Pues podria ser via fedex o alguna paqueteria de esas porque via msn supongo se tardaria mucho. O a lo mejor subiendolo a algun servidor para que la información les sirva a todos los interesados.
Gracias por el apoyo y estoy seguro que tu proyecto le sera util a mucha gente.
Saludos.
 
Es que lo mejor es que deje el dvd por que ahí tengo los manuales programas codigo y esquemáticos necesarios para comprender todo.Hay que enterarsr de como subo todo eso.El que sepa que de instrucciones claras
 
Espero que sacas un 10 o MH en la defensa del proyecto, pk por lo que has comentado tiene pinta de ser muy completo.

Me gustaria empzar a jugar con el usb con los pic, y seria de gran ayuda ya cuando lo subas.

Hombre si el dvd es muy grande, yo creo que l omejor es que crees un .rar pero dividido en partes de 100mb, y lo puedes subir a rapidshare. asi todos los interesados podriamos descargarlo.

Hay por google par de tutorias como subir al rapidshare.

ej:
http://www.elforro.com/fotos-de-reuniones/116850-tutorial-de-winzip-rar-y-rapidshare.html

y ya luego guardas los enlaces que te dice. Creo que si no te creas una cuenta

PD: para poder crear archivos de 100mb, en vez de la opcion que te aperece en el tutorial de
"add to Colores.rar" en el menu secundario, eliges Add to Archive... (Añadir al archivo..."
y el winrar te aparece con uan ventana donde puede poner el nombre, y la ultima opcion inferior ahi puedes elegir si quieres dividir en 700mb ,etc, pues creo que puedes poner escrito 100mb y yata.
 
Gracias a todos por el interés. Ahora tengo la ultima asignatura de la carrera,buff por fin, y luego presentaré el proyecto. Sobre el 15 o asi podré subir todo lo k tengo, ya que se lo mal que se pasa en este tipo de proyectos y la verdad sk no hay muy buena información en español.Espero que no tengan excesiva prisa y puedan esperar 15 dias, de todas formas si hay alguien k necesita hablar yo agrego al messenger al k sea y resuelvo dudas con mucho gusto.Ya agregé a la peña pero nunca coincido, haber si podeis mandarme mails diciendo los horarios para k pueda servir de ayuda.
 
Hola Waldillo, debo decirte que tu proyecto me interesa mucho pues llevo tiempo investigando las funciones de este PIC.
Como interface, uso un software que empecé a desarrollar con Free Pascal y Lazarus, pero estoy teniendo problemas que creo me obligaran a usar una solucion tipo visual basic o visual c. Por eso me parece interesante tu proyecto, no tengo experiencia en esos entornos, y me ayudaria bastante.

Espero que te vaya bien, y agradeceré que finalmente publiques tu trabajo para ser consultado.
Gracias.
 
Atrás
Arriba