Table des matières:

Concevoir une carte de développement de microcontrôleur : 14 étapes (avec des images)
Concevoir une carte de développement de microcontrôleur : 14 étapes (avec des images)

Vidéo: Concevoir une carte de développement de microcontrôleur : 14 étapes (avec des images)

Vidéo: Concevoir une carte de développement de microcontrôleur : 14 étapes (avec des images)
Vidéo: Microcontrôleur : Comment ça marche ? - SILIS Electronique - 2024, Juin
Anonim
Conception d'une carte de développement de microcontrôleur
Conception d'une carte de développement de microcontrôleur

Êtes-vous un fabricant, un amateur ou un pirate informatique intéressé à passer de projets de panneaux perforés, de circuits intégrés DIP et de circuits imprimés faits maison à des circuits imprimés multicouches fabriqués par des maisons de cartes et des emballages CMS prêts pour la production en série ? Alors cette instructable est pour vous !

Ce guide détaillera comment concevoir un PCB multicouche, en utilisant une carte de développement de microcontrôleur comme exemple.

J'ai utilisé KiCAD 5.0, qui est un outil EDA gratuit et open source, pour créer les schémas et la disposition des circuits imprimés de cette carte de développement.

Si vous n'êtes pas familier avec KiCAD ou le flux de travail pour la mise en page PCB, les didacticiels de Chris Gamell sur YouTube sont un très bon point de départ.

EDIT: Certaines photos sont trop agrandies, il suffit de cliquer sur l'image pour voir l'image complète:)

Étape 1: Pensez à l'emballage des composants

Pensez à l'emballage des composants
Pensez à l'emballage des composants

Les dispositifs de montage en surface (SMD) peuvent être positionnés sur un circuit imprimé par une machine pick and place, automatisant le processus d'assemblage. Vous pouvez ensuite faire passer le PCB dans un four à refusion ou dans une machine à souder à la vague, si vous avez également des composants à trous traversants.

Les fils de composants pour les SMD plus petits sont également réduits, ce qui entraîne une impédance, une inductance et des EMI considérablement plus faibles, une très bonne chose, en particulier pour les conceptions RF et haute fréquence.

La voie du montage en surface améliore également les performances mécaniques et la robustesse, ce qui est important pour les tests de vibration et de contrainte mécanique.

Étape 2: Choisissez votre microcontrôleur

Choisissez votre microcontrôleur
Choisissez votre microcontrôleur

Au cœur de chaque carte de développement de microcontrôleur, comme l'Arduino et ses dérivés, se trouve un microcontrôleur. Dans le cas de l'Arduino Uno, il s'agit de l'ATmega 328P. Pour notre carte de développement, nous utiliserons l'ESP8266.

Il est très bon marché, fonctionne à 80 MHz (et est overclockable à 160 MHz) ET dispose d'un sous-système WiFi intégré. Lorsqu'il est utilisé en tant que microcontrôleur autonome, il peut exécuter certaines opérations jusqu'à 170 fois plus rapidement qu'un Arduino.

Étape 3: Choisissez votre convertisseur USB vers série

Choisissez votre convertisseur USB vers série
Choisissez votre convertisseur USB vers série

Un microcontrôleur aura besoin d'un moyen de s'interfacer avec votre ordinateur, afin que vous puissiez y charger vos programmes. Ceci est généralement accompli par une puce externe, qui prend en charge la traduction entre les signaux différentiels utilisés par le port USB de votre ordinateur et la signalisation asymétrique disponible sur la plupart des microcontrôleurs via leurs périphériques de communication série, comme UART.

Dans notre cas, nous utiliserons un FT230X, de FTDI. Les puces USB vers série de FTDI ont tendance à être bien prises en charge sur la plupart des systèmes d'exploitation, c'est donc une valeur sûre pour une carte de développement. Les alternatives populaires (options moins chères) incluent le CP2102 de SiLabs et le CH340G.

Étape 4: Choisissez votre régulateur

Choisissez votre régulateur
Choisissez votre régulateur

La carte devra être alimentée quelque part - et dans la plupart des cas, vous trouverez cette alimentation fournie par un circuit intégré de régulateur linéaire. Les régulateurs linéaires sont bon marché, simples et, bien qu'ils ne soient pas aussi efficaces qu'un schéma en mode commuté, ils offriront une puissance propre (moins de bruit) et une intégration facile.

L'AMS1117, le régulateur linéaire le plus populaire utilisé dans la plupart des cartes de développement, et un choix assez décent pour notre carte de développement également.

Étape 5: Choisissez votre schéma de puissance OR-ing

Choisissez votre schéma de puissance OR-ing
Choisissez votre schéma de puissance OR-ing

Si vous laissez l'utilisateur alimenter la carte de développement via USB et offrir également une entrée de tension via l'une des broches de la carte, vous aurez besoin d'un moyen de choisir entre les deux tensions concurrentes. Ceci est plus simplement accompli grâce à l'utilisation de diodes, qui fonctionnent pour ne laisser passer que la tension d'entrée la plus élevée et alimenter le reste du circuit.

Dans notre cas, nous avons une double barrière Schottky, qui comprend deux diodes Schottky sur un seul boîtier à cette fin.

Étape 6: choisissez vos puces périphériques (le cas échéant)

Choisissez vos puces périphériques (le cas échéant)
Choisissez vos puces périphériques (le cas échéant)
Choisissez vos puces périphériques (le cas échéant)
Choisissez vos puces périphériques (le cas échéant)

Vous pouvez ajouter des puces à l'interface avec le microcontrôleur de votre choix pour améliorer la convivialité ou les fonctionnalités que votre carte de développement offre à ses utilisateurs.

Dans notre cas, l'ESP8266 n'a qu'un seul canal d'entrée analogique et très peu de GPIO utilisables.

Pour résoudre ce problème, nous ajouterons un CI de convertisseur analogique-numérique externe et un CI d'extension GPIO.

Le choix d'un ADC est généralement un compromis entre le taux ou la vitesse de conversion et la résolution. Des résolutions plus élevées ne sont pas nécessairement meilleures, car les puces qui présentent des résolutions plus élevées car elles utilisent des techniques d'échantillonnage différentes auront souvent des taux d'échantillonnage très lents. Les ADC SAR typiques ont des taux d'échantillonnage supérieurs à des centaines de milliers d'échantillons par seconde, tandis que les ADC Delta Sigma à plus haute résolution ne sont généralement capables que d'une poignée d'échantillons par seconde, à un monde loin des ADC SAR rapides et des ADC en pipeline ultra-rapides.

Le MCP3208 est un CAN 12 bits, avec 8 canaux analogiques. Il peut fonctionner n'importe où entre 2,7V et 5,5V et a un taux d'échantillonnage maximum de 100ksps.

L'ajout d'un MCP23S17, un extenseur GPIO populaire, permet d'utiliser 16 broches GPIO.

Étape 7: Conception de circuits

Conception de circuits
Conception de circuits

Le circuit d'alimentation utilise deux diodes Schottky pour fournir une simple fonction OU pour l'entrée d'alimentation. Cela met en place une bataille entre 5V provenant du port USB et tout ce que vous souhaitez fournir à la broche VIN - le vainqueur de la bataille des électrons arrive en tête et alimente le régulateur AMS1117. Une humble LED SMD sert d'indicateur que l'alimentation est en fait fournie au reste de la carte.

Le circuit d'interface USB comporte une perle de ferrite pour empêcher les EMI parasites et les signaux d'horloge bruyants de rayonner vers l'ordinateur d'un utilisateur. Les résistances en série sur les lignes de données (D+ et D-) fournissent un contrôle de base du taux de front.

L'ESP8266 utilise GPIO 0, GPIO 2 et GPIO 15 comme broches d'entrée spéciales, lisant leur état au démarrage pour déterminer s'il faut démarrer en mode programmation, ce qui vous permet de communiquer en série pour programmer le mode de démarrage puce ou flash, qui lance votre programme. GPIO 2 et GPIO 15 doivent rester au niveau logique haut et au niveau logique bas, respectivement pendant le processus de démarrage. Si GPIO 0 est faible au démarrage, l'ESP8266 abandonne le contrôle et vous permet de stocker votre programme dans la mémoire flash interfacée au sein du module. Si GPIO 0 est élevé, l'ESP8266 lance le dernier programme stocké dans la mémoire flash, et vous êtes prêt à rouler.

À cette fin, notre carte de développement fournit des commutateurs de démarrage et de réinitialisation, permettant aux utilisateurs de basculer l'état de GPIO 0 et de réinitialiser l'appareil, pour mettre la puce dans le mode de programmation souhaité. Une résistance de rappel garantit que l'appareil se lance par défaut en mode de démarrage normal, démarrant le programme le plus récemment stocké.

Étape 8: Conception et mise en page de PCB

Conception et mise en page de PCB
Conception et mise en page de PCB

La disposition des circuits imprimés devient plus critique une fois que des signaux analogiques ou à grande vitesse sont impliqués. Les circuits intégrés analogiques en particulier sont sensibles aux problèmes de bruit de sol. Les plans de masse ont la capacité de fournir une référence plus stable pour les signaux d'intérêt, réduisant le bruit et les interférences généralement causés par les boucles de masse.

Les traces analogiques doivent être tenues à l'écart des traces numériques à haute vitesse, telles que les lignes de données différentielles qui font partie de la norme USB. Les traces de signaux de données différentielles doivent être aussi courtes que possible et doivent correspondre à la longueur des traces. Évitez les virages et les vias pour réduire les réflexions et les variations d'impédance.

L'utilisation d'une configuration en étoile pour alimenter les appareils (en supposant que vous n'utilisez pas déjà un plan d'alimentation) permet également de réduire le bruit en éliminant les chemins de retour de courant.

Étape 9: Empilement de PCB

Empilement de PCB
Empilement de PCB

Notre carte de développement est construite sur une pile PCB à 4 couches, avec un plan d'alimentation et un plan de masse dédiés.

Votre "empilement" est l'ordre des couches sur votre PCB. La disposition des couches affecte la conformité EMI de votre conception, ainsi que l'intégrité du signal de votre circuit.

Les facteurs à prendre en compte dans votre empilement de circuits imprimés incluraient:

  1. Le nombre de couches
  2. L'ordre des couches
  3. Espacement entre les couches
  4. Le but de chaque couche (signal, avion, etc.)
  5. Épaisseur de couche
  6. Coût

Chaque stack-up a son propre ensemble d'avantages et d'inconvénients. Une carte à 4 couches produira environ 15 dB de rayonnement de moins qu'une conception à 2 couches. Les cartes multicouches sont plus susceptibles de présenter un plan de masse complet, une impédance de masse décroissante et un bruit de référence.

Étape 10: Plus de considérations pour les couches PCB et l'intégrité du signal

Plus de considérations pour les couches PCB et l'intégrité du signal
Plus de considérations pour les couches PCB et l'intégrité du signal

Les couches de signal devraient idéalement être à côté d'un plan d'alimentation ou de masse, avec une distance minimale entre la couche de signal et leur plan voisin respectif. Cela optimise le chemin de retour du signal, qui passe par le plan de référence.

Les plans d'alimentation et de masse peuvent être utilisés pour fournir un blindage entre les couches ou comme blindages pour les couches internes.

Un plan d'alimentation et de masse, lorsqu'il est placé l'un à côté de l'autre, entraînera une capacité interplan qui fonctionne généralement en votre faveur. Cette capacité s'adapte à la surface de votre PCB, ainsi qu'à sa constante diélectrique, et est inversement proportionnelle à la distance entre les plans. Cette capacité fonctionne bien pour servir les circuits intégrés qui présentent des exigences de courant d'alimentation volatiles.

Les signaux rapides sont idéalement cachés dans les couches internes des circuits imprimés multicouches, pour contenir les EMI générées par les traces.

Plus les fréquences traitées sur la carte sont élevées, plus ces exigences idéales doivent être respectées. Les conceptions à basse vitesse sont susceptibles de s'en tirer avec moins de couches, voire une seule couche, tandis que les conceptions à haute vitesse et RF nécessitent une conception de PCB plus complexe avec un empilement de PCB plus stratégique.

Les conceptions à grande vitesse, par exemple, sont plus sensibles à l'effet de peau - qui est l'observation qu'à des fréquences élevées, le flux de courant ne pénètre pas dans tout le corps d'un conducteur, ce qui signifie à son tour qu'il y a une utilité marginale décroissante à augmenter l'épaisseur du cuivre à une certaine fréquence, puisque le volume supplémentaire de conducteur ne sera de toute façon pas utilisé. À environ 100 MHz, la profondeur de la peau (l'épaisseur du courant circulant réellement à travers le conducteur) est d'environ 7 um, ce qui signifie même 1 oz standard. les couches de signal épaisses sont sous-utilisées.

Étape 11: Une note latérale sur les vias

Une note latérale sur les vias
Une note latérale sur les vias

Les vias forment des connexions entre les différentes couches d'un PCB multicouche.

Les types de vias utilisés affecteront le coût de production des PCB. Les vias borgnes/enterrés coûtent plus cher à fabriquer que les vias à trous traversants. Un trou traversant perfore tout le circuit imprimé, se terminant à la couche la plus basse. Les vias enterrés sont cachés à l'intérieur et n'interconnectent que les couches internes, tandis que les vias aveugles commencent d'un côté du PCB mais se terminent avant l'autre côté. Les vias à trous traversants sont les moins chers et les plus faciles à fabriquer, donc s'ils sont optimisés pour une utilisation économique des vias à trous traversants.

Étape 12: Fabrication et assemblage de circuits imprimés

Fabrication et assemblage de circuits imprimés
Fabrication et assemblage de circuits imprimés

Maintenant que la carte a été conçue, vous souhaiterez sortir la conception sous forme de fichiers Gerber à partir de l'outil EDA de votre choix et les envoyer à une maison de cartes pour la fabrication.

J'ai fait fabriquer mes planches par ALLPCB, mais vous pouvez utiliser n'importe quel magasin de planches pour la fabrication. Je recommanderais fortement d'utiliser PCB Shopper pour comparer les prix au moment de décider quelle maison de panneaux choisir pour la fabrication - afin que vous puissiez comparer en termes de prix et de capacités.

Certaines maisons de cartes proposent également un assemblage de circuits imprimés, dont vous aurez probablement besoin si vous souhaitez implémenter cette conception, car il utilise principalement des pièces SMD et même QFN.

Étape 13: C'est tout

C'est tout les gens !
C'est tout les gens !

Cette carte de développement s'appelle "Clouduino Stratus", une carte de développement basée sur ESP8266 que j'ai conçue pour accélérer le processus de prototypage pour un démarrage matériel/IOT.

Il s'agit encore d'une première itération de la conception, avec de nouvelles révisions à venir.

J'espère que vous avez beaucoup appris grâce à ce guide !:RÉ

Étape 14: Bonus: Composants, Gerbers, Fichiers de conception et Remerciements

[Microcontrôleur]

1x ESP12F

[Périphériques]

1 x extension GPIO MCP23S17 (QFN)

1 x CAN MCP3208 (SOIC)

[Connecteurs et interfaçage]

1 x FT231XQ USB vers série (QFN)

1 x mini connecteur USB-B

2 connecteurs femelle/mâle 16 broches

[Puissance] 1 x AMS1117 - 3.3 Régulateur (SOT-223-3)

[Autres]

1 x ECQ10A04-F Double barrière Schottky (TO-252)

2 x BC847W (SOT323)

7 résistances 10K 1% CMS 0603

2 résistances 27 ohms 1% SMD 0603

3 résistances 270 ohms 1% SMD 0603

2 résistances 470 ohm 1% SMD 0603

Condensateur 3 x 0.1uF 50V CMS 0603

2x10uF 50V SMD 0603 Condensateur

1x1uF 50V SMD 0603 Condensateur

Condensateur 2 x 47pF 50V CMS 0603

1 x LED CMS 0603 verte

1 x LED CMS 0603 jaune

1 x LED CMS 0603 Bleu

2 x interrupteur tactile OMRON BF-3 1000 THT

1 x perle de ferrite 600/100 mhz SMD 0603

[Remerciements] Graphiques ADC avec l'aimable autorisation de TI App Notes

Référence MCU:

Illustrations de circuits imprimés: ligne fine

Conseillé: