Autor Tema: Proyecto con 18F2550  (Leído 4277 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado TheNeXuS

  • PIC10
  • *
  • Mensajes: 3
Proyecto con 18F2550
« en: 09 de Febrero de 2006, 06:53:00 »
Felicitaciones a toda la comunidad, ya que veo que hay mucha gente que sabe mucho y esta dispuesta a ayudar a los que recien comenzamos.

Les cuento.

Estoy con intenciones de empezar un proyecto con el PIC 18F2550, y estuve leyendo un poco los foros y paginas varias sobre el mismo.

La cosa es asi.

Yo necesitaria manejar 2 motores paso a paso, 5 sensores, 3 led y 3 botones.

Mi idea es que el proyecto funcione tanto conectado a la PC (por USB) como en forma independiente (ahi es donde entran los botones)

Encontre informacion sobre el bootloader, y tengo estas dudas.
Es realmente necesario?.
Si lo uso, voy a poder actualizar el firmware del PIC por el bus USB sin usar circuiteria adicional sobre el proyecto terminado?


He comprado un programador que soporta el 18F2550 y tengo el CCS que tambien lo soporta.
Los pasos serian:
Hacer el programa en C usando las librarias USB para el PIC.
Hacer el programa (en mi caso en C#) para manejar el PIC por USB.

Es muy complejo que el PIC funcione con el USB y en forma Autonoma?
Me conviene usar el modelo de interrupciones o de Poll?

Yo de a poco estoy leyendo documentacion, pero seria buenisimo si pudieran comentar algo sobre estos temas o decirme donde puedo leer mas.

A medida que vaya avanzando en el proyecto voy a ir posteando el codigo (si funciona Sonrisa Gigante)

Muchas gracias a todos y saludos


Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: Proyecto con 18F2550
« Respuesta #1 en: 10 de Febrero de 2006, 00:48:00 »
Bienvenido al mejor foro en castellano sobre microcontroladores PIC.

Intentaré responder a algunas de tus preguntas.
Escrito originalmente por TheNeXuS
Encontre informacion sobre el bootloader, y tengo estas dudas.
Es realmente necesario?.
Si lo uso, voy a poder actualizar el firmware del PIC por el bus USB sin usar circuiteria adicional sobre el proyecto terminado?

No es imprescindible el bootloader, aunque dependiendo de tus necesidades, puede ser una solución adecuada. En realidad, la ventaja del bootloader es poder programar el micro en el propio circuito donde esté instalado a través de un puerto serie. Si tienes un programador con salida ICSP no necesitarás bootloader y, en según que casos, una solución será mejor que la otra.
Con bootloader no podrás actualizar por USB, sino por puerto Serie.

Escrito originalmente por TheNeXuS
Es muy complejo que el PIC funcione con el USB y en forma Autonoma?
Me conviene usar el modelo de interrupciones o de Poll?

Eso dependerá mucho de tu programa y de cómo pretendas afrontar el problema. Si los comandos que va a enviar el PC son análogos a los botones que tendrá tu circuito, no creo que sea muy complicado hacer funciones comunes en tu programa, y una rutina que reciba comandos por cualquier vía y que ejecute esas funciones. Insisto, según cómo sea tu soft te convendrá más programar por interrupciones o por poll.

Con respecto a la programación del USB en el 18F, puedes ilustrarte bastante en el proyecto PICUSB del amigo Jaime, que encontrarás aquí:
http://miarroba.com/foros/ver.php?foroid=58527&temaid=4114317

Desconectado TheNeXuS

  • PIC10
  • *
  • Mensajes: 3
RE: Proyecto con 18F2550
« Respuesta #2 en: 10 de Febrero de 2006, 07:35:00 »
Gracias nocturno66 por la pronta respuesta,

respecto al bootloader, he leido que es posible por USB
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2124&param=en022627
ademas lo preguntaba para poder actualizar el pic una vez que lo tenga el usuario final, que no dispone de un programador.

El funcionamiento USB o autonomo es similar, los botones y las instrucciones por USB harian practicamente lo mismo, pero creo que tengo que usar un pin de entrada para saber si estoy en modo USB o autonomo, es asi?

y sobre las interrupciones, he encontrado comom programar las interrupciones dentro del micro, pero como puedo hacer para "avisarle" a la PC que tengo disponible un dato en un momento determinado?

Gracias y saludos

Desconectado 5GTT

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 915
RE: Proyecto con 18F2550
« Respuesta #3 en: 11 de Febrero de 2006, 10:57:00 »
Si es posible el bootloader por USB, de hecho yo lo implemente en una placa para probarlo, mas informacion aqui:

http://www.create.ucsb.edu/~dano/CUI/#Sec3


En cuanto a lo que quieres hacer, lo mejor es que mires el proyecto J1M, en el subforo de proyects, se llama PicUSB.

Tutoriales y proyectos de electrónica

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
RE: Proyecto con 18F2550
« Respuesta #4 en: 11 de Febrero de 2006, 17:00:00 »
Creo que (o al menos no he encontrado el como...) el PIC no le puede decir al PC que quiere hacer "x cosa" y esto es debido a que el USB del PIC actúa como esclavo, por lo que solo "trabajará" cuando el "master" que es el PC, se lo ordene... Si el PC tuviera que estar bajo las "ordenes" del PIC creo q no tendría sentido la jerarquía Master-Esclavo...

Creo que la solución a tú problema es que el PC lea cada "x" tiempo del PIC (en el PIC se produciría una interrupción para atender al Master).

Quizá esté equivocado y en el PC se pueda saber cuando el Esclavo está tratando de enviarle información al Master, produciendose una interrupción en este.. Yo la verdad aún no he conseguido ver en ningún lado como hacer esto (en ningún lenguaje Enfurruñado) Si encuentras algo al respecto me gustaría que lo pusieras x aquí o en el hilo del PicUSB.

X cierto le has exado un ojo a esto?:
http://www.beyondlogic.org/usbnutshell/usb1.htm

saludos!


EDITO: Lo mismo me tengo que retractar de mis palabras, exale un ojo a esto, a ver si con tiempo lo estudio mas a fondo.
http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=F444FC9ECBEF26DEE0340003BA7CCD71&p_node=DZ52363&p_source=external


Desconectado TheNeXuS

  • PIC10
  • *
  • Mensajes: 3
RE: Proyecto con 18F2550
« Respuesta #5 en: 12 de Febrero de 2006, 10:41:00 »
Gracias J1M, te cuento que estoy basandome en tu PicUSB para armar mi proyecto.

Te amplio un poco mas, mi idea es hacer un archivador de CD/DVD motorizado, conectado a la PC por USB pero funcionando en forma independienete tambien.

Por ahora lo basico que tengo pensado hacer es ver si entran datos por el USB y en base a la orden que ingresa, buscar el CD y sacarlo por la bandeja.

Para la forma independiente tengo pensado usar un par de botones, un display de 7 segmentos y un boton de orden.

Ya tengo el PIC y me esta por llegar el programador, en cuanto tenga algo, publico el fuente (CCS) para ver si voy en la direccion correcta.

Saludos a todos y gracias otra vez.