Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Buenas, UCfort y yo hace tiempo que trabajamos en un proyecto que queremos compartir con todos vosotros.
Se trata de un sistema de placa entrenadora y adaptadores de diferentes micros para poder probar esos microcontroladores de diferentes fabricantes, a diferentes voltajes (5V y 3,3V de momento). Adjunto los originales de la última versión de la placa, además de con los adaptadores de algunos micros y unas fotos de uno de los prototipos (el último que hicimos) ya funcionando perfectamente.
¿A quien no le gustaría tener una o varias placas entrenadoras tan completas como las de mikroElectronica? Pero por tamaño y precio no era lo que queríamos. Además suelen ser específicas de un fabricante (y/o modelos). Con todo eso en mente, os expongo las ideas básicas que nos llevaron a hacer esta placa:
1) Necesitabamos una placa para probar diferentes microcontroladores. Muchos de ellos son de Microchip, pero no siempre. Algunos necesitan una alimentación a 5V y otros a 3,3V.
2) Nos fijamos como límite de tamaño una placa comercial de 10x15 cm, positiva, a una sola cara. Solemos trabajar con ese tamaño, ya que es fácil encontrarlo en cualquier tienda de electrónica. No queríamos que fuera de doble cara para que resulte más senzillo de fabricar a la gente no muy experta.
3) Limitamos el número máximo de pines del micro a 64 pines.
4) La placa tenía que tener los componentes mínimos necesarios para probar las funciones básicas de un micro y que nosotros (hobistas de la robótica) utilizamos, pero sin elementos opcionales que encarezcan o compliquen la placa.
5) Constaría de dos partes: la entrenadora y el módulo adaptador del microcontrolador. De esta forma el micro es independiente de la entrenadora y se puede usar cualquiera siempre que cumpla las especificaciones de la entrenadora y a través de un módulo adaptador.
6) Los pines de programación/debuger irían siempre en el zócalo adaptador, nunca en la entrenadora.
7) Debía ser una placa de fácil construcción y económica. Se utilizarían componentes thru-hole o smd fáciles de obtener y soldar.
Con estas premisas, y después de numerosos rediseños y modificaciones, hemos llegado a algo así:
* Vista superior con un módulo de dspic30F4011 pinchado:
* Misma vista superior sin flash (sale algo borrosa):
* Vista inferior sin ningún módulo. Se observan los reguladores de voltage, el interrutor on/off y el potenciómetro para regular el brillo del display:
Características del sistema entrenadora multi-microcontrolador:
* Zona de prototipado con dos mini-breadboard pegadas a la placa. Disponibles connectores hembra de Tensión de alimentación, 5V, 3,3V y GND. Está pensada para utilizarse con cablecillos macho-macho.
* Connector alimentación tipo Jack y espadin normal (para conectar directamente una LiPo pequeña, por ejemplo).
* Interruptor de encendido/apagado.
* Display lcd de 8x2. Como el que monta el robot 3pi de pololu, también disponible por ebay. Por falta de tiempo es el único componente que no hemos comprobado que funcione correctamente, espero que lo haga!!
* 9 pulsadores. La alimentación se puede elegir por medio del conector hembra.
* Zócalo para driver tipo MCP19E4 o similar. Este dirver mosfet (se puede pedir gratuitamente como sample a Microchip) se puede usar directamente para controlar motores como los pololu HP utilizados en los robots velocistas o para atacar cargas que necesiten más potencia (relés, mosfets, por ejemplo).
* Dip-Switch de 4 pines. La alimentación se puede elegir por medio del conector hembra.
* Dos potenciómetros, para simular entradas analógicas. La alimentación se puede elegir por medio del conector hembra.
* Un zumbador piezoeléctrico. Funciona directamente conectandole la salida de un pin del micro.
* Ocho leds de 3mm.
* Un led RGB.
* Un zócalo hembra de 2x2 pines con un led para probar directamente los sensores cny70. Con una plaquita adaptadora se podría utilizar para probar otros sensores similares pero en encapsulado smd.
Funcionamiento de la placa:
2) En el zócalo se elige, con un jumper, el voltage que utilizará el micro (5V o 3,3V).
3) Se conecta la alimentación a la entrenadora.
4) Se enciendo con el interruptor.
5) Se conectan los cablecillos macho-macho a los diferentes elementos de prueba (protoboard, interruptores, leds, etc).
Nota) La placa no necesita el módulo del micro para funcionar. Se puede usar para probar componentes, sensores, etc sin necesidad de tener ningún micro insertado.
Justificación del formato del conector del zócalo adaptador: 2x30 pines en un solo lado.
Y aquí dejo los ficheros comprimidos en rar para quien los quiera revisar/probar, todos en formato Eagle (placa+esquemático. No se si se abren con la versión sin registrar...):
Entrenadora: https://dl.dropbox.com/u/14855888/Entrenadora/entrenadora.rar
Adaptador dspic30-smd-44 pines: https://dl.dropbox.com/u/14855888/Entrenadora/adaptador44_dspic30F.rar
Adaptador pic16F877-th-40 pines: https://dl.dropbox.com/u/14855888/Entrenadora/adaptador40_16F877.rar
Adaptador dspic30F4013-th-40 pines: https://dl.dropbox.com/u/14855888/Entrenadora/adaptador40_30F4013.rar
Adaptador propeller-40 pines: https://dl.dropbox.com/u/14855888/Entrenadora/adaptador40_Propeller.rar
Adaptador dspic33ep256mu806-64 pines: https://dl.dropbox.com/u/14855888/Entrenadora/adaptador28_33EP64MC502.rar
Adaptador atmel-at90-8515-40 pines: https://dl.dropbox.com/u/14855888/Entrenadora/adaptador40_AT90-8515.rar
Adaptador atmel-at90-8535-40 pines: https://dl.dropbox.com/u/14855888/Entrenadora/adaptador40_AT90-8535.rar
Cambios/mejoras/actualizaciones previstas a corto plazo:
1) Esta versión está específicamente pensada para hacerse la placa uno mismo en casa y a una sola cara. Tenemos previsto hacer un modelo para enviar a producir profesionalmente, tanto de entrenadora como de adaptadores, ya sea en iteadstudio o en cualquier otro fabricante económico de placas. Hay que cambiar todo el ruteado de pistas y vías, cambiar algunos componentes thru-hole por smd, puede que resituar alguno, preparar la serigrafía, etc.
2) En la parte central queda espacio vacío (aunque está bien que donde irá "la maraña" de cables esté despejada) que quizá se podría aprovechar para poner algún componente más. Zócalo X-bee quizás? Display 7 segmentos (con driver? sin driver? cuantos dígitos?)
3) Otra idea es añadir un conector usb (normal?, mini?, micro?) para alimentar la placa por si se usa con un ordenador y no se tiene fuente de alimentación a mano.
4) Hacer adaptadores para otros micros. Hay muchos pendientes, en diversos tamaños, encapsulados y fabricantes. Incluso se podrían hacer adaptadores para pinchar directamente arduino nano, mbed, microstick, etc, etc.
5) Donde va el conector de 2x30 de los pines del micro hacia la zona de componentes (no el de la izquierda donde se pincha el zócalo adaptador, sinó el que está al lado, pero un poco más a la derecha) hay espacio para poner una plantilla de papel con los nombres de cada pin que usa ese micro con ese zócalo en concreto. No se si esto queda muy claro, cuando tenga tiempo de hacer una, le hago una foto y la subo también.
6) Quizá añadir otro/s regulador/es de voltage para abarcar a micros de bajo voltaje?
Nos gustaría recibir vuestros comentarios, críticas, sugerencias, etc. El ánimo de este proyecto es que sea open source hardware (cc-by-sa). Que cualquiera pueda fabricarse las placas en casa o pedirlas a un fabricante. Que se pueda usar en casa o en colegios/institutos para hacer prácticas.
Como véis aun quedan muchas cosas por pulir, mejorar y hacer. Si alguno se anima a participar/ayudar, nosotros estaríamos encantados.
Hola,
Un par de mejoras que podría ir bien:
- Conector para placas de expansión: no hace falta que lo montéis todo en la misma pcb, si ponéis conectores para poder expandir las características.
- Conectores de servo: hay muchos módulos de sensores y actuadores que utilizan este tipo de conector además de los servos, añadir unos cuantos estaría bien.
- Conector para shields de Arduino.
- Canales de comunicaciones predefinidos: poner en pines específicos los canales de comunicaciones más usados: I2C, RS232, SPI, etc. (Creo que os hará falta una conector más grande para ello, pero tendréis que mirarlo).
- Compatiblizarla con la entrenadora que hice en su día ( http://wiki.webdearde.com/index.php?title=Proyecto_Entrenadora " onclick="window.open(this.href);return false; ), así se podrán usar los módulos que ya están hechos.
S2
Ranganok Schahzaman
PD: si reducís algo de tamaño las fotos se verá mejor.
Hola, gracias por el comentario, Ranganok.
UCfort tenía razón, cuanto más escribe uno menos se entienden las cosas, así que miraré de explicarlo resumidamente:
* No necesita ningún tipo de conector de expansión dedicado, en la placa tienes 6 conectores hembra de la alimentación externa, otros 6 de 5V y 6 de 3,3V además de 12 de GND. Si se quiere usar una placa de ampliación (giróscopo, acelerómetro, sensor temperatura, memoria SD, etc, etc) lo único que hay que hacer es conectar los dos pines de alimentación de una placa a la otra y los pines de datos que sean necesarios. Crear un conector específico sería limitar la placa y perder flexibilidad, ya que nunca se usa el mismo tipo de conexión en ningún sensor/circuito/placa.
* Los conectores de servo podrían ser una buena opción para el lugar que queda libre, aunque nosotros no los solemos usar, por eso no estaban. Aunque pueden generar problemas debido a la alimentación que necesitan, los servos suelen consumir bastante y, los normales, no puedes conectarlos a 7V u 8V que sería lo normal en la alimentación externa. Un par de servos de 9g sí que los podria aguantar perfectamente a 5V.
* Los shields de arduino era una de las ideas para cambios/mejoras/actualizaciones, aunque ahora me fijo y no lo puse. Pero no para pincharla donde va el zócalo adaptador de micros, sinó que sería una placa independiente con la posibilidad de alimentarla de la entrenadora. Realmente para algunas shield que ya tienen conectores hembra en la parte superior, como, por ejemplo: https://www.sparkfun.com/products/9026? , no hace falta ningún tipo de adaptador ni conector.
* Los pines específicos para comunicaciones era algo que teníamos en las primeras versiones, pero que acabamos descartando. Cualquier placa de sparkfun, pololu, seeedstudio, etc viene con (o preparados para soldarlos) los pines en formato espadin hembra o macho. Así que todo puede conectarse directamente con los cablecitos macho-macho o macho-hembra. Así de fácil.
* Si te interesa hacer un adaptador de tu placa a esta yo te recomendaría que hagas una placa que directamente una los conectores de 5x2 a una tira de pines (puede ser una larga y simple o una más corta doble) y que unas las masas y alimentación por otro lado. Más o menos como el zócalo en la primera y segunda foto que puse. Pero casi que ni tienes que hacer eso, usas cables hembra-macho y solucionado, puedes conectar directamente tu placa a la entrenadora. Si es que al final, con este sistema es todo muy sencillo. Por si alguien no tiene claro de que cables hablo, son estos: http://www.bricogeek.com/shop/cables/423-set-de-cables-m-h-10-unid.html (hay macho-macho, macho-hembra y hembra-hembra).
Realmente toda la entrenadora se podria hacer a base de pequeños módulos separados en vez de una placa de 10x15. Pero pensamos que ésta seria una base por donde empezar, con las funcionalidades mínimas y más básicas. Alguien ve que se le pueda añadir otra función que se use mucho, a parte de los servos? y que quepa en el espacio libre que ahora tiene?
Se le podría añadir dos entradas más analógicas: un LDR para medir la luz de ambiente y un divisor resistivo para comprobar si la batería tiene el voltaje correcto o se está gastando.
Como salida, ¿quizá un relé?
Buen trabajo.
Hola y gracias sistemasorp.
La LDR, te refieres a dejarla fija en la placa, como elemento básico? Bueno, es algo que ocupa muy poco y se podría poner en cualquier lugar.
El divisor resistivo para medir voltaje del micro también lo habíamos puesto en las primeras versiones, pero lo quitamos porque al ser solo dos resistencias se podía hacer perfectamente en la placa protoboard.
El relé sí que ocupa bastante espacio, pero creo que redistribuyendo un poco el espacio (poner el driver para motor donde ahora va el led rgb) quizá quepa bien.
También decir que, como dejé los fuentes, cualquiera puede modificarla y configurarla a su gusto y/o necesidades.