# Proyecto USB CDC en visual basic con microcontrolador PIC 18f4550



## waldillo (Ago 7, 2008)

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.


----------



## Meta (Ago 7, 2008)

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.


----------



## waldillo (Ago 7, 2008)

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


----------



## Meta (Ago 7, 2008)

Hola:

Parece que el proyecto es muy grande. Cuando tengas tiempo nos pasa información.

Saludos.


----------



## LUIS FERNANDO CUELLAR (Ago 29, 2008)

Me interesaria saber que protocolos maneja de comunicacion necesito hacer una aplicacion para telefoia celular, agradeceria tu ayuda


----------



## puma_oro (Ago 29, 2008)

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


----------



## waldillo (Ago 29, 2008)

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


----------



## JOELMOCE (Ago 30, 2008)

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.


----------



## waldillo (Ago 30, 2008)

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


----------



## waldillo (Ago 30, 2008)

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.


----------



## puma_oro (Ago 30, 2008)

Gracias por la información, es bueno para empezar a investigar. De todos modos espero con ansia tu memoria jee. 
Saludos


----------



## waldillo (Ago 30, 2008)

haber que microcontrolador tienes? explicate un poco haber que hacemos


----------



## puma_oro (Ago 30, 2008)

Tengo el pic18f4550 que tiene usb si veo que esta muy sobrado usaria el 18f2550 que tambien cuenta con usb.  Gracias


----------



## waldillo (Ago 30, 2008)

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?


----------



## puma_oro (Ago 31, 2008)

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.


----------



## waldillo (Ago 31, 2008)

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


----------



## hara-kiri (Ago 31, 2008)

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.


----------



## waldillo (Ago 31, 2008)

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.


----------



## jn782 (Sep 18, 2008)

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.


----------



## mahu (Sep 19, 2008)

Proteus 7 simula estos pic (18fxx) y tambien puede hacer lo mismo con puertos usb, es genial!

http://www.labcenter.co.uk/products/usb.cfm


----------



## a.bernal27 (Ene 19, 2009)

Saludos, me interesa un proyecto, tengo un proyecto muy parecido, sin embargo yo tengo ya la emulación del puerto serial, sin embargo lo que me interesa es eliminar dicha emulación, deseo hacerlo completamente usb. Pero me gustaría saber más de tu trabajo. Estoy utilizando el mismo PIC. Saludos gracias de antemano y suerte!


----------



## Moyano Jonathan (Ene 19, 2009)

A  que te referis con hacerlo totalmente usb? Hay que usar bulk transfer para trasmitir sin usar emulación o tambien podes usar el protocolo HID. De todos modos el protocolo CDC es el mejor para proyectos sencillos. 

PD: Yo tengo varios ejemplos de emulación en CDC pero en C de CCS


----------



## inicio (Feb 11, 2009)

hola, a ver quien me puede ayudar.. estoy trabajando con el USB del pic18F4550, cuando creo los archivos main.c y mainUSB.h y luego conecto el pic por el USB, la compu intenta instalar el driver pero ahi quedo porque no se crear ese driver, alguien que me ayude..., gracias


----------



## Moyano Jonathan (Feb 11, 2009)

El driver te lo suministra microchip


----------



## inicio (Feb 11, 2009)

lo que pasa es esto: la compu reconoce un nuevo dispositivo cuando conecto el PIC y me pide que instale el controlador del nuevo dispositivo (aqui no se que hacer)..., además el pic se detiene ahi y no se inicializa.


----------



## Moyano Jonathan (Feb 11, 2009)

y cuando te pide el controlador lo tenés que buscar en la carpeta donde está y ponerle instalar.


----------



## inicio (Feb 11, 2009)

definitivamente no se de donde bajar el driver, ya busqué en www.microchip.com y ahi me encontre con esta dirección             http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en537044          y bajé e intalé    MCHPFSUSB v2.3.1 USB Framework      pero ninguno de esos sirvió...


----------



## enhedee (Mar 24, 2009)

hola que tal soy una estudiante de ing en electronica y realmente me intereso mucho tu proyecto de comunicar la pc con el pic mediante una interfaz usb y visual y realmente es algo parecido lo tengo que hacer pero no se por donde empezar no se como recibir los datos del pic a la pc mediante visual espero y me puedas ayudar con este problema

atte enhedee ipn


----------



## Moyano Jonathan (Mar 24, 2009)

https://www.forosdeelectronica.com/f24/control-dispositivos-traves-modulo-usb-pic18f2550-17458/ Acá te podemos ayudar


----------



## a.bernal27 (Mar 24, 2009)

Moyano Jonathan dijo:
			
		

> A  que te referis con hacerlo totalmente usb? Hay que usar bulk transfer para trasmitir sin usar emulación o tambien podes usar el protocolo HID. De todos modos el protocolo CDC es el mejor para proyectos sencillos.
> 
> PD: Yo tengo varios ejemplos de emulación en CDC pero en C de CCS



Saludos, para aclararlo, si estoy utilizando bulk transfer, ya tengo el firmware para el pic 18f4550 programado en CCS, y estoy utilizando como driver WinUSB por su compatibilidad com Win XP y Vista. Sin embargo la aplicación quiero hacerlo en C/C++. 

En otros foros he encontrado ejemplos sobre el uso de WinUSB, pero las aplicaciones son programas en lenguajes Visuales. Lo que me interesa es realizar un ejemplo programado en C/C++ utilizando como driver WinUSB.

De antemano gracias por responder, y espero que me haya explicado.


----------



## Moyano Jonathan (Mar 25, 2009)

Claro no yo solamente manejo lenguajes visuales


----------



## mikeismerio (Abr 2, 2009)

Hola. Soy nuevo en el foro y me interesa mucho este tema. Hasta el momento solo he realizado proyectos mediante comunicacion por el puerto serie y paralelo y me gustaria comenzar con comunicaciones usb. Me podrias mandar información de tu proyecto para darme una idea de como empezar desde lo mas basico (monitorear y escribir bits de la pc al pic).

Saludos y gracias por la atensión


----------



## le8a9p (Abr 9, 2009)

hola que tal, soy nuevo en este foro, y pues mirando los temas me encontre con este el cual seria de gran ayuda para un proyecto que estoy desarrollando, consiste en una tarjeta de adquisicion de datos la cual funcione mediante USB y serial, cualquiera de las dos.

la cosa es que no conosco mucho acerca de los pic, hasta ahora me estoy iniciando, he buscado y encuentro que el pic18f2550 y 18f4550 me serian de gran ayuda, pero pues el datasheet es algo largo y confuso, me interesaria alguna ayuda, o pues los archivos de tu tesis serian excelentes si es que ya los subiste.

gracias


----------



## stiago22 (Abr 27, 2009)

parce me interesa mucho tu proyecto, me podrias decir como hiciste la interfaz en visual para comunciarla via usb?


----------



## kn4vr (May 4, 2009)

Hola tengo un problemilla, tengo unas placas impresas diseñadas para un pic 16f876a, su comunicacion con el pc es via rs232 y va fantasticamente. Pero mi jefe me ha solicitado que cree una comunicacion via USB por lo q tengo q apañarmelas para q sin modificar la placa me las acepte. El 1º problema q tengo es q la memoria del pic 16f esta saturada por lo q la programacion del usb es imposible de qe qepa. Por lo que opte por un pic de gama superior (18Fxxx) q ademas ya incluyen salida Usb. Pero aqi es donde tope con el segundo problema ya q el patillaje es casi igual solo cambia la patilla del reloj. El problema es q sin el reloj la placa no va. ¿ Q puedo hacer?, ¿hay algun pic de patillaje igual al 16F876? Cualqier idea por rara q suena comentatla , necesito ideas. 

Gracias un buestro tiempo y venga un abrazo


----------



## Chico3001 (May 4, 2009)

Puedes usar un convertidor USB-RS232 como estos:

https://www.forosdeelectronica.com/f26/circuito-serial-rs-232-usb-96/
https://www.forosdeelectronica.com/f24/alguien-ha-utilizado-ci-usb_rs232-18001/


----------



## kn4vr (May 5, 2009)

No me vale pq ya tengo q modificar la placa. Lo suyo es utilizar un pic con salida  directa de USB, mi pregunta es si hay algun pic compatible con el 16f876. El 18fxxx es el q mas se aproxima pero cambia una patilla(V.usb)


----------



## jericho2009 (May 17, 2009)

waldillo dijo:
			
		

> 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.


----------



## laxmark (Jul 1, 2009)

quiza sea un poco tarde, investigando encontre este enlace dentro del foro....estoy actualmente colaborando para una universidad particular en el area de investigacion y dosencia y estoy desarrollando algunos proyecto con el Pic16f84550, especificamente usando el puerto usb, te agradeceria mucho si todavia tienes el tiempo de compartir tu memoria profecional. Dime como puedo obtenerlo, gracias por las atensiónes que puedas prestarme


----------



## electro_02006 (Jul 28, 2009)

hola a todos yo tambien deseo saber hacerca de tu tesis, donde has subido tu trabajo? para poder descargarlo, por tu atensión gracias


----------



## algricaba (Sep 18, 2009)

waldillo dijo:


> 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.



Saludos waldillo,

Interesante tu proyecto yo también estoy realizando mi proyecto y este tambien consta de comunicacion pic 18f4550 <-> pc con usb y el pic esta programado en mikrobasic y la pc se comunica con el pic con visual basic, y ya tengo cominicación y puedo manipular datos de la memoria eeprom del pic pero no puedo mandar un dato decimal de 4 digitos hacia el pic para luego en este guardarlo en la memoria eeprom.

Saludos


----------



## quique001 (Sep 21, 2009)

Buenas estoy haciendo mi proyecto fin de carrera con un pic un pelin menor que el tuyo el 18f2550, y lo quiero conectar al pc via inalambrica por radiofrecuencia con un mrf14j40ma y le he conectado unos motores de dc y algun sensor, pero ando un poco bastante perdido. Me podríais echar una mano¿?


----------



## wilsonmm (Nov 10, 2009)

Hola Waldillo!

Mira me interesa mucho trabajar el usb del pic con el pc, estoy muy enredado y me quiero saber si puedes compartir tu proyecto.
Mi email es:
NoLeíLasPolíticasDelForoYPorEsoMeEditaronElMensaje@ForosDeElectrónica.Com


----------



## ROBOCOP_037 (Nov 19, 2009)

Hola me interesa mucho el manejo del puerto USB desde visual basic si me puede colaborar le agradesco de antemano. mi correo es NoLeíLasPolíticasDelForoYPorEsoMeEditaronElMensaje@ForosDeElectrónica.Com


----------



## jailand85 (Ene 2, 2010)

Buen dia, estoy tratando de realizar proyectos con el pic 18f4550 utilizando el puerto usb, pero todavia sin exito, agradecería si porfavor me pudieras brindar una copia de tu proyecto para analizarlo y enterder algunos detalles que aun me falta en los microcontroladores pic de la familia 18


----------



## cris-barney (Mar 12, 2010)

waldillo dijo:


> 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.



hola waldillo estoy realizando un proyecto para aplicacion de rehabilitacion de niños con paraplegia y me seria de gran ayuda la informacion de tu proyecto si me puedieras ayudar estaria muy agradecido mi correo ver_quez_20 en hotmail ojala me puedas ayudar y si no dime como te puedo contactar ok gracias


----------



## KBAZ (Abr 21, 2010)

waldillo dijo:


> 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.


seÑores... Estube leyendo y alparecer es un buen proyecto... Con unos compaÑeros estamos interasados en crear un dispositivo de medicion electroniico tenemos mucho material y vamos bastante adelantados con el trabajo y pienso q tu proyecto nos podria ser de mucha ayuda... Por favor si podes colaborarnos facilitando una copia de tu investigacion te lo agradeceria mucho...


----------



## ignaps45 (May 4, 2010)

Hola waldillo, como muchos otros también estoy trabajando en mi proyecto final de carrera. Lo que  estoy haciendo es un Datalogger + sensor de corriente yo ya lo tengo prácticamente terminado. Lo que me gustaría ahora seria trabajar la comunicación pic-pc via USB (ahora esta funcionando via puerto serie y una macro en excel). por lo que me seria sumamente valioso lo que hiciste para la comunicación pic - pc (es decir como configuraste la comunicación y como funciona tu programa en visual basic). 
Te felicito por tu genorosidad . muchas gracias


----------



## KBAZ (May 4, 2010)

ignaps45 dijo:


> hola waldillo, como muchos otros también estoy trabajando en mi proyecto final de carrera. Lo que  estoy haciendo es un datalogger + sensor de corriente yo ya lo tengo prácticamente terminado. Lo que me gustaría ahora seria trabajar la comunicación pic-pc via usb (ahora esta funcionando via puerto serie y una macro en excel). Por lo que me seria sumamente valioso lo que hiciste para la comunicación pic - pc (es decir como configuraste la comunicación y como funciona tu programa en visual basic).
> Te felicito por tu genorosidad . Muchas gracias





(inap45)= seÑor me gustaria si puedes que compartas tu diseÑo conmigo, se ve muy interesante y me serviria para guiarme  en uno que quiero empezar muchas gracias kbaz...


----------



## ignaps45 (May 4, 2010)

KBAZ Prometo poublicar mi trbajo ni bien termine el informe. En estos momentos lo tengo todo fragmentado y por el momento solo yo lo entiendo jejej.


----------



## Epimenide Martinez (May 16, 2010)

waldillo dijo:


> 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.



hola yo tengo que presentar un proyecto de diseño de adquisicion de datos, precentar la justificacion,ingenieria conseptual,ingenieria basica y de detalles no tengo la menor idea de como empesar , soy nobato, me puedes ayudar porfa te lo agradesco.



waldillo dijo:


> 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.



hola yo tengo que presentar un proyecto de diseño de adquisicion de datos, precentar la justificacion,ingenieria conseptual,ingenieria basica y de detalles no tengo la menor idea de como empesar , soy nobato, me puedes ayudar porfa te lo agradesco.


----------



## electronical (May 17, 2010)

Hola, enhorabuena por el proyecto parece complicado e interesante. Yo estoy tratando de hacer una aplicación con visual basic para visualizar datos de un PSOC, el maestro del cual va conectado al PC mediante USB. Agradecería la información que me pudieses pasar.
Muchas gracias.


----------



## jaja (Jun 13, 2010)

Saludos cordiales waldillo y muchas gracias por compartir conocimiento.

Estoy entrando al mundo del USB, prácticamente soy nuevo nuevo. Quiero hacer algo parecido a la comunicación serial (RS232) pero por USB, osea, ese interfaz que permitia introducción o salida de datos por el puerto serial (todo y circuito) hacerla por puerto USB.

A modo de comentario, quiero hacer ese interfaz USB (si se lo podria llamar asi) para un proyecto que tengo, control de un sistema de riego, con sensores de humedad de suelo y control de temperatura. Lo que pasa es que no dispongo de una PC que tenga ese puerto, ya que estoy trabajando con una portatil.

Muchas gracias por la ayuda que pueda brindarme.


----------



## radamis (Ago 17, 2010)

Saludos waldillo y gracias por compartir tu conocimiento, bueno lo que quiero es hacer una comunicacion usb para controlar un brazo robot con servos, quisiera que me ayudes en la programación con visual basic y un poco con la programación del pic.
gracias se agradece tu respuesta.  
a por cierot mi correo es: *políticas@delforo.com*


----------



## MARQUE13 (Sep 1, 2010)

waldillo dijo:


> 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.



HOLA WALDILLO:
buenas tardes me interesa saber sobre tu proyecto igual estoy haciendo un proyecto usando usb y el pic18f4550 me podrías proporcionar algunos tutoriales que me puedan servir para realizar mi proyecto vale este es mi correo *políticas@delforo.com*
te agradezco mucho


----------



## AFEPE (Sep 2, 2010)

Saludos...

Estoy trabajando en mi tesis, me podrias ayudar. Donde se podria buscar sobre tu proyecto.

Gracias por compartir


----------



## eljuaco (Sep 13, 2010)

waldillo dijo:


> 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.



Estamos trabajando en un proyecto que conectas la PC(Visual Basic 6.0) con un microcontrolador 18F2550 y tenemos bastantes dudas te agradeceriamos nos ilustraras un poco Gracias.
Josejota

Estamos  trabajando en un proyecto que conectas la PC(Visual Basic 6.0) con un  microcontrolador 18F2550 y tenemos bastantes dudas te agradeceriamos nos  ilustraras un poco Gracias.
Josejota


----------



## yurimilena (Sep 15, 2010)

hola estoy desarrollando mi proyecto de grado para el cual consiste en el diseño de la tarjeta de adquisicion de datos con el pic 18f4550 para analizar señales en labview..
he ensayado miles de codigos en el pic c
por medio de las librerias y ejemplos que trae el mismo programa para realizar la comunicacion en el modo HID... pero el programa me arroja un error que ya no se como 
corregirlo ya que al compilarlo  sale un archivo 18f4550.h y   me dice que no reconoce el dispositivo y que no puede abrir el archivo este es el codigo que modifique en base a lo anterior no se si es cuestion de la version que tengo del programa  pic c agradeceria mucho su ayuda 
la verdad no he podido salir de ahi gracias.....


----------



## mantenilsa (Nov 19, 2010)

Bueno parece que waldillo no se acuerda de este hilo.
Hace dos años que escribio su ultimo post diciendo que en 15 dias subiria la informacion.
Dejen ya de rogarle ayuda.
Alguien que haya visto la luz que nos deslumbre a los demas.
Un saludo a todos.


----------



## WODZAROD (Dic 29, 2010)

Hola joeltell, tengo programas desarrollados para USB en modo CDC (emulación serial) y modo Full Speed con PIC18F4550. 
Para ser sincero, programar en CCS es más fácil que C18, ps en CCS las funciones ya están echas y no se tiene que revisar muchas librerías y funciones como ocurre en C18.

Te envío en Compilador CCS:
- Full Speed.

El programa del PIC está en CCS, recibe un byte del PC (host) por USB y lo muestra por Puerto D y lo devuelve al PC. En la PC hay una aplicación echa en C#, el ejecutable es PicUSB.exe, este proyectito fue echo gracias a la colaboración de JIM PicUSB.

Ahora en C18:
- Modo CDC (emulación serial): Ejemplo que solo envía un byte desde PC y el PIC responde enviando el mismo byte al PC.
- Full Speed: PC envía una trama de bytes al PIC y el PIC responde enviando la misma trama de bytes al PC.

Nota: Los programas que te envíe están probados y funcionan correctamente. 

Esto fue gracias a la colaboración de Suky y JIM USB.

Cualquier consulta, bienvenido sea.


----------



## magtodi (Ene 6, 2011)

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


----------



## WODZAROD (Ene 7, 2011)

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


----------



## magtodi (Ene 8, 2011)

gracias, fue de gran ayuda para el comportamiento de la existencia del usb (caracteristicas tecnicas).
 en cuanto los libro recomedados lo checare


----------



## WODZAROD (Ene 10, 2011)

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


----------



## Deego (Ene 20, 2011)

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.


----------



## WODZAROD (Ene 23, 2011)

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


----------



## crian (Mar 16, 2011)

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


----------



## ps200 (Abr 21, 2011)

waldillo dijo:


> 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?


----------



## jackonegro (May 24, 2011)

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


----------



## radamis (May 25, 2011)

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.


----------



## ebpalomino (Jun 7, 2011)

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!!!!


----------



## el tio willy (Ago 25, 2011)

waldillo dijo:


> 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


----------



## esperanxica (Oct 22, 2011)

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


----------



## 07131543 (Nov 10, 2011)

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 !!!


----------



## jhon gutierrez gonzales (Nov 29, 2011)

HOla , estoy utilizando este pic (18f4550) pero qiero hacer una experiencia con labview y comunicar con la tarjeta de adquisicion por serial usb , si alguien save una experiencia cualqiera por favor !


----------



## NestorRS (Ene 27, 2012)

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


----------



## letal86 (Feb 12, 2012)

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.


----------

