Conception multi-cartes avec le shield de Nucleo

Mark Harris
|  Créé: February 1, 2022  |  Mise à jour: November 15, 2022
Conception multi-cartes avec shield Nucleo

Dans cet article, nous allons créer un shield pour une carte de développement STMicroelectronics Nucleo. Bien que celui-ci utilise uniquement des connecteurs compatibles Arduino, il serait utilisable sur n'importe quelle carte de développement comportant des connecteurs de type Arduino.

En prototypant un kit de développement, nous pouvons tester notre conception sans nous soucier de l'implémentation du microcontrôleur, de l'alimentation ou des communications.

Cela nous permet également de déterminer les exigences réelles de notre implémentation en matière de processeur.

En utilisant un facteur de forme standard, nous pouvons choisir parmi une large gamme de microcontrôleurs de différents fabricants sans avoir besoin de créer plusieurs cartes.

Cela peut également nous permettre de préciser les exigences et de déterminer quel microcontrôleur convient le mieux à notre application, ce qui nous permet de réaliser rapidement un prototype afin d'évaluer des microcontrôleurs dotés d'un large éventail de fonctionnalités sur une large gamme de prix.

Ce n'est cependant pas la seule utilisation des sous-cartes dans l'industrie de l'électronique.

La création de matériel avec plusieurs cartes est très courante et peut présenter des défis techniques pour les ingénieurs qui les réalisent.

Les fonctionnalités multi-cartes d'Altium aident à relever ces défis en offrant aux ingénieurs les outils nécessaires pour assembler leur matériel dans l'environnement de conception, en confirmant que les signaux électriques et les connecteurs mécaniques sont alignés et compatibles avant de s'engager à commander des cartes.

Projet EnviroShield

Pour cet article, nous allons créer une station météo relativement simple. Elle sera dotée de capteurs numériques haute précision pour l'humidité relative et la température, ainsi que pour la pression. Nous aurons également un écran LCD pour afficher les valeurs actuelles.

Ce shield serait parfait pour surveiller avec précision les conditions dans une maison, un laboratoire ou un milieu industriel.

Si cette carte était placée sur un kit de développement doté d'une connectivité réseau (filaire ou sans fil), elle pourrait facilement stocker des données dans une base de données ou être suivie à distance.

carte complète

 

Comme pour tous mes autres projets, vous trouverez les fichiers de conception de ce projet sur mon GitHub. Il est open source et gratuit d'utilisation, mais il n'est pas couvert par une garantie, ni garanti sous la licence MIT.

Pourquoi des conceptions de PCB multicartes ?

Comme indiqué ci-dessus, la division de matériel en plusieurs cartes est une stratégie courante pour répondre à un large éventail de défis en matière de conception.

La gestion de la complexité de plusieurs cartes interconnectées vous a peut-être rebuté par le passé, mais comme vous le verrez avec ce projet, les projets multicartes d'Altium vous simplifient la vie.

Pourquoi devriez-vous envisager de diviser un projet en plusieurs cartes ?

Prototypage

Pendant les premières étapes d'un projet, réduire les risques d'ingénierie et se concentrer sur les parties critiques d'une conception peut accélérer rapidement le processus de conception.

Vous pouvez rapidement essayer des composants alternatifs, vérifier que les fonctionnalités des composants correspondent à vos besoins et disposer rapidement d'une preuve de concept à présenter aux parties prenantes.

Le projet EnviroShield que nous réalisons dans cet article entre dans cette catégorie : nous construisons rapidement un capteur environnemental, sans avoir à nous soucier du microcontrôleur hôte ou de la mise en œuvre du réseau.

À l'aide d'un kit de développement économique et d'un shield relativement simple, nous pouvons rapidement évaluer les composants de nos capteurs et tester notre code tout en réduisant les risques techniques liés à la carte.

Économie d'espace

Si votre projet comporte un grand nombre de composants et trop peu d'espace, les cartes empilables peuvent offrir de nombreux avantages.

En tant qu'ingénieurs en électronique, nous pensons généralement à l'espace horizontal et considérons rarement l'axe vertical en matière de conception.

La majorité des composants d'une carte de circuit imprimé ordinaire sont à profil bas. En utilisant des connecteurs d'accouplement à profil ultra bas et des formes de carte intelligentes pour contourner les composants plus grands tels que des condensateurs ou des connecteurs en aluminium, vous pouvez doubler la surface de vos cartes avec une augmentation de volume mineure.

Isolation

Il arrive souvent, dans le cadre d'un projet, d'avoir deux blocs de composants que vous ne voulez tout simplement pas sur le même circuit imprimé.

Par exemple, vous pouvez avoir des entrées de capteur de précision à petit signal que vous amplifiez, tout en ayant un pilote à courant élevé ou une radio puissante dans la même conception. Vous pouvez également avoir une tension alternative sur la carte et ne pas la vouloir à proximité de vos autres composants.

En séparant physiquement les blocs de schémas qui ne coexistent pas de manière idéale, vous pouvez réduire le risque que votre conception ne fonctionne pas comme prévu.

Modularité

Bien que ce projet relève davantage du domaine du prototypage, il s'agit également d'une conception modulaire. Nous pourrions placer notre capteur environnemental sur une carte hôte dotée de fonctionnalités réseau, ou utiliser une carte hôte plus simple permettant de réduire les coûts.

Que vous conceviez la carte hôte ou une sous-carte à l'aide d'une connexion électromécanique standardisée, vous pouvez offrir à vos clients une extension future vers un appareil ou des fonctionnalités améliorées.

Vous trouverez ce type de modularité des connecteurs très courant dans les alimentations, le matériel de collecte de données et les équipements de production audio/vidéo, pour n'en nommer que quelques-uns.

Vous souhaitez en savoir plus ?

Dans notre prochain article sur les multi-cartes, nous aborderons plus en détails les raisons pour lesquelles vous pourriez vouloir créer des sous-cartes montées en surface.

Nous nous concentrerons davantage sur les critères de modularité, de certification et de réduction des coûts pour transférer une fonctionnalité sur une autre carte.

Connecteurs carte à carte

Lorsque vous concevez un produit qui comportera plusieurs cartes de circuits imprimés, vous aurez besoin d'un moyen de les connecter entre elles.

Bien que vous puissiez utiliser un assemblage fil/câble ou un câble flexible pour connecter les cartes, nous étudierons dans cet article des cartes assemblées de manière rapprochée et connectées directement.

Les connexions directes sont faciles à fabriquer, qu'il s'agisse d'un prototype ou d'un grand volume de production, alors que les faisceaux de câbles personnalisés nécessitent généralement un volume minimum pour être rentables.

Connecteur rectangulaire

Dans cet exemple de projet, nous utilisons de simples connecteurs rectangulaires. La carte peut être assemblée à l'aide de connecteurs à broches détachables ou avec le connecteur femelle à longue queue plus typique (pour un shield Arduino).

Les connecteurs rectangulaires sont disponibles dans une grande variété de hauteurs, de longueurs, de nombre de rangées et de positions en fonction de vos besoins. Ils supportent généralement bien les courants modérés et ont des connexions à faible résistance qui tiennent la distance. Les connecteurs rectangulaires sont disponibles dans les variantes à trou traversant et à montage en surface.

Si les connecteurs rectangulaires sont souvent considérés comme une option de connexion économique, en comparant leur prix à celui des connecteurs mezzanine, vous constaterez peut-être que ces derniers sont plus rentables par broche et occupent beaucoup moins d'espace sur votre carte.

Mezzanine

Les connecteurs mezzanine sont généralement montés en surface avec un grand nombre de broches, et peuvent être extrêmement compacts. Les connecteurs mezzanine sont parfaits pour un grand nombre de signaux dans un matériel étroitement intégré, où le volume assemblé est essentiel.

Cela dit, les connecteurs mezzanine sont disponibles de trois à plusieurs centaines de positions, avec des combinaisons de fonctions très créatives au-delà des broches de base.

Certains connecteurs proposent des broches dédiées à l'alimentation qui offrent des valeurs de courant ou de tension plus élevées. D'autres connexions peuvent inclure des prises RF qui permettent de transférer efficacement les signaux RF d'une carte à une autre.

Avec des pas de broches allant jusqu'à 0,3 mm et des hauteurs d'accouplement aussi faibles que 0,6 mm et allant jusqu'à des dizaines de millimètres étant bien approvisionnés, malgré les pénuries actuelles, les connecteurs mezzanine sont mon choix habituel pour l'interconnexion des cartes.

Fond de panier

Si vous construisez des modules en rack, les connecteurs de fond de panier DIN 41612 offrent un nombre élevé de broches et une grande fiabilité dans un connecteur standardisé.

Vous trouverez également des connecteurs Hard Metric (Hm) qui offrent un nombre de broches tout aussi élevé.

Enfin, il existe les connecteurs de fond de panier de type ARINC, mais ces connecteurs robustes sont destinés à l'aérospatiale et à la défense, et leur prix est élevé.

Backplane

Source : Connecteur Backplane Harting DIN 41612 chez Digi-Key

Les connecteurs de fond de panier sont généralement utilisés pour des applications spécialisées telles que des équipements ou des systèmes modulaires dans une forme de rack dans lequel les cartes sont insérées, et ils ne seront probablement pas le style de connecteur que vous privilégierez.

Bord de carte

Si vous avez besoin de connecter deux cartes entre elles de manière répétée et fiable, les connecteurs de bord de carte peuvent s'avérer une option peu coûteuse.

Vous connaissez probablement mieux les cartes PCI-E telles que pour une carte graphique d'ordinateur, ou les barrettes DIMM RAM sur une carte mère d'ordinateur, et bien que vous puissiez utiliser ces normes, il existe également des options plus génériques. 

Les petits ordinateurs à carte unique sont généralement disponibles en format SO-DIMM et MXM. Cela vous permet de déplacer la complexité technique du processeur d'application et de la RAM vers une sous-carte. Il s'agit d'un excellent exemple d'utilisation d'un connecteur standardisé pour un usage autre que celui auquel il est destiné.

Amp.

Source : Connecteur Amphenol MXM3.0

Les connecteurs génériques tels que la série Standard Edge II de TE vous offrent une option qui sera difficilement confondue avec un standard bien connu.

Bord de carte

Source : Connecteur TE Standard Edge II sur Digi-Key

L'un des principaux avantages des connecteurs de bord de carte est que seul un connecteur doit être monté sur la carte hôte. La carte fille aura des contacts sur un bord de la carte qui s'insèrent dans le connecteur de la carte hôte.

Bien que l'utilisation d'un connecteur de bord de carte ne soit généralement pas une option permettant de gagner de la place, cela peut réduire les coûts tout en fournissant une connexion fiable.

Soudure

Lorsque vous n'avez pas besoin de séparer les deux cartes ultérieurement et que votre objectif principal n'est pas de réduire le volume, le soudage direct d'une carte à une autre est une option viable.

Il n'est pas difficile de créer votre propre module de montage en surface, et j'expliquerai comment procéder ainsi que les avantages et les inconvénients de cette approche dans mon prochain article sur les projets multi-cartes.

Préparation des fichiers de conception des cartes Nucleo

J'utilise une carte Nucleo-64 STMicroelectronics comme carte hôte. Ce sont des cartes de développement à bas prix pour le prototypage avec des processeurs puissants et une large gamme de périphériques.

Lorsque vous avez besoin de plus de connectivité que ce qu'offrent de simples connecteurs Arduino, la gamme complète des broches sur l'appareil est disponible via les connecteurs auxiliaires Morpho.

J'ai téléchargé les fichiers de conception Altium depuis ST pour former un point de départ pour cet assemblage multi-cartes.

Idéalement, il me suffirait d'ajouter un seul paramètre à chacun des connecteurs Arduino pour indiquer qu'ils sont destinés à une interconnexion multi-cartes. Cependant, ma bibliothèque contient un connecteur Arduino complet en tant que composant unique, ce qui me permet d'ajouter le pack de connecteurs Schmartboard Arduino à ma carte en une seule ligne de nomenclature.

Cela garantit également que tous les connecteurs soient disposés correctement, tant sur le plan mécanique que sur le plan électrique.

La carte ST Nucleo possède des connecteurs séparés pour chaque connecteur Arduino, tandis qu'une connexion multi-cartes est individuelle. Par conséquent, j'ai remplacé les connecteurs de la conception de la carte Nucleo par mon propre composant de bibliothèque pour les connecteurs Arduino.

Nucleo arduino

Carte Nucleo-64 STMicroelectronics avec les connecteurs Arduino remplacés.

Une fois cette opération effectuée, il suffit d'ajouter le paramètre « System » avec la valeur « connector » et la carte Nucleo est prête à être utilisée. Il est très facile et rapide de préparer une carte existante pour un assemblage multi-cartes.

Construction du shield du capteur environnemental

Pour ce projet, je veux obtenir une station météo intérieure relativement simple qui me donnera l'humidité relative, la température et la pression. En la construisant sur un kit de développement, je peux tester la conception et les performances avant de passer à une conception entièrement intégrée plus robuste dans le prochain article sur le projet.

Pour les capteurs, j'ai sélectionné les excellents modèles de la série HTU21D de TE, qui portent curieusement le numéro de pièce HPP845E031. Ils offrent une résolution et une précision excellentes et, ce qui est important pour moi, ils peuvent fonctionner jusqu'à 100 % d'humidité.

De nombreux capteurs d'humidité ont une valeur maximale inférieure à 100 %, et certains même ne dépassent pas les 80 %.

Schéma du capteur

Schéma du capteur d'humidité relative et de température

J'avais initialement prévu d'utiliser le capteur de pression MS5611 (anciennement Measurement Specialties) de TE, mais pour mon application, la précision/résolution est supérieure à ce dont j'ai besoin et je ne pouvais pas justifier le prix.

À la place, j'utilise le MS5607, qui est compatible avec les broches. Je peux donc passer à l'autre option si je veux vraiment aller plus loin à l'avenir.

schéma du capteur de pression

Schéma du capteur de pression

J'ai également un module d'affichage graphique LCD Newhaven Displays relativement petit avec rétroéclairage blanc sur la carte. Cela me permettra d'être plus créatif avec l'affichage qu'avec un afficheur LCD à caractères.

J'ai un bouton sur la carte sur lequel je peux appuyer pour régler le rétroéclairage, afin qu'il ne s'allume pas tout le temps. Le bouton peut également être utilisé pour faire défiler différents affichages si je souhaite programmer cette fonctionnalité à l'avenir.

Schéma du module d'affichage Newhaven

Schéma du module d'affichage Newhaven Display

Préparation du projet pour une utilisation multi-cartes

Comme c'est le cas pour la carte hôte, nous devons indiquer à Altium Designer les connecteurs qui seront utilisés pour notre interconnexion multi-cartes.

Une fois de plus, il suffit de sélectionner le symbole schématique du connecteur Arduino sur notre feuille de schéma et d'ajouter un nouveau paramètre dans le panneau des propriétés.

paramètres 1

Ajouter un paramètre aux propriétés du connecteur

Ajoutez la propriété « System » (Système) avec la valeur « Connector » (Connecteur).

paramètres

Propriété système ajoutée

Après ce simple ajout, tout est prêt pour une utilisation multi-cartes.

Considérations relatives au capteur de température

La seule partie inhabituelle de cette carte de circuit imprimé concerne les considérations à prendre en compte pour les capteurs de température.

Comme je l'ai mentionné dans ma série « Projet de capteur de température », une coupure thermique entre le capteur et le reste de votre carte peut aider à améliorer la précision de la lecture, en supposant que vous voulez mesurer la température ambiante plutôt que la température de la carte.

fente d'isolation thermique

Fentes d'isolation thermique

Pour cette carte, j'isole le capteur de température et le place sur le bord inférieur de la carte. Mon idée est de monter cette carte verticalement, avec le câble USB pour la carte de développement dépassant verticalement.

Toute chaleur dégagée par les cartes provoquera des courants de convection qui amèneront l'air à température ambiante au-dessus du capteur.

Création de l'assemblage multi-cartes

Une fois notre carte hôte et notre shield terminés, nous pouvons passer à la création de l'assemblage multi-cartes.

La première étape consiste à créer un projet. Mais plutôt que de sélectionner PCB sur l'écran de création du projet, nous sélectionnons « Multi-board » (Multi-cartes).

créer un projet

Création d'un projet multi-cartes

Nous créons ensuite un nouveau schéma multi-cartes.

schéma multi-cartes

Nouveau schéma multi-cartes

Une fois la nouvelle feuille de schéma enregistrée, nous ajoutons deux modules : un pour chaque carte. Ensuite, nous leur attribuons les cartes à partir de la fenêtre des propriétés.

J'ai également donné un titre à chaque module pour qu'il soit plus facile de les identifier.

Modules

Modules du schéma multi-cartes

Une fois que cela est fait, nous pouvons aller dans Design -> Import From Child Projects (Conception -> Importer depuis des projets enfants), ce qui ajoutera des ports pour chaque connecteur auquel nous avons ajouté le paramètre System=Connector (Système = Connecteur).

import proj. enf.

Importer à partir de projets enfants

Pour montrer visuellement le sens d'accouplement, j'ai réglé le connecteur de la carte Nucleo pour qu'il soit femelle et le shield pour qu'il soit mâle.

Pour cette carte, nous allons relier directement les cartes avec leurs connecteurs. Nous pouvons donc ajouter une connexion directe entre les connecteurs.

connexion directe

Ajout d'une connexion directe

Cela complète le schéma multi-cartes, car, en effet, Altium a automatiquement attribué toutes les connexions entre les deux cartes.

Module 2

Schéma multi-cartes terminé

Maintenant, nous pouvons ajouter un nouvel assemblage multi-cartes au projet. Une fois qu'il est ouvert, assurez-vous de l'enregistrer immédiatement. 

Une fois l'assemblage multi-cartes enregistré, nous pouvons accéder à Design -> Update Assembly (Conception -> Mise à jour de l'assemblage), ce qui peut prendre un certain temps en fonction des spécifications de votre ordinateur et de la complexité de vos projets.

modifier l'ordre

Mise à jour de l'ordre de modification technique de l'assemblage

Une fois que c'est terminé, vous trouverez chacune de vos cartes dans l'espace de travail PCB en 3D. Nous pouvons utiliser les outils d'accouplement pour assembler les connecteurs.

Sélectionnez tout d'abord une broche sur le connecteur Arduino du shield, en vous assurant que le point de référence se trouve au centre de la broche et sur le plan de rencontre des connecteurs.

accouplement du shield

Sélection de l'accouplement sur EnviroShield

Ensuite, sélectionnez le trou sur la carte Nucleo, en vous assurant que le point de référence se trouve au centre du trou.

accouplement nucleo

Sélection de l'accouplement sur la carte Nucleo

Pour moi, les broches sont correctement connectées, mais l'orientation n'est pas idéale. Dans le panneau d'assemblage multi-cartes, accessible via le bouton « Panels » (Panneaux) dans le coin inférieur droit d'Altium Designer, s'il n'est pas déjà ouvert, vous pouvez visualiser les accessoires. 

paramètres

Orientation de l'accouplement de l'assemblage multi-cartes

J'ai simplement dû changer l'orientation de l'accouplement pour qu'il soit à 180 degrés, et tout était correctement connecté.

carte complète

Assemblage multi-cartes terminé

Collecte de données intéressantes

Une donnée inattendue mais très intéressante que mon unité prototype a recueillie a été l'onde de choc de la très grande éruption du volcan Hunga Tonga-Hunga Haʻapai aux îles Tonga le 14 janvier 2022.

Même si ma station météo est à plus de 15 500 km des îles Tonga, une impulsion est visible dans mes données de pression. Bien que les données soient plus fréquentes, je ne stocke les données moyennes que toutes les 30 minutes.

Cependant, le pic de pression du front de choc et la basse pression derrière l'onde de choc sont toujours clairement visibles. Le pic de pression est bien inférieur à celui des capteurs exploités par les autorités en Europe, mais le capteur se trouvait à l'intérieur d'un bâtiment avec des murs de pierre d'un mètre d'épaisseur, et non à l'extérieur.

données du baromètre

 

Ce sont des données comme celle-ci qui renforcent mon amour pour la collecte de données et le matériel de détection !

Résultat

En créant un assemblage multi-cartes dans Altium Designer, j'ai pu m'assurer que tous mes signaux entre les deux cartes étaient alignés sur le plan mécanique et électrique.

J'ai également pu vérifier que les cartes s'emboîtaient correctement en utilisant l'outil Tools -> Check Collisions (Outils -> Contrôle des collisions) pour m'assurer que je n'aurai pas de mauvaise surprise une fois le matériel entre les mains.

Les projets multi-cartes semblent complexes à utiliser, mais les outils d'Altium facilitent la tâche. La création de vos assemblages multi-cartes dans Altium vous assure un gain de temps en vous permettant de les vérifier dans un environnement numérique, plutôt que de découvrir que votre assemblage présente des problèmes dans le monde réel lors du montage des prototypes.

Les assemblages multi-cartes peuvent-ils vous faire gagner du temps et augmenter votre productivité ? Contactez un expert Altium dès maintenant pour le découvrir.

A propos de l'auteur

A propos de l'auteur

Mark Harris est un ingénieur qui nous apporte plus de 12 ans d'expérience diversifiée dans l'industrie électronique, allant des contrats dans l'aérospatiale et la défense jusqu’au lancement de produits startup, dispositifs de loisirs en passant par une multitude d’autres accessoires. Avant de s'installer au Royaume-Uni, Mark était employé par l'un des plus grands organismes de recherche au Canada. Chaque jour, il travaillait sur un projet ou un défi différent impliquant l'électronique, la mécanique et les logiciels. Il est responsable de la publication de Celestial Database Library, la plus vaste bibliothèque de composants en base de données open source pour Altium Designer. Mark a une affinité particulière avec les équipements et les logiciels open source, la résolution de problèmes et les innovations appliquées à ce type de projets et leurs défis quotidiens. L'électronique est une passion ; suivre la transformation d’une idée en réalité, et interagir avec le monde est une source de plaisir sans fin.
Vous pouvez contacter Mark directement : mark@originalcircuit.com

Ressources associées

Documentation technique liée

Retournez à la Page d'Accueil
Thank you, you are now subscribed to updates.