Vue normale
-
News Domotiques by Domadoo
- Smarthome Academy – Épisode 149: Comment Optimiser la Consommation Énergétique d’un Bâtiment?
LoRaGate – La réalisation – partie 3
Pour bien comprendre et suivre cet article, je vous recommande de bien lire les étapes précédentes, l’étude et la conception.
Dans cette partie, on va s’attarder sur la réalisation. Cette étape comprend le design de la schématique et la production de l’objet.
Le design de la LoRaGate
Comme nous l’avons vu dans le précédent article, il faut tout d’abord délimiter la carte en fonction de nos besoins (dans notre cas, il faut que ça rentre dans un boitier spécifique). Une fois effectué, il faut désormais placer les composants.
Le placement des composants
Dans notre cas, il faut prendre en compte que le carte électronique a 2 faces. On déterminera le haut (top) en rouge et le bas (bottom) en bleu.
Ensuite, il faut commencer par placer les composants qui ne peuvent pas être déplacés car soumis à contrainte(s).
Par exemple, le connecteur USB doit être placé en bord de carte à l’emplacement prévu par le boitier.
![]()
Pour l’antenne (ou connecteur SMA dans notre cas), on la place à l’endroit le plus éloigné du reste. En général, elle est placée en bout de carte.
![]()
Dans notre objet, la partie radio est très importante. Il faut que le design à ce niveau soit le plus irréprochable possible. Bien évidemment, Il y a quelques règles à suivre pour que cela se passe bien : comme isoler un maximum la partie radio des autres composants actifs.
Pour répondre à cette contrainte, on va donc placer le module radio au plus près du connecteur SMA. Cependant, il n’est pas recommandé de faire une piste avec des virages trop serrés (une piste avec des coudes à 90° vibre beaucoup moins bien). Alors il faut éloigner le module de façon à ce que l’on puisse faire une belle courbe toute douce ![]()
![]()
(Les deux flèches oranges représentent les deux points à relier)
Une fois le module placé, il faut créer « l’étage radio ». En effet, avant le routage des composants, je pense qu’il convient de créer le lien entre le module radio et le connecteur rapidement. En effet, il faut éviter de placer des composants à proximité. Le fait de placer le circuit permet de ne pas l’oublier et de ne pas faire de bêtises.
Bien entendu, on applique le réseau adaptatif pour la suite.
![]()
Réseau adaptatif + routage radio
![]()
Vision d’ensemble
Voilà une bonne chose de faite.
Il ne reste plus qu’à placer les autres composants qui ont moins de contraintes. Cette fois-ci, ça se passe sur la face haut (top).
![]()
Driver USB à base de FTDI (FT232RL)
![]()
Schéma général
Pour cette partie, la seule chose contraignante est qu’il faut bien placer les condensateurs de découplage au plus près du VCC ou du signal.
Le routage
Pour le routage, je procède de la façon suivante :
- Je route les pistes qui ne doivent pas être traversée, en général les condensateurs pour le découplage.
- Ensuite, je route manuellement les alimentations sensibles (pas le cas ici)
- J’applique un routage automatique
- J’ajuste. Par exemple, il peut arriver de ne pas placer de manière optimiser un composant et du coup la route prend un chemin non optimisé.
Après un routage automatique, il faut toujours vérifier (avec un œil humain) car l’homme reste supérieur (encore) à la machine.
![]()
Pour des raisons de performances et de stabilité, il est aussi recommandé de soigner le plan de masse. Quand il y a 2 couches et de la radio (comme dans notre cas), il est possible que les signaux et l’alimentation parcourant le PCB perturbent l’étage radio et dégrade l’émission/réception.
La première chose à faire est de stabiliser (éviter en quelques sortes les « vibrations électromagnétiques »). Pour cela, il convient de créer un plan de masse et de relier, de manière régulière, la masse des deux faces (TOP et BOTTOM)
![]()
Ensuite, je fais des « passerelles » entre les deux faces à l’aide de vias pour relier les plans de masses des 2 faces.
![]()
Enfin, je protège l’étage radio en faisant une barrière de vias tout le long. Normalement, il y a des règles de calculs qui permettent de connaître la distance entre les vias en fonction de la fréquence radio mais je vous avoue que dans la pratique, je serre les vias le plus possible.
![]()
La production de la LoRaGate
Une fois le plan de masse terminé, il faut, bien entendu, faire des revues pour bien vérifier que tout est ok. Vous pouvez appliquer les outils de eagle (Design Rules Control DRC et Electrical Rule Control ERC)
Quand on est sur de soi (c’est dure), on peut alors passer à la production de la carte.
Alors, on pourrait lancer, tel quel, la production de la carte mais quand on sait comment fonctionnent les fabricants de PCB, on s’aperçoit rapidement que l’on peut optimiser largement les coûts de production.
En effet, tous appliquent les tarifs en fonction du nombre de plaques et chaque plaque peut faire (en général) 10cm x 10cm. Du coup, si on produit la carte (qui fait 4.26 x 2 cm), c’est dommage car on perd la possibilité d’avoir plus de produits au même prix.
Donc pour remédier à ce problème, il faut faire ce que l’on appelle de la « panélisation » !
La panélisation
Pour appliquer la panélisation à vos circuits imprimés, il existe des outils sur Eagle CAD. Ce dernier met à disposition des scripts ULP qui permettent d’automatiser la duplication de votre circuit dans votre panel.
Pour « panéliser » mes productions, j’utilise 2 scripts :
qui va me permettre de nommer les composants répétés sur le panel avec le même nom.
En effet, quand vous dupliquez les composants sur un même panel, les noms s’incrémentent. Par exemple : C1 va devenir C2 sur la duplication d’à côté puis C3, C4 etc … en fonction du nombre de produits sur un panel. Et ça, les constructeurs n’aiment pas ça car le BOM ne correspond plus à rien.
![]()
Grâce à ce script, on va rajouter un « layer » _tNames (jaune) et _bNames(mauve) qui permettront de faire correspondre le même composant sur tous les produits des panels
Il va dupliquer les produits sur votre panel en fonction de la dimension du panel.
![]()
Il va ajouter entre chaque produit des lignes V-score afin de pouvoir indiquer au fabriquant de rendre « sécable » chaque produit.
![]()
Bon, comme ce sont des scripts pour des fabricants particuliers, je dois faire quelques modifications.
- Effacer toutes les layers « dimension » et en refaire une seule
- Changer le layer v-score (milling) pour le layer « dimension ».
![]()
Une fois effectué et après avoir vérifié que tout est ok, il suffit, enfin, de générer les fichiers GERBERs de notre projet. Ces fichiers sont adaptés pour les machines de production qui vont permettre de construire les cartes électroniques.
Envoie en production
Il faut alors aller dans « CAM processor » de EAGLE CAD et d’ouvrir un « job » permettant de générer les fichiers. Pour ma part, j’utilise un fichier cam que j’ai récupéré chez le fournisseur « Seeed ».
Les fichiers générés fonctionnent chez Seeed (bien sûr), mais aussi pour JLCPCB et OceanSmile que j’ai pu déjà tester. J’imagine donc qu’ils pourront aussi fonctionner chez d’autres fabricants.
Enfin, une fois que les fichiers sont générés, vous pouvez zipper et envoyer en production chez votre fabricant préféré.
Pour ma part, à ce stade je ne fais pas produire avec l’assemblage des composants. Je préfère commander les composants séparément et faire le montage moi-même. Cela évite de perdre trop d’argent s’il y a une erreur.
Voici le résultat une fois réceptionnée:
![]()
Panel reçu
![]()
LoRaGate montée
![]()
LoRaGate avec boitier
Conclusion
J’espère que cette trilogie vous a plu et/ou qu’elle vous a appris quelques astuces pour concevoir son propre projet électronique.
Bon, entre le temps de la rédaction de l’article et celui de la publication, il y a eu quelques modifications sur le projet mais le principe d’étude / réalisation et de production reste inchangé.
Pour la prochaine étape, il faut faire l’adaptation de l’étage radio mais je ne sais pas si j’en ferai un article.
Ce produit sera bientôt disponible sur la boutique vous permettant de rendre votre box ou ordinateur compatible LoRaWAN.
EDIT : Le Modem LoRaGate est désormais disponible sur la boutique
LoRaGate – La conception – partie 2
Si vous tombez sur cet article sans avoir lu la 1ère partie, vous allez être peut-être perdu, alors commencez par le commencement en lisant depuis le début.
Dans cette partie, nous allons rentrer dans le vif du sujet. La conception du produit.
Je vais tenter de vous expliquer comment faire une schématique, avec quel outil et quels sont les recommandations à suivre.
La schématique
Alors, faire des schémas, c’est sympa mais ça a surtout une grosse utilité. Grâce à la schématique, on va mettre à plat les composants que l’on va utiliser ainsi que leurs liens (les pistes) pour communiquer entre eux.
Il existe, bien entendu, différents outils pour élaborer une schématique mais, personnellement, j’ai choisi d’utiliser Eagle CAD car il répond à mes attentes.
Utilisation de Eagle CAD
La version que j’utilise est une version limitée et gratuite mais ce qui est inclus est suffisant:
- Utilisation de 2 couches max (TOP et BOTTOM)
- Aire de 80cm² max de surface de travail
Pour le moment, ces limitations ne m’ont jamais bloqué mais peut-être qu’à terme, ça sera le cas. Il faudra compter 300€ / an si je souhaite évoluer.
Bon, je ne suis pas naïf et leur stratégie est assez limpide. Dans un laps de temps inconnu, Ils risquent de limiter les fonctionnalités (comme Fusion360) et je serai obligé de franchir le pas ou changer d’outil.
Je vous passe bien évidemment les étapes d’installation et de création de projet. Je vous conseille de suivre les tutoriels. Il en existe quelques un sur la toile mais celui de Sparkfun est plutôt bien fait et très complet.
1ère étape
Bon je vous passe l’installation du logiciel, la création du projet et la création de la schématique, ça n’a pas d’intérêt ici… Partons du principe que votre feuille est ouverte et que vous êtes prêt à travailler.
Dans un premier temps, il faut déposer sur votre feuille tous les composants dont vous aurez besoin.
Pour cela, il faut cliquer sur l’icône de la barre d’outil suivant :
![]()
Alors c’est là que cela devient intéressant… pour avoir accès aux composants, il faut importer des librairies. Par défaut, il existe quelques composants mais vous serez rapidement limités.
Les librairies
Heureusement, la communauté de Eagle CAD est assez importante et il existe énormément de librairies assez complètes. Je vais vous en recommander quelques unes. D’ailleurs, les meilleures librairies sont souvent élaborées par les vendeurs ou concepteurs d’électronique. En effet, en vous facilitant la tâche, cela vous permettra de passer par eux pour l’achat des composants ou la conception de vos cartes électroniques.
Voici les librairies que j’utilise le plus :
Une fois téléchargé, il vous suffit de déposer tous les *.lbr dans le répertoire : « c:/<chemin_install_eagle>/lbr/ »
Ensuite, il faut charger les librairies dans le menu « Library » –> « Manage libraries » –> onglet « Available » –> « Browse » –> Sélectionner les librairies et cliquez sur « Use »
Une fois seulement après, elles apparaîtront dans votre bibliothèque.
Conception d’une librairie
La plupart du temps, on trouve, en cherchant sur Internet (il suffit souvent de taper dans google, le nom du composant et le mot clef lbr), la librairie du composant que l’on cherche mais il arrive que ce ne soit pas le cas (souvent parce qu’il n’est pas trop répandu/utilisé).
Et dans notre cas, c’est le module LoRa que je n’ai pas trouvé… Du coup, hé bien, on perd un peu de temps pour se le faire soi même.
Comme souvent, on ne part pas de zéro, et on vient exploiter une librairie qui existe déjà. Pour se faire, il est préférable de partir d’une librairie existante ayant le même boitier que votre composant. Malheureusement, ce n’est pas toujours possible aussi.
Eagle CAD offre la possibilité de concevoir sa propre librairie. Voici à quoi cela ressemble
![]()
L’outil est divisé en 3 parties :
- Device : C’est la fenêtre qui permettra d’avoir le visuel complet du composant
- Package : Permet de concevoir le design du composant (les empreintes)
- Symbol : C’est simplement la schématique du composant avec les fonctions de chaque PIN
En général, je commence par concevoir avec les bonnes côtes le design du composant :
![]()
Ensuite, je m’occupe de faire la schématique et « désigner » les fonctions de chaque PIN.
![]()
Bien entendu, tout cela ne se fait pas au hasard. Il est indispensable de suivre la datasheet du composant.
Enfin on associe les fonctions aux PINs physiques :
![]()
Une fois terminé, vous pouvez sauvegarder votre librairie et refaire les étapes d’importation (voir plus haut) dans votre Eagle CAD.
Voici la librairie pour ceux qui veulent utiliser le module. E78-868LN22S
Dépôt des composants
Voilà, vous avez listé tous les composants et ils sont tous disponibles dans votre bibliothèque. Il ne reste plus qu’à les déposer dans votre feuille comme suit :
![]()
Vous êtes enfin prêt à concevoir votre schéma électronique. On retrouve bien :
- Le connecteur USB-A
- Le driver USB-TTL / Régulateur
- Le module LoRa
- Le connecteur SMA (pour l’antenne)
Tout le reste correspond aux composants passifs. J’ai pour habitude d’utiliser uniquement des composant CMS de taille 0603 (package). Cela me permet de pouvoir gagner de la place mais aussi pouvoir reprendre des soudures sans trop galérer. Tout est dans le compromis…
Assembler les composants
Dans cette partie, l’objectif est simple. Il faut faire communiquer les composants que l’on a déposé. Pour cela, il est INDISPENSABLE d’utiliser les datasheet (je le répéterai jusqu’à vous souler ;)). En effet, toutes les informations utiles au bon fonctionnement de chaque élément se trouve dans ce document.
En plus des caractéristiques, souvent, il y a des exemples de mise en situation. Il convient donc de s’en inspirer.
Bon dans notre cas, il y a pas de grosses complexités. Voici les liens simples pour relier tous les composants.
![]()
Rien de particulier dans ce schéma, on relie les alimentations et les masses des composants puis les signaux D+ et D- du connecteur USB et enfin le RX / TX pour la communication entre le pilote USB et le modem LoRa. N’oubliez pas d’inverser les signaux de l’interface série. Le TX avec le RX et inversement.
Là, nous sommes dans le fonctionnement logique mais si vous en restez là, c’est que vous n’avez surement pas lu les spécifications des composants ou que vous ne maîtrisez pas encore le domaine de l’électronique.
Ce qu’il faut savoir, c’est que chaque composant à besoin d’être plus ou moins configuré pour être stable. Quand on parle de stable, c’est des signaux et une alimentation sans perturbation. Si on construit, en l’état, la carte électronique, elle fonctionnera surement (quoique) mais si vous espionnez les signaux ou l’alimentation à l’aide d’un oscilloscope, vous verrez surement des perturbations.
Pour le cas des modules prêts à emploi (comme le E78-868LN22S), ne vous laissez pas berner, s’il n’y a rien à rajouter, c’est que c’est déjà intégré DANS le module.
Voici le nouveau schéma après avoir respecter les datasheet.
Le découplage + antiparasite
![]()
Principalement, nous avons rajouté des condensateurs de découplage. Cela permet de limiter le « couplage » entre l’alimentation et le signal. Grossièrement, les condensateurs de découplage permettent de lisser l’alimentation et encaisser les perturbations possibles des signaux.
On peut voir aussi que la datasheet recommande une ferrite sur l’alimentation. Cette ferrite est un antiparasite et permet d’absorber des énergies des hautes fréquences.
Les signaux et filtres
Alors là, on passe dans des concepts beaucoup plus complexes. Ce dont je m’aperçois dans le domaine, c’est qu’il y a la théorie (qui est magnifique) et la pratique. A force de pratiquer et d’exercer, on s’aperçoit que, dans chaque situation précise, on utilise toujours les mêmes concepts.
Dans notre cas les filtres vont permettre d’éliminer des fréquences parasites. Pour filtrer, normalement, il faut utiliser le couple résistance + condensateur mais dans le cas de ce projet, les valeurs sont tellement basses que seules les condensateurs sont utiles.
Alors je ne suis pas du tout spécialiste (domaine ultra complexe) et je ne suis que certains conseils… et la datasheet :). Il est parfois utile de suivre la schématique de projet équivalent de constructeur qui ont passé les normes et passé leur design en test… Mais ce n’est pas toujours facile de trouver ce qu’on veut.
![]()
Pour les signaux RX / TX, je ne rajoute rien car sur la datasheet du module, les recommandations ne spécifie pas de rajouter un filtre. Ils recommandent une connexion directe… Comme préciser plus haut, tout doit être intégré dans le module.
Adaptation d’antenne
L’adaptation est un domaine complexe, tellement complexe que je vais consacrer un article entier à ce sujet.
En effet, il ne faut pas croire qu’en mettant simplement une antenne 868Mhz, une fois assemblée, l’antenne résonne à la bonne fréquence. Pour anticiper l’adaptation d’antenne, il faut rajouter un réseau de condensateurs et d’inductances afin de pouvoir trouver le bon paramétrage. Voici à quoi cela ressemble ce réseau.
![]()
Pour le moment, on ne met que les empreintes… on ne connait pas encore les valeurs et seront déterminés par les travaux d’adaptations.
Ces composants seront dans un boitier différent (0402) car je n’ai que des composants d’adaptations uniquement dans cette version.
Le design de la LoRaGate
Bon ça y est, pour le moment le schéma est fonctionnel. Il est alors temps de passer au design de la carte.
Bien entendu, rien ne vous empêchera de repasser sur la schématique pour corriger (et c’est toujours le cas :)). Pour passer dans la partie « design », il faut cliquer sur l’icone suivante de la barre des menus.
![]()
Et une nouvelle fenêtre apparaîtra … avec tous les composants :
![]()
La partie « design » et l’une des parties que je préfère le plus car c’est le moment où la conception prend vie. Il y a bien entendu des règles à suivre pour que tout fonctionne correctement et c’est ce que nous allons voir dans le prochain article.
Afin de commencer le placement des composants, la première des choses à faire est de délimiter les bords de carte. Autrement dit, il faut choisir la taille que doit faire la carte électronique.
Si vous êtes dans l’optique de faire une carte nue, pas de problème … vous choisissez les dimensions que vous souhaitez et c’est assez vite réglé… mais si vous voulez placer la carte dans un boitier, c’est une autre histoire.
Dans le cas du projet, j’ai choisi un boitier pour être plus propre et après mûres réflexions, j’ai choisi ce boitier :
![]()
Alors pour les connaisseurs, cela vous rappellera la ZiGate-USB mais c’est le modèle plus petit, le 1551USB2TSK. Il convient parfaitement aux dimensions (et fonctions) de la carte et permettra de faire ressortir le connecteur SMA.
Bref, nous allons partir sur ces dimensions pour concevoir la carte électronique. (voir la datasheet)
![]()
L’objectif va être de faire rentrer tous les composants dans le rectangle blanc (représentant les bords de la carte)
Conclusion
Dans cette partie, on est bien rentrée dans le vif du sujet. J’ai passé sur les grosses explications des concepts en électronique mais j’ai essayé de communiquer rapidement ma méthode pour la conception de carte électronique.
En fait, je me suis fait un peu piéger par la masse d’informations et je suis bien conscient que pour un débutant, ça peut paraître imbuvable et pour un pro pas assez détaillé (d’ailleurs n’hésitez pas à me dire en commentaire si c’est trop ou pas assez précis).
Pour la prochaine étape, on va voir comment placer les composants, optimiser leur position et tout faire rentrer dans le boitier.
A bientôt !
EDIT : Le Modem LoRaGate est désormais disponible sur la boutique