dimanche 4 novembre 2018

Concevoir un PCB






Concevoir un PCB

Nous allons expliquer dans cet article, sans trop entrer dans les détails, comment se conçoit un PCB maison.

Je ne m'adresse pas aux personnes ayant une grosse expérience de la chose, mais plutôt aux amateurs qui aimeraient pouvoir se lancer dans l'aventure mais que la chose effraie.

D'abord pourquoi un PCB quand on peut relier un ARDUINO a des modules du commerce avec des fils DUPONT ?
Tout d'abord pour obtenir un produit fini, facilement intégrable dans un boîtier. Ensuite il faut reconnaître que les fils volants ne sont pas une méthode de raccordement très fiable. Les faux contacts sont vos ennemis, et la soudure votre amie.

Alors, pourquoi ne pas souder les composants sur un PCB d'expérimentation ?
Outre les possibilités d'accueil de composants ultra limitées (2.54mm) , le câblage de ce genre de carte est un vrai casse-tête.
Quand il s'agit de câbler un transistor, un relais, deux condensateurs et quelques résistances cela peut être une solution rapide, mais au delà, clairement non.

1. Les outils de conception

Bien entendu nous allons éviter de parler des logiciels professionnels aux tarifs dissuasifs.
Il existe dans le monde du logiciel libre des outils très performants permettant de réaliser le schéma et le routage d'un montage très facilement et confortablement.
Je vais vous présenter KICAD, que j'utilise avec beaucoup de satisfaction depuis plusieurs années.

Installez le à partir de ce lien : http://kicad-pcb.org/download/

Les utilisateurs de LINUX n'auront pas à télécharger le logiciel. Il pourront l'installer directement depuis l'outil d'installation de leur distribution.
Sous UBUNTU :

sudo apt-get install kicad

Je n'ai pas l'intention de vous noyer dans 40 pages avec une centaine de copies d'écran. Je ne vais pas vous montrer pas à pas comment cliquer sur chaque bouton de chaque boîte de dialogue. Le but est plutôt de réunir en un seul article d'une quinzaine de pages l'essentiel de ce qu'il faut connaître sur le sujet.

Vous submerger sous des tonnes d'informations n'est pas le but. Explorez les menu, les icônes, le clic droit contextuel, et voyez l'effet qu'ils produisent. La curiosité est la plus grande des qualités.

J'aborderai par contre certaines fonctionnalités que vous verrez dans peu de tutoriels. L'essentiel est de savoir qu'elles existent. Vous pourrez vous entraîner à les utiliser en les expérimentant vous-même.
Vous aurez droit également à un gros chapitre de conseils.

Les questions et commentaires sont bien entendu les bienvenus. Ils peuvent contribuer à enrichir ce document.

2. Principes généraux

KICAD est un logiciel qui fonctionne assez différemment des logiciels Windows ou LINUX habituels.

Dans un schéma ou une implantation, on ne clique pas sur un composant ou une empreinte, sauf en utilisant le bouton droit pour accéder au menu contextuel. On place le curseur de la souris sur l'élément voulu, sans cliquer, et on agit sur le clavier pour réaliser une action.

Pour supprimer un composant, placez le curseur dessus sans cliquer et appuyez sur la touche "SUPPR".
Il est aussi possible de aussi de faire un clic droit et de choisir "Supprimer".

Pour tirer un fil entre deux composants, placez le curseur dessus sans cliquer et appuyez sur la touche "w".
Il est aussi possible de aussi de cliquer sur l'icône "Place Component" et cliquer sur la feuille.

La méthode utilisant les touches clavier est nettement plus efficace.

Comme la majeure partie des logiciels, "CTRL-Z" annule le dernier changement, "CTRL-Y" le rétablit.

3. Le projet

Lorsque vous lancez KICAD, cette fenêtre apparaît :


Vous allez cliquer sur "File/New Project", donner un nom explicite à votre projet et un emplacement pour vos fichiers.

Nous allons nommer ce projet : test

Vous allez voir apparaître dans la fenêtre de gauche deux fichiers :
  • test.sch : votre schéma
  • test.kicad_pcb : votre routage
Le schéma est la représentation théorique de votre projet.
Le routage est la représentation physique des composants et des pistes sur votre carte.
Double-cliquez sur test.sch. Une belle fenêtre pleine de vide apparaît.

4. Le schéma (Eeschema)

La première mission lorsque l'on développe un carte électronique est de dessiner le schéma de celle-ci.
La barre d'icône sur la droite vous permet :
  • d'ajouter des composants
  • d'ajouter des points d'alimentation
  • de les raccorder entre eux
  • d'ajouter des libellés
  • etc.
Noua allons placer sur une feuille blanche des composants et relier ces composants à l'aide de fils. Partons d'un exemple, un détecteur de mouvement :
Vous pouvez télécharger et l'ouvrir dans KICAD. Double-cliquez simplement sur le fichier mysensors-motion-sensor.pro

4.1. Les librairies

KICAD est installé dès le départ avec une librairie de composants assez impressionnante. Vous allez vite vous apercevoir que cette librairie ne contiennent que des éléments standards et courants : des composants passifs, des circuits intégrés, des transistors, des diodes, des relais, etc.

Malheureusement, les éléments essentiels de ce schéma sont manquants :
  • ARDUINO MINI
  • NRF24L01
  • TP4056 (chargeur de batterie)
Vous avez plusieurs solutions :
  • les dessiner vous même à l'aide du "Library Editor"
  • les trouver sur le WEB
On peut en trouver beaucoup ici :
https://github.com/KiCad/kicad-symbols
Vous pouvez également me demander de vous les envoyer en me contactant. Un petit commentaire en bas de n'importe quelle page de ce blog suffira.

Il s'agit de fichiers portant l'extension .lib que vous copierez dans le sous-répertoire library de votre répertoire KICAD.

Ensuite il vous faudra les intégrer à votre projet. il suffira d'utiliser le menu "Preferences/components libraries". Cette fenêtre apparaît :



Cliquez sur le bouton "Add" pour ajouter votre nouvelle librairie.
Maintenant celle-ci est disponible dans votre éditeur de schéma et vous allez pouvoir placer les composants qu'elle contient.

4.2. L'éditeur de composants

Cet outil se lance en cliquant sur l'icône "Library Editor".

Il y a deux méthodes de travail.
  • vous créez une librairie, puis vous dessinez votre composant et vous le sauvegardez dedans.
  • vous dessinez votre composant et vous l'exportez dans une nouvelle librairie.
Vous pouvez importer un composant ressemblant à celui que vous voulez créer ou démarrer de zéro.

A droite vous disposez d'un certain nombre d'icônes. Vous pouvez :
  • ajouter une pin
  • tracer le contour du composant
  • etc. 
Voici ce que vous devez obtenir :

Chaque pin doit avoir un nom et un numéro. C'est plus facile ensuite sur le schéma de savoir quelle est la fonction de chaque pin. Utilisez simplement les noms et les numéros que vous trouverez dans la datasheet du composant.



Vous pourriez bien entendu créer un composant générique à 16 pattes, mais ensuite sur le schéma vous auriez beaucoup de mal à associer chaque patte à sa fonction, à moins d'avoir la datasheet sous les yeux, ou de la connaître par cœur.

Lorsque votre tracé est terminé, sauvegardez ou exportez votre composant dans votre répertoire libraries.

Je vous conseille vivement de développer des librairies thématiques. Afin d'éviter les confusions, nommez vos librairies afin qu'il n'y ait pas de confusion possible avec celles de KICAD :
  • my_resistors.lib
  • my_connectors.lib
  • my_transistors.lib
  • my_microcontrollers.lib
  • etc.
Dans l'onglet description de votre composant, ajoutez une ligne de commentaire indiquant la fonction du composant.

4.3. Placer les composants

Utilisez l'icône "Place Component" ou appuyez sur "a".


Choisissez le composant et placez-le sur votre page blanche d'un simple clic.

Je vous conseille vivement d'explorer les librairies mises à votre disposition. C'est le meilleur moyen de les connaître. Contentez-vous de les survoler, cela suffira.

Chaque composant est accompagné de deux textes :
  • le libellé
  • la référence (terminée par ?)
Changez les libellés de vos composants :
  • valeur des résistances, des condensateurs
  • type d'amplificateur opérationnel
  • etc.
Pour éditer un composant, pointez-le avec la souris puis appuyez sur "e".

Ne touchez pas à la référence. KICAD le fera pour vous.

Placez d'autres composants au hasard sur le schéma. Nous allons maintenant les relier.

4.4. Tirer les fils

Utilisez l'icône "Place Wire" ou pointez une patte de composant et appuyez sur "w". Tirez le fil jusqu'à atteindre la patte de l'autre composant auquel vous voulez le relier.

KICAD ne tire que des fils horizontaux ou verticaux. A chaque fois que vous voulez prendre un virage, cliquez. Lorsque vous avez atteint le second composant, cliquez simplement sur la pin sur laquelle vous voulez que se termine le fil.

Votre schéma prend forme.

4.5. Les points d'alimentation

Vous pouvez placer des points d'alimentation avec l'icône "Place Power Port" ou en appuyant sur "p". Choisissez le point (5V, 12V, GND, etc.), placez le sur le schéma d'un simple clic.
Reliez ces points d'alimentations aux fils existants ou aux pins d'alimentation des composants. Bien entendu, deux points d'alimentation portant le même nom seront considérés par KICAD comme un seul point d'alimentation.

Pour certains circuits comme la série CMOS 4000 ou la série 74XX, les points d'alimentation n'apparaissent pas sur les composants. Il vous suffit de placer deux points d'alimentation nommés VDD et VSS (CMOS 4000) ou VCC et GND (74XX) sur deux fils ou un connecteur d'alimentation pour que KICAD comprenne qu'il aura à relier toutes les pins d'alimentation des portes CMOS à ces points.

Placez obligatoirement un point "GND" car tous les schémas ont une masse.

4.6. Quelques trucs

  • déplacer un composant : "m".
  • draguer un composant (le déplacer avec ses fils) : "g". La même touche peut aussi déplacer un fil
  • faire tourner un composant : "r" 
  • copier un composant : "c"
  • changer le libellé d'un composant : "v"
  • orienter un composant :  clic droit puis "Orient Component"
  • ajouter un texte : "t"
  • rafraîchissement schéma :  F3
  • zoom : utilisez la molette de la souris
  • défilement vers la droite ou la gauche : CTRL + molette
  • défilement vers le bas ou le haut : SHIFT + molette
N'hésitez pas à utiliser le clic droit sur un composant, explorez le menu contextuel. Soyez curieux.

4.7. Fonctionnalités spéciales et astuces

Les fonctionnalités suivantes n'apparaissent en général pas dans les tutoriels habituels.

4.8.1. Les sous-schémas

Lorsque votre schéma est de dimensions importantes, vous pouvez le découper en plusieurs parties.

Utilisez le menu "Place / Hierachical Sheet". Cliquez dans un coin du schéma. Un petit rectangle se dessine. Agrandissez-le en déplaçant la souris. Cliquez une deuxième fois. Une popup apparaît. Validez.

Votre rectangle "Hierachical Sheet" devra être suffisamment grand pour pouvoir y placer toutes les entrées et sorties.

Appuyez sur ESC. Double-cliquez dans le rectangle. Une page blanche s'ouvre.
Procédez de la même manière que pour un schéma principal. Ajoutez des composants, reliez-les, ajoutez des points d'alimentation.

Pour créer des entrées et sortie dans votre sous-schéma vous allez créer des "Hierarchical labels", en leur donnant un petit nom parlant. Vous allez relier ces labels à des pins de composants ou des fils existants.

Ces labels sont les entrées et sorties de votre sous-schéma.

Inutile d'ajouter des labels pour vos points d'alimentation. Ils suffit de placer des points d'alimentation normaux. S'il portent les même noms que ceux du schéma principal, ils sont considérés comme reliés.

Pour revenir au schéma principal, avec un clic droit, choisissez "Leave Sheet".

Maintenant vous allez importer chaque label à l'aide de l'icône "Place a hierarchical pin imported from ...". Cliquez à chaque fois sur le rectangle représentant le sous schéma et placez votre pin à l'endroit désiré.

Ces pins pourront être reliées à des fils ou des pattes de composant du schéma principal de la même manière qu'un composant normal.

4.7.2. Le copier / coller dans un schéma

Copier et coller une partie de schéma sur un nouveau schéma est faisable.

Utilisez le menu "Place / Hierachical Sheet". Cliquez dans un coin du schéma. Un petit rectangle se dessine. Agrandissez-le en déplaçant la souris. Cliquez une deuxième fois. Une popup apparaît. Validez.

Appuyez sur ESC. Double-cliquez dans le rectangle. Une page blanche s'ouvre.
Utilisez le menu "File / Append Schematic Sheet". Choisissez le fichier à importer. Placez-le sur la page.

Sélectionnez la partie qui vous intéresse. Appuyez sur CRTL-C.
Avec un clic droit, choisissez "Leave Sheet". Utilisez l'icône "Paste" et placez votre bloc sur la page.

Quand vous n'avez plus besoin du schéma secondaire, pointez-le avec la souris, appuyez sur DEL, sinon il sera considéré comme un sous-schéma

4.8.3. Les composants à plusieurs unités

Certains composants de la librairie contiennent plusieurs unités :
  • CMOS 4000
  • 74XX
  • etc.
Lorsque vous placez une porte NAND d'un CD4011 par exemple, vous pouvez placer l'unité A,B, C ou D. Si vous dépassez le nombre de 4 unités, 2 composants seront utilisés.

Mais sur aucune de ces unités vous ne voyez apparaître de pin d'alimentation. Ne vous inquiétez pas, elles sont implicites. Cela permet d'alléger le schéma.

Pour la série CMOS 4000 il vous suffit de placer deux points d'alimentation nommés VDD et VSS sur deux fils ou un connecteur d'alimentation pour que KICAD comprenne qu'il aura à relier toutes les pins d'alimentation des portes CMOS à ces points.

Pour la série 74XX, ces pins se nomment VCC et GND.

Bien sûr si vous utilisez des composants  74XX et CMOS 4000 sur la même carte, VSS et GND peuvent être au même potentiel si tout est alimenté en 5V, VCC et VDD également.

4.8.4. Choix des composants

Le choix des composants est guidé par leur fonction :
  • résistance
  • condensateur
  • transistor
  • circuit intégré
  • etc.
Pour un composant passif ou un circuit intégré le problème est relativement simple.
En ce qui concerne les composants passifs il y a peu de choix dans la librairie :
  • une résistance
  • un condensateur non polarisé
  • un condensateur polarisé
  • un potentiomètre
  • une diode
  • une zener
  • etc. 
En effet, d'un point de vue strictement schématique, une résistance de 1/4W est équivalente à une résistance de 3W.
Seule l'empreinte sera différente.

En ce qui concerne les circuits intégrés il suffit de choisir le composant adéquat :
  • un ARDUINO NANO
  • un CD4511
  • un LM741
  • etc.
L'empreinte sera choisie par vous parmi les boîtiers proposés :
  • ARDUINO NANO : DIP30
  • CD4511 : DIP16
  • LM741 : DIP8
Qu'en est-il des transistors ?
Vous allez vite vous apercevoir d'une chose :

Si le composant existe dans la librairie, vous le choisissez, naturellement.
Remarquez : le brochage n'est pas toujours dans le même ordre :
  • PN2222 : EBC
  • BC237 : CBE
Comment allons-nous nous en sortir s'il n'existe pas ?

La méthode de luxe : vous  recherchez un composant schématique correspondant exactement à votre matériel, ou vous le créez à partir d'un composant existant, ayant le même brochage, par copier / coller en respectant la datasheet.

C'est la méthode professionnelle. A chaque composant son empreinte spécifique, quitte à multiplier à l'infini le nombre de composants identiques.

La méthode bricoleur : vous utilisez un composant générique de la librairie qui se trouve dans la libraire devices.
  • 2N3906 : Q_NPN_EBC
  • BC239 : Q_NPN_BCE
Ensuite lors du choix de l'empreinte, celle-ci sera de toutes façons un boîtier TO92 de votre choix, ou éventuellement un TO18.

Les boîtiers sont toujours numérotés 1 2 3 de la gauche vers la droite.
Donc pour un 2N3906 ou un BC239 le brochage sera respecté.

Le raisonnement est identique pour un MOSFET.

5. Choix des empreintes (CvPCB)

Quand tous vos fils sont en place, il va falloir attribuer une empreinte (footprint) à chaque composant. L'empreinte est la représentation physique de votre composant, la disposition de ses pattes, son encombrement, etc.

Vous devez utiliser le menu "Tools/Assign Component footprint" ou l'icône "Run CvPCB to Associate Componants and Footprints".

Le logiciel va d'abord vous demander d'annoter les composants. Cliquez sur  "Annotate" et laissez-le faire tout seul. Vos composants porteront tous une référence : R1, R2, C1, U1, etc.

La fenêtre suivante va vous permettre de choisir les empreintes de vos composants :


A gauche, vous trouvez les librairies d'empreinte, au centre vos composants, à droite les composants disponibles de la librairie sélectionnée.

Cliquez sur l'icône "View selected footprint" pour ouvrir une fenêtre permettant de visualiser l'empreinte que vous choisissez.

Je vous conseille vivement de parcourir les librairies disponibles afin de les retrouver plus facilement et aussi ne pas avoir à recréer les empreintes qui existent déjà.

Par exemple, pour le composant L293D que nous avons créé au paragraphe 3.2, vous allez choisir l'empreinte "Housings-DIP / DIP-16_W7.62mm". Pas besoin de la créer :


5.1. Les librairies d'empreintes

Car bien sûr vous pouvez créer vos propres librairies d'empreintes. Comme précédemment avec les librairies de composants, vous aurez le choix :

  • les dessiner vous même à l'aide du "Footprint Editor"
  • les trouver sur le WEB

On en trouve beaucoup ici :

https://github.com/KiCad/kicad-footprints

Vous pouvez également me demander de vous les envoyer en me contactant sur ce blog.

Il s'agit de fichiers portant l'extension .kicad_mod que vous placerez dans le sous-répertoire library.pretty de votre répertoire kicad.

Je vous conseille vivement de classer vos empreintes dans des sous répertoires :

  • library.pretty
    • resistors.pretty
    • connectors.pretty
    • cases.pretty
    • microcontrollers.pretty
    • etc.

Il faut ensuite lancer PcbNew ou CvPCB et ajouter chaque répertoire à l'aide du menu "Preferences / Footprint Libraries Manager". Ensuite, quitter et relancer KICAD. Oui c'est un petit défaut. Mais si je n'étais pas là pour vous le dire vous pourriez chercher longtemps.

Ensuite vous verrez apparaître votre librairie dans la liste de gauche de la fenêtre CvPCB, tout en bas.

Pour sélectionner une empreinte, choisissez la librairie dans la fenêtre de gauche, cliquez sur le composant dans la fenêtre du milieu et double-cliquez sur l'empreinte choisie dans la fenêtre de droite.

KICAD passe tout seul à la ligne suivante.

Quand toutes vos empreintes sont choisies, sauvegardez et fermez la fenêtre.

5.2. L'éditeur d'empreintes

Cet outil se lance en cliquant sur l'icône "Footprint Editor".

Vous pouvez importer une empreinte ressemblant à celle que vous voulez créer ou démarrer de zéro.

A droite vous disposez d'un certain nombre d'icônes. Vous pouvez :

  • ajouter une pin, la nommer, la numéroter
  • tracer le contour de l'empreinte
  • etc.

Il est bien entendu que votre empreinte doit correspondre à votre composant, même nombre de pins, même numérotation.

Vous pouvez aussi créer une empreinte pour un composant existant dans la librairie standard. Un transistor NPN ou MOSFET existe dans une multitude de boîtiers différents. Toutes les empreintes ne sont pas forcément présentes dans la librairie.

Lorsque votre dessin est terminé, exportez votre empreinte dans votre répertoire libraries.pretty, dans un sous répertoire si vous le jugez nécessaire (c'est conseillé).

5.3. La netlist

Nous allons maintenant générer la netlist, un fichier qui va décrire les associations entre composants, empreintes et fils.

Dans l'éditeur de schéma, cliquez sur "Tools / Generate Netlist File" ou l'icône "NET". Cliquez sur le bouton "Generate", "Enregistrer". C'est fini pour cette partie.

Il est bien entendu que :

  • à chaque fois que vous modifiez le schéma, vous devez générer la netlist
  • à chaque fois que vous ajoutez un composant au schéma, vous devez lui choisir une empreinte et générer la netlist

6. Le routage (PcbNew)

Nous allons maintenant passer à la phase routage, c'est à dire placer les empreintes sur la carte et tracer les pistes.

Cliquez sur l'icône "Run PcbNew", en haut à droite.
Encore une fois une belle fenêtre pleine de vide apparaît :


Vous allez commencer par lire la netlist. Cliquez sur l'icône "NET", puis sur "Read current netlist" puis sur OK.Vérifiez bien qu'aucun message d'erreur n'apparaît.
Les erreurs les plus courantes :
  • vous avez choisi pour un composant dont les pattes sont repérées par 1, 2 et 3 une empreinte dont les pins s'appellent A, B, C
  • il manque une patte du composant dans votre empreinte
  • etc.
Lorsque vous avez lu la netlist, les empreintes apparaissent sur la page.

Avoir fait tout ça pour voir un gros paquet d'empreintes regroupées au même endroit sur la page ? Eh oui. Il va falloir placer vous même les empreintes sur celle-ci.

Les professionnels avec lesquels je travaille n'utilisent pas le routage automatique. Je ne vous entraînerai pas dans cette voie.

Avant d'aller plus loin choisissez votre grille. Une liste déroulante (grid) vous permet de choisir l'espacement minimal que vous désirez fixer pour les pattes de vos composants. Rien ne vous empêche de fixer une grille de 1.27mm pour vos composants et une grille plus fine pour vos pistes. Changez-la à volonté en cours de routage.

Deux icônes à gauche vous permettent de choisir l'unité de la grille (inch ou mm).

6.1. Placer les empreintes

Commencez par les ranger sur un côté de la page en les regroupant par type.
On les déplace en pointant le composant, sans cliquer, et en appuyant sur "m" (move). Un clic de souris permet de le relâcher sur la page.

Maintenant on y voit un peu plus clair. Les composants sont rangés et les fils de votre schéma sont représentés par des lignes blanches. Quelques fois ils disparaissent (c'est rare). Relisez la netlist.

Placez vos composants sur la page. Pour éviter de générer un sac de nouilles je vous conseille de les placer de la même manière que sur le schéma pour commencer. Par la suite, vous pourrez les déplacer, les orienter, pour obtenir un résultat acceptable et compact.

Quand tous les composants sont placés, la phase de tracé des pistes peut commencer.

6.2. Règles de conception

Vous allez commencer par visiter le menu "Design Rules" et choisir la largeur de vos pistes, leur espacement minimal (clearance) et le diamètre des vias. Les vias sont des pastilles utilisées pour les passages entre couches. Ils doivent avoir un diamètre supérieur à la largeur de piste.






Il est possible de définir plusieurs largeurs de pistes. Dans l'exemple, une règle power est ajoutée, avec des piste de 1mm.

Vous devez aussi prêter attention à l'espacement entre pistes (clearance). Si vous avez des tensions de l'ordre de 110V ou 230V sur la carte, l'espacement devra être plus important, plusieurs millimètres.

Ensuite pour attribuer cette règle à certaines pistes (nets), vous devez sélectionner la règle "POWER" dans la liste et sélectionner les nets voulus dans la fenêtre de droite et les faire passer avec les flèches vers la fenêtre de gauche.

Validez pour fermer.

6.3. Tracer les pistes

Comme nous sommes débutants, nous allons router une carte avec des composants traversants. Commencez par cocher la case "B. Cu" (back copper) en haut à droite de la fenêtre PcbNew.
Les élèves doués qui ont choisi de directement commencer avec des composants CMS choisiront la case "F. Cu" (front copper).

Placez votre souris sur une patte d'empreinte et appuyez sur "x" ou cliquez sur l'icône "Add track and vias". Déplacez la souris dans la bonne direction. lorsque vous avez atteint la patte de l'autre empreinte auquel vous devez la relier, double-cliquez.

KICAD ne tire que des pistes horizontales, verticales ou à 45°. A chaque fois que vous voulez changer de direction, cliquez. Lorsque vous avez atteint la seconde empreinte, double-cliquez simplement sur la patte sur laquelle vous voulez que se termine la piste.

KICAD refusera de relier deux pattes d'empreintes qui ne doivent pas l'être. Lorsque deux pattes dont reliées, la ligne blanche qui les reliait auparavant disparaît. La piste est créée.
Quand toutes les lignes blanches ont disparu, c'est fini.

KICAD refusera de croiser deux pistes qui ne doivent pas l'être, sauf si elles sont situées sur deux couches différentes.

KICAD refusera qu'une piste passe trop près d'un pad ou une autre piste si la distance (clearance) que vous avez fixé n'est pas respectée.

Quelques trucs (presque les mêmes que pour le schéma):
  • démarrer un fil : "x"
  • faire tourner une empreinte "r"
  • déplacer une empreinte : "m". La même touche peut aussi déplacer une piste
  • draguer une empreinte (la déplacer avec ses pistes) : "g". La même touche peut aussi déplacer une piste
  • rafraîchissement : F3
  • zoom : utilisez la molette de la souris
  • défilement vers la droite ou la gauche : CTRL + molette
  • défilement vers le bas ou le haut : SHIFT + molette
Ici encore n'hésitez pas à utiliser le clic droit sur une empreinte ou une piste. Soyez curieux.

6.4. Les vias

Nous allons parler un peu des vias. Nous allons nous limiter à un PCB à deux couches, celle du dessus (rouge) et celle du dessous (verte).

A chaque fois que vous voulez passer d'une couche à l'autre pendant le tracé d'une piste, faites un clic droit puis "Place Trough Via". Votre piste change de couleur. Vous pouvez maintenant passer sous une piste située sur l'autre face de la carte. Pour revenir à la face précédente, utilisez la même méthode "Place Trough Via". Continuez votre tracé.

6.5. Les zones

Comme nous sommes sérieux, nous allons placer sur notre carte un plan de masse, car nous voulons nous préserver des parasites et interférences. De plus si vous gravez votre PCB vous-même cela réduit la quantité de cuivre à dissoudre et évite de saturer votre acide trop vite (écologie).

Utilisez le menu "Place / Zone".
Cliquez sur le coin de la carte où vous voulez démarrer la zone.



Dans la fenêtre qui apparaît, choisissez :
  • la couche (layer) : B. Cu pour dessous, F. Cu pour dessus
  • la piste (net) : GND
  • l'espacement minimal entre le plan de masse et les pistes (clearance)
Validez. La fenêtre disparaît. Cliquez sur les autres coins de la zone que vous voulez créer et terminez en double cliquant sur le premier coin que vous avez placé.

Appuyez sur "b".

Avec l'exemple du schéma présenté précédemment vous obtenez ceci :


6.6. Les trous de fixation, les boîtiers et le bord de carte

Sur ce routage on peut remarquer plusieurs choses :
  • il y a des trous de fixations représentés par deux gros pads isolés à droite
  • la carte est intégrée dans un boîtier (en bleu)
  • il y a un tracé de bords de carte (en jaune)
Les pads sont des empreintes comme les autres. On peut les ajouter à l'aide l'icône "Add Footprints" dans la barre d'outils de droite. Ensuite cliquez sur la page. Une boîte apparaît. Utilisez le bouton "Select by Browser".


La librairie Wire_Pads contient un certain nombre de pads. Choisissez celui qui convient au diamètre du trou que vous voulez créer.
Placez le sur la page.

Vous pouvez supprimer les libellés du pad. ils sont encombrants et inutiles.
Utilisez la touche "e" pour éditez l'empreinte.

Les boîtiers par contre ne font pas partie des librairies fournies. Vous devrez les dessiner par vous-même. Cela se fait comme pour les empreintes, avec le "Footprint Editor". Il vous faudra la datasheet du boîtier ou prendre les mesures vous-même.

Les tracés de bords de carte s'obtiennent en cliquant sur l'icône "Add graphic Line or Polygon".

6.7. Le DRC

Le DRC  (Design Rules Check) permet de vous assurer que les règles de conception sont respectées. Cliquez sur "Tootls / DRC", puis "Start DRC". Si certaines pistes sont trop proches des pads ou trop proches les unes des autres, DRC vous le dira.
Cliquez sur "List Unconnected" pour vérifier que vous n'avez pas oublié de piste.

6.8. Le copier / coller de PCB

Quand on réalise un PCB il peut arriver que l'on veuille graver plusieurs petites cartes sur la même plaque d'époxy.

Pour commencer il vaut mieux dessiner les bords de carte (voir paragraphe précédent). Ce sera plus facile pour placer les différentes cartes sur la plaque.

Ensuite, ouvrir PcbNew à l'aide du menu Démarrer de Windows ou du launcher Ubuntu. Il ne faut pas lancer PcbNew à partir de l'éditeur de schéma.

On peut aussitôt dessiner les bords de la plaque finale.

Ensuite dans le menu "File" cliquer sur "Append Board", choisir le fichier (extension .kicad_pcb), placer le premier PCB sur la plaque.
Ajouter autant de cartes que nécessaire en les espaçant légèrement de l'épaisseur de la lame de scie que vous allez utiliser pour les séparer.

6.9. Les conseils

J'ajoute ici quelques conseils pour bien router une carte. Tous ne sont pas de moi, loin de là. Merci entre autres à Bernard (68tjs) sur le forum ARDUINO :
https://forum.arduino.cc/index.php?board=33.0

6.9.1. Définir la taille du circuit imprimé

C'est un point important car sorti de la taille 10cm X 10 cm les prix explosent en amateur.
Autant savoir de suite que si la surface totale des composants dépasse 50 % de la surface du circuit imprimé il sera difficile de placer les pistes.

J'ajouterais que vous avez peut-être envie de placer votre carte dans un boîtier. Il vous faudra d'abord créer l'empreinte du boîtier, au minimum sa surface intérieure. N'oubliez pas de placer les plots de fixation et les trous pour les vis.


Sur ce boîtier KRADEX Z-123 on voit des clips de fermeture. Vous devrez dessiner le contour de carte en conséquence.
Il y a quatre plots de fixation pour une carte. Prévoir d'en utiliser au moins deux dans le routage de votre carte.

Si cela ne rentre pas, il ne vous reste plus qu'à changer de boîtier ou revoir la conception.

6.9.2. Placement des connecteurs et autres

En priorité je place les connecteurs de sortie car ce nouveau PCB devra être relié, autant avoir un plan de brochage cohérent avec le reste du matériel.

J'ajouterais également les potentiomètres, les contacteurs et autres interrupteurs qui seront ressortis en face avant. Faites un dessin de votre face avant avec un logiciel permettant de faire des dessins cotés, et placez les organes de commande de manière judicieuse, ergonomique et esthétique.

Et n'oubliez pas les dissipateurs. Les dissipateurs sont des composants comme les autres. Ajoutez-les au schéma (le composant existe), associez-le à une empreinte (vous devrez probablement la dessiner), et placez celle-ci sur votre routage.

Ne placez pas de condensateurs électrolytiques trop près d'un dissipateur, cela réduit leur durée de vie. CF les condensateurs gonflés que vous avez peut-être déjà remarqué près du processeur d'une carte mère de PC en panne. Ne cherchez pas la panne, elle est là.

6.9.3. Composants stratégiques

J'identifie les composants stratégiques et les pistes stratégiques sur lesquels j'apporte un soin tout particulier.
Bien sûr il faut aussi identifier les non stratégiques sur lesquelles on pourra faire ce qu'on veut car on ne peut pas avoir que des contraintes.

Par exemple, ne placez pas de pistes ou de plan de masse sous l'antenne d'un module radio.

6.9.4. Placer les composants et les pistes

Je place les composants et je commence le routage des pistes. J'apporte un soin particulier à la masse, il faut avoir en tête qu'il faudra que ce soit un plan.

De plus, avec un plan de masse, si vous gravez vos cartes vous-même, votre litre d'acide sera moins vite saturé.

6.9.5. Compromis

Commence une série d'aller et retours plus ou moins nombreux en fonction des contraintes sur le circuits, comme j'ai commencé par le dire tout n'est pas possible et il faut faire des compromis.

6.9.6. Composants multiples

Avec les circuits intégrés qui comportent plusieurs modules comme des portes par exemple, par défaut le logiciel choisi la A en premier. Ne pas hésiter à tester avec les autres pour voir si le routage n'est pas plus simple. Souvent rien que le fait de regarder le plan de brochage dans la datasheet du CI permet de faire le bon choix de suite et fait gagner du temps (encore un bon exemple pour inciter à consulter les datasheets :) )

Ce choix se fera sur le schéma. Si vous voulez intervertir les portes A et B, intervertissez-les sur le schéma, générez la netlist, retournez au logiciel de routage et relisez celle-ci.
Je vous conseille au préalable de supprimer du routage les pistes connectées à ces portes. KICAD ne les replacera pas tout seul.

6.9.7. Jamais de modifications de schéma dans le routage

Même si c'est possible ne JAMAIS faire de modifications de schéma ou de composant dans le module PCB, JAMAIS.
Les modifications se font dans le module de schématique, le nouveau fichier de schématique (netlist) doit être rechargé dans le module PCB.
C'est le seul moyen de garder la cohérence entre schéma et circuit imprimé.

Ce conseil est uniquement valable si votre logiciel de routage accepte de telles modifications. KICAD refusera de le faire.
Cependant il est possible d'ajouter des composants ne figurant pas sur le schéma. Cela se limite à des composants non reliés aux autres composants du schéma (boîtier, trous de fixation, etc.).

6.9.8. Changer une empreinte

Vous avez fait une erreur d'association d'empreinte et vous voulez corriger.

Un exemple simple : changer une empreinte de résistance 1/4W pour une 1W.
  • retournez à Eeschema
  • lancez CvPCB
  • sélectionnez la nouvelle empreinte, sauvegardez, fermez
  • dans Eeschema générez votre netlist
  • retournez à PcbNew
  • supprimez votre ancienne empreinte et relisez la netlist

6.9.9. Modifier une empreinte

Il arrive en cours de routage de s'apercevoir qu'une empreinte comporte une erreur ou un oubli, ou qu'elle ne convient pas.
  • lancez l'éditeur d'empreintes depuis PcbNew
  • chargez votre empreinte
  • faites vos modifications, sauvegardez, fermez
  • dans le routage supprimez votre ancienne empreinte et relisez la netlist
On peut aussi mettre à jour l'empreinte avec un clic droit puis "Edit" puis "Change Footprint" puis "Apply".

6.9.10. Modifiez votre schéma pour simplifier le routage

Pour illustrer, prenons un exemple. Vous devez router un circuit driver de LCD 4x7segments + point décimal. Le plus simple est que chaque pin (segment) du LCD soit proche de celle du driver et que les pistes ne se croisent pas.

Si les pistes des segments se croisent toutes, imaginez la complexité que cela va générer de placer des vias pour éviter cela. Nous avons en tout 4x8 = 32 pistes à placer !

Retournez au schéma, et faites en sorte de placer vos fils différemment. Générez la netlist, retournez à PcbNew et relisez-la.
Si des pistes de segments se croisent encore, recommencez.

Le logiciel devra simplement être conçu pour commander les nouvelles pins à la place des anciennes. Ce n'est pas plus compliqué.

6.9.11. Export de symboles et empreintes

A partir d'un schéma ou d'un routage existant il est facile de récupérer les symboles et les empreintes.
Schéma : CTRL-E sur le composant puis click sur l'icône Export Component
Routage : CTRL-E sur le composant puis click sur l'icône Export Footprint

7. Imprimer

Ceux qui comme moi gravent leurs cartes eux-mêmes peuvent directement imprimer leur routage sur un film transparent. Cliquez sur l'icône "Print Board", choisissez la couche que vous voulez imprimer et cliquez sur OK.

L'impression doit être noire. Si elle est gris foncé, paramétrez le contraste de votre imprimante. Si ce n'est pas possible, imprimez deux fois et superposez les deux films, fixez-les avec du ruban adhésif.

Insolation, passage au révélateur, gravure à l'acide, etc. On ne va pas expliquer tout cela ici. On trouve beaucoup de documentation sur le WEB.
Cela fera certainement l'objet d'un nouvel article sur ce blog.

Sachez quand même que c'est le meilleur moyen pour obtenir un PCB dans l'heure qui suit.

8. Fichiers GERBER

Il va falloir pour terminer générer vos fichiers GERBER, car bien entendu, vous n'avez pas le matériel pour graver vos PCB et vous faites appel à un professionnel.

Utilisez l'icône "Plot", à droite de l'icône "Print Board".

Une fenêtre bourrée d'options apparaît. Comment s'en sortir ?

A partir de là chaque fournisseur a ses propres règles en la matière. je vais vous en indiquer deux.

8.1. JLCPCB

Voici le lien qui vous permettra de paramétrer correctement votre génération de fichiers GERBER :

https://support.jlcpcb.com/article/44-how-to-export-kicad-pcb-to-gerber-files

Vous n'aurez plus qu'a créer une archive ZIP et à la transmettre sur la page de commande.

8.2.  PCBWAY

Chez PCBWAY, voici le lien utile :

https://www.pcbway.com/blog/help_center/Generate_Gerber_file_from_Kicad.html

Même chose ici. Une petite archive ZIP et en route pour la commande.

Comparez les prix, sans oublier les frais de port.

9. Conclusion

Cela fait maintenant deux ans que je pratique KICAD et je découvre sa puissance chaque jour.
C'est vrai que c'est un peu déroutant au début. On a l'impression de se retrouver dans un jeu vidéo avec tous ces raccourcis au clavier, mais cela s'avère très efficace à l'utilisation.

Beaucoup de tutoriels vous incitent à utiliser la souris et les icônes. Personnellement je pense que les raccourcis clavier à la main gauche et la souris à la main droite (ou le contraire) sont bien plus efficaces.

J'espère vous avoir donné envie de vous lancer et d'arrêter de relier des modules avec des fils DUPONT ou des PCB d'expérimentation.

Les questions et commentaires sont bien entendu les bienvenus. Ils peuvent contribuer à enrichir ce document.

Cordialement
Henri

10. Tutoriels

Tapez "kicad tutoriel" sous google, vous en trouverez des tas.
N'hésitez pas à choisir les vidéos qui vous aideront sur des points particuliers.

11. Liens utiles

Librairies de symboles :
https://github.com/KiCad/kicad-symbols

Librairies d'empreintes :
https://github.com/KiCad/kicad-footprints

Mes librairies personnelles :

12. Mises à jour

08/11/2018 : 6.6. Les conseils
11/11/2008 : 6.9.10. Modifiez votre schéma pour simplifier le routage
12/11/2018 : 4.8.4. Choix des composants
19/12/2018 : 6.9.11. Export de symboles et empreintes
29/12/2018 : 6.8. Le copier / coller de PCB

8 commentaires:

  1. Bom dia meu irmâo :D

    Ça faisait un bout de temps que je n'avais pas utilisé un outil de CAO électronique. Ce tuto m'a permis de remettre le pied à l'étrier vite fait bien fait. Du coup, comme tu le propose si gentiment, c'est possible d'avoir le symbole du NRF24 stp ? O:)

    Jespère que tout va bien pour toi !
    à bientôt,
    Jojo do Brasil :D

    RépondreSupprimer
  2. com o maior prazer meu irmâo :

    símbolo esquemático :

    #
    # NRF24L01
    #
    DEF NRF24L01 U 0 40 Y Y 1 F N
    F0 "U" -150 250 60 H V C CNN
    F1 "NRF24L01" 300 400 60 H V C CNN
    F2 "" 0 -400 60 H V C CNN
    F3 "" 0 -400 60 H V C CNN
    DRAW
    S -250 350 250 -350 0 1 0 N
    X GND 1 0 -550 200 U 50 50 1 1 I
    X VCC 2 0 550 200 D 50 50 1 1 I
    X CE 3 -450 100 200 R 50 50 1 1 I
    X CSN 4 450 100 200 L 50 50 1 1 I
    X SCK 5 -450 0 200 R 50 50 1 1 I
    X MOSI 6 450 0 200 L 50 50 1 1 I
    X MISO 7 -450 -100 200 R 50 50 1 1 I
    X IRQ 8 450 -100 200 L 50 50 1 1 I
    ENDDRAW
    ENDDEF

    pegada :

    (module NRF24L01 (layer F.Cu) (tedit 5990BDA1)
    (fp_text reference REF** (at 0 -4.318) (layer F.SilkS)
    (effects (font (size 1 1) (thickness 0.15)))
    )
    (fp_text value NRF24L01 (at 0 -3.048) (layer F.Fab)
    (effects (font (size 1 1) (thickness 0.15)))
    )
    (fp_line (start -1.27 -1.27) (end -1.27 15.24) (layer F.SilkS) (width 0.15))
    (fp_line (start -1.27 15.24) (end 27.94 15.24) (layer F.SilkS) (width 0.15))
    (fp_line (start 27.94 15.24) (end 27.94 -1.27) (layer F.SilkS) (width 0.15))
    (fp_line (start 27.94 -1.27) (end -1.27 -1.27) (layer F.SilkS) (width 0.15))
    (pad 1 thru_hole circle (at 0 0) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask F.SilkS))
    (pad 2 thru_hole circle (at 2.54 0) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask F.SilkS))
    (pad 3 thru_hole circle (at 0 2.54) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask F.SilkS))
    (pad 4 thru_hole circle (at 2.54 2.54) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask F.SilkS))
    (pad 5 thru_hole circle (at 0 5.08) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask F.SilkS))
    (pad 6 thru_hole circle (at 2.54 5.08) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask F.SilkS))
    (pad 7 thru_hole circle (at 0 7.62) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask F.SilkS))
    (pad 8 thru_hole circle (at 2.54 7.62) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask F.SilkS))
    )

    Sacré Johan ...

    RépondreSupprimer
  3. Bonjour Henri,

    Je me lance dans l'utilisation de Kicad et suis votre tuto.
    Je galère un peu sur la recherche des empreintes!
    Pouvez-vous m'envoyer vos librairies, ce qui me faciliterai la vie.

    Merci.

    RépondreSupprimer
    Réponses
    1. Plutôt que de les envoyer à une personne en particulier je préfère les rendre publiques.
      J'ai ajouté un lien dans le paragraphe 11. Liens utiles

      Supprimer
  4. Merci pour ce belle article !
    Le lien paragraphe 6.9 ne fonctionne malheureusement plus et je ne le retrouve pas manuellement sur le net. Pourriez vous proposer un lien qui fonctionne ? Merci

    RépondreSupprimer
    Réponses
    1. Il s'agit simplement du forum :
      https://forum.arduino.cc/c/international/francais/49
      Normalement la redirection est automatique.

      Supprimer