fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

Proyecto entrenadora multi-micro economica

66 Respuestas
8 Usuarios
0 Reactions
34.5 K Visitas
dragonet80
Respuestas: 1328
Topic starter
(@dragonet80)
Ardero
Registrado: hace 18 años

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:
Prototip superior 01

* Misma vista superior sin flash (sale algo borrosa):
Prototip superior 02

* 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:
Prototip inferior

Características del sistema entrenadora multi-microcontrolador:

  • * Zócalo para conexión de micros de hasta 64 pines. Se trata de un conector hembra de 2x30 más otro de 2x2 para la alimentación (5V+GND y 3,3V+GND). Ningún micro de 64 pines necesita más de 60 de entradas/salidas ya que varios son siempre de alimentación.
    * 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:

  • 1) Se pincha el zócalo del micro a utilizar en la entrenadora.
    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.

  • Elegimos este formato ya que permite usar micros de hasta 64 pines fácilmente y cabía en la placa de 10x15 cm. Tiene la fexibilidad de que es independiente del tamaño y formato del micro, se puede usar tanto en micros dip, como smd, grandes y pequeños, y ocupa un espacio bastante reducido. Los formatos a cuatro lados (tipo microchip o mikroelectronica), si bien facilitan el ruteo de pistas y soldadura, limitan mucho el modelo de micros y aumentan el espacio perdido por el conector.
  • 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.

    Responder
    65 respuestas
    jmn
    Respuestas: 376
     JMN
    (@jmn)
    Ardero
    Registrado: hace 13 años

    dragonet y ya que tienes en mente el proyecto de la entrenadora, no sería lógico hacer tutoriales?

    Es este hilo hablan de un curso de entrenadora por 300 euros: http://foro.webdearde.com/viewtopic.php?t=4328&p=42404#p42404 " onclick="window.open(this.href);return false;

    Si la entrenadora que tienes de bajo coste la documentas con tutoriales, pues lo mismo puede ser bueno para el proyecto, si hay gente dispuesta a pagar ese precio de 300 euros más les interesará ésta.

    Voy a ver si te miro hoy el eagle que ando con demasiadas cosas x_x

    Responder
    jmn
    Respuestas: 376
     JMN
    (@jmn)
    Ardero
    Registrado: hace 13 años

    El esquema lo veo bien, lo único añadir el filtrado en AVcc, muchos arduinos no lo hacen (la última versión de leonardo si lo lleva, un filtro con una L y un C) pero es conveniente hacerlo.

    Creo que usar GND en lugar de Vss es menos confuso para mucha gente.

    Voy editando este mensaje según vaya viendo cosas:
    21.5 Design Guidelines
    Serial resistors on USB Data lines must have 22Ω value (±5%)
    Traces from the input USB receptable (or from the cable connection in the case of a tethered device) to
    the USB microcontroller pads should be as short as possible, and follow differential traces routing rules
    (same length, as near as possible, avoid via accumulation)
    Voltage transient / ESD suppressors may also be used to prevent USB pads to be damaged by external
    disturbances
    Ucap capacitor should be 1μF (±10%) for correct operation
    A 10μF capacitor is highly recommended on VBUS line

    El condensador C16 de VBUS lo puedes poner mcuho más cerca, en el datasheet recomienda 10 uF (en leonardo lo llevan de 100 nF cerca y 10 uF más lejos). En vinciduino llevamos el de 1 uF cerca del pin y luego 10 uF más lejos.

    C16 lo tienes conectado a un pin de Avcc y a Vbus, no lo pondría así, mejor añade el filtro con una L y si no lo haces pon un condensador para cada uno. Es decir que el condensador de Vbus no se comparta con la parte analógica, añadiría el filtro con L.

    En el pin 2 también se puede añadir otro condensador de 100 nF.

    En el pin 44 AVcc se puede poner otro condensador de 100 nF.

    El resto de conexiones parecen estar bien, icsp y d+ y d-.

    A lo mejor sería conveniente añadir una resistencia en serie con los pines D30 y D17, por aquello de que no hay leds, no sea que los utilicen como entrada y al descargar un programa mediante el bootloader éste los use como salida, cortocircuitando lo que haya conectado a la entrada.

    De todas formas me gustaba más la idea inicial, puedes pinchar una placa con un Atmel con el bootloader de Arduino, si le grabas un bootloade de Arduino a la que tienes de Atmel la entrenadora ya es compatible con ésta, no sé, me gustaba más la idea principal de entrenadora ampliable a cualquier micro, incluyendo compatibilidad con Arduino.

    Responder
    dragonet80
    Respuestas: 1328
    Topic starter
    (@dragonet80)
    Ardero
    Registrado: hace 18 años

    Muchas gracias por tu ayuda JMN!

    Lo del filtro en AVcc lo iba a poner, pero como en tu plaquita adaptadora del AVR no lo usabas y mirando rápidamente el datasheet del micro en la figura 21.3.1 no lo ponen pensé que no hacía falta. Ahora, con lo que me dices me he vuelto a mirar el datasheet y en el punto 2.2.17 indica que si no se usa el ADC se conecta directamente a Vcc pero si se usa hay que poner el filtro paso bajo. Así que tienes razón, mejor ponerlo.

    Me he dado cuenta que moviendo el botón de reset y los conectores de +3,3V y 5V hacia arriba puedo poner el conector mini-USB también más arriba, así se acortan bastante las pistas. El conector exterior de los pines USB lo he eliminado, ya que lo monopoliza el AVR y no creo que tenga sentido ya.

    Todas las demás sugerencias me las iré mirando poco a poco a ver como queda, que no son pocas!

    Otra cosa que creo que añada es un conversor de niveles 3,3V <-> 5V por si hace falta para comunicar el AVR con un micro de 3,3V. No sé si hacermelo con mosfets o buscar un micro en soic de los que ya lo hacen.

    Respecto a que te gustaba mas la idea inicial, decirte que sigue siendo la misma. La función principal de la placa es una entrenadora para cualquier tipo/marca de micro. El que tenga un AVR ya integrado es un añadido, para mi muy interesante, que le abre un abanico muy grande de posibilidades.

    Voy a seguir con los cambios.

    Responder
    dragonet80
    Respuestas: 1328
    Topic starter
    (@dragonet80)
    Ardero
    Registrado: hace 18 años

    Respecto a los condensadores para AVcc tengo un poco de lío. ¿Hay que poner uno en cada pin (24 y 44)? ¿O con uno en cualquiera de los dos ya basta? Se me hace un poco raro que el micro tenga dos pines de AVcc.

    Y del C16 que me comentas, si te fijas en el esquemático, no está conectado a VBus sinó a AVcc... Yo uso la libreria de Sparkfun para el ATMega32U4, ¿a ver si tu tienes otra versión y por eso te sale en otro pin?

    El condensador en VBus, ¿te refieres al C18? Lo cogí de tu esquema también. No acabo de ver hacia donde hay que acercarlo. Está bastante cerca ya del conector mini-USB, no creo que pueda acercarlo más ya que antes está el PTC que usas tu para proteger. ¿O te refieres a que tiene que estar cerca del AVR?

    Responder
    jmn
    Respuestas: 376
     JMN
    (@jmn)
    Ardero
    Registrado: hace 13 años

    En cada pin de alimentación, ya sea de Vcc o AVcc, yo pongo un condensador de desacoplo por pin lo más cerca posible de éste, por lo que pondría uno cerca de cada pin 24 y 44, en mi placa creo que hay condensadores en todos los pines de alimentación, lo único que falta es la inductancia para filtrar AVcc.

    En el layout actual, cerca del pin VBUS del micro, pin 7, no tienes ningún condensador de desacoplo cerca del pin, pon uno de 100 nF (en vinciduino está puesto de 1 uF). Me refiero a que el condensador de desacoplo más cerca de VBUS es C16, que está para AVcc como dices, es decir que el pin VBUS no tiene condensador de desacoplo.

    Mi esquema del diodo y ptc está como en vinciduino, C18 es para cuando se alimenta desde el USB, cuando no se alimenta desde el USB o el diodo no conduce este condensador no está, por lo que según el datasheet habría que poner también uno de 10 uF en la línea VBUS, supongo que no pasa nada porque este condensador esté un poco lejos del pin pero siempre dejando la huella para uno de desacolplo pegado al pin. Arduino en Vbus tiene uno de 100 nF y 10 uF, echale un ojo al layout a ver cómo los han colocado, si me da tiempo luego lo veo yo tb a ver si dice algo en el datasheet.

    desde mi punto de vista te falta filtrar la parte analógica y añadir un condensador de desacoplo cerca de cada pin de alimentación del micro.

    Responder
    Página 11 / 14
    Compartir: