TODOPIC

Microcontroladores PIC => * PROYECTOS * => Mensaje iniciado por: gu1llermo en 10 de Febrero de 2008, 02:50:03

Título: Encender un LED con el PIC18F4550 vía USB
Publicado por: gu1llermo en 10 de Febrero de 2008, 02:50:03
Encender un LED con el PIC18F4550 vía USB

El título suena como: “matar un mosquito con un rayo láser”, bueno si hacemos analogía sería algo equivalente, pero… aquí no se trata de matar ningún mosquito sino de mostrar de manera sencilla el ¿cómo? haciendo uso de éste pic, podemos lograr encender o apagar un LED mediante un comando enviado vía usb, desde un pc al pic, además de enviar y recibir varios datos a la vez.

Esto lo podemos lograr de dos formas: mediante una simulación en proteus (versión 7 SP2) ó montando el circuito en un protoboard.

En el proteus pueden montar el siguiente circuito:
(http://img246.imageshack.us/img246/4700/proteuszn6.jpg)

(En los archivos adjuntos ya está un .dsn en la carpeta Proteus, que ya tiene montado éste circuito)

En las propiedades del PIC es importante colocar 48Mhz en Processor clock frecuency

(http://img127.imageshack.us/img127/2317/48mhzii5.jpg)

Al ejecutar, la pc nos indicará que encontró un nuevo hardware (win xp SP2) y nos pedirá su correspondiente driver, que está en la carpeta ‘Driver’ en los archivos adjuntos.

En la carpeta ‘Aplicación’ se encuentra un programita con el nombre PicUSB.exe y una dll con el nombre ‘mpusbapi’, para ejecutarlo es necesario tener instalado el Microsoft .NET Framework 2.0, lo pueden descargar desde: Aquí (http://www.microsoft.com/downloads/details.aspx?displaylang=es&FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5)

Una vez que ya tenemos la simulación en el proteus corriendo con el driver correctamente instalado, ejecutamos el programita PicUSB.exe, que fué diseñado utilizando Microsoft Visual C# 2005 Express Edition (http://www.microsoft.com/spanish/msdn/vstudio/express/VCS/default.mspx)


Imagen corriendo la aplicación y el proteus:

(http://img260.imageshack.us/img260/3750/proteusanimacioncp4.jpg)

Como verán, se envían 5 comandos (ventanas blancas) y se reciben 5 respuestas (ventanas grises), el programita en el pic, hace lo siguiente: si en la 1era posición le mandan un 1 => enciende un LED y si es un 2 lo apaga y en ambos casos regresa los demás números multiplicados por 2, además de devolver el comando enviado.

El botón que dice Nro. de dispositivos, lo único que hace es regresar 0, si el pic no está conectado y 1 si lo está.

Para el caso del protoboard, se utilizó el Programador PIPO2 (http://213.97.130.124/progs/pipo2/pipo2.htm), que es el más sencillito que conseguí en la red, pero no utilicé el ICPROG como allí recomiendan, sino el WinPic800, porque con el 1er programa nombrado me generaba un error, ya ni lo recuerdo, pero no pude grabar éste PIC, es un circuito sencillito y funcional, lo recomiendo no sin antes dar un consejo, a la hora de colocar el conector DB9 hembra, quizás tiendan a confundirse (eso me sucedió) lo que les recomiendo es que se fijen en la siguiente figura
(http://213.97.130.124/progs/pipo2/img/foto1.JPG)
ésta les sacará de dudas, y si tienen problema, revisen bien que sí funciona ;-)

El circuito a realizar es el siguiente:
(http://img153.imageshack.us/img153/8524/circuitobasicopic18ftz3.jpg)

y a éste le falta conectar el LED en el pin 21 (RD2)
(http://img164.imageshack.us/img164/1940/ledpicsf7.jpg)

En el winpic800, en Configuración --> Hardware, Seleccionar: JDM Programmer
(http://img405.imageshack.us/img405/8967/winpic800sl3.jpg)

El programa en el pic se realizó con el PCWH Compiler versión 4.023. y se encuentra en la carpeta CCS.

Ya lo que restaría es instalar el driver cuando la pc lo solicite, correr la aplicación PicUSB y verificar su funcionamiento, ya lo probé en el proteus y en el protoboard y todo funciona, espero que a uds. también.

Agradecimientos:

Gracias a J1M por su trabajo PicUSB (http://www.todopic.com.ar/foros/index.php?topic=2260.0), gracias a PalitroqueZ (http://www.todopic.com.ar/foros/index.php?topic=2260.220) que me enteré de que con el proteus se podía simular esto y además de su post “Mis primeros pasos con el 18F4550” (http://www.todopic.com.ar/foros/index.php?topic=15208.0) Que me sirvió de ayuda para configurar los fuses con el CCS. Y también quiero agradecer a Cryn, que me motivó a publicar éste proyecto para que los que se inicien lo hagan con patada voladora! Jajaja. Y por supuesto gracias al foro todopic.

Atte. Guillermo Núñez.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: Nocturno en 10 de Febrero de 2008, 03:18:05
Magnífico trabajo que vendrá estupendamente a todo el que quiera iniciarse. Gracias
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: jeremylf en 10 de Febrero de 2008, 04:20:11
Muy bueno! Con simulacion en proteus e imganes... Se agradece.

Una ves probe el PicUSB de Palitroques (el de proteus) y aveces se reseteaba el micro, lo de conectar/deconectar apretando en el conector ese no funcionaba y cuando leia el buffer me leia un dato (sin haber enviado nada), cuando enrealidad deberia leer 0 como en la vida real  :lol: Pero bueno, cosas q podran arreglarse.

Un saludo.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: J1M en 10 de Febrero de 2008, 06:23:19
Enhorabuena por lograr tu propósito y muuuuchas gracias por compartirlo con todos nosotros, sin duda será de utilidad para muchos! :)

saludos!
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: gu1llermo en 10 de Febrero de 2008, 12:17:57
jejeje que bueno que les guste, de nada, es un placer poder contribuir con éste pequeño aporte que no hubiese sido tan fácil de lograr sino por la ayuda de los que e mencionado y los que los antecedieron.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: Cryn en 10 de Febrero de 2008, 19:58:24
 :mrgreen: muy buen inicio, y que mejor que algo como esta para los que se inician en USB tb, se dan una vuelta por aca, que está ello para comenzar con lo básico, siempre es un led, jejeje
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: proclamer en 11 de Febrero de 2008, 12:06:01
el modulo de usb de mi proteus no funciona deveria de mostrar unn cuadro de dialogo con lineas verdes cuando conectas el pic con el puerto pero no sucede nada, que puede estar pasando o sera que hay que hacer una configuracion especial. lo he provado con este proyecto y con algunos de los mios y nada.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: Leon Pic en 11 de Febrero de 2008, 12:15:43
Muchas gracias Guillermo. Muy buena explicación. Estoy por empezar hacer un trabajo con USB y me viene de maravillas.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: PalitroqueZ en 11 de Febrero de 2008, 16:23:24
Felicidades gu1llermo  :-/ :-/ :-/

ahora ya puedes empezar a transmitir datos a la compu  :P



el modulo de usb de mi proteus no funciona deveria de mostrar unn cuadro de dialogo con lineas verdes cuando conectas el pic con el puerto pero no sucede nada, que puede estar pasando o sera que hay que hacer una configuracion especial. lo he provado con este proyecto y con algunos de los mios y nada.


umm, el proteus instala una cosa llamada usb service, que es el que hace de emulador host, tienes que buscarlo en inicio->programas-> eso es lo que permite activar el conector usb en los circuitos.


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

Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: gu1llermo en 12 de Febrero de 2008, 00:06:07
el modulo de usb de mi proteus no funciona deveria de mostrar unn cuadro de dialogo con lineas verdes cuando conectas el pic con el puerto pero no sucede nada...

¿Dónde has visto ese cuadro de diálogo con líneas verdes? ¿Podrías mostrarnos una imagen? ¿Será éste?
(http://img443.imageshack.us/img443/2647/cuadroverdevz7.jpg)

"Asumiendo que ese sea el caso", ésta ventana aparece sólo cuando corres la simulación en el proteus, me explico, cuando le das al botón play para simular el proyecto es que se habilita la opción para sacar ésta ventana, te adjunto una imagen explicativa:

(http://img135.imageshack.us/img135/174/debugyj6.jpg)
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: proclamer en 12 de Febrero de 2008, 11:42:58
gracias de verdad a los dos a palitroques y a guillermo de verdad se meresen un aplauso jejejejeje de verdad............
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: Pedro Pan en 13 de Febrero de 2008, 15:35:16
Citar
Para el caso del protoboard, se utilizó el Programador PIPO2, que es el más sencillito que conseguí en la red, pero no utilicé el ICPROG como allí recomiendan, sino el WinPic800,

gu1llermo una pregunta que version de winpic800 usastes y cual fue el tipo de configuracion que usastes para que el winpic te reconozca el programador??
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: gu1llermo en 14 de Febrero de 2008, 11:41:38
Hola Pedro, si te fijas bien hay una imagen en donde aparece la versión del winpic800 que usé y la configuración que le hice, exactamente es la séptima imagen. De todas formas por si no la ves, te la vuelvo a escribir: winpic800 - v 3.61 y en Configuración --> Hardware, Seleccionas JDM Programmer, así me reconoce el programador PIPO2.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: Pedro Pan en 14 de Febrero de 2008, 14:18:10
Gracias gu1llermo, vamos a probar a ver que tal funciona
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: Enigma en 14 de Febrero de 2008, 18:18:25
Hola oye gracias por este aporte... La verdad me servirá de gran ayuda ya que uno de los proyectos que tengo que hacer es con el puerto USB y creanme que allí si que estoy totalmente neofita!!!!!!! Lo probaré y les contaré la experiencia!!!


Atte: Enigma... La llanerita de Guayana :-)
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: gu1llermo en 14 de Febrero de 2008, 22:24:57
De nada Enigma, esperaré tus comentarios atentamente.

Saludos.

PD: Con tantos agradecimientos es agradable colaborar  :mrgreen: :-)
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: jjcblanco en 19 de Febrero de 2008, 11:49:10
Hola hice la placa para hacerlo pero me encuentro un problema, cuando conecto la placa el xp me detecta un dispositivo nuevo y cuando le pongo la ruta donde esta el driver , me dice que la ubicacion no tiene informacion sobre el hardware. y probe tambien con la version pa windows vista y me dice lo mismo.

please help me
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: PalitroqueZ en 19 de Febrero de 2008, 20:55:30
eso se debe a que no coinciden los datos que espera el hardware. e.j: el vid y pid , estos son esenciales que sean los mismos tanto en el pic como en el .inf



Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: gu1llermo en 19 de Febrero de 2008, 22:56:01
Hola hice la placa para hacerlo pero me encuentro un problema, cuando conecto la placa el xp me detecta un dispositivo nuevo y cuando le pongo la ruta donde esta el driver , me dice que la ubicacion no tiene informacion sobre el hardware. y probe tambien con la version pa windows vista y me dice lo mismo.

please help me

No sé a qué versión de windows vista te refieres, todo esto está desarrollado para win xp SP2, y si no te reconoce el dispositivo es por lo que te dijo PalitroqueZ, revisa el vid y el pid.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: uhsspa en 05 de Marzo de 2008, 16:08:49
Es un muy buen proyecto para los que se inicializan en el USB como yo jejeje, gracias por ese gradioso aporte , suerte y salu2
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: LuNaTk en 22 de Marzo de 2008, 00:52:22
Hola es un muy buen trabajo, tengo una pregunta, tengo Proteus 7.2 SP2 y algunos ejemplos HID con el 18F4550 los cuales estan probados fisicamente y funcionan bien, solo que al simularlo la cosa ya no va bien, la aplicacion con la que se comunica el PIC (Vb) lo detecta, pero a la hora de intercambiar datos la aplicacion en VB se "Pasma" y ya no va mas.

Los circuitos probados fisicamente funcionan bien como ya comente y para estos siempre uso un oscilador de 12MHz, obviamente configuro bien los Fuses para activar el PLL interno u asi obtener los 48Mhz necesarios para el USB, mas arriba comentan que es importante modificar la frecuencia del oscilador a 48Mhz pero es neceesario aunque ya el .hex este configurado a trabajar con un oscilador a 12Mhz???

Otra cosa es que cuando corro la simulacion en Proteus windows me reconoce un nuevo dispositivo y procede a instalarlo pero me pide la ubicacion del Driver cosa que no entiendo ya que es un HID y fisicament nunca me lo pide; y en este caso lo que hago es seleccionar de la lista de controladores de windows y elijo Dispositivo de Interfaz Humana, despues de un aviso de windos lo instala y me pide reiniciar, cosa que tampoco entiendo, sera mi computadora??? porque los puertos usb que tengo son 1.0.

Gracias a todos
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: gu1llermo en 22 de Marzo de 2008, 16:45:22
1.- ... mas arriba comentan que es importante modificar la frecuencia del oscilador a 48Mhz pero es neceesario aunque ya el .hex este configurado a trabajar con un oscilador a 12Mhz???

2.- Otra cosa es que cuando corro la simulacion en Proteus windows me reconoce un nuevo dispositivo y procede a instalarlo pero me pide la ubicacion del Driver cosa que no entiendo ya que es un HID y fisicament nunca me lo pide; y en este caso lo que hago es seleccionar de la lista de controladores de windows y elijo Dispositivo de Interfaz Humana, despues de un aviso de windos lo instala y me pide reiniciar, cosa que tampoco entiendo, sera mi computadora??? porque los puertos usb que tengo son 1.0.

Gracias a todos

Con respecto al punto 1, si, si es importante, sino no funciona, asi el .hex venga listo para trabajar con 48Mhz tienes que indicarle eso al proteus también.

Con respecto al punto 2, no sé, quizás el proteus tenga un bug para simular los HID (esto lo supongo), prueba con otra máquina a ver.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: Modulay en 22 de Marzo de 2008, 17:21:42
No os fieis demasiado de proteus para ese tipo de simulaciones.
Falla con mucha facilidad,te cuelga el pc,etc...
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: gu1llermo en 22 de Marzo de 2008, 20:33:06
Si, el proteus le dá duro a la compu, y más especificamente con éste pic y la comunicación usb, a mí me ha pasado que inicio la simulación y el proteus empieza a simular el pic pero todavía no suena el tu lún (sonido que hace cuando conectamos un dispositivo usb) y le doy STOP y me sale la pantalla azul de windows y me apaga la compu, así que mi recomendación es que si van a simular en proteus no estén haciendo un trabajo sin haber guardado antes la información porque podrían pasar un rato desagradable.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: Akone en 03 de Abril de 2008, 18:32:03
Gracias por compartir con todo el mundo tu experiencia.

Soy nuevo en el foro y espero ir dando mis primeros pasos con esto de los pics.

Me interesa mucho el tema del control y manejo de usb, me tendré que poner las pilas con la programación en visual pero con gente como ustedes seguro que uno puede avanzar mucho más rapido.

Ya os comentaré que tal va mi proyecto.
 :-/
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: gu1llermo en 03 de Abril de 2008, 21:50:07
Bienvenido! seas  :-/ será un placer poder leerte con los avances de tu proyecto, así es que crecemos todos, cada uno aportando su granito de arena y a la vez formamos el mar de conocimientos y experiencias que vez fluir en éste foro y similares.

Saludos.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: Akone en 11 de Abril de 2008, 05:11:32
Bueno ai van mis primeros tropiezos, les comento, estoy intentando hacer una placa de control de los puertos via usb, que se puedan seleccionar como entrada o salida y actuar individualmente en cada uno de los pines, estaba adaptando el programa para el PIC18f4450, pedí el 4550 pero se han confundido y estoy a la espera de que me llegue, pero como tengo que presentar el proyecto a final de mes ando un poco apresurado. Realmente me basta con que comunicase, el programa se podrá ir modificando poco a poco.

Asi que viendo que no me funciona el proyecto completo volví al comienzo y lo que hice fue copiar literalmente tu proyecto cambiando la primera linea, donde pones el #include <18F4550.h> yo pongo #include <18F4450.h> me compila sin errores pero en el proteus no me simula (el tuyo si me va bien, salvo que enciende el led pero no lo consigue apagar) no creo que sea del proteus, es la primera vez que uso pic y seguramente tenga que modificar mas cosas que desconozco, si alguien pudiera echarme una mano estaría muy agradecido.

Uso el CCS PCW una de las ultimas versiones. Gracias de antemano
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: gu1llermo en 11 de Abril de 2008, 11:14:24
Hola Akone, efectivamente probé el 4450 en el proteus y entre los warnings me dice que no está implementado éste pic, algo de unas direcciones de memoria, pero te invito a que lo pruebes en físico que en teoría todo debería andar bien.

Por otra parte, el programa del 4550 para encender el LED le envías un 1 en la primera casilla y para apagarlo le envías un 2 haces eso? porque así es como funciona, lo volví a correr y funciona, en su oportunidad también lo probé en físico y todo bien, fíjate en el código del ccs el .c

PD: Hasta lo probé en físico con un 4455 y me funcionó también.

Saludos.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: Akone en 12 de Abril de 2008, 17:29:34
Que tal guillermo, voy a programarlo mañana a ver que tal, acabo de hacerme un programador usb (eclip-se) pero estoy teniendo problemas con conseguir los 12 voltios, creo que tengo el transistor jodido, no he tenido mucho tiempo para chequearlo como es debido.

Estaba haciendo mal eso, que torpeza la mia! enviaba un 0 en lugar de un 2, con razon no me funcionaba, que torpecito estoy!!!

Gracias por responder tan pronto, a ver si pronto consigo echarlo a andar.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: gu1llermo en 12 de Abril de 2008, 17:34:53
No tranquilo, estoy seguro que todo te saldrá bien, quizás no me creas pero hasta me imaginé lo que te sucedió, de que alguién podría enviar un 0 en vez de un 2 para mandar apagar el LED porque es algo ya como intuitivo para nosotros los programadores, 1 prende por lógica (sin leer) un 0 apaga  8) :wink:

Pero decidí enviar un número distinto de 0 y como el 2 me quedaba cerca  :lol: pues que más  8)

Saludos y éxito con tu proyecto.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: gu1llermo en 16 de Abril de 2008, 03:44:11
Hola Akone, lo más probable es que tengas problemas con el driver, una posible solución sería esta (http://www.todopic.com.ar/foros/index.php?topic=2260.msg150336#msg150336)

Prueba y nos cuentas por aquí porfa.

PD: Akone tiene un problema y es que el windows no le reconoce el dispositivo y me lo hizo saber por MP, pero por aquí es mejor porque muchos otros le pueden aportar soluciones y más rápido  :wink:

Saludos.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: Akone en 16 de Abril de 2008, 19:44:00
gu1llermo ya había leido esa posibilidad, repasé bastante los foros buscando si a alguien le pasaba tambien, gracias de todas formas.

Empiezo a desesperarme, ya no se que puede ser, os comento, cuando inserto el cable  windows directamente no me dice nada de que detecta un dispositivo, el problema no es que no reconozca que dispositivo es, si no que no "sabe" que hay ninguno, así que descarto que sea un problema de drivers, repito windows no hace ni el amago de haber detectado nada.

Para que os hagais una idea la placa que e desarrollado es similar a la  RRBOARD2 del compañero de foro RedPic, salvo que yo uso fuente de alimentación externa (tambien con puente diodos sus condensadores y lm7805, nada del otro mundo) y le tengo añadido el conector usb directo en la placa, con unos jumpres escojo si uso alimentacion del usb o de la fuente, también puedo usar o no los dos pines del usb.

Entre Vdd y Vss tengo 4,48V ya que el diodo de protección para placa y fuente se come los 0,52, pero mirando el datasheet veo que esto no supone demasiado problema. Uso un cristal de 20Mhz.

Utilizo el programador Eclipse, que no me reconoce automaticamente el dispositivo, pero si hago pruebas tipo borrar, leer, programar, leer, borrar.... parece que está bien.

El programa que le meto es exactamente el mismo que hay aqui pero cambiando el device por 4450. Revisando una y otra vez la placa, creo que esta está bien, con lo que pasé a algo más básico, probar los ejemplos de "Mis primeros pasos con el 18F4550", (ejemplo 1) cambio el dispositivo y elimino las lineas de opciones que el 4450 no trae para que pueda compilar, esto tampoco me funciona. los puertos permanecen siempre a 0, hago modificaciones sobre ese programa y tampoco ocurre nada.

Uso el ccs c compiler 4.014, creo nuevo archivo, copio el codigo y le doy a compilar.

No se que más os puedo contar, si se os ocurre cualquier cosa, aunque os parezca una tontería comenarmelo, seguramente sea eso y no me doy cuenta.

De todas formas mañana iré a por un 4550 y con unos pocos de rezos más quizá este si funcione.

Gracias
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: gu1llermo en 16 de Abril de 2008, 20:39:30
Tranquilo Akone, ya verás cuando todo te funcione y te sentirás mejor, ya pasé por allí y sé que eso.

Mide el voltaje de la pata Vusb (pin 18) tienes que leer 3.3V.

Qué valores de capacitancia estás usando allí?, yo tengo dos: uno de 470nF y otro de 47uf.

Yo utilizo el winpro, no el eclipse, así que hasta allá no puedo llegar, si usarás el winpro quizás te pueda echar una mano, lo más que puedo hacer es invitarte a chequear la configuración que esté en éste programador, será problema de un perro guardián? no sé.

Chequea la continuidad de los cables, especificamente del usb, te adjunto una imagen de como tengo conectado el usb:

(http://img329.imageshack.us/img329/237/conexionusbcd2.th.jpg) (http://img329.imageshack.us/my.php?image=conexionusbcd2.jpg)

Espero que se entienda, el conector usb me lo cree yo, tienes que asegurarte que tengas correctamente conectado D-, D+, yo la primera vez hasta los invertí por error y no me pasó nada, pero no es lo correcto, lo ideal es que estemos seguros que todo está bien conectado  :wink:

Verifica todo y nos cuentas.

Saludos.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: Akone en 16 de Abril de 2008, 21:32:32
Bueno fallos que he detectado, de conexión creo que va bien, lo que no tengo son las  resistencias en las lineas de d+ y d-, creía que eran necesarias para 1.0 y no para la 2.0 que es a la velocidad que tengo entendido trabajamos.

En VUSB tengo .... 0 V  :x :( nada de nada, lleva un condensador de 470nF de plástico. En los esquemas que he visto por ai llebaban esos, tambien tengo dos de 100nF entre Vdd y Vss y los que lleva el cristal son de 15pF cerámicos.

Pasa ademas algo raro, con este programa, los pines del puerto C (menos los del usb) estan a 5v...mientras que en el resto tengo 0,20 más o menos.

El conector usb es uno standar tipo b para montarlo en placa. Lo he revisado bastante y creo que no está mal.

¿Son necesarias esas resistencias?¿Qué es lo que hace que no tenga tension en Vusb? (por cierto que cuando lo alimento via usb tengo 5v clavaos entre vdd y vss)

Ya queda menos!!! pero hasta mañana va a esperar que ya me han dado las 2 y media de la madrugada y esto no puede ser bueno.. a dormir!!!!
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: gu1llermo en 17 de Abril de 2008, 00:20:22
Me dá la impresión de que es el programador que usas, pero claro puedo estar equivocado, es solo una suposición, no te es posible utilizar el winpic800? éste trabaja bien con el CCS, porque lo más probable es que el programador que uses te cambie los fuses.

Una configuración te hace tener ese voltaje usb o no, es el VREGEN, pero repito el programador que usas lo más probable es que te cambie ese fuse, entre otros no sé, como dije estoy haciendo hipótesis que traducido a criollo: tirando flechas  :roll:

No he trabajado con USB2 aún, según tengo entendido esto es USB1 a 1.5Mbps, mirando el datasheet del pic está todo bien especificado de todas formas.

Con respecto a las resistencias creo que (estoy hablando de memoria) en el datasheet dicen algo, hay que ver, porque allí está todo.

Yo tengo condensadores de 22pF en el cristal de 20Mhz.

PD: Revisa la configuración del programador ese, porque lo más probable es que te la esté cambiando, algo parecido me pasó con el icpro y por eso me cambié.

Saludos.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: Akone en 17 de Abril de 2008, 05:26:41
No me es posible usar el Winpic 800, ese programador no lo reconoce, el programador tiene un software especifico, es gratuito. Pero según leo da buenos resultados, el problema es que si cojo el 4450 la opcion config se ve como quedan configurados pero no puedo modificar nada (sin embargo si cogiese el 4550 si.) os digo como se ve:

     Configuration:

1: 0E24
2: 1E3E
3: 8200
4: 0081
5: 4003
6: 6003
7: 4003

nose muy bien a que  se refiere eso.

Puse las resistencias pero sigue sin mejora, el VUSB sigo teniendo 0v.

Una cosa que me he dado cuenta... en OSC1 si mido con el polimetro siempre tngo 0,93V, mientras que en OSC2 depende, hay veces que son 1,67 y otras cerca de 3v. ¿esto es normal?

¿como puedo saber como han quedado los fuses una vez ya programado el pic? este programador no tiene implementado esa opcion, hay alguna otra forma? porque en mplab si veo que los bits de configuración son como debe esperar.

Gracias a to@s
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: gu1llermo en 17 de Abril de 2008, 08:45:18
Hola Akone, bueno miranado la página del amigo RedPic (http://picmania.garcia-cuervo.com/Proyectos_RRBOARD2.htm) él especifica que es para los pic 877 y 4550, no sé si es para ellos nada más ó quizás se pueda probar con otro pic, porque viendo el datasheet de ambos (4450 y 4550) el pinout es similar.

El programador que yo propuse en éste mismo hilo es de fácil montaje, son unos pocos elementos, si después de llegarte el pic 4550 no te funciona, bueno podrías montarte éste programador y probar tu circuito en un protoboard normalito ó donde quieras.

Te compilé éste archivo, usando el 4450 y modificando #define LED PIN_E0:

Código: [Seleccionar]
#include <18F4450.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,NOPBADEN
#use delay(clock=48000000)

/////////////////////////////////////////////////////////////////////////////
//
// CCS Library dynamic defines.  For dynamic configuration of the CCS Library
// for your application several defines need to be made.  See the comments
// at usb.h for more information
//
/////////////////////////////////////////////////////////////////////////////
#define USB_HID_DEVICE     FALSE             //deshabilitamos el uso de las directivas HID
#define USB_EP1_TX_ENABLE  USB_ENABLE_BULK   //turn on EP1(EndPoint1) for IN bulk/interrupt transfers
#define USB_EP1_RX_ENABLE  USB_ENABLE_BULK   //turn on EP1(EndPoint1) for OUT bulk/interrupt transfers
#define USB_EP1_TX_SIZE    5                 //size to allocate for the tx endpoint 1 buffer
#define USB_EP1_RX_SIZE    5                 //size to allocate for the rx endpoint 1 buffer


/////////////////////////////////////////////////////////////////////////////
//
// If you are using a USB connection sense pin, define it here.  If you are
// not using connection sense, comment out this line.  Without connection
// sense you will not know if the device gets disconnected.
//       (connection sense should look like this:
//                             100k
//            VBUS-----+----/\/\/\/\/\----- (I/O PIN ON PIC)
//                     |
//                     +----/\/\/\/\/\-----GND
//                             100k
//        (where VBUS is pin1 of the USB connector)
//
/////////////////////////////////////////////////////////////////////////////
//#define USB_CON_SENSE_PIN PIN_B2  //CCS 18F4550 development kit has optional conection sense pin

/////////////////////////////////////////////////////////////////////////////
//
// Include the CCS USB Libraries.  See the comments at the top of these
// files for more information
//
/////////////////////////////////////////////////////////////////////////////
#include <pic18_usb.h>     //Microchip PIC18Fxx5x Hardware layer for CCS's PIC USB driver
#include <PicUSB.h>         //Configuración del USB y los descriptores para este dispositivo
#include <usb.c>           //handles usb setup tokens and get descriptor reports


#define LED       PIN_E0
#define LED_ON    output_high
#define LED_OFF   output_low

#define comando   recibe[0]
#define param1    recibe[1]
#define param2    recibe[2]
#define param3    recibe[3]
#define param4    recibe[4]
#define eco       envia[0]// Hace un eco del comando recibido
#define result1   envia[1]
#define result2   envia[2]
#define result3   envia[3]
#define result4   envia[4]



void main(void) {

   int8 recibe[5];                  //declaramos variables
   int8 envia[5];

   LED_OFF(LED);                   //Apagamos el LED

   usb_init();                      //inicializamos el USB

   usb_task();                      //habilita periferico usb e interrupciones
   usb_wait_for_enumeration();      //esperamos hasta que el PicUSB sea configurado por el host

   while (TRUE)
   {
      if(usb_enumerated())          //si el PicUSB está configurado
      {
         if (usb_kbhit(1))          //si el endpoint de salida contiene datos del host
         {
            usb_get_packet(1, recibe, 5); //cojemos el paquete de tamaño 5 bytes del EP1 y almacenamos en recibe

            eco = comando;  //Regresa el comando recibido
            result1 = param1*2;
            result2 = param2*2;
            result3 = param3*2;
            result4 = param4*2;
           
            switch (comando)
            {
               case 1:// Enciende LED
               LED_ON(LED);
               break;
               
               case 2:// Apaga LED
               LED_OFF(LED);
               break; 
            }
            usb_put_packet(1, envia, 5, USB_DTS_TOGGLE); //enviamos el paquete de tamaño 5 bytes del EP1 al PC
         }// Fin if (usb_kbhit(1))
      }// Fin if(usb_enumerated())
   }// Fin while (TRUE)
}

Adjuntado el .hex

Pero no creo que te sirva de mucha ayuda si el programodr te cambia la palabra de configuración, como me lo hacía el icprog, es más hasta el mismo winpic800 me cambiaba la palabra de configuración de los .hex que yo generaba con el mplab, por lo que siempre tenía que estar pendiente de eso.

PD: Si te fijas en el circuito esquemático ellos usaron capacitores de 22pF en vez de 15pF como lo dicen (es solo una observación).

Saludos.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: Akone en 17 de Abril de 2008, 09:29:47
 :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/

wewewee!!!!

 :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/

a que no sabeis que?? funciona!! xD

muchas gracias guillermo por tu paciencia, al final de todo ya he dado con la tecla, el programador que uso no va bien con el 4450, a sido poner el 4550 e ir del tiron!.

Ya habia visto la posibilidad de otro programador, pero mi problema era que dispongo de dos PCs, un portatil y un sobremesa, el más antiguo (el portatil) tiene algo más de año y medio y ya no trae puerto paralelo ni serie.

Bueno gracias por vuestra ayuda, y ahora en menos de 2 semanas tengo que tener listo el proyecto (al menos que medio funcione, ya le iré añadiendo utilidades) tan solo e de adaptar el programa para activar bit a bit cada una de las señales de los puertos, no parece demasiado dificil.

lo que me gustaría es saber si podría hacer lo siguiente. Podamos poner Entrada o Salida (el puerto completo aunque ya si pongo bit a bit sería supremo) y en funcion de la opción leer o escribir lo que quiera....esque con el tema de los fuses ya no se si no me va a dejar, pero bueno voy a ponerme al lio y ya os comentaré mis avances.


Despues probaré el .hex que me has pasado, con el 4450, que putada que no funcione porque me confundí al pedir las muestras y ahora tengo 3 pics que no voy a poder programar, de momento.

gu1llermo eres mi heroe!! jejeje

 :-/ :-/ :-/ :-/ :-/ :-/
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: gu1llermo en 17 de Abril de 2008, 22:34:23
Ves como todo cambia  :wink:

Coloca en el buscador "SET_TRIS" y verás muchos ejemplos de como configurar los puertos del pic como entradas o salidas.

Por ejemplo, todo el puerto A como entrada:

SET_TRIS_A(0xFF);// colocando en hexadecimal

SET_TRIS_A(0b11111111);// en binario

SET_TRIS_A(255);// en decimal

Dependendiendo del número que le coloques configuras los pines como entradas '1' ó salidas '0'

Saludos.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: Akone en 18 de Abril de 2008, 08:38:35
si alguna vez andando por la calle te encuentras un monumento a tu persona no te asustes, he sido yo jeje.

Muchas gracias, pronto colocaré la aplicación que estoy haciendo
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: gu1llermo en 18 de Abril de 2008, 08:58:35
 :oops: :D :D :D

Saludos. 8)
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: jotapeke en 17 de Septiembre de 2008, 21:06:53
Por favor, necesito ayuda. He bajado este ejemplo completo. Necesito hacer un dispositivo HID, con el pic18f4550. Debería hacer lo mismo que el de este ejemplo pero con la diferencia de no pedir drivers al conectar el dispositivo. Estoy usando el Proteus, y por más ejemplos que pruebo no consigo que me reconozca el cacharro como un HID y funcione sin drivers.
Alguien de aquí ha conseguido hacer funcionar un HID con el Proteus y sin que te pida drivers?.

Nota: el Proteus trae un ejemplo de un dispositivo HID, éste hace que el puntero del ratón gire en circulos. Es el único ejemplo que me funciona, pero sólo viene el .hex. Por otro lado encontré el supuesto código, pero cuando a partir de él creo el .hex, no me funciona y me pide drivers.
Pero aún hay más. Si primero simulo este ejemplo que trae el Proteus, y luego simulo alguno hecho por mí y le pongo el mismo Vid y mismo Pid, me lo detecta como HID y no me pide drivers.... pero en Windows sale con una exclamación y dice q no está bien configurado el dispositivo.

En fin, si alguien me puede ayudar, por favor. Llevo un mes dandole vueltas..... y como digo, a parte del ejemplo del Proteus no he conseguido hacer funcionar ningon ejemplo con USB y HID.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: PalitroqueZ en 18 de Septiembre de 2008, 14:13:45
Hasta donde se, con la versión 6.2 NO soporta esa clase HID

Mira las limitaciones en la ayuda

Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: galonsoa en 10 de Noviembre de 2008, 15:43:47
Hola que tal, necesito ayuda, resulta que la aplicacion no me reconoce ningun dispositivo, cuando corro el programa en isis lo identifica como usb de una, sin haber ejecutado el conectorsito usb, entonces no se que error pueda ser, si me pueden ayudar se los agradeceria
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: emula en 27 de Diciembre de 2008, 16:32:31
Excelente proyecto gu1llermo.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: ASTROCAR en 30 de Diciembre de 2008, 09:25:29
Hola no sabia de este post y me alegra que los colegas venezolanos esten trabajando en usb con pic yo de momento aun nop lo hago pero pronto empieso ya que estoy en una aplicacion de un programador solo para eeprom y quiero que sea via usb pero lastima que no trabaje en c como ustedes yo uso es proton y la aplicacion para el programador la estoy haciendo en delphi bueno pero en fin eso no es el tema es tema es el usb.

Lo bueno es que los fundamentos  para el usb ya ustedes lo estan manejando bien y llevarlo a codigo ya seria segun el compilador que cada quien usb espero contar con su poyo cuando me inicie en eso del usb de todas maneras hire investigando sobre el tema de como envia y recibir datos via usb.

Saludos y Felecitaciones a toda la comunidad y en especial al colega que hiso posible esta valiosa colaboracion como es el mundo del usb con pic y mas aun simulandolo en proteus.
Atten.
Alexander Santana.
Barcelona-Venezuela.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: pablofer78 en 14 de Enero de 2009, 11:46:25
Gracias por toda esta informacion, es muy util en micaso.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: blackcat en 02 de Marzo de 2009, 00:44:42
Este ejemplo se podria considerar como ALTAMENTE EDUCATIVO!!!  :mrgreen:

Lo probe en el Explorer 16 y funcionó perfectamente!

Muchas gracias!
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: bahiarca en 10 de Abril de 2009, 14:43:47
mucho pedir un driver para mi windows 64bits? no...?   :?
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: challenge en 30 de Mayo de 2009, 18:10:13
Me parece muy interensante la iniciativa. Justamente en la facultad empezamos a programar en PIC con USB. Como primer contacto tomamos este ejemplo. Nos obstante, nos dimos cuenta que nos faltaría la imagen con el circuito para implementar con protoboard.
Es decir, en la parte que dice:
"El circuito a realizar es el siguiente:    ........................ :(      y a éste le falta conectar el LED en el pin 21 (RD2)"
en medio falta la imagen correspondiente.
Si pudieras resubirla te lo agradezco mucho.
Y nuevamente, muchas gracias por tu aporte.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: jazh23 en 17 de Agosto de 2009, 17:27:38
Hola paisano, no entendí muy bien la manera de hacerlo, ya hice el montaje, actualmente uso el proteus 7.5 SP3, dices que al ejecutar el programa pide un driver, a mi no me pidió nada, solo me dió error pero el error se debe a que el micro no tiene programa, esa es una duda que tengo, no veo que hayas colocado el codigo del programa, yo lo estoy haciendo en pic basic (microcode studio plus 3.0.0.5).

Lo otro es el el programa picusb.exe es necesario??? es decir no hay una forma de que se pueda simular en el proteus el puerto usb como por ejemplo el serial que se hace con el virtual terminal, sin la necesidad de usar un software adicional???

Gracias de antemano...
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: hernanfire en 20 de Agosto de 2009, 10:30:24
Hola a todos, tenia ganas de pasarme a USB, es hora :) !! tengo unas consultitas
1 el JDM lo usaste para programar el 4550??¿¿ la ubicacion en el zocalo la hiciste como un PIC de 40 patas??¿¿ o realizaste alguna modificacion.
2 A que te refereis con "El circuito a realizar es el siguiente:  y a éste le falta conectar el LED en el pin 21 (RD2)" para que lo agregas?? :shock:
Gracias.....
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: amyver en 07 de Septiembre de 2009, 00:27:48
Hola amigo jazh23, bueno me gustaria ayudar a despejar tus dudas con esto del usb, asi que lo hare por puntos los mas claro que me salga:

1).- Respecto a la version del proteus que estas usando 7.5 sp3 y que no te pide driver, para alguno de nosotro fue un verdadero dolor de cabeza esta situacion porque lo cierto es que en la version del proteus 7.5 sp3 no te funcionara la simulacion del Puerto USB, tampoco  la simulacion de los modulos CCP en captura de los micros (bueno hasta ahi fui probando), pese a que habilites los drivers virtuales del menu inicio en el mismo proteus.

Te recomiendo que cambies tu version del proteus a la 7.4 sp3, yo lo hice asi, y sin necesidad de cambiar el codigo fuente del pic me funciono a la perfeccion, es decir una vez cargado el archivo .hex en el micro, y corriendo la simulacion, el proteus 7.4sp3 te pedira un driver para el para el pic, pero no te olvides que antes de hacer esto debes habilitar los drivers virtuales del proteus (se encuentran dentro del menu inicio en el proteus).

2).-El programa picusb.exe que es el que mencionas, si es muy muy necesario, antes de continuar debes tener muy en cuenta que una simulacion con la interfaz USB 2.0 con un micro es totalmente diferente que una simulacion con el RS232 (o puerto serial).

para aclarar un poco mas esto, decirte que el programa picusb.exe esta diseniado exclusivamente para el circuito que esta en la simulacion, en otras palabras para cada circuito que use el interfaz USB 2.0 debe si o si existir una aplicacion del lado de la PC que vaya de la mano con el programa en el microcontrolador.

bueno espero que te haya sido de utilidad hasta otra oportunidad.... :-/ :-/ :-/ :-/ :-/
 :mrgreen: :mrgreen: :mrgreen:
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: donjuan_01 en 08 de Septiembre de 2009, 13:11:45
Saludos foreros,

Al igual que muchos de uds estoy iniciando a comprender el manejo de los microcntroladores PIC con USB, el ejemplo esta fabuloso. Sin embargo quisiera saber como adicionar el codigo en c a la simulacion en proteus... pues tengo entendido que ademas de adicionar el .hex debo anexar el .asm,,pero en este caso se tiene es .c ...

Les agradezco la ayuda.

Saludos!!!
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: amyver en 08 de Septiembre de 2009, 16:13:13
hola amigo donjuan_01, tratare de responder a tus dudas aunque no estan muy claras:

Ahora a tu pregunta:

Bueno espero que te haya sido de utilidad y hasta otra oportunidad.. :-/ :-/ :-/ :-/
 :mrgreen: :mrgreen: :mrgreen: :mrgreen:
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: donjuan_01 en 08 de Septiembre de 2009, 19:31:15
Gracias Amyver por tu respuesta...
ya me funcionó la simulación, ahora me dispongo a relizarlo en protoboard....

Esoy haciendo un proyecto donde debo conectar un celular con un microcontrolador con usb, estoy aprendiendo sobre USB...por eso estoy realizando los ejemplos que encuentro con el PICF4550, he leido sobre los PIC24F ...

si alguien tiene más ejemplos del PIC18Fxxx e información sobre PIC24F

Saludos y gracias!!!!!!!!!!!!
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: MLO__ en 08 de Septiembre de 2009, 22:17:38
Hola.

Si vas a conectar el PIC al celular vía USB no vas a lograr nada (al menos con un 18Fxx5x), ya que el PIC no es HUB USB. Solo sirve como esclavo, es decir como periférico, o de pronto te entendí mal?

Saludos
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: donjuan_01 en 09 de Septiembre de 2009, 11:20:20
Me entendiste bien...y creeme que tambien lo he tenido en cuenta, el leido que el PIC debe tener características de USB On The Go, como lo son los PIC 24F, pero esos PIC no son fáciles de conseguir, además vienen con 64, 80 o 100 pines...
Una posible solución es identificar la trama de datos que envia el PIC al PC o viceversa para tratar de crear el driver pero eso ya es como muy complicado... :?

Les agradezco a todos cualquier aporte al tema, o si abrimos otro tema para el mismo en el foro.. :-/

Saludos!!!
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: MLO__ en 09 de Septiembre de 2009, 15:07:42
Pues ademas son costosos (pues al menos aca en Colombia), intenté mandar a traer uno y naaaa, sale muy caro. Sumado a eso, Microchip ya no da samples (y aunque los diera, acá a Colombia no los dan jeje).

Que aplicación estas buscando propiamente?

Saludos
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: donjuan_01 en 11 de Septiembre de 2009, 10:57:06
Bueno necesito trabajar el PIc como maestro... estoy tratando de que el telefono movil sea un periferico ...

Tengo un inconveniente con el ejemplo el WinPIc800 no me programa el micro....

Saludos!!
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: donjuan_01 en 15 de Septiembre de 2009, 18:36:06
Este ejemplo es muy bueno y se aprende mucho..

Hice la simulación en proteus y todo salio muy bn, ya programe el micro y estoy haciendo las pruebas de conexión al pc pero no me pide los drives ya que dice que el dispositivo no esta funcionando correctamente. Creo de deber ser el cristal externo, ya que tengo uno de 4 Mhz y tengo entendido que debe ser uno de 48Mhz..

Saludos!!
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: MLO__ en 15 de Septiembre de 2009, 22:09:57
Hola.

En proteus no da lío, ya que en la simulación no toma el valor del cristal, siempre asume la misma velocidad configurada en el simulador, mas no la del código. Con un cristal de 4MHz también funciona, solo hay que modificar los #fuses de la manera adecuada, teniendo en cuenta a que velocidad quieras que corra el PIC.

Saludos
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: donjuan_01 en 24 de Septiembre de 2009, 11:54:30
Buenos dias para todos,

veo que hay varios de este foro conectados en el momento...Quisiera pedirles el favor de que me ayuden. Simule el ejmplo y todo va bn, pero al momento de quemar el programa con el PIPO2, el monte hice en baquelita, no lo hace, una vez lo hizo pero despues ya no. de pronto pienso que puede ser la configuración del WinPic800, tengo instalada la versión v 3.64.

Les agradezco la colaboración---------Gracias a todos!!
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: MLO__ en 24 de Septiembre de 2009, 12:20:55
No entiendo que no te funciono, el PIC al conectar al USB o el programador?

Si el PIC no corre al conectar al PC, puede ser problema de los #fuses.

Saludos
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: donjuan_01 en 24 de Septiembre de 2009, 13:43:09
El programador no programa el micro........
Como configuran uds WinPIc800 para el pic18f4550...porque hice una prueba con el pic16877a y si programa..

Saludos!!!
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: illusionista_86 en 21 de Noviembre de 2009, 19:27:30

estoy probande el circuito con el programador, al arrancar la aplicación y conectar con la aplicacion del proteus el usb, me lo reconocio sin problema, pero luego cuanto arranco el programa picusb.exe, no puedo detectar nada conectado, siempre me devuelve un 0, a que puede ser eso??

gracias.
muy buena la aplicacion.




EDITO: solucionado, se trataba de un problema de reiniciar el PC
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: ASTROCAR en 09 de Enero de 2010, 10:58:05
Por favor, necesito ayuda. He bajado este ejemplo completo. Necesito hacer un dispositivo HID, con el pic18f4550. Debería hacer lo mismo que el de este ejemplo pero con la diferencia de no pedir drivers al conectar el dispositivo. Estoy usando el Proteus, y por más ejemplos que pruebo no consigo que me reconozca el cacharro como un HID y funcione sin drivers.
Alguien de aquí ha conseguido hacer funcionar un HID con el Proteus y sin que te pida drivers?.

Nota: el Proteus trae un ejemplo de un dispositivo HID, éste hace que el puntero del ratón gire en circulos. Es el único ejemplo que me funciona, pero sólo viene el .hex. Por otro lado encontré el supuesto código, pero cuando a partir de él creo el .hex, no me funciona y me pide drivers.
Pero aún hay más. Si primero simulo este ejemplo que trae el Proteus, y luego simulo alguno hecho por mí y le pongo el mismo Vid y mismo Pid, me lo detecta como HID y no me pide drivers.... pero en Windows sale con una exclamación y dice q no está bien configurado el dispositivo.

En fin, si alguien me puede ayudar, por favor. Llevo un mes dandole vueltas..... y como digo, a parte del ejemplo del Proteus no he conseguido hacer funcionar ningon ejemplo con USB y HID.

Estimado colega lo que estas haciendo o buscas yo lo hice en proton para el pic y delphi para la pc te paso un link con mi practica para que veas como funciona aunque en el post que tengo abierto no esta 100% funcional ya que desde el pic no envia como quiero al pc pero por lo demas esta perfecto y luego con mas calma sumo un codigo ya funcionando de ambas parte porque ya encontre mi fallo pero por cuestion de tiempo no lo subo ahorita.

La idea es que te funcione con interface humana (easyhid wizard) y como ya te mensione yo use en este ejemplo proton y delphi espero que te sirva este ejemplo.
Saludos y cualquier pregunta estamos a la orden.
Atten.
Alexander Santana.
Barcelona-venezuela.

link...>post sobre usb usando interface humana (http://www.todopic.com.ar/foros/index.php?topic=29014.0)
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: miguelandresbastidas en 08 de Marzo de 2010, 17:58:41
Hola, quisiera saber si alguien me pudiese ayudar con esto,

necesito encender 2 mas leds, por el puerto serial y/o USB, a demás  que se puedan controlar independientemente desde matlab
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: migsantiago en 08 de Marzo de 2010, 20:38:57
Hola, quisiera saber si alguien me pudiese ayudar con esto,

necesito encender 2 mas leds, por el puerto serial y/o USB, a demás  que se puedan controlar independientemente desde matlab

Utiliza la clase CDC para un puerto RS232 virtual. Hay muchos ejemplos de cómo lograrlo en el foro.

También hay ejemplos de cómo leer un puerto RS232 COM desde Matlab.

Suerte.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: lycans2005 en 26 de Abril de 2010, 17:12:32
uff genial! me sirve para unas ideas que tengo° :-/


amigo por casualidad no tendras algo en proton?
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: ASTROCAR en 27 de Abril de 2010, 16:43:28
uff genial! me sirve para unas ideas que tengo° :-/


amigo por casualidad no tendras algo en proton?

colega como ya lo dice yo lo hice en proton y delphi aca te subo el link para que lo veas funcionando en proton.

http://www.todopic.com.ar/foros/index.php?topic=29014.0
Saludos.
Atten.
Alexander Santana.
Venezuela-Barcelona.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: johnlm3 en 23 de Junio de 2010, 01:47:41
Compadre gracias por su aporte, estoy desarrollando un aplicativo para la conexion con un bluetooth, y bueno con su trabajo ya adelante un 30 % me podrias enviar las fuentes de visual  para modificarlas y luego subirlas con el aplicativo bluetooth.

gracias.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: proyecto2009utu en 30 de Junio de 2010, 16:32:37
Buenas muchas gracias por el aporte.
Pero tengo un problema, he armado el circuito y el pc me reconoce el dispositivo, pero no me quiere instalar el driver y entonces no funciona

En proteus me simula bien, pero cuando conecto el pic no me deja instalar el mismo driver  :5]

Me puedes ayudar con esto? que driver le debo poner???

Muchas gracias
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: dil_anta en 18 de Julio de 2010, 22:39:10
hola gu1llermo, he eestado aprendiendo comunicacion por usb, pero ahora tengo problemas al simular, no me reconoce el driver, no se a que se deba eso........
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: proyecto2009utu en 19 de Julio de 2010, 18:44:02
Yo pude solucionar mi problema de que no me reconocia el driver colocandole un cristal de 20MHz, ya que estaba usando 48MHz directamente
pero los #fuses no eran los correctos....

Coloque un cristal de 20MHz y salio andando

Espero te sea de ayuda dil_anta
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: adrimadeo en 16 de Junio de 2011, 20:01:35
Desde ya muy bueno el aporte, lo descargue y andubo a la perfeccion.
Queria saber si alguno me puede ayudar ya quen necesito hacer un programa en Visual Basic 6.0 para controlar el USB. Lo que necesitaria seria la misma aplicacion que subio "gu1llermo" con su proyecto pero programado en VB6.
Desde ya muchas gracias.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: proyecto2009utu en 18 de Junio de 2011, 14:34:01
aqui tienes algo que te puede ayudar con visual:
http://www.todopic.com.ar/foros/index.php?topic=34984.new;topicseen#new (http://www.todopic.com.ar/foros/index.php?topic=34984.new;topicseen#new)

y luego tienes bastantes manuales en la web sobre el tema...
Saludos
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: alanth9017 en 30 de Junio de 2011, 16:18:54
Hola
de casualidad no tienes el codigo de la aplicacion que se conecta con el PIC
yo estoy realizando un proyecto similar y necesito activar un led desde mi PC hasta el PIC
ya solo necesito el programa de plicacion en la PC
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: Leinad182 en 18 de Agosto de 2011, 14:40:58
ALGUIEN ME PUEDE DAR EL LINK PARA DESCARGAR EL CODIGO FUENTE Y EL PROGRAMA QUE OFRECE GUILLERMO EN ESTE POST
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: pimpedadrian en 04 de Noviembre de 2011, 00:08:37
Holaaa necesito ayuda con mi pic_usb lo que uso es lo siguiente:

Proton IDE
EasyHID
Visual basica 6

ya genere el código en simulación con proteus me funciona de maravilla, pero cuando lo paso a lo fisico corre pero cuando me detecta el usb me dice que es un dispositivo desconocido!!  :?

Voy empezando con esto del usb-pic solo se cosas básica

Si les sirve de ayuda de aquí me guié para hacerlo

http://www.neoteo.com/conecta-tus-proyectos-al-puerto-usb#topScroll (http://www.neoteo.com/conecta-tus-proyectos-al-puerto-usb#topScroll)

Porfavor espero que me puedan ayudar

gracias
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: andy_andy en 18 de Enero de 2012, 17:58:49
Me parecio muy bueno el proyecto, lo implemente cambiando el pic (18f2550) y me funciono una maravilla.
Tuve mucha curiosidad por la parte de visual c# asi q intente depurarlo nuevamente para probar la interfaz pero me aparece un error cuando el programa esta corriendo, supongo q es por q estoy con una version mayor del visual (estoy manejando la v2010).
Quisiera saber como puedo solucionar este problema ya q no tengo experiencia en lo q es visual c#.
Les ajdunto una imagen del error,

Saludos
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: varango en 29 de Enero de 2012, 13:57:04
hola disculpen donde puedo descargar el documento del proyecto "Encender un LED con el PIC18F4550 vía USB". agradecería SUS ayuda muchas gracias
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: gu1llermo en 26 de Agosto de 2012, 19:35:36
Holas a todos, les digo que tengo muuuucho tiempo que no tocaba un pic ni leia sobre temas al respecto, asi que estoy bastante desconectado por los momentos, y ahora se me ocurrio meterme un poco con ellos y revisando este tema me e dado cuenta que el enlace no esta activo asi que subo una copia que gracias a Dios guardé, espero que a alguien le sea provechoso.

Saludos.
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: Noach_1977 en 07 de Noviembre de 2012, 14:51:54
Gracias de nuevo gu1llermo :)
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: vicenterock2010 en 18 de Noviembre de 2012, 13:44:39
hola gente bueno soy nuevo aca en el foro y novato con el tema de pic y he comprado un pic 18f4550 para hacer un simple proyecto comoo este prender un led por usb y aprender sobre este pic si alguien me puede dar una mano, gracias.saludos
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: baterod3 en 21 de Noviembre de 2012, 01:08:01
Alguien q suba nuevamente el archivo por favor....el enlace esta roto
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: Miquel_S en 21 de Noviembre de 2012, 05:37:40
Hola baterod3 te dejo el archivo.

Saludos!
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: luislega23 en 02 de Octubre de 2013, 18:52:38
Hola que tal me gusto mucho tu proyecto pero trate de bajarlo y no pude lo subirias de nuevo para bajarlo muchas gracias!!
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: suloes en 05 de Octubre de 2013, 22:56:52
hola que tal esta muy interesante tu post pero no puedo descargarlo no aparece el archivo
Título: Re: Encender un LED con el PIC18F4550 vía USB
Publicado por: jorensanbar en 04 de Abril de 2015, 13:57:55
hola que tal esta muy interesante tu post pero no puedo descargarlo no aparece el archivo

Dos comentarios arriba está el archivo.