[Tuto] Création d'une lib, d'un symbole, d'une empreinte et d'un modèle 3D perso

Section dédié à l'utilisation de KiCad
Avatar du membre
McColson
Admin du site
Admin du site
Messages : 7868
Enregistré le : 07 nov. 2004, 1:00
Localisation : Dammartin-sur-Tigeaux
Contact :

[Tuto] Création d'une lib, d'un symbole, d'une empreinte et d'un modèle 3D perso

Message non lu par McColson »

J'ai commencé à lire attentivement la KLC, et c'est assez intéressant... Je pense que la création de symbole, et d'empreinte personnelle est une étape que chacun rencontre à un moment donné quand on commence à creuser un peu le logiciel. Mais j'ai mis un temps fou à comprendre comment les librairies était organisées, où elles se trouvaient (local ou sur Github) etc...
Je vous propose de faire un petit tour résumé de cette KLC, en s'appuyant sur la création d'une librairie personnelle, d'un symbole, d'une empreinte et même d'un modèle 3D. Et comme je suis aussi novice dans le domaine, je vous propose qu'on fasse ça étape par étape. Le tout en mode interactif histoire que je ne sois pas le seul à galérer à comprendre tout ça ;-)
Le but de ce topic est d'expliquer la procédure, d'en parler, de confronter nos expériences, et d'aller plus loin à l'aide de la KLC pour faire les choses correctement, et d'en sortir un tuto une fois tout bien synthétiser.
Et si vous êtes sage, on ira même encore plus loin dans un deuxième temps en construisant une petite base de données propre à projet G5.

ça vous branche ?

Introduction
Création d'une librairie de symbole
Création d'un symbole
Création d'une empreinte
Création d'un modèle 3D et alignement du modèle 3D avec l'empreinte
Avatar du membre
bilbo_moria
Don Bilbo de la Vega
Messages : 7353
Enregistré le : 15 déc. 2004, 1:00
Localisation : Tinteniac (35)

Re: [Tuto] Création d'une lib, d'un symbole, d'une empreinte et d'un modèle 3D perso

Message non lu par bilbo_moria »

Yep, bon à savoir pour le jour où le besoin (et le courage ;-) ) est là :banana:
Avatar du membre
Pote Gui
G5 Team
G5 Team
Messages : 4469
Enregistré le : 15 mai 2012, 11:07
Localisation : Lyon (69)

Re: [Tuto] Création d'une lib, d'un symbole, d'une empreinte et d'un modèle 3D perso

Message non lu par Pote Gui »

Oui, partant mais toujours dépendant du temps et du courage, malheureusement...
Avatar du membre
McColson
Admin du site
Admin du site
Messages : 7868
Enregistré le : 07 nov. 2004, 1:00
Localisation : Dammartin-sur-Tigeaux
Contact :

Re: [Tuto] Création d'une lib, d'un symbole, d'une empreinte et d'un modèle 3D perso

Message non lu par McColson »

T'inquiètes je m'en occupe, je vais vous ferais juste réfléchir de temps en temps ;-) Histoire de voir si je ne divague pas trop ;-)
Avatar du membre
McColson
Admin du site
Admin du site
Messages : 7868
Enregistré le : 07 nov. 2004, 1:00
Localisation : Dammartin-sur-Tigeaux
Contact :

Re: [Tuto] Création d'une lib, d'un symbole, d'une empreinte et d'un modèle 3D perso

Message non lu par McColson »

Introduction

KiCad est une suite de logiciel Open Source pour concevoir des schémas, et des circuits imprimés. Je ne vais pas revenir sur la présentation du logiciel, et je pars du principe que vous êtes déjà familiarisé avec le logiciel. Si tel n'est pas le cas, même si le logiciel est passé en version 5.0 depuis cet été, je vous encourage à lire tutoriaux de pote gui qui restent très intéressants pour prendre en main le logiciel et la compréhension de la suite.
Lien vers les tutoriaux KiCad

Dans ce tutoriel, nous allons pousser un peu plus loin l'utilisation du logiciel KiCad pour nos besoins.
KiCad utilise 4 grandes catégories de libraires :
  • Les symboles pour les schémas
  • Les empreintes pour les circuits imprimés
  • Les packages 3D pour la représentation 3D du composants
  • Les templates pour les différentes topologies de circuits imprimés déjà définies (carte pour arduino ou raspberry pi par exemple)
Nous allons nous concentrer sur les trois premières catégories.

Il arrive qu'il manque parfois dans ces différentes librairies, un composant que nous voulons utiliser pour nos projets. KiCad propose alors des outils pour concevoir le symbole, et l'empreinte correspondante au composant utilisé. Et la Kicad Library Convention (KLC) nous donne les grandes lignes à respecter si on veut faire cela dans les règles de l'art et partager notre travail. Et c'est bien tout le propos de ce tutoriel : tant qu'à faire un nouveau symbole ou une nouvelle empreinte autant la faire partager au plus grand nombre.

Premièrement, il nous faut un composant qui n'est pas dans les librairies KiCad à l'origine, et qui ne se trouve pas sur internet non plus via d'autres contributeurs (attention à la qualité des contributions d'ailleurs). C'est le cas des modules de réverbération Belton BTDR1, 2 et 3 dont je n'ai pas trouvé la librairie.

Commençons par le BTDR1H, qui est utilisé dans les projets de jptrol sur le forum actuellement.

PS : si y'a des fautes ou des choses à rajouter n'hésitez pas à me le dire, si des questions vous viennent, n'hésitez pas à les poser au fur et à mesure pour que le tuto soit le plus clair possible.
Avatar du membre
McColson
Admin du site
Admin du site
Messages : 7868
Enregistré le : 07 nov. 2004, 1:00
Localisation : Dammartin-sur-Tigeaux
Contact :

Re: [Tuto] Création d'une lib, d'un symbole, d'une empreinte et d'un modèle 3D perso

Message non lu par McColson »

Création d'une librairie

Vous connaissez le workflow de KiCad :
KiCad Work Flow

On doit commencer par créer le symbole correspondant à la BTDR1H. Pour cela on va commencer par télécharger la datasheet.

Et on ouvre l'éditeur de librairies de symboles :
Image

Il va falloir créer notre propre librairie, pour cela cliquer sur 'Créer une nouvelle librairie' Image

Que nous dit la KLC sur le sujet :

Code : Tout sélectionner

Dans le chapitre Généralités :
- Seuls les caractères standards sont utilisés pour nommer les librairies, les symboles, et les empreintes. (lettres, chiffres, et caractères spéciaux _-.,+). 
- L’espace est à proscrire. 
- Les noms sont en anglais pour favoriser la compréhension du plus grand nombre. Et il est préférable d’utiliser le singulier dans les noms choisis.
- Chaque librairie est limitée à 250 éléments et sont organisées par fonctionnalité (ex : Connecteur)
- L’organisation suit un ordre hiérarchique dont chaque élément est séparé par un (_) :
1.	Fonction de bibliothèque
2.	Sous-fonction de la bibliothèque
3.	Qualification tertiaire
4.	Nom du Fabricant
5.	Nom de la série de composants
6.	Descripteurs de bibliothèque supplémentaires

ex : Package_TO_SOT_THT

On note dans cet exemple que les capitales sont utilisées soit en début de mot soit pour les acronymes (TO, SOT, THT…). 
Si deux mots sont associés on utilise la convention de type CamelCase, avec la 1ère lettre de chaque mot en majuscule (TestPoint, BatteryHolder).
Si on intègre une dimension dans un nom, l’unité doit être fournie (mm, degrés et Celsius sont celles par défaut).
Dans notre cas, nous souhaitons créer une librairie de symbole qui va regrouper les 3 modules de réverbération Belton. La KLC indique les grandes lignes et on peut s'inspirer de ce qui existe déjà dans les librairies officielles pour nommer notre librairie.

Sachant cela comment la nommeriez-vous ?
- ReverbModule_Belton
- Reverb_Belton
- ModuleReverb_Belton
- Reverb_Belton_BTDR ?
Avatar du membre
bilbo_moria
Don Bilbo de la Vega
Messages : 7353
Enregistré le : 15 déc. 2004, 1:00
Localisation : Tinteniac (35)

Re: [Tuto] Création d'une lib, d'un symbole, d'une empreinte et d'un modèle 3D perso

Message non lu par bilbo_moria »

Pourquoi ne pas préfixer les futures librairies par "ProjetG5" ?

Cela donnerait : ProjetG5_BeltonDigitalReverb comme nom de librairie ... (bon, OK, fuck les recommandations de la KLC ;-) )
Avatar du membre
McColson
Admin du site
Admin du site
Messages : 7868
Enregistré le : 07 nov. 2004, 1:00
Localisation : Dammartin-sur-Tigeaux
Contact :

Re: [Tuto] Création d'une lib, d'un symbole, d'une empreinte et d'un modèle 3D perso

Message non lu par McColson »

Tu as donné la réponse, le but du jeu est d'essayer de coller au plus près de la KLC, libre à chacun de nommer sa propre librairie comme il le souhaite. Mais quand on s'échange des projets Kicad avec des lib perso, projet de jptrol, pote gui ou a-wai, ou d'autres sur le net, la qualité des lib est aléatoire, c'est pas très grave qu'un symbole soit mal dessiné, ça l'ai déjà plus quand une empreinte l'ai.
L'idée est de faire les choses le plus propre possible pour permettre de prendre de bonnes habitudes permettant un partage des ressources dans de bonnes conditions (comprendre que tu sois pas obligé de te retaper le boulot :lol:)

Dans un deuxième temps nous proposerons ces libraires via un Github PG5 au plus grand nombre, et tant qu'à faire si on a bien bossé, carrément proposer les lib à KiCad (on a la folie des grandeurs lol).
Avatar du membre
McColson
Admin du site
Admin du site
Messages : 7868
Enregistré le : 07 nov. 2004, 1:00
Localisation : Dammartin-sur-Tigeaux
Contact :

Re: [Tuto] Création d'une lib, d'un symbole, d'une empreinte et d'un modèle 3D perso

Message non lu par McColson »

Si on se réfère à la KLC, la librairie devrait se nommer :
1. Fonction de la librairie : Digital Reverb mais si on regarde les librairies officielles il y en a très peu avec 2 noms, on va se contenter de Reverb
2. pas de sous fonction
3. pas de qualificatif tertiaire
4. Nom du fabricant : Belton
5. Nom de la série : Digital Reverb mais ça serait redondant, ou BTDR .
6. Pas de descripteur supplémentaire

Du coup, on va la nommer Reverb_Belton.lib. Il faut choisir où l'enregistrer, je vous déconseille de mettre ça au milieu des autres librairies officielles pour plus facilement la retrouver.
J'ai créé sur mon PC un répertoire User_Lib_Kicad et 3 sous répertoires qui accueilleront mes librairies personnelles, dont la librairie Reverb_Belton.lib dans le sous-répertoire Symbols.
Image

Il demande ensuite si on l'enregistre dans quelle Table des librairies on souhaite l'enregistrer : Globale (dispo pour tous les projets) ou Projet (pour ce projet uniquement). On va enfin pouvoir commencer à créer notre symbole.
Avatar du membre
McColson
Admin du site
Admin du site
Messages : 7868
Enregistré le : 07 nov. 2004, 1:00
Localisation : Dammartin-sur-Tigeaux
Contact :

Re: [Tuto] Création d'une lib, d'un symbole, d'une empreinte et d'un modèle 3D perso

Message non lu par McColson »

Création d'un symbole

Pour créer un nouveau symbole, il faut cliquer sur l'icone 'Créer un nouveau symbole' (1), et définir dans quelle librairie on veut l'enregistrer, ça tombe bien on vient de la créer, on l'enregistre dans Reverb_Belton.lib (2).

Image

Il faut remplir les propriétés du symbole, la KLC donne quelques indications pour le nom :

Code : Tout sélectionner

1.	Le nom de la bibliothèque ne doit pas être dupliqué dans le nom de l'empreinte
2.	Si le symbole portant le même nom existe pour plusieurs fabricants, le nom du fabricant est écrit en premier. 
3.	Spécifier le nom du fabricant pour les pièces atomiques.
4.	Type de symbole (pour les parties génériques)
5.	Peut être raccourci pour les composants communs (par exemple Conn pour Connector )
6.	L'indicatif de référence peut remplacer les composants communs (p. Ex. D , C , LED )
7.	Le nom de la pièce doit inclure une extension pour une empreinte spécifique si nécessaire (par exemple, SOIC ).
8.	Toute modification du symbole d'origine, indiquée en ajoutant le motif (par exemple, une commande de broches différente - Q_NPN_CBE , Q_NPN_BCE )
9.	Indiquer le nombre d'éléments pour les assemblage de symboles (par exemple, un réseau de résistances à 8 éléments - Resistor_x8 )
Selon les points 2, 3 et 5, on peut imaginer plusieurs cas possibles :

Belton_BTDR1-H
Comme on est déjà dans la librairie Reverb_Belton, on pourrait aussi se contenter du nom du composant :
BTDR1-H

Perso j'ai décidé de l'appeler BTDR1-H... (1)
La référence par défaut, on trouve les catégories dans la KLC, on va retenir U (2)
On veille à ce que la position d'offset du texte de la pin soit réglée à 20 mil (3), la valeur 40 mil est utilisée pour les formes triangulaires comme les AOP. Les 3 dernières cases doivent être cochées (4). On clic sur OK.

Image

Avant de commencer à dessiner le symbole, il faut connaitre quelques astuces, la première consiste à régler quelques préférences selon la KLC.

Code : Tout sélectionner

- La grille par défaut est de 100mil (2.54mm, et l’origine d’une broche (pin) doit être sur un noeud de la grille.
- La taille du trait pour dessiner le contour doit être de 10mil (0.254mm)
- La taille de la broche doit être entre 100mil et 300mil avec un incrément de 50mil (taille de 200mil par défaut).
- Les champs de textes doivent utiliser une taille de 50mil (>=20mil si petit symbole).
- L’offset du nom de la broche doit être compris entre 50mil (1.27mm) et 20mil (0.508mm) qui est la valeur par défaut.
On se rend dans le menu Préférences -> Options générales

Image

Tout ça c'est fait !

La KLC nous donne aussi d'autres infos :

Code : Tout sélectionner

- Pour les symboles symétriques, le symbole doit être centré autour de l'origine (0, 0) dans l'éditeur de symboles.
- Les circuits intégrés doivent avoir une couleur de fond, à contrario des composants simples (résistances, condensateurs...).
- Les broches doivent se situer à l’extérieur du contour du symbole.
- Chaque broche doit avoir son propre numéro.
- Les broches sont regroupées par fonction : l’alimentation + en haut du symbole, l’alimentation - ou la masse en bas du symbole, les entrées à gauche et les sorties à droite.
- Chaque broche doit être définit au niveau du type électrique : Power Input/Output pour l’alimentation, Input et Output…
- Les broches non connectées (N.C.) peuvent ne pas être dessinées sur le symbole ou doivent être dessinées à l'intérieur du symbole pour éviter les connexions.
Très utile : les broches doivent être organisées en fonction de leur type nous dit la KLC !
Les broches sont regroupées par fonction : l’alimentation + en haut du symbole, l’alimentation - ou la masse en bas du symbole, les entrées à gauche et les sorties à droite.

Sachant tout cela ça donne ça :

Image

Info : le libellé de pin 'Power output' n'est pas utilisée pour la masse (GND), je ne l'ai rencontré que pour les régulateurs de tension. Donc on utilise le libellé 'Power input' pour VCC et pour GND

Il nous reste à renseigner quelques détails pour faire ça bien avant d'enregistrer. Commençons par les Propriétés du symbole en cliquant sur l'icone Image. Il y a au moins 2 onglets qu'il faut définir :

ImageImage

Je rentre le maximum d'infos que possible. L'onglet Alias ne nous concerne pas et nous verrons le suivant plus tard.

Rendons nous dans le menu Symbole -> Champs.
La KLC nous donne comme indications :

Code : Tout sélectionner

1.	Le champ de Reference est sélectionné de manière appropriée pour le symbole et est visible
2.	Le champ de Value contient le nom du symbole et est visible
3.	Le champ Footprint contient un lien d'empreinte pour les pièces atomiques sous le format <footprint_library>:<footprint_name> et est laissé vide pour les pièces génériques. Il doit être invisible
4.	Le champ Datasheet est laissé vide et est invisible
5.	Le symbole ne contient pas d'autres champs personnalisés
Seul le champ empreinte n'est pas rempli, même si l'empreinte n'est pas encore créée, on va lui donner le même nom que le symbole, je peux donc renseigner le champ.

Image
Et on valide !

Petite Astuce :

On peut tester le positionnement des broches en cliquant sur la petite coccinelle (1) dans les icônes pour vérifier la conformité.
Et on n'oublie pas sauvegarder le symbole en cliquant sur 'Sauvegarder le symbole actuel' (2) dans la barre d’icônes.

Image

Ca y est ! On a presque fait le plus le simple ;-)
Avatar du membre
McColson
Admin du site
Admin du site
Messages : 7868
Enregistré le : 07 nov. 2004, 1:00
Localisation : Dammartin-sur-Tigeaux
Contact :

Re: [Tuto] Création d'une lib, d'un symbole, d'une empreinte et d'un modèle 3D perso

Message non lu par McColson »

Le 1er à me faire correctement la BTDR1-V (même BTDR1 mais empreinte verticale, il faut donc un symbole dédié qui sera identique mais avec juste le nom qui change) en symbole pour compléter la librairie aura un bon point ;-) :jsor:
Avatar du membre
Pote Gui
G5 Team
G5 Team
Messages : 4469
Enregistré le : 15 mai 2012, 11:07
Localisation : Lyon (69)

Re: [Tuto] Création d'une lib, d'un symbole, d'une empreinte et d'un modèle 3D perso

Message non lu par Pote Gui »

Super tuto, bravo! Le mien fait pâle figure à côté... et dire que j'étais fier de moi!
Avatar du membre
McColson
Admin du site
Admin du site
Messages : 7868
Enregistré le : 07 nov. 2004, 1:00
Localisation : Dammartin-sur-Tigeaux
Contact :

Re: [Tuto] Création d'une lib, d'un symbole, d'une empreinte et d'un modèle 3D perso

Message non lu par McColson »

Pote Gui a écrit : 07 janv. 2019, 16:42 Super tuto, bravo! Le mien fait pâle figure à côté... et dire que j'étais fier de moi!
Tu n'as pas à rougir sans tes tutos je ne m'y serais jamais mis ! ;-)
Et c'est une trame, n'hésitez pas à proposer des choses au fur et à mesure, ça me permettra d'expliquer petit à petit jusqu'où j'aimerais qu'on aille. Et surtout si ça vous intéresse et si vous trouvez ça utile... Enfin moi j'y crois :lol:
Avatar du membre
a-wai
G5 guru
G5 guru
Messages : 2690
Enregistré le : 23 sept. 2006, 2:00
Localisation : Toulouse
Contact :

Re: [Tuto] Création d'une lib, d'un symbole, d'une empreinte et d'un modèle 3D perso

Message non lu par a-wai »

McColson a écrit : 07 janv. 2019, 16:13 Le 1er à me faire correctement la BTDR1-V (même BTDR1 mais empreinte verticale, il faut donc un symbole dédié qui sera identique mais avec juste le nom qui change) en symbole pour compléter la librairie aura un bon point ;-) :jsor:
Question con : pourquoi ne pas faire juste un symbole BTDR1 et 2 empreintes (BTDR1-H et BTDR1-V) ? Ça éviterait de faire 2x le même travail (avec le risque de modifier l'un et pas l'autre, si une modif est nécessaire à l'avenir)
Avatar du membre
McColson
Admin du site
Admin du site
Messages : 7868
Enregistré le : 07 nov. 2004, 1:00
Localisation : Dammartin-sur-Tigeaux
Contact :

Re: [Tuto] Création d'une lib, d'un symbole, d'une empreinte et d'un modèle 3D perso

Message non lu par McColson »

En effet j'ai longtemps hésité, car l'onglet alias dans les propriétés est fait presque pour ça. L'alias permet de définir un symbole qui serait utiliser pour plusieurs composants identiques exemple la 1N400x. On créé un symbole, une diode 1N4001 et on créer des alias 1N4002, 1N4003...
On serait tenté d'utiliser cette fonction pour faire un symbole BTDR1-H et de créer un alias BTDR1-V. Mais la 1N400x peut-être considéré comme un symbole générique, au même titre qu'une R ou qu'un C. A un composant générique correspond une multitude d'empreinte possible (pas différent, montage vertical, horizontal etc...)
Pour un composant atomique, une seule empreinte est possible, ce qui est le cas pour les modules BTDR.

Mais la KLC est assez précise là dessus. Un composant atomique, c'est à dire 1 référence constructeur = 1 symbole = 1 empreinte.
Et même encore plus précise. Si un composant (atomique) est disponible en plusieurs packages, il devra avoir un symbole par package. Et idéalement si les pin correspondent, le symbole doit pouvoir être interchangeable (même dessin donc) dans le schéma.

http://kicad-pcb.org/libraries/klc/S2.3/

C'est sûr que ça rajoute du boulot, mais quand tu as un composant atomique, tu as au moins directement son empreinte correspondante. Quitte à ce que ce soit très proche en effet...
Répondre