Conception de la carte

Prise en main

Dans la partie précédente, nous avons conçu un circuit. L'objectif est maintenant de le matérialiser physiquement sous la forme d'une carte sur laquelle nous viendrons souder les composants. Nous allons utiliser le même logiciel, Eagle, et notamment l'interface de conception de circuit : "board"

Si vous avez fermé Eagle, rouvrez la page de votre circuit, puis dans le bandeau supérieur cliquer sur l'icône entourée ci dessous:

img_circuit_30

Un message vous demande si vous voulez créer le fichier "circuit.brd", cliquez sur "oui".

Une nouvelle page s'ouvre alors:

img_circuit_31

Cette fenêtre se présente sous une forme similaire à celle du schéma, à savoir une zone de travail principale et un bandeau sur la gauche avec les boutons nécessaires à la construction du circuit. Pour le moment, tous les composants sont regroupés sur la gauche, et le pcb est représenté par le rectangle noir prenant une bonne partie de la place, nous allons biensûr le redimensionner, mais tout d'abord, nous allons mettre en place, approximativement, nos composants. On retrouve les mêmes boutons sur la partie supérieure pour bouger les composants et les faire pivoter par exemple.

Disposez les composants sur le pcb, pour le moment de manière aléatoire, en privilégiant une proximité certaine entre le quartz et le LS7366R. Nous reviendrons probablement sur cette disposition par la suite.

img_circuit_32

Avant de continuer, nous allons présenter une notion très importante pour la suite: les couches, ou "layers"

Présentation des layers

Un circuit imprimé peut être réalisé sur une, deux, ... huit, voire plus, couches pour les circuits les plus compliqués. A savoir qu'il est possible déjà de faire de beaux circuits en deux couches. Un circuit imprimé possède aussi des annotations, comme le nom des composants (R1 par exemple) et les valeurs des composants (1M par exemple): ces notations peuvent être considérées aussi comme une couche, qui contient donc les inscriptions. Vous pouvez aussi ajouter votre nom, votre logo, un dessin quelconque : ces indications sont aussi regroupées sur une couche, ou layer. Ces layers sont référencés par des numéros, et ils sont très nombreux, nous n'en verrons que quelques uns par la suite.

Pour voir tous les layers disponibles cliquez sur "Layers settings" reperé par l'icône img_circuit_33

Une nouvelle fenêtre s'ouvre montrant le nom et le numéro des layers

Cliquer sur "Select None" : aucun layer ne s'affiche, donc vous ne voyez plus votre circuit. Cliquer gauche sur le layer Top, et sur le layer Pads:

img_circuit_34

Vous voyez apparaître en "rouge" les parties cuivrées sur lesquelles on viendra souder les composants. Elles sont situées par défaut sur la face supérieure, "Top". En vert, ce sont les "Pads" utiles pour la fixation des connecteurs: ils sont traversant.
Nous n'utiliserons pas tous les layers, mais en voici quelques uns utiles (la liste n'est pas exhaustive et sera complètée probablement au fil de ce chapitre):

Prenez connaissance de ces différents layers. Pour la suite vous pourrez par exemple ne conserver que les layers du début jusqu'au layer 28:

img_circuit_35

Réalisation du routage

Quelques préliminaires

Nos connections ne sont pas encore routées. Avant de réaliser cette opération, il est conseillé de disposer les composants pour minimiser le nombre de croisements. Parfois, il est impossible qu'il n'y ait aucun croisement, d'où la nécessité d'avoir plusieurs couches. Aussi, il y a plusieurs solutions, notamment en phase préliminaire dans laquelle nous sommes : les connections dont nous disposons ne sont qu'une possibilité parmis d'autres. Pour en tester quelques unes, avec une configuration géométrique des composants donnée, nous allons utiliser une fonctionnalité bien pratique : le "Ratsnest"

Cliquer sur "Ratsnest" avec l'icône img_circuit_36. Les connections se sont réorganisées pour qu'elle soient les plus courtes possibles:

img_circuit_37

Essayez de trouver une configuration telles que les connections ne se croisent pas si possibles. Nous n'avons pas de contraintes de situations des connecteurs, ce qui n'est malheureusement pas toujours le cas!

Ce n'est surement pas la meilleure solution, mais nous pouvons partir sur le circuit suivant:

img_circuit_38

Les connections "GND" en croisent quelques unes, mais cela n'a pas d'importance, nous le verrons plus tard.
Nous allons dimensionner notre pcb, car le pcb actuel est bien trop gros.

Un des critères de prix du pcb, outre le nombre de couches et la qualité des matériaux utilisés, est sa surface! On a donc tout interêt, à chaque fois que cela est possible, à réaliser des pcb les plus petits possibles.

Vérifiez bien que l'icône img_circuit_11 est active. Cliquer ensuite sur le bord du pcb et réduisez en la taille:

img_circuit_39

Il est possible de dessiner son propre pcb, pour lui donner n'importe quelle forme. Pour cela, le plus facile est d'utiliser inventor, de dessiner son pcb, et de l'exporter au format dxf dans Eagle. Nous ne le ferons pas ici, mais il est bon de savoir que cela existe. Des ressources sont disponibles sur le net à ce sujet.

Plan de masse

Un des points important lors de la conception de pcb est la réalisation d'un plan de masse. Il consiste à étendre sur la surface la plus grande possible du pcb le potentiel "masse". Il y a plusieurs avantages à cela:

Nous allons réaliser notre plan de masse de manière simple.

Cliquer, dans le ruban de gauche, l'icone "polygon" img_circuit_40. Le bandeau supérieur change. Nous allons réaliser notre plan de masse sur la partie supérieure du pcb "Top". Vérifiez bien, et c'est très important, que le layer choisi est bien "Top", sinon changer le layer courant à "Top":

img_circuit_41

Dessiner ensuite un rectangle, dont les dimensions sont plus grandes que celle de votre pcb, pour être sûr d'en recouvrir toute la surface:

img_circuit_42

La surface de ce rectangle sera la masse, et souvenons nous, il faut lui donner le même nom que la connectique correspondante :"GND".

Cliquer sur l'icône "name" img_circuit_25, puis sur un des côtés du rectangle en pointillé, et donnez lui strictement le nom "GND", valider. Cliquer ensuite sur "ratsnest" img_circuit_36, vous devriez obtenir ceci:

img_circuit_43

Observons que les connectiques du GND ont disparu. Regardez par exemple, le pad de droite du condensateur C2 : le pourtour noir est fractionné, permettant à son pad d'être relié au plan de masse (tout le rectangle rouge). Il en va de même pour chaque pad concerné. On imagine immédiatement l'autre avantage du plan de masse : la dissipation thermique n'en est que meilleure puisque la surface de contact est augmentée.

Nous remarquerons que nous avons les valeurs des composants écrites, ce qui dans note cas, n'est pas utile sur le pcb puisque qu'il n'y a pas de confusion possible : il y a une seule résistance, deux condensateurs de capacité unique, et un seul quartz.

Cliquer sur l'icône "smash" img_circuit_44, puis sur l'origine (la croix) de chaque composant (n'oubliez pas que nous avons affiché le layer TOrigins, on s'en sert enfin!). Vous avez en fait créé plusieurs origines: une pour le composant, une pour le "name", une pour la value:

img_circuit_45

Supprimer les valeurs de la résistance, du quartz, des condensateurs en cliquant sur leur origine puis sur "suppr". Profitons en pour changer le nom "U$1" du composant principal en "LS7366R" (vous connaissez déjà la procédure!) Déplacer ensuite l'origine du nom "LS7366R" pour qu'il soit "bien" placé (maintenez "maj" pour un déplacement plus fin). Enfin vous pouvez "smasher" les connecteurs, et supprimer les noms "J1", etc... Vous devez avoir :

img_circuit_46

Routage

Nous allons maintenant réaliser le routage des connections restantes. Pour cela, nous pouvons donner au logiciel des indications sur la largeur des pistes, l'écart minimal entre deux pistes, la largeur des trous, etc. Dans le cas où cela est nécessaire, on peut définir des paramètres différents suivant le type de pistes et de la puissance à transmettre. Dans notre cas, nous nous limiterons à un jeu de paramètre unique. Ceci se fait en définissant une "net class".

Dans le bandeau supérieur, sélectionnez "Edit", puis "Net class", situé vers le bas du menu.Les grandeurs sont en millième de pouce. Laisser defaut, puis dans "Width" (largeur des connections), mettez 12mil (soit environ 0,3 mm), dans "Drill", mettez 20mil (soit environ 0,5 mm) puis dans "Clearance" mettez 10mil (soit environ 0,25 mm). Ces valeurs sont considérées comme usuelles pour ce genre de circuit:

img_circuit_47

Nous allons procéder au routage des pistes non réalisées. Deux possibilités s'offrent à nous. On peut réaliser manuellement le routage, ou automatiquement grâce à une fonction d'autoroutage. Nous allons donc commencer par utiliser cette fonction, puis si nécessaire finaliser le travail manuellement.

Dans le bandeau de gauche, cliquer sur l'icône "Autorouter" img_circuit_48. La fenêtre suivante doit s'ouvrir:

img_circuit_49

Il existe de nombreuses options pour le routage, nous n'utiliserons que les paramètres par défaut, vu la simplicité de notre circuit.

Cliquer sur "Continue", puis "Start". Vous devez obtenir une fenêtre proche de celle-ci:

img_circuit_50

Dans la fenêtre de gauche, on voit 5 propositions de routage, vous pouvez les tester : toutes proposent d'utiliser deux couches. En effet, aucune ne propose un nombre nul de vias (connectique verticale reliant la face supérieure "Top" à la face inférieure "Bottom"). Pourtant on peut très bien imaginer que cela est possible dans le cas de notre circuit. Vu la photo ci dessus, on imagine bien que les connections "SS" et "SCK" peuvent être conservées sur la face "Top", moyennant de bouger un peu les composants pour laisser de la "place".

Cliquer donc sur "annuler". Bouger un peu le condensateur "C2" vers la gauche, n'oubliez pas de "ratsnest" pour mettre à jours les tracés, et refaites un routage jusqu'à ce que seule la connectique "3v3" soit en bleu (coté "bottom"). Après quelques essais, on peut facilement arriver à cette configuration : ( n'oubliez pas à chaque autoroutage de decocher "Continue existing job" dans la fenêtre de l'autorouter!)

img_circuit_51

En ayant simplement bougé "C2" vers la gauche, les deux connectiques peuvent se situer sur la partie "Top". Par contre "3v3" reste bloqué sur la partie inférieure. Regardons maintenant à quoi va ressembler le routage.

Sélectionner par exemple la première proposition parmis les 5, et cliquer sur "evaluate", puis faites un "ratsnest" On doit obtenir un routage qui ressemble à ça:

img_circuit_52

On remarque toute la surface n'a pas pu être occupée par le plan de masse, notamment entre les pattes de la résistance. Intéressons nous à la connection "3V3". Nous allons voir deux approches :

Modification manuelle d'une route

Nous allons donc modifier la connection "3V3"

Pour modifier la connection, cliquer sur l'icône "ripup" img_circuit_53, puis double cliquer gauche sur la connection bleu "3v3" : un simple fil apparaît sur une seule portion droite de la connection, recliquer gauche sans bouger la souris, i.e sur le fil précédemment défait : c'est alors toute la connectique qui est déroutée : c'est bon à savoir, cela évite la multiplication des clics. Vous devez avoir ceci:

img_circuit_54

Il nous faut maintenant router notre connection.

Cliquer maintenant sur l'icône "route" img_circuit_55. A ce moment là, avant toutes choses, remarquons que la barre supérieure a changé. Nous voulons que cette connection soit sur la face "top", mettez ou vérifiez que le layer choisi est bien "TOP":

img_circuit_56

Toujours dans la barre supérieure, dans le champ "width" mettez 12 (Souvenez vous, c'est la même valeur que celle définie dans le "Net class"). Ensuite cliquer gauche sur une extrêmité de la connection (typiquement sur un des pad vert d'un connecteur), relâcher le clic, puis étirez votre route jusqu'à l'autre pad vert (autre connecteur). Recliquez gauche quand vous êtes dessus. La connection n'est pas visible, car "mélangée" au plan de masse. Faites donc un "rastnest" pour rafraichir l'image:

img_circuit_57

A ce stade, on peut considérer que notre circuit est terminé! La suite n'est pas obligatoire, mais elle montre une autre approche qui vous sera utile si vous êtes amené à faire des circuit sur deux couches. Reprenons le circuit initial. Pour cela c'est assez simple.

Deuxième approche : utilisation de la face inférieure

Faites un "ripup" sur la connection 3v3, relancer un routage, et valider. Vous devez retomber sur:

img_circuit_58

Le circuit peut être d'ailleurs aussi considéré comme terminé. Les pads verts sont réalisés de part et d'autres de la carte, donc la connectique est valable. Continuons notre conception.

Réalisez un plan de masse du côté bottom. Nous l'avons déjà fait pour le coté top, la démarche est la même. Voici en résumé les différentes étapes:

Vous devez avoir ceci:

img_circuit_59

Nous n'avons pas fait de jonction (via) entre le plan de masse inférieur et supérieur, et pourtant, dans notre cas, ils sont bien relié entre eux! Effectivement, les pads verts des connecteurs sont traversants, et cuivrés, donc il y a bien au moins un contact entre les plan de masse. On peut supposer que votre futur circuit ne dispose pas de connecteurs, et que tout est en CMS. Dans ce cas, il faut placer des "vias". Nous allons en placer , cela ne dégradera pas notre circuit et peux même contribuer à améliorer l'équipotentialité de la masse.

Dans le ruban de gauche, cliquer sur l'icône "via" img_circuit_60, puis placer 2 vias sur une zone libre:

img_circuit_61

Si vous faites un "rastnest", vous allez voir qu'autour des vias, le plan de masse a été enlevé, alors qu'au contraire, nous voulons bien qu'il y ait contact! C'est normal, il faut le renommer en "GND".

img_circuit_62

Renommer les vias en "GND" avec l'outil "name". Faites un "rastnest", cette fois-ci, le plan de masse inférieur et supérieur sont bien connectés avec les "vias"!

Souvenons nous de ce plan de masse supérieur manquant au niveau de la résistance. Nous allons rajouter un via pour combler ce manque.

Rajouter un via au niveau de l'absence du plan de masse supérieur, renommer le "GND" puis faites un "rastnest":

img_circuit_63

Par curiosité, ou pour vérifier, vous pouvez n'afficher que le layer top puis bottom, pour voir le routage:

img_circuit_64 img_circuit_65

Ceci étant fait, nous pouvons paufiner notre circuit. Quand on conçoit des circuits, il peut être bon de placer des points de tests pour, par exemple, visualiser certains signaux à l'oscilloscope. Supposons que nous voulions tester la tension aux bornes du crystal. Ceci peut être fait en rajoutant des vias, uniquement relié au signal à tester. Dans mon cas, le nom des signaux correspondants au quartz sont "N$1" et "N$2"

Rajouter deux vias, et nommé les de la même manière que les noms des broches du quartz:

img_circuit_66

Faites un nouvel autoroutage, un "ratsnest", vérifier bien que les vias sont bien reliés au quartz, et surtout pas au plans de masses:

img_circuit_67

Il nous reste une étape indispensable : la vérification du circuit.

Cliquer sur l'icône "DRC" img_circuit_68 : il s'agit de la vérification des règles de conception.

Cliquer sur check. Une fenêtre s'ouvre montrant des erreurs de "drill size" : il s'agit des vias qui ont un diamètre different de celui imposé dans le "net class". Ce n'est donc pas un problème. Ces erreurs doivent être les seules présentes. Nous validons donc le circuit.

Cliquer sur "approve all"

Quelques finitions qui ne font pas de mal

Votre circuit est peut être destiné à être fixé sur un support. Vous pouvez faire des trous dans le circuit pour faire passer des vis par exemple, en utilisant img_circuit_69. Vous pouvez dans la barre supérieure, dans le champ "Drill" choisir votre diamètre et placer vos trous. Mais avant, nous devons apprendre à positionner précissement un objet.

Sélectionner tout votre circuit en faisant un large rectangle de sélection (utiliser l'icône img_circuit_11 ), puis positionner le côté inférieur gauche de votre circuit sur l'origine globale du repère (petite croix qui doit être à l'exterieur du circuit, vers le bas, à gauche, dézoomer si nécessaire!):

img_circuit_70

Après déplacement, vous devez avoir:

img_circuit_71

Cette croix correspond à l'origine du repère. Elle a donc pour coordonnées (0,0)

Placer par exemple 4 trous img_circuit_69 en ayant choisi au préalable leur diamètre dans le champ "drill". Dans mon exemple je prendrai 40 mil. Placez les approximativement comme suit et faites un "ratsnet":

img_circuit_72

Cliquer ensuite sur info img_circuit_73 puis sur un trou. Une fenêtre s'ouvre. Règler ensuite les coordonnées du trous précisemment en fonction de vos besoins!

En fait, chaque élement peut être positionné très précisemment grâce à l'outil "info". C'est très utile lors qu'on désire réaliser des circuit venant s'emboiter sur d'autres: ce sont les fameux shield pour Arduino par exemple!

Nous avons presque terminé : nous connaissons l'ordre des connections, mais si une personne extérieure est amenée à utiliser ce circuit, il n'a pas d'information. A nous de jouer en ajoutant du texte

Cliquer sur l'icône "Text" img_circuit_74. A l'ouverture de la fenêtre, taper "SS", puis dans la barre supérieure, choisir le layer "tPlace". Si vous laissez top, vous aller introduire ce texte matérialisé par... du cuivre ! tPlace est reconnu pour correspondre aux inscriptions diverses sur la face supérieure. bPlace, pour la face inférieure. Placer ensuite approximativement le texte sous la broche correspondante. Cliquer ensuite sur info, et dans la fenêtre, diminuer la taille en choisissant "size" à 40. Modifier "Align" à "center" : l'objet sera plus facile à positionner car son origine relative sera au centre du texte. Pivoter ensuite le texte avec l'icône déjà utilisée dans le chapitre précédent. Vous devriez avoir quelque chose qui ressemble à cela:

img_circuit_75

Faites de même pour toutes les broches à connecter. Rajouter du texte si nécessaire. Par exemple, vous aurez:

img_circuit_76

Vu qu'il n'y a rien sur la face "bottom", on peut en profiter pour inscrire la version (v0), le type de circuit, votre nom, etc.

Placer du texte sur la partie inférieure, en choisissant bien le layer "bottom" avant de placer le texte. Dans mon cas , j'ai inscrit "Decodeur v0 LS7366R 3v3 mode":

img_circuit_77

Bilan

Votre travail enregistré, vous voilà prêt à lancer la fabrication! Le chapitre suivant donne très rapidement quelques pistes!