Autor Tema: Entrenador para PIC32  (Leído 18885 veces)

0 Usuarios y 7 Visitantes están viendo este tema.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Entrenador para PIC32
« en: 23 de Enero de 2013, 20:18:31 »
Hola:


Me presento por aquí por primera vez, aunque de vez en cuando os he leido.
Quiero enseñaros el entrenador para PIC32 que estoy diseñando, aunque se podría usar para cualquier PIC.
Desde hace tiempo solo utilizo PIC32 y ocasionalmente algún PIC24 o dSPic, para hacer pruebas utilizo la tarjeta Explorer16 de Microchip y la I/O expander también de Microchip.

He decidido diseñar mi propio entrenador, porque siempre echo en falta lo mismo en todas las placas de entrenadores que he visto, incluso en las de Mikroe que son de las más modulares que hay, sigo echando en falta determinadas características.

Basicamente, necesito que el entrenador tenga accesibles todos los puertos de manera muy clara e intuitiva, cada pin de cada puerto debe de estar disponible en placa con varios pines para poder conectar dispositivos que comparten el mismo pin (redes I2C, SPI, bus de datos común, etc..), en mi placa he puesto cada puerto 5 veces con tiras de pines de 2.54mm. Otra cosa que no me gusta es que hayan dispositivos en placa, preconectados a determinados puertos de manera que tengas que usar esos puertos obligatoriamente, todos los puertos deben de estar libres para conectarlos a lo que queramos. Disponer de tiras de pines con voltajes de 3.3v, 5v y 12v, además de masa. En mi caso uso mucho el puerto USB y las tarjetas Micro SD, por lo que he puesto ambos conectores, en el caso del USB uno para modo Device y otro para modo Host.

Como zócalo para conectar los PIC, he usado el formato PIM de Microchip, que consiste en 4 tiras de 25 pines de paso 1.27mm, como ya tengo varias de estas mini tarjetas con varios PIC32, PIC24 y dSPIC, me viene muy bien. Se podrían diseñar tarjetas adicionales con esta configuración que lleven zócalos DIP de 8, 16, 24, 40 pines... para conectar PIcs pequeños o micros de otros fabricantes, aunque no descarto añadir esos zócalos en el propio entrenador

Como dispositivos de trabajo en placa, creo que los únicos universales que se usan con frecuencia, son los LED y los pulsadores, el resto mejor hacer pequeñas placas según necesidades. En mi entrenador he puesto 16 pulsadores en dos bloques, se puede seleccionar con jumpers el estado del pulsador sin pulsar y pulsado, 16 leds también configurables en este caso individualmente, con jumpers para seleccionar si se encenderán con el puerto a nivel alto o a nivel bajo. La conexión de los pulsadores o LEd a los puertos, se hará con cables hembra-hembra individuales de paso 2.54mm como los que se usan para conectar placas Arduino o protoboard, de esta manera se podrá conectar individualmente cada led o pulsador que necesitemos al puerto que queramos.

Hay dos cuarzos en placa, uno de 8Mhz y otro de 32khz, ambos se pueden desconectar o conectar con jumpers, para poder usar esos puertos si queremos usar el oscilador interno. El tarjetero Micro SD también se puede desconectar o conectar con jumpers. El puerto ICSP es configurable con jumpers para elegir entre 2 posibles lineas para PGEC y PGED.

Estoy mirando si añado un puerto Ethernet con un conector RJ45 y un controlador DP83848. En la parte baja de la placa, es posible que ponga un LCD de 2x16, ahora en esa parte no hay nada, y para aprovechar el espacio, he puesto en la capa tPlace la impresion de los pines correspondientes a cada uno de los puertos SPI, I2C, interrupciones y CN. Si pongo el LCD, esta información la imprimiré en la otra cara de la placa, porque me resulta fundamental, y al final siempre pierdo el tiempo buscando y mirando el datasheet.

De añadir algo al diseño actual, sería un puerto Ethernet con RJ45, un LCD de 2x16, zócalos DIP para micros pequeños, zócalo DIP de 8 pin para Eeprom I2C y Serie. Podría reemplazar los LED por una matriz de 8x8, o por dos, una ánodo común y otra cátodo común.



Os dejo unas imágenes del diseño en Eagle.













 





Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Entrenador para PIC32
« Respuesta #1 en: 23 de Enero de 2013, 20:41:38 »
Felicitaciones! Tremendo proyecto  ((:-)) Que tamaño tendrá la placa?

Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Entrenador para PIC32
« Respuesta #2 en: 23 de Enero de 2013, 21:37:15 »
Hola Planeta!!! bienvenido al foro!  :mrgreen:

Me agrada tu diseño, y que tenga conectores de sobra!... queremos ver fotos cuando este terminado!!!  :-)
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Entrenador para PIC32
« Respuesta #3 en: 24 de Enero de 2013, 01:31:38 »
¡Menudo placón!

Felicidades, buen trabajo.

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: Entrenador para PIC32
« Respuesta #4 en: 24 de Enero de 2013, 07:11:47 »
excelente trabajo.lastima que esas placas tan grandes sean tan dificiles de realizar por nosotros mismos.no es facil que te salgan a la primera y menos a doble cara.
yo si tubiera que hacer un entrenador lo haria por modulos.

es decir.una placa central donde iriamos pinchando otras placas que necesitasemos para practicar.asi no tendriamos que realizar una placa tan grande.
mas bien como la placa madre de un PC al cual le pincharamos la targeta que nos hiziese falta.

y algun que otro conector para cable plano.por si utilizaramos teclados.

Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado samshiel_pic

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 777
    • Electrónica·Ingenia
Re: Entrenador para PIC32
« Respuesta #5 en: 24 de Enero de 2013, 10:45:03 »
 ((:-)) ((:-)) ((:-)) valla paliza hacer una placa de esas dimensiones. Muy buen diseño. Comparto tu opinion de que no me gustan las entrenadoras que vienen con el hardware (como LCD) en la placa sin posibilidad de utilizarlo de otra manera.
Bienvenido al foro y felicitaciones!!!

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Entrenador para PIC32
« Respuesta #6 en: 24 de Enero de 2013, 17:14:32 »
Felicitaciones! Tremendo proyecto  ((:-)) Que tamaño tendrá la placa?

Saludos!

Gracias.
Esta placa mide 21.5 x 17cm, pero he creado un nuevo diseño, lo pongo más abajo, la nueva mide 21 x 14cm, aunque es posible que aún añada alguna cosilla más.

salu2

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Entrenador para PIC32
« Respuesta #7 en: 24 de Enero de 2013, 17:16:30 »
Hola Planeta!!! bienvenido al foro!  :mrgreen:

Gracias.

Citar
Me agrada tu diseño, y que tenga conectores de sobra!... queremos ver fotos cuando este terminado!!!  :-)

En cuanto tenga el diseño definitivo, envío los Gerber por email al fabricante, y espero tenerla en una semana.
De todas formas he cambiado el diseño, le estuve dando muchas vueltas sobre los pines compartidos y lo he rediseñado todo, lo pongo más abajo.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Entrenador para PIC32
« Respuesta #8 en: 24 de Enero de 2013, 17:17:50 »
¡Menudo placón!

 :-)

Citar
Felicidades, buen trabajo.

Gracias.
« Última modificación: 24 de Enero de 2013, 17:32:04 por planeta9999 »

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Entrenador para PIC32
« Respuesta #9 en: 24 de Enero de 2013, 17:31:35 »
excelente trabajo.lastima que esas placas tan grandes sean tan dificiles de realizar por nosotros mismos.no es facil que te salgan a la primera y menos a doble cara.

En mi caso no es problema, tengo un amiguete chino que me hace todas las placas, por complicadas que sean, he hecho incluso alguna con 4 capas, pistas superfinas y un puñado de vías.

Estas son algunas de las placas que me hizo el año pasado, también me hizo el Stencil en acero sobre marco de aluminio:












Citar
yo si tubiera que hacer un entrenador lo haria por modulos.
es decir.una placa central donde iriamos pinchando otras placas que necesitasemos para practicar.asi no tendriamos que realizar una placa tan grande.
mas bien como la placa madre de un PC al cual le pincharamos la targeta que nos hiziese falta.
y algun que otro conector para cable plano.por si utilizaramos teclados.

Si, esa filosofía la ha aplicado Microchip en su placa I/O Expansion.



Mi idea es que sea modular, pero teniendo unos dispositivos básicos en la propia placa, como los LED, switches, conector USB, Micro SD, cuarzos, conector ICSP, y también le he añadido en la nueva versión un LCD de 2x16, una eeprom SPI y una eeprom I2C. Es posible que también añada un puerto Ethernet y un conector de 4 pines conectado a la UART para pinchar un módulo bluetooth.






« Última modificación: 24 de Enero de 2013, 20:52:07 por planeta9999 »

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Entrenador para PIC32
« Respuesta #10 en: 24 de Enero de 2013, 18:01:27 »
Buenas de nuevo:


He rediseñado la placa, después de estar dándole vueltas al tema de los puertos compartidos. En el anterior diseño puse cada puerto con 5 tiras de pines para poder compartir cada pin hasta con 5 dispositivos a la vez, pero pensándolo mejor creo que no hacen falta tantos si se racionaliza. El tema es en que casos puede ser necesario compartir un pin con varios dispositivos, solo se me ocurren 3 casos, que serían un bus I2C, un bus SPI y un puerto paralelo (el típico de 8 bits) que podría tener también alguna linea de control común (reloj, reset...).

He añadido un LCD de 2x16, una eeprom SPI y una eeprom I2c. Todos los pines, salvo los de alimentación, en el LCD y las eeprom, son accesibles en tiras de pines macho de 2.54mm, para conectar con cables hembra-hembra a los puertos que queramos. Es posible que añada también un puerto Ethernet y un conector de 4 pines conectado a la UART para pinchar un mini módulo bluetooth.

El nuevo diseño de la placa, el anterior lo he guardado y lo he copiado a uno nuevo para modificarlo:






En la siguiente foto está la parte que más ha cambiado del diseño, el tema de los puertos compartidos, ahora hay un solo bloque de puertos (A a G), cada uno con una tira de 16 pines. A la derecha los conectores para compartir pines en cada tipo de bus (Paralelo, SPI e I2C).

El paralelo es muy simple, tiras de 8 pines para el bus de datos y tiras de 3 pines para 3 posibles lines de control compartidas (normalmente habrán como mucho 1 ó 2, reloj y/o reset). La primera tira vertical (D0 a D7) se usa para conectar con cables hembra-hembra a los puertos que queramos del bloque central. Una vez conectados, en el resto de tiras (todas conectadas en paralelo) tendremos ese bus para poder conectar hasta 7 dispositivos.

El bus SPI, tiene los cuatro puertos SPI de los PIC32, los 4 bloques de tiras de pines de 2x4, se usan para seleccionar con jumpers el puerto a usar. Por ejemplo para usar el puerto SPI-3, solo hay que poner los 4 jumpers en el bloque 3, a partir de ese momento las 4 lineas (MOSI, MISO, CLK y CS) están disponibles en las 8 tiras de pines que hay bajo, la primera tiene el CS del puerto y las lineas comunes, el resto solo las lineas de transmisión y reloj (MOSI, MISO, CLK), cada placa adicional tendrá que conectarse con un cable hembra-hembra a un pin del bloque central para tener un CS único por placa. Se pueden conectar hasta 8 dispositivos compartiendo el mismo bus.

Para el I2C, lo mismo, los PIC32 tienen hasta 5 puertos I2C, en la placa hay 5 bloques de 2x2. Poniendo 2 jumpers en el bloque I2C que queramos usar, tendremos las lineas SDA y SCL en las tiras de pines que hay bajo (9 tiras de 2 pines), para conectar hasta 9 dispositivos I2C en el mismo bus.







« Última modificación: 24 de Enero de 2013, 18:07:37 por planeta9999 »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Entrenador para PIC32
« Respuesta #11 en: 24 de Enero de 2013, 19:16:59 »
¿Quien es tu fabricante chino?

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Entrenador para PIC32
« Respuesta #12 en: 24 de Enero de 2013, 19:34:10 »
Muy buen proyecto.

En mi caso, prefiero tener la alimentación (Vdd y Gnd) en el propio puerto junto a las señales. De esa manera con un simple cable múltiple puedo acoplar el módulo al puerto con alimentación incluída.

Este es un ejemplo de un controlador PWM de motor de corriente continua con un módulo analógico con potenciómetros para controlar la velocidad y un display LCD para visualizar la velocidad y otros parámetros.
Además arriba a la derecha está el conversor RS232-TTL para conectar la placa al PC.

Pinchar para ampliar


Saludos.
« Última modificación: 24 de Enero de 2013, 19:36:13 por Picuino »

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Entrenador para PIC32
« Respuesta #13 en: 25 de Enero de 2013, 18:58:09 »
¿Quien es tu fabricante chino?


No se como se llama su empresa, el es Xi Yongfeng, y lo conocí casualmente a través de un distribuidor chino al que le compraba productos de automoción. Este chino tiene una fábrica de circuitos electrónicos, principalmente fabrica productos de automoción (máquinas de diagnosis, potenciación de motores, codificación de llaves, etc...).

Lo conozco desde hace 9 años, y mantenemos contacto frecuente a través de Messenger, nos hacemos favores mutuamente, cuando el necesita algún producto europeo yo se lo compro y se lo envío a China, y el me está ayundado bastante fabricandome las placas y los stencil para mis diseños, que no son circuitos de aficionado para cacharrear en casa, la mayoría de las cosas que estoy diseñando son para comercializarlas en el mercado norteamericano, una aventura que he comenzado hace algunos meses, y que ya veremos como termina.

Conozco a un montón de empresas chinas, que fabrican tanto placas como producto acabado, y aunque son infinitamente más baratos que cualquier fabricante europeo o americano, con mi amiguete chino, por el momento todos los prototipos me han salido gratis.

Este entrenador para PIC32 me va a venir muy bien para poder probar mis diseños de manera más cómoda, pero es probable que lo comercialice cuando lo tenga bien depurado e incluya todo lo que buscamos en un buen entrenador de microcontroladores. Ahora mismo tengo una tanda de unos 10 diseños para enviar a China, para hacer los PCB y los stencil, montar prototipos, desarrollar los programas en C, y ofrecer a distribuidores..

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Entrenador para PIC32
« Respuesta #14 en: 25 de Enero de 2013, 19:03:52 »
Muy buen proyecto.

En mi caso, prefiero tener la alimentación (Vdd y Gnd) en el propio puerto junto a las señales. De esa manera con un simple cable múltiple puedo acoplar el módulo al puerto con alimentación incluída.

Este es un ejemplo de un controlador PWM de motor de corriente continua con un módulo analógico con potenciómetros para controlar la velocidad y un display LCD para visualizar la velocidad y otros parámetros.
Además arriba a la derecha está el conversor RS232-TTL para conectar la placa al PC.

Pinchar para ampliar


Saludos.


Esa filosofía de mover por bloques con cables planos está bien cuando tanto el entrenador como la placa están emparejados, conectar y a funcionar, es muy cómodo. El problema viene cuando quieres probar tu entrenador, con otras placas no hechas por tí, en ese caso mover cables individuales es lo ideal.

Un sistema modular sin cables, es el MicroClick  de Mikroe, pero te quedas con un sistema cerrado y propietario, con placas conectadas a puertos fijos, lo que te obliga a desarrollar el código fuente con esos puertos obligatoriamente, a mi personalmente no me gusta, y es uno de los principales problemas que tienen todos los entrenadores, dispositivos conectados a puertos fijos, comodidad versus falta de configurabilidad.