TODOPIC
Otros Microcontroladores / Dispositivos programables => ** PROYECTOS ** => Mensaje iniciado por: Ernie- en 18 de Noviembre de 2008, 13:50:32
-
Buenas, a ver si me podríais ayudar con este problema que tengo:
Quiero controlar un PIC usando el puerto USB y no tengo ni idea de como hacerlo.
Mi idea es que mediante el puerto USB (usando las entradas que sean necesarias del PIC) pueda controlar 10 salidas del PIC (He pensado en el 16F876 por la cantidad de lineas que se pueden programar como E/S)
Para adaptar las señales estoy por usar el MAX232 pero he estado buscando y no he encontrado nadie que enseñe como conectarlo al PIC.
Para explicar un poco mejor lo que quiero hacer... Mediante el puerto USB tengo que encender 10 LEDS situados en las salidas del 16F876.
Espero que me puedan ayudar.
Saludos.
-
ese PIC no tiene comunicacion USB o estas pensando usar otro CI para la comunicacion? que señales quieres adaptar con el max232? perdon tantas preguntas pero muy mucho no se entiende que es lo que queres hacer, y muy poco entonces es lo que podemos hacer.
Saludos :mrgreen:
-
Hola.
Si vas a usar algun integrado como el ft232, puedes conectar las salidas TTL de este directamente al serial del PIC.
Busca bien el el foro, ese tema se ha tratado bastante aca, si vas a usar el FT232 entonces tu modo de comunicacion sera CDC. Si quieres ahorrarte el hard extra (ademas que es SMD) puedes usar el 18F4550 que ya tiene incorporado el USB y ya decidirias tu como hacer la comunicacion: CDC, HID, MSD.
Saludos
-
Pues.. a ver como lo explico de forma más directa jeje
Resulta que tengo un PIC con 10 salidas conectadas a diodos LED y lo que quiero es que desde el PC (Usando el puerto USB) encender los diodos led que yo quiera. Las entradas con las que controlaré el PIC irán conectadas al puerto USB(Aunque no sé como hacerlo).
No pido ayuda con el programa que tengo que realizar, sino con la forma de conectar el PIC al USB.
Espero haberme explicado mejor ahora.
Saludos y gracias
-
Tal vez este post te ayude. http://www.todopic.com.ar/foros/index.php?topic=20451.40
Saludos.
-
Tal vez este post te ayude. http://www.todopic.com.ar/foros/index.php?topic=20451.40
Saludos.
Gracias jeje no era lo que pretendía ya que no tengo programador para ese PIC y me tocará hacerme uno pero ya puestos a comprar componentes... es que el TE20 no lo soporta.
En fin, me haré un programador para ese PIC que seguro me dará menos problemas que buscar la forma de conectar un 16F
-
Hola.
Buscate el datasheet del FT232, es un conversor de USB a serial.
Saludos
-
Hola.
Buscate el datasheet del FT232, es un conversor de USB a serial.
Saludos
Gracias MLO, ya me decidí... creo que lo mejor será usar un 18F para poder conectarlo al puerto USB =) aunque ahora lleve el circuito más adelantado, no tengo ni idea si tiene algún fallito.. si me pongo a comprar ahora los componentes puede que me equivoque y no sirva.. :S
-
Hola.
Ok. Ahora habra que decidir la clase de comunicacion:
CDC: Communication Device Class.
HID: Dispositivo de Interfaz Humana.
Si la haces de forma CDC, se emulara la comuncacion como un puerto COM, y si la haces HID habra que definir el descriptor de uso: Teclado, Mouse, Joystick, etc. Todo eso se configura desde el uC.
Ademas hay que ir pensando el soft en el PC para manejar el PIC desde el PC, el cual puede ser LabView o el mismo hyperterminal de Windous.
Saludos
-
He pensado en que la comunicación sea CDC, de esta forma puedo leer desde un fichero la secuencia de giro, motor que quiero girar y el número de pasos sin tener que ser yo el que lo controle desde un dispositivo externo. La verdad no sé nada sobre el LabView, nunca he llegado a usar la comunicación por USB para circuitos diseñados por mí...
¿Qué ventajas o inconventientes tienen el LabView o el hyperterminal?
-
Hola.
Pues inconveniente ninguno.
La clase CDC emula un puerto serial virtual, tendrias esos dos soft para controlar el envio de los comandos para encender y apagar los leds a travez del puerto COM virutal. Obviamente en LabView podrias disenar toda una interfaz grafica que se vera mas bonita, mientras que por el hiperterminal tendrias que hacerlo con comandos de texto.
La programacion en LabView es muy agradable de hacer ya que no se hace con lineas de codigo si no con bloquecitos que uno va uniendo.
Saludos
-
Si lo quisiera hacer con VB ¿igualmente se podría verdad? O sea, usando el MSCOMM. Respecto al circuito.. lo tengo aquí posteado en el foro de todopic pero no sé si esté en lo correcto. Ya estoy por comprar los componentes pero antes de hacer ningún pedido y sin saber si me falten o no componentes por comprar.
-
Hola
Puedes hacerlo claro. Solo ten en cuenta que el numero del puerto serial virtual que se genera es una unidad mas del numero del puerto serial que tienes en tu PC. Por ejemplo, si tu PC tiene un puerto serial, aparecera en el administrador de dispositivos como COM1, al conectar el micro al puerto USB aparecera un nuevo puerto: COM2, con ese es con el que tienes que trabajar.
Saludos
-
Gracias, ya lo he solucionado :)
-
bueno yo basicamente tengo unas dudas cuando se usa el FT232, por mas de q la comunicacion sea USB se trabaja al baud rate que este configurado el pic? o en algun momento de la comunicacion se experimentan velocidades usb?
si se hiciera algun circuito para conectar al usb de un portatil por medio del FT232, en el portatil se crea un puerto virtual? podria utilizar el programa Terminal de bray?
-
Hola.
Si usas el FT232 se usa el baud rate programado en el micro, sea cual sea -teniendo en cuenta las condiciones del FT-.
Antes de conectar el FT debes instalar el driver que trae, luego al conectarlo lo instalas y aparecera el nuevo COM el cual puedes manejarlo desde Hyperterminal o desde otro soft como visual o LabView.