Diseño de multiplacas Nucleo Shield

Mark Harris
|  Creado: Febrero 1, 2022  |  Actualizado: Noviembre 22, 2022
Diseño de multiplacas Nucleo Shield

En este artículo, crearemos un shield para una placa de desarrollo Nucleo de STMicroelectronics. Aunque esta placa solo va a utilizar cabezales compatibles con Arduino, se puede usar en cualquier placa de desarrollo que tenga cabezales de estilo Arduino. Al crear prototipos de un kit de desarrollo, podemos demostrar nuestro diseño sin preocuparnos por la implementación del microcontrolador, la alimentación o las comunicaciones.

Esto también nos permite determinar los requisitos reales de CPU de nuestra implementación. Al utilizar un factor de forma estándar, podemos elegir entre una amplia gama de microcontroladores de diferentes fabricantes sin necesidad de crear múltiples placas. Esto nos permite profundizar en los requisitos y determinar qué microcontrolador es el óptimo para nuestra aplicación, lo que nos permite crear prototipos rápidamente para evaluar microcontroladores con una amplia gama de características en un amplio rango de precios.

Sin embargo, este no es el único uso para subplacas en el sector de la electrónica. Crear hardware con múltiples placas es muy común y puede plantear desafíos técnicos a los ingenieros que trabajan con ellas. Las capacidades de multiplaca de Altium ayudan a abordar estos desafíos dando a los ingenieros las herramientas para ensamblar su hardware en el entorno de diseño, confirmando que las señales eléctricas y los conectores mecánicos están alineados y son compatibles antes de comprometerse a pedir las placas.

Proyecto EnviroShield

Para este artículo, vamos a crear una estación meteorológica relativamente sencilla. Estará equipada con un sensores digitales de humedad y temperatura relativas de alta precisión y un sensor digital de presión también de alta precisión. También tendremos una pantalla LCD para mostrar los valores actuales. Este shield sería perfecto para supervisar con precisión un hogar, laboratorio o entorno industrial. Si esta placa se colocara en un kit de desarrollo con conectividad de red (cableada o inalámbrica), podría almacenar fácilmente datos en una base de datos o supervisarse de forma remota.

placa completa

Al igual que con todos mis otros proyectos, encontrarás los archivos de diseño de este proyecto en mi GitHub. Es de código abierto y de uso gratuito; sin embargo, no está cubierto por una garantía ni está garantizado por la licencia MIT. 

¿Por qué placas múltiples?

Como ya se ha mencionado, dividir el hardware en varias placas es una estrategia habitual para resolver una gran cantidad de retos en los diseños. La gestión de las complejidades del usar múltiples placas interconectadas puede haberte desanimado en el pasado; sin embargo, como verás con este proyecto, los proyectos multiplaca de Altium te facilitan la vida.

Entonces, ¿por qué considerarías dividir un proyecto en múltiples placas?

Prototipos

Durante las primeras etapas de un proyecto, reducir el riesgo de ingeniería y centrarse en las partes críticas de un diseño puede acelerar rápidamente el proceso de diseño. Puedes probar rápidamente componentes alternativos, comprobar que las capacidades de los componentes se ajustan a tus requisitos y disponer rápidamente de una prueba de concepto para mostrarla a las partes interesadas.

El proyecto EnviroShield que desarrollamos en este artículo entra en esta categoría: estamos creando rápidamente un sensor ambiental sin tener que preocuparnos por el microcontrolador anfitrión o la implantación de la red. Con un kit de desarrollo de bajo coste y una placa protectora relativamente sencilla, podemos evaluar rápidamente los componentes de nuestros sensores y probar nuestro código, a la vez que reducimos el riesgo de ingeniería de la placa.

Ahorro de espacio

Si tu proyecto tiene una gran cantidad de componentes y demasiado poco espacio, apilar placas puede ofrecer muchas ventajas. Como ingenieros electrónicos, normalmente pensamos en el espacio horizontal y rara vez consideramos el eje vertical cuando se trata de diseño.

La mayoría de los componentes que contiene una placa de circuito típica son de bajo perfil. Al utilizar conectores de acoplamiento de perfil ultrabajo y formas de placa inteligentes para trabajar alrededor de componentes más grandes, como condensadores o conectores de aluminio, puedes duplicar el área de superficie de tus placas con solo un pequeño aumento de volumen.

Aislamiento

A menudo, hay proyectos en los que tienes dos bloques de componentes que simplemente no quieres que estén en la misma placa de circuito que los demás. Por ejemplo, puedes tener algunas entradas de sensores de precisión de pequeña señal que estás amplificando, pero tienes un controlador de alta corriente o una radio potente en el mismo diseño. También es posible que tengas voltaje de CA en la placa y no quieras que esté cerca de sus otros componentes.

Al separar físicamente los bloques esquemáticos que no necesariamente coexisten bien, puedes reducir el riesgo de que tu diseño no funcione como se esperaba.

Modularidad

Aunque este proyecto entra más en el ámbito de la creación de prototipos, también es un diseño modular. Podríamos colocar nuestro sensor ambiental en una placa host con capacidades de red o usar una placa host más sencilla para mantener los costes bajos. Tanto si diseñas la placa host como una subplaca, al utilizar una conexión electromecánica estandarizada puedes ofrecer a tus clientes una futura ampliación de un dispositivo o una funcionalidad mejorada. 

Este tipo de modularidad de complementos es muy común en fuentes de alimentación, hardware de recopilación de datos y equipos de producción de audio/vídeo, por nombrar algunos.

¿Quieres saber más?

En nuestro próximo artículo sobre multiplacas, entraremos en más detalles sobre las razones por las que es posible que desees crear subplacas montadas en superficie. Nos centraremos más en la modularidad, la certificación y los criterios de reducción de costes para trasladar la funcionalidad a otra placa.

Conectores de placa a placa

Al diseñar un producto que tendrá múltiples placas de circuito, necesitarás una forma de conectarlas entre sí. Aunque se podría utilizar un conjunto de cables o conexiones flexibles para conectar las placas, en este artículo vamos a ver las placas montadas de cerca y conectadas directamente. Las conexiones directas son fáciles de fabricar, desde prototipos hasta grandes volúmenes de producción, mientras que los mazos de cables personalizados suelen tener un requisito de volumen mínimo para ser rentables.

Cabezal rectangular

En este proyecto de ejemplo, usamos cabezales rectangulares sencillos. La placa puede montarse utilizando cabezales de pines breakaway o con el cabezal hembra de cola larga más típico (para un escudo Arduino). Los cabezales rectangulares están disponibles en una amplia variedad de alturas, longitudes, número de filas y posiciones según tus necesidades. Por lo general, suelen gestionar bien cantidades moderadas de corriente y tienen conexiones de baja resistencia que se mantienen bien.

Los cabezales rectangulares están fácilmente disponibles en variantes de orificio pasante y de montaje en superficie.

Los cabezales rectangulares suelen considerarse una opción de conexión económica, pero si se comparan los precios de los cabezales rectangulares con los de los conectores mezzanine, se puede comprobar que los conectores mezzanine son más rentables por pin y ocupan mucho menos espacio en la placa.

Mezzanine

Los conectores mezzanine suelen ser de montaje superficial con una gran cantidad de pines y pueden tener un perfil extremadamente bajo. Los conectores mezzanine son ideales para una gran cantidad de señales en hardware estrechamente integrado, donde el volumen montado es crítico.  Dicho esto, los conectores mezzanine están disponibles desde tres hsta varios cientos de posiciones, con combinaciones de funciones muy creativas más allá de los pines básicos.

Algunos conectores ofrecen pines de alimentación dedica que ofrecen valores de corriente o voltaje más altos. Otras conexiones pueden incluir conectores de RF que pueden transferir señales de RF de manera eficiente de una placa a otra.

Con pasos de clavija de hasta 0,3 mm y alturas de acoplamiento tan bajas como 0,6 mm y hasta decenas de milímetros bien abastecidos, a pesar de la escasez actual, los conectores mezzanine son mi elección habitual para interconectar placas.

Plano posterior

Si vas a construir módulos basados en bastidores, los conectores del plano posterior DIN 41612 ofrecen un elevado número de pines y fiabilidad en un conector estandarizado. También encontrarás conectores Hard Metric (Hm) como una norma alternativa que ofrecen un número de pines similarmente alto. Por último, están los conectores de plano posterior de tipo ARINC, aunque estos conectores resistentes están muy orientados al sector aeroespacial y de defensa, y su precio es elevado.

conector de plano posterior

Fuente: Harting Conector de plano posterior Harting DIN 41612 de Digi-Key

Los conectores de plano posterior se utilizan normalmente para aplicaciones especializadas, como equipos modulares o sistemas en algún tipo de bastidor en el que se deslizan las placas, y probablemente no sea el estilo de conector que utilices.

Borde de tarjeta / ranura

Si necesitas que tu placa se conecte a otra de forma repetida y fiable, los conectores de borde de tarjeta pueden ofrecer una opción económica. Probablemente estés más familiarizado con las tarjetas PCI-E, como para una tarjeta gráfica de ordenador o RAM DIMM en una placa base de ordenador y, aunque puedes utilizar estos estándares, también hay opciones más genéricas.

Los pequeños ordenadores de una sola placa suelen estar disponibles en formato SO-DIMM y MXM. Esto permite trasladar la complejidad de ingeniería del procesador de aplicaciones y la RAM a una subplaca. Este es un excelente ejemplo del uso de un conector estandarizado para un propósito distinto al previsto. 

conector amphenol MXM3.0

Fuente: Conector Amphenol MXM3.0

Los conectores genéricos, como la serie Standard Edge II de TE, te ofrecen una opción que difícilmente se confundirá con un estándar conocido.

Borde de tarjeta

Fuente: TConector TE Standard Edge II en Digi-Key

Una de las principales ventajas de los conectores de borde de tarjeta es que solo es necesario montar un conector en la placa host.  La placa secundaria tendrá contactos en un borde de la placa que encajan en el conector de la placa host (la ranura). Si bien el uso de un conector de borde de placa no suele ser una opción que ahorre espacio, puede reducir el coste a la vez que proporciona una conexión fiable.

Soldadura

Cuando no necesites separar las dos placas en una etapa posterior y tu objetivo principal no sea reducir el volumen, soldar una placa directamente a otra es una opción viable. No es difícil crear tu propio módulo de montaje superficial. Explicaré cómo hacerlo en mi próximo artículo sobre el proyecto multiplaca, donde también expondré los pros y los contras de este enfoque.

Preparar los archivos de diseño de placas Nucleo

Voy a usar una Nucleo-64 de STMicroelectronics como placa host. Son placas de desarrollo de bajo coste para la creación de prototipos con procesadores potentes y una amplia gama de periféricos. Cuando necesites más conectividad que la que ofrecen los sencillos cabezales de Arduino, toda la gama de pines del dispositivo está disponible a través de los conectores auxiliares Morpho. Me he descargado los archivos de diseño de Altium de ST para crear un punto de partida para este montaje multiplaca.

Idealmente, solo necesito añadir un único parámetro a cada uno de los conectores Arduino para indicar que son para una interconexión multiplaca. Sin embargo, mi biblioteca tiene un cabezal Arduino completo como componente único, lo que me permite añadir el paquete de cabezal Arduino de Schmartboard a mi placa como una sola línea de BOM. Esto también garantiza que todos los cabezales estén dispuestos correctamente, tanto mecánica como eléctricamente.

La placa Nucleo de ST tiene cabezales separados para cada conector Arduino mientras que la conexión multiplaca es individual. Por lo tanto, he reemplazado los cabezales en el diseño de placa de Nucleo por mi propio componente de la biblioteca para los cabezales Arduino.

Placa Nucleo-64 de STMicroelectronics con cabezales Arduino reemplazados

Placa Nucleo-64 de STMicroelectronics con cabezales Arduino reemplazados.

Una vez hecho esto, todo lo que se necesitas es añadir el parámetro "Sistema" con el valor "conector" y la placa Nucleo está lista para ser utilizada. Preparar una placa existente para un montaje de varias placas es muy sencillo y rápido.

Construir el shield de sensores ambientales

Para este proyecto, quiero tener una estación meteorológica de interior relativamente sencilla que me proporcione los valores de humedad, temperatura y presión relativas. Al construirla en un kit de desarrollo, puedo probar el diseño y el rendimiento antes de pasar a un diseño más robusto y totalmente integrado en el próximo artículo sobre el proyecto.

Para los sensores, he seleccionado los excelentes sensores de la serie HTU21D de TE, que tienen el número de pieza HPP845E031. Ofrecen una excelente resolución y precisión y, lo que es más importante para mí, tienen una clasificación de hasta el 100% de humedad. Muchos sensores de humedad ofrecen un máximo por debajo del 100%, algunos incluso de tan solo el 80%.

Diagrama esquemático del sensor de humedad relativa / temperatura

Diagrama esquemático del sensor de humedad relativa / temperatura

Originalmente estaba pensando en usar el sensor de presión MS5611 (anteriormente, Measurement Specialties) de TE, pero para mi aplicación la precisión/resolución va más allá de lo que necesito y no podría justificar el precio. En su lugar, voy a usar el MS5607, que es compatible con pines, así que puedo cambiar a la otra opción si quiero ir más allá en el futuro.

diagrama esquemático del sensor de presión

Esquema del sensor de presión

También tengo una LCD gráfica relativamente pequeña de Newhaven Displays con retroiluminación blanca en la placa. Esto me permitirá ser más creativo con la pantalla que con una LCD de caracteres. Tengo un botón en la placa que puedo pulsar para activar la retroiluminación, por lo que no está encendida todo el tiempo. El botón también se puede utilizar para recorrer diferentes pantallas por si quiero programar esa característica en el futuro.

diagrama esquemático de Newhaven Display

Diagrama esquemático de Newhaven Display

Preparación del proyecto para uso multiplaca

Al igual que con la placa host, tenemos que decirle a Altium Designer qué conectores se utilizarán para nuestra interconexión multiplaca. Esto es tan sencillo como seleccionar el símbolo esquemático de cabezal de Arduino en nuestra hoja esquemática y añadir un nuevo parámetro en el panel de propiedades.

añadir el parámetro a las propiedades del conector en Altium

Añade el parámetro a las propiedades del conector

Añade la propiedad "Sistema" con el valor "Conector".

Propiedad del sistema añadida en Altium

Propiedad del sistema añadida

Con este sencillo añadido, todo está preparado para el uso multiplaca.

Consideraciones sobre el sensor de temperatura

La única parte no rutinaria de esta placa de circuito son las consideraciones que se deben tener en cuenta con respecto a los sensores de temperatura. Como he mencionado en mi serie "Proyecto de sensor de temperatura", una ruptura térmica entre el sensor y el resto de la placa puede ayudar a mejorar la precisión de la lectura, suponiendo que desees medir la temperatura ambiente en lugar de la temperatura de la placa.

ranuras de aislamiento térmico

Ranuras de aislamiento térmico

En esta placa, estoy aislando el sensor de temperatura y colocándolo contra el borde inferior de la placa. Mi idea es montar esta placa verticalmente, con el cable USB para la placa de desarrollo sobresaliendo verticalmente. Cualquier salida de calor de las placas provocará que las corrientes de convección lleven aire a temperatura ambiente sobre el sensor.

Creación del montaje multiplaca

Con nuestra placa host y shield completos, podemos pasar a crear el montaje multiplaca.

El primer paso es crear un nuevo proyecto; sin embargo, en lugar de seleccionar "PCB" en la pantalla de creación del proyecto, seleccionamos "multiplaca".

creación de un proyecto multiplaca en altium

Creación de un proyecto multiplaca

Luego creamos un nuevo diagrama esquemático multiplaca.

diagrama esquemático multiplaca en altium

Nuevo diagrama esquemático multiplaca

Con la nueva hoja esquemática guardada, añadimos dos módulos, uno para cada placa, y luego les asignamos las placas desde la ventana de propiedades. También establezco el título de cada módulo para que sea más fácil su identificación.

Módulos esquemáticos multiplaca

Módulos esquemáticos multiplaca

Una vez hecho esto, podemos ir a Diseño -> Importar desde proyectos secundarios, lo que añadirá puertos para cada conector al que añadimos el parámetro Sistema=Conector.

importar proyecto secundario en Altium

Importar desde proyectos secundarios

Para mostrar visualmente la dirección de acoplamiento, he configurado el conector de la placa Nucleo como hembra y el shield como macho.

Para esta placa, vamos a unir directamente las placas con sus conectores para que podamos añadir una conexión directa entre los conectores.

conexión directa

Añadir una conexión directa

Esto completa el diagrama esquemático multiplaca, ya que Altium ha asignado automáticamente todas las conexiones entre las dos placas.

Diagrama esquemático multiplaca completado

Diagrama esquemático multiplaca completado

Ahora podemos añadir un nuevo montaje multiplaca al proyecto. Una vez que esté abierto; asegúrate de guardarlo inmediatamente. 

Con el montaje multiplaca guardado podemos ir a Diseño -> Actualizar montaje, lo que puede llevar algo de tiempo dependiendo de las especificaciones de tu ordenador y de la complejidad de tus proyectos.

Actualizar la orden de cambio de ingeniería de montaje en Altium

Actualizar la orden de cambio de ingeniería de montaje

Una vez completado, tendrás cada una de tus placas dentro del espacio de trabajo de PCB 3D. Podemos usar las herramientas de acoplamiento para unir los conectores.

Primero selecciona un pin en el conector Arduino en el escudo, asegurándote de que el punto de referencia esté en el centro del pin y en el plano donde se unirán los conectores.

Seleccionar acoplamiento en EnviroShield

Seleccionar acoplamiento en EnviroShield

A continuación, selecciona el orificio en la placa Nucleo, asegurándote de que el punto de referencia esté en el centro del orificio.

Seleccionar acoplamiento en la placa Nucleo

Seleccionar acoplamiento en la placa Nucleo

Para mí, los pines están conectados correctamente, pero la orientación no es la ideal. En el panel de montaje multiplaca (al que se accede desde el botón de paneles en la esquina inferior derecha de Altium Designer, si no está ya abierto), puedes ver los acoplamientos. 

Orientación de acoplamientos de montaje multiplaca en altium designer

Orientación de acoplamientos de montaje multiplaca

Simplemente he tenido que cambiar la orientación del acoplamiento a 180 grados y ya todo ha quedado correctamente conectado.

Montaje multiplaca completado

Montaje multiplaca completado

Recopilar datos interesantes

Un dato inesperado pero muy interesante que recogió mi unidad prototipo fue la onda de choque de la gran erupción del volcán Hunga Tonga-Hunga Haʻapai en Tonga el 14 de enero de 2022. A pesar de que mi estación meteorológica está a más de 15.500 km de Tonga, se ve un pulso en mis datos de presión. Aunque los datos son más frecuentes, solo almaceno datos promedio cada 30 minutos; sin embargo, la presión máxima del frente de choque y la baja presión detrás de la onda de choque todavía son claramente visibles. El pulso máximo es mucho más bajo que el de los sensores operados por las autoridades gubernamentales en Europa; sin embargo el sensor estaba dentro de un edificio con paredes de piedra de un metro de grosor, en lugar de estar en el exterior.

datos de barómetro

¡Son datos como este los que realmente consolidan mi amor por la recopilación de datos y el hardware de sensores!

Resultado

Al construir un montaje multiplaca con Altium Designer, pude asegurarme de que todas mis señales entre las dos placas estén eléctrica y mecánicamente alineadas. También pude comprobar que las placas encajan correctamente utilizando la opción Herramientas -> Comprobar colisiones para asegurarme de que no me llevaría ninguna sorpresa inesperada una vez que tuviera el hardware físico en mis manos.

Parece que trabajar con proyectos multiplaca puede ser complejo; sin embargo, las herramientas de Altium facilitan el trabajo. Construir tus montajes multiplaca en Altium te ahorra tiempo al permitir la verificación en un entorno digital, en lugar de descubrir que tu montaje tiene problemas en el mundo real cuando montas los prototipos.

¿Pueden los montajes multiplaca ahorrarte tiempo y aumentar tu productividad? Ponte en contacto con un experto de Altium hoy mismo para averiguarlo. 

Sobre el autor / Sobre la autora

Sobre el autor / Sobre la autora

Mark Harris es un ingeniero experto, con más de 12 años de experiencia diversa en el sector de la electrónica, que abarca desde contratos aeroespaciales y de defensa hasta pequeñas empresas emergentes, hobbies, etc. Antes de trasladarse al Reino Unido, Mark trabajaba para uno de los centros de investigación más grandes de Canadá –cada día traía consigo un proyecto o desafío diferente que involucraba electrónica, mecánica y software–. Asimismo, publica la biblioteca de base de datos de componentes de código abierto más extensa para Altium Designer, conocida como "Celestial Database Library". A Mark le atraen el hardware y el software de código abierto, así como encontrar soluciones innovadoras a los desafíos diarios que plantean estos proyectos. La electrónica es pura pasión: ver un producto pasar de una idea a convertirse en realidad y comenzar a interactuar con el mundo es una fuente de placer inagotable.
Se puede contactar con Mark directamente en: mark@originalcircuit.com

Recursos Relacionados

Documentación técnica relacionada

Volver a la Pàgina de Inicio
Thank you, you are now subscribed to updates.