[Tuto KiCad] Concevoir un circuit imprimé partie 2: le circuit imprimé

Vous avez aimé le premier article sur KiCAD? vous n’avez plus rien mangé ni bu en attendant la suite? Hé bien faites-vous un gros sandwich avec une bonne bière, car la voici!

Alors avant de commencer, je souhaite me dédouaner d’une chose. Dans le premier tuto, je vous ai présenté les fonctions de base de KiCad en construisant un schéma sans queue ni tête.
Dans cette seconde partie, nous n’utiliserons pas le schéma présenté précédemment, mais un vrai schéma pour un vrai projet. C’est plus concret, et surtout, je ne travaillerai pas pour rien, hé hé 🙂

Alors voilà, nous allons partir sur un petit circuit pas méchant. L’idée, c’est de faire un mini shield pour une Arduino Uno, qui va générer un signal sinusoïdal grâce à un DAC (MCP4921). Le DAC pilote un MOSFET pour alimenter une LED de puissance.

Voici le schéma KiCad :

Assigner des empreintes aux composants

Le schéma reste un schéma, et ne reflète pas forcément la réalité physique des composants. D’ailleurs, un même composant peut se présenter sous différentes formes. Typiquement, il peut y avoir une version montée en surface (SMD, ou CMS en français) et une version traversante.

Et malheureusement, KiCad ne peut pas savoir quelle version de chaque composant nous voulons implanter sur notre circuit.

Par conséquent, à chaque composant, nous allons devoir associer une empreinte (c’est à dire une forme physique du composant). Et ce sont ces empreinte que nous allons par la suite positionner sur notre circuit imprimé.

Pour associer une empreinte à un composant du schéma, placez la souris au dessus du composant (ici le MOSFET) et appuyez sur F (comme Footprint).

En appuyant sur le bouton [Sélection], une fenêtre s’ouvre, et nous affiche une méga liste vraiment mal foutue, parce qu’on ne peut pas faire de recherche dedans. Il faut savoir ce qu’on veut.
A gauche, on a les grandes familles de composants (résistances, transistors, connecteurs…), éventuellement sous-catégorisés en SMD (Surface Mount Device) et THT (Through Hole Technology).
En cliquant sur une famille, on a à droite sa liste d’empreintes de composants.

Dans notre cas, nous allons implanter un MOSFET au format TO-220. Je ne croyais pas dire des choses pareilles en public un jour, mais je réalise que parler de boîtiers TO-220, ça doit quand même faire une sacrée impression dans les dîners mondains.

Pour le DAC, c’est un Housings_DIP:DIP-8_W7.62mm.

Et pour les connecteurs, j’ai pris des
Connect:AK300-2 pour les gros (entraxe de 5mm)
Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm pour les petits.

Ok, donc tous nos composants sont maintenant associés à une empreinte, alors passons à la suite!

Ah il faudra quand même que je vous montre comment créer une empreinte de composant, si jamais vous avez besoin de quelque chose qui n’existe pas dans la librairie standard. C’est important de savoir faire, et vous verrez c’est vraiment facile. Je ferai une aparté à la fin de l’article à ce sujet.

Donc!

Sur la barre d’outils de KiCad, en haut, il y a un bouton [NET]. Cette fonction va nous permettre de générer la netlist, qui est en fait un fichier texte récapitulant toutes les connexions entre les composants. C’est le maillage de notre circuit.

Cliquez sur [Générer], et KiCad va nous proposer d’enregistrer un fichier nom_du_projet.net dans le répertoire du projet. Parfait. Une fenêtre devrait apparaitre.

En fait, KiCad nous explique que chaque composant doit être annoté (par exemple, les résistances doivent être nommées R1, R2, R3…).
Alors là, en général je m’en contrefous et je clique sur [Numérotation]. Je fais en général de petits circuits et je sais ce que je vais mettre dessus, et où.

Hop! Notre fichier .net est créé et nous allons pouvoir passer à la vue de conception de circuit imprimé. Pour cela, cliquer sur . Ce bouton est à droite de la barre d’outils.

La fenêtre PcbNew d’ouvre, avec un fond noir, encadré de rouge. Vide. Ah. T’inquiète, c’est normal. Nous allons importer notre netlist, et tout va se charger correctement: clic sur le bouton [NET] dans la barre d’outils, puis [Read Current Netlist]. L’opération peut prendre quelques secondes, et une fois terminée, nous pouvons fermer cette fenêtre.

Positionner les composants

Tout est bien là, mais VRAIMENT en vrac. On va réarranger un peu tout ce bazar avec les touche M et R (déplacer et pivoter, comme lors de la conception du schéma).

On y voit un peu plus clair!

Comme il s’agit d’un shield pour une Arduino Uno, il va falloir être précis au niveau des 4 connecteurs du haut et des deux du bas. L’espacement vertical doit être de 1.9 pouce.

Soit on la joue naïve (en regardant les coordonnées en bas), soit on utilise la grille comme il faut pour un placement efficace. Allez, je choisis pour vous: réponse 2.

La grille est un outil super puissant, pour peu qu’on sache l’exploiter. Nous allons définir une grille personnalisée, avec comme pas vertical 1.9 pouce, et comme pas horizontal 0.1 pouce (2.54mm) (on s’occupera de l’horizontal juste après).

Dans le menu Dimensions>Grid, entrons les deux pas (attention, selon votre configuration régionale, il faut peut être utiliser une virgule à la place du point. J’ai ce problème).

Une fois la grille validée, cliquons sur le bouton tout en bas de la barre d’outils de droite:

Il va nous permettre fixer l’origine de la grille. Nous allons poser cette origine sur la pin SCK du connecteur du haut. C’est la pin 13 de notre Arduino.

Ensuite, activons notre grille personnalisée avec clic droit>Grid select>User Grid.

On peut voir que la partie basse descend un peu trop bas… On va déplacer notre connecteur du bas pour qu’il soit placé sur la ligne de la grille, puis rétablir une grille au pas de 2.54mm pour réarranger vite fait les autres composants.

Procédons de la même manière pour placer notre connecteur du bas correctement en X, et réarrangeons le tout.

Nous pouvons maintenant créer les pistes de cuivre qui relieront nos composants, avec le bouton .

Peu à peu, nous arrivons à quelque chose comme ça:

Zone de remplissage

Nous allons relier toutes les masses à l’aire d’une zone de remplissage. Pour cela, cliquons sur le bouton , puis quelque part sur notre schéma. On choisit la couche de cuivre, le Net (dans ce cas, GND), puis OK. Nous pouvons ensuite dessiner un chouette rectangle autour de notre circuit (double clic pour le valider).

On peut afficher ou pas les zones de remplissage avec les boutons suivants:

Et pour reconstruire la zone, c’est la touche B du clavier.

Oh yeah! Mais le contour… C’est un peu trop conventionnel, non?

Pour terminer, nous allons donner une forme un peu exotique à notre circuit final.

Sélectionnons la couche Edge.Cuts à droite (elle est jaune normalement).

A l’aide des boutons et , nous allons nous éclater à dessiner un contour totalement déliraaaant (avec la voix de Stéphane Bern), puis re-appuyer sur B pour que KiCAD recalcule le remplissage de masse, et hooooop!

Supplément gratuit spécial été : créer une empreinte de composant personnalisée

Savoir créer des composants custom, c’est capital. Pouvoir le faire hyper facilement, c’est encore mieux. C’est d’ailleurs la raison principale qui m’a fait quitter Fritzing pour KiCAD. Avec Fritzing, pour créer un composant, c’est une putain de plaie. Ouverte. Et pas désinfectée. KiCAD, lui, a soigné cette plaie sans douleur ni cicatrice, et m’a même fait un gros bisou sur le front pour que j’oublie tout 🙂

Pour la démo, je vais créer un circuit intégré, le CD4011 (quatre portes NAND). Il a une valeur sentimentale, c’est le premier circuit intégré que j’ai eu l’occasion d’utiliser (Kosmos Electronic 2000… Souvenirs…)

Bref! Voici la tronche du circuit dans KiCAD, vite fait:

CD4011 à la Nico

Bien, maintenant nous allons créer l’empreinte de ce circuit.

Dans l’éditeur de schéma, cliquons sur le bouton Footprint Editor, puis sur New Footprint. On va l’appeler CD4011-DIP.

On va cliquer à droite sur Add Pads, et poser les 14 pastilles de notre circuit intégré (espacées de 2.54mm, et la largeur du circuit est de 7.62mm.

Avant de poser la 2ème pastille, on peut éditer la 1ère (touche E), et régler par exemple la forme et le diamètre de la pastille. Ce réglage sera repris sur les suivantes.

On va créer un répertoire cd4011.pretty dans le dossier du projet, puis aller dans Préférences>Footprint Libraries Manager, cliquer sur l’onglet Project Specific Libraries, et ajouter notre librairie d’empreinte comme ceci:

Après ça, File>Save Footprint in active Library, et on lui donne un nom (CD4011-DIP).

Et voilà! Les numéros de pins de l’empreinte collent avec celles du composant dans le schéma, et c’est toute ce dont on a besoin!

Il ne nous reste plus qu’à dire à KiCAD « Hey, j’ai créé une nouvelle bibliothèque d’empreintes, et j’aimerais l’utiliser dans mon projet. Je peux te montrer où elle se trouve? »

Depuis l’éditeur d’empreintes, on va donc dans Préférences>Assistant des librairies d’empreintes, et on parcourt notre disque dur jusqu’à l’emplacement de notre répertoire pretty. Il nous propose d’importer l’empreinte de façon globale, ou bien juste pour le projet actuel. Pour la démo, choisissons le projet actuel.

De retour dans l’éditeur de schéma, plaçons la souris sur notre composant, appuyons sur F, suis Sélection. On déroule la liste, et voici le graal: notre empreinte du CD4011 est présente et utilisable!

Bilan des courses

Si vous en êtes à lire ce paragraphe, félicitations!

J’avoue que l’article est assez long, j’ai essayé de l’illustrer le plus possible pour expliquer la démarche pas à pas… Normalement, entre le premier article et celui-ci, KiCAD devrait sembler plus accessible qu’au premier abord.

En fait, les raccourcis clavier sont capitaux dans KiCAD, et notamment:

  • M (move) : déplacer un élément
  • G (grab) : déplacer un élément en conservant ses connexions
  • E (edit) : modifier les propriétés d’un élément
  • F (footprint) : assigner une empreinte physique à un composant de schéma
  • Suppr (Delete pour nos amis suisses) : effacer un élément

Si KiCAD a un doute quant à l’élément qui se trouve sous la souris, il affichera un menu Clarification qui nous permet d’indiquer avec précision l’élément sur lequel on veut agir.

Avec tout ça, nous avons un beau circuit imprimé virtuel, il ne reste plus qu’à le fabriquer! Mais ce sera l’objet d’un prochain article 😀

[Tuto KiCad] Concevoir un circuit imprimé partie 1: le schéma

Salut les poilus!

Il y a un bon moment ce ça (oh la vache oui, été 2012), j’avais écrit cet article sur Fritzing.

C’est vrai que Fritzing c’est bien. Mais dès qu’on doit utiliser des composants qui ne sont pas dans sa bibliothèque, c’est vite TRÈS lourd. Il faut créer le composant, créer son empreinte au format SVG, et disons-le franchement: les interfaces de création ne sont pas géniales et j’ai autre chose à faire que de passer une heure à créer un relais ou quoi que ce soit d’autre.

J’avais testé vite fait KiCad et j’avais vite abandonné car pour le coup, Fritzing était plus facile à prendre en main. Mais frustrant. Mais plus facile à prendre en main. Alors bon.

Récemment j’ai attaqué la conception d’un circuit imprimé sur lequel sont implantés:

  • Une Teensy 3.2
  • Un lecteur de carte MicroSD
  • Un écran OLED

Et connaissant Fritzing et ses limitations, je n’ai même pas osé le démarrer et je me suis mis sérieusement à KiCad.

Héééé ben franchement je vais vous dire:

  1. ce n’est pas si compliqué
  2. je relègue définitivement Fritzing au placard, en le remerciant pour les services qu’il m’a rendus.

Avec KiCad, on a un véritable outil de conception de circuits imprimés, avec aussi sa bibliothèque de composants (fatalement limitée), mais quel plaisir de pouvoir créer un nouveau composant en 5 minutes s’il n’existe pas dans la bibliothèque de base!

Le truc avec KiCad, c’est que la prise en main n’est pas hyper intuitive au tout départ. Mais une fois qu’on a pris le temps de comprendre les quelques concepts de base, c’est tellement bon… Et c’est ce que je vais vous expliquer ici.

Pour aller plus loin évidemment, il y a la documentation officielle de KiCad

Créer un projet

KiCad manipule plusieurs types de fichiers, selon la tâche à effectuer (typiquement les schémas électroniques et les implantations physiques de composants). Tous ces fichiers sont regroupés dans un répertoire de projet.

La première étape, quand on veut concevoir un circuit, et donc de créer un projet: Fichier/Nouveau projet/Nouveau projet, et nous l’appelerons tuto-dm.

Dans le répertoire, il crée automatiquement 3 fichiers: tuto-dm.pro, tuto-dm.sch et tuto-dm.kicad_pcb.

Créer le schéma électronique

Pour ce tuto, nous allons créer un circuit imprimé contenant un atmega128 (DIP), un driver de moteur pas à pas Pololu A4988, et disons une LED et sa résistance. Le but de ce tutoriel n’est pas de réaliser un projet fonctionnel, mais d’apprendre les bases de la conception dans KiCad.

On va donc maintenant rentrer dans le dur, et créer notre schéma. Pour cela, dans KiCad, double-cliquons sur tuto-dm.sch

Nous avons droit à un bel écran de dessin technique, avec un cartouche en bas (spéciale dédicace aux cours de techno du collège).

Deux barres d’outils : à gauche, des options d’affichage (j’ai envie de dire: rien à péter pour l’instant); à droite, ce qui va nous intéresser: la barre d’outils de dessin.

Parmi les outils, trois vont nous intéresser:

  • le triangle avec les signes + et – (oui, c’est un ampli op! Bonne réponse de l’amiral) permet de placer des composants sur le schéma.
  • le symbole de masse nous permet de placer des symboles de type « power », c’est à dire tout ce qui est relatif à l’alimentation.
  • le segment vert permet de placer des fils, autrement dit de relier les composants entre eux.

Petite note sur le déplacement dans la vue:

  • Clic milieu + déplacement de la souris: panning
  • Molette : zoom

Placement des composants

Cliquons sur l’icône « placer un composant », puis quelque part sur le dessin. Une fenêtre s’ouvre, pour nous demander quel composant insérer.

Dans le champ de filtre, nous allons taper ATMEGA328, et sélectionner le premier de la liste (ATMEGA328-AU) en double-cliquant dessus. On peut positionner le microcontrôleur avec la souris, et cliquer pour valider.

Plaçons maintenant notre led et sa résistance. KiCad est encore en mode « placer un composant », donc il suffit de cliquer quelque part sur le schéma pour rouvrir la fenêtre de sélection de composant.

Dans le filtre, tapons R, et double-cliquons sur le 1er résultat :R [Resistor]. Avant de positionner la résistance, on peut la faire pivoter en appuyant sur la touche R du clavier (Rotate). Mettons-la à l’horizontale, et plaçons la à côté de la pin PB1 de l’ATMEGA328.

Même topo pour placer la LED (LED_GENERIC), et nous allons la positionner à côté de la résistance. Si vous avez déjà placé un composant et que son sens n’est pas bon, pas de problème! Il suffit de positionner le curseur de la souris au-dessus (pas besoin de cliquer) et d’appuyer sur la touche R du clavier jusqu’à obtenir l’orientation correcte.

Normalement on devrait en être là:

Placement des alimentations

Pour KiCad, une alimentation est un composant spécial, accessible avec le bouton

On va commencer par placer les masses à côté de la led, et l’ATMEGA328.
Cliquer sur [], et chercher GND dans la liste. Placer les différentes masses, et répéter l’opération pour le 5V sur l’ATMEGA328.

Votre schéma ressemble à ça? Très bien.

Création de composants personnalisés

Ok, donc il ne nous manque plus que le Pololu A4988. Cliquons sur le schéma, puis dans le filtre: POLO… Ah non. A49… Non plus.
Aha, je vous ai bien eus hein 😀

Ce serait trop facile…

Bon, hé bien il ne reste plus qu’à le créer puisqu’il n’existe pas en standard! z’allez voir, ça n’a rien de méchant.

On va commencer par cliquer, dans la barre d’outils du haut, sur le bouton « Editeur de librairie – créer et éditer des composants »

Arrive une page blanche, sur laquelle nous allons pouvoir dessiner notre Pololu A4988 dans sa version schématique.

Cliquons sur le bouton « Créer un nouveau composant »

  • Nom du composant »: POLOLU_A4988
  • Référence par défaut: DRV (Totalement arbitraire. DRV = Driver)

Laissons les autre champs tels quels et cliquons sur OK.

A l’écrans, nous avons maintenant deux blocs de texte superposés, que nous allons arranger un peu.

C’est l’occasion d’apprendre comment déplacer des éléments dans KiCad!
Il suffit de placer la souris au-dessus du texte, et appuyer sur la touche M. A partir de là, on peut déplacer le composant avec la souris, et quand c’est bon, on clique. C’est tout 🙂

Avant de créer les connexions, on va juste ajuster la grille avec un clic droit, Sélection grille, et sélectionner 2.54mm.

Ok, maintenant créons les 16 connexions de notre A4988, en commençant par la rangée de gauche(de haut en bas), puis la rangée de droite(de bas en haut). Pour rappel, voici un Pololu A4988 dans son milieu naturel:

http://www.arduino-projekte.de

Sur la barre d’outils de droite, cliquons sur le bouton Ajouter des pins au composant , puis quelque part sur la page. Pas d’inquiétude pour le positionnement du composant par rapport à l’origine, on pourra le replacer plus tard.

Après avoir cliqué sur la page, une fenêtre s’ouvre et nous demande plus d’informations sur la pin à créer.
La première s’appelle ENABLE avec une barre au-dessus (pour dire que le driver est activé si elle est à zéro volt). Dans le champ nom pin, tapons ~ENABLE~, les ~ servant à afficher la barre au-dessus du texte.

Numéro de pin: 1
Orientation: Droite
Type: Entrée

Clic sur OK, clic sur la page et hop! La première pin est créée.
Et on enchaine avec les suivantes:

Nom: MS1
Numéro de pin 2

Nom: MS2
Numéro de pin 3

Nom: DIR
Numéro de pin 8

C’est bon?

Alors avant de tout casser, nous allons sauver ce composant.
Il faut d’abord créer une librairie qui va le contenir: cliquons sur « Sauver le composant dans une nouvelle librairie ». On va parcourir le disque jusqu’à trouver le répertoire de notre projet et sauver sous le nom « pololu_a4988.lib ». Au message qui suit, répondons OK, puis allons dans le menu Préférences/Librairies de composants. Dans la liste du haut, cliquer sur Ajouter, et sélectionner le fichier pololu_a4988.lib fraichement créé. Bien!

Cliquons enfin sur « Sélection de la librairie de travail », et dans le filtre: pololu. Valider en double cliquant sur pololu_a4988.

Là, on est bien!

Allez, on va créer les 8 pins de droite en commençant par en bas. Plus aucune difficulté maintenant! Pensez juste à changer l’orientation des pins 😉

Nous n’avons plus qu’à dessiner un rectangle autour du Pololu, ramener les textes à côté avec la touche M, sauver avec un petit Ctrl+S et hop! C’est terminé.

On peut fermer l’éditeur de composant et revenir à notre schéma principal. Maintenant, si on clique sur « Placer un composant », dans la liste nous trouverons notre Pololu A4988. Plaçons-le à côté de l’ATMEGA328, sa pin 8 faisant face à la pin 11 de l’ATMEGA328.

N’oubliez pas d’alimenter le Pololu avec +5V et GND.

Liaison des composants

Bien! Nous avons placé nos composants, il faut maintenant câbler le schéma.

Commençons par cliquer sur le segment vert dans la barre d’outils de droite (placer un fil).
Le fonctionnement est simple: clic 1 sur la pin 1, clic 2 sur la pin 2. Les clics intermédiaires permettent d’ajouter des coudes au fil.

On va relier comme ça la résistance à la pin 13, la résistance à la LED, et les alimentations.

Assignation de valeurs aux composants

En regardant le schéma, on se rend compte que la valeur de la résistance n’a pas été définie. Nous allons placer la souris au-dessus de la résistance, et appuyer sur E (Edition).
Une fenêtre s’ouvre et nous propose (entre autres) de donner une valeur au composant.

Si jamais un menu « Clarification sélection » s’affiche, sélectionner « Champ valeur » et indiquer 220.

Bilan

Et voilà, après avoir raccordé le pololu à l’ATMEGA328, vous devriez avoir un schéma similaire à celui-ci.

Allez, ça ira pour l’instant 🙂

Prochaine étape: le circuit imprimé!