Interfaz experimental para Raspberry PI

Foto de la interfaz terminada

He empezado a estudiar y experimentar con el ordenador mono-tarjeta Raspberry Pi. La primer cosa que me propuse de hacer fue una pequeña interfaz de entradas y salidas para uso general aprovechando el conector de expansión que se encuentra en la tarjeta. El conector, de 26 contactos dispone de una serie de entradas/salidas digitales y también de diversas tensiones de alimentación (3,3V y 5V). Algunas líneas poseen una doble función y por lo tanto pueden ser usadas también como puertos seriales: un SPI, otro I2C y por último un puerto serial asincrónico (tipo RS232). Debido al hecho que el microcontrolador ARM de la Raspberry funciona con 3,3V, todas la entradas/salidas disponibles deben trabajar con esta tensión. Por lo tanto, la interfaz que he proyectado sirve fundamentalmente como adaptador de niveles para permitir su conexión a sistemas que usan 5V.

Diagrama del conector in/out de la Raspberry PI

Como en la casi totalidad de mis proyectos he preferido de evitar el uso de componentes de montaje superficial proyectando la plaqueta para componentes clásicos y con circuito impreso de una sola faz en modo de permitir su realización en modo simple y al alcance de todos.

La interfaz de expansión puede ser dividida en 4 secciones funcionales: el puerto I2C de 5V, el puerto RS232, el puerto de entradas digitales de 5V y por último el puerto de salidas digitales del tipo "a colector abierto" (open colector). Recuerdo a los lectores que esta interfaz es una primer versión de carácter experimental que no aprovecha de todas la entradas y salidas disponibles en el conector de expansión como por ejemplo las líneas SPI (Serial Peripheral Interface) que implementaré en otras versiones y en base a exigencias particulares.

Circuito de la interfaz para Raspberry PI

La sección I2C consiste en un convertidor de niveles de 3,3V a 5V bidireccional. Se compone simplemente de dos transistores mosfet de canal N y 4 resistencias de polarización. Este tipo de convertidor fue publicado en la "aplication note" AN97055 de la Philips con el título "Bi-directional level shifter for I²C-bus and other systems" del 1997.

Para la sección RS232, he usado el MAX3232, una versión particular del famoso adaptador de niveles MAX232 pero que puede trabajar con 3,3V. Es totalmente compatible con el anterior y por lo tanto muy cómodo para usar. Por cuestiones de costo he usado un remplazo: el SP3232 de la Exar que es prácticamente idéntico al MAX2332. El microcontrolador ARM no implementa las líneas de handshaking (RTS, DTR, etc.) por lo tanto no se encuentran disponibles en la interfaz. De cualquier manera, generalmente estas líneas no se usan así que esto no es un gran problema.

Circuito impreso y diagrama pictórico de la interfaz para Raspberry PI

La tercer sección son 3 entradas digitales y aquí simplemente he hecho divisores resistivos compuestos por resistencias de entrada de 4,7K y otras de 10K a masa en modo tal de bajar la tensión de 5V a 3,3V.

La cuarta sección son las salidas digitales y para ellas he optado por un simple transistor NPN con la clásica salida "open colector" que permite la conexión a una amplia gama de dispositivos.

Foto de la interfaz completa

Por cuestiones de simplicidad en la realización del circuito impreso, he agregado dos "puentes" con cable como se observa claramente en los diseños y en las fotografías para distribuir las tensioned de 5V y 3,3V en la plaqueta. La posición y la numeración del conector de 26 pins son idénticas al conector de la tarjeta Raspberry Pi por lo tanto, el montaje del cable "flat" con sus respectivos conectores de 26 pins es muy sencillo.

Fotografía de la Raspberry PI y de la interfaz

He probado las distintas partes de la interfaz siguiendo algunos ejemplos que se encuentran en internet y parece que todo funciona perfectamente. Lamentablemente la información que se encuentra en la red y también los driver softwares disponibles para la gestión de la entradas y salidas son fundamentalmente de carácter experimental. Yo personalmente, me encuentro en una fase de estudio de la Raspberry Pi y no tengo desarrolladas todavía aplicaciones concretas para publicar pero espero poder hacerlo próximamente. Ya el hecho de poder dialogar con la tarjeta en "modo electrónico" es un gran paso adelante.

Fotografía de la Raspberry PI completa

Hasta la próxima!!

 

Los contenidos de este blog son originales y están bajo una licencia Creative Commons BY_NC_SA

Logo de creative commons

9 pensamientos en “Interfaz experimental para Raspberry PI”

  1. Muy pulida ese shield por cierto envidio esos conectores en donde vivo no es posible conseguir de esos 👿 . Por cierto atento en mi lista de feeds para un nuevo articulo.

  2. Hola, promesa mantenida felicitaciones.

    Circuito excelente, una realizaciòn a la portada de todos.

    Auguri y que siga siempre asì.

    SALUDOS

    Hola Carmelo, ahora espero de encontrar tiempo para poder construir algo que sea útil 😉

  3. Sencillamente excelente, por personas como usted es que me emociona la electrónica espero algún día llegar a ese nivel de tener algo en la mente y plasmarlo de una, Felicitaciones.

    Gracias Jimmy!! 🙂

  4. hola sorprendente. solo una pregunta que proyección tiene este proyecto para una cnc o impresora 3d (ya que la Raspberry PI puede contener todos los software que se necesiten) y disculpa el atrevimiento. gracias, solo gracias

    Hola Claudio, la cuestión raspberry es un tema que se encuentra actualmente en fase de desarrollo preliminar. El mayor obstáculo que hasta ahora he encontrado es poder instalar una plataforma que me permita desarrollar aplicaciones software sólidas y robustas. Yo he trabajado siempre con Windows y mi pasaje a Linux es más complicado de lo que pensaba. De cualquier manera espero de poder hacer algo concreto próximamente. Trataré de abrir un hilo en el foro para hablar de este argumento. 🙂

  5. saludos y gracias por la respuesta, te entiendo el trasladarse a linux es un poco complejo, pero vale la pena pues descubres herramientas que en windows se compran.
    gracias.

  6. Que buenos artículos, estoy encantado de haber encontrado tu web. Me gusta la electrónica “clásica” y presentas cada proyecto con una claridad meridiana, lenguaje claro y resultado pedagógico excelente.
    Te animo a que entres en el mundo linux y más de la mano de este “enanito” al que ya tengo tanto cariño que lo uso habitualmente incluso para navegar (creo que he ahorrado unos cuantos kilowatios). Si quieres programarlo y sabes C no te cuento más, y si eres de los que aprendiste basic, te aconsejo que centres todos tus esfuerzos en python antes de dispersarte en otros lenguajes. Suelo estar atento a quien pide ayuda en los foros de raspberrypi.org (no tengo nada mas que ver con ellos) especialmente al hispano, (ahora tambien os visitaré con mucho agrado aquí) así que si en algo puedo ayudar, encantado (yo y muchos amigos de ese foro). Será un placer recomendar tu web allí, porque muchos andan muy pez cuando se trata de echar mano al soldador y seguro que pueden sacar mucho provecho. No quiero hartaros, hasta pronto.

    Hola Pablo, te agradezco mucho por tus elogios (que lindo que suena eso de “claridad meridiana” 🙂 ). Por un lado encuentro mucha dificultad en la estructura de datos de Linux y por lo tanto, no obstante tenga una PC auxiliar que uso con ese sistema operativo, no logro ir más allá del browser. Por otro lado Python es nuevo para mi aunque si te debo decir que lo estoy estudiando y me parece de una elegancia y flexibilidad increibles. Seguiré adelante con los dos. Me pone muy contento tu presencia aquí. El blog ha crecido mucho y gente con conocimientos y experiencia son bienvenidos aquí. Un abrazo. 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


*