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.




