mardi 14 juillet 2015

Schéma électronique

Depuis quelques temps, je suis en retard sur la documentation, notamment sur les schémas d'architecture ou les schémas des circuits électroniques.
D'autre part, j'ai parfois des problèmes de robustesse, liés à l'utilisation des breadboards.
Pour certains circuits, j'ai fait le choix de me passer d'un circuit électronique. Mais pour d'autres circuits, ou pour faire plus propre, il me faut concevoir des shields autour des arduinos nano que j'utilise.

J'ai envisagé l'utilisation de différents outils libres : GEDA, Kicad et Fritzing.

J'ai tout d'abord regardé GEDA.
Je pense que GEDA est un outil de niveau industriel permettant de réaliser des circuits électroniques. Je l'ai trouvé assez peu intuitif, et ne permettant pas de réaliser de la documentation pour un montage breadboard par exemple.

Au contraire Fritzing semble bien mieux adapté pour réaliser de la documentation de circuit de test avec différentes cartes (arduino, raspberry pi)
Une difficulté était que les composants que j'ai utilisés n'étaient pas disponibles dans la bibliothèque de base (et pas trouvable sur internet).
J'ai trouvé un bon tutoriel donnant des conseils pour la réalisation de nouvelles pièces, petit à petit en partant d'anciennes.

Voici quelques limitations/critiques/remarques sur l'utilisation de Fritzing :
  • Il n'est pas possible de relier des composants par de câbles (type USB) mais seulement fil à fil.
  • Des imports sont possibles à partir de GEDA et Kicad (voir ligne de commande).
  • Les pièces et les montages sont décrits par des fichiers textes (xml, svg). Ces fichiers sont cependant zippés lors d'un export/import. Faire à la fois le suivi de version (en terme de mémoire et de facilité de suivi des modifications), et installer simplement une bibliothèque n'est donc pas aisé.
  • Les composants du montage sont décrits grâce à des chemins absolus. Les "sources" des schémas sont donc difficiles à partager entre plusieurs utilisateurs (du coup les composants non standards, sont ajoutés par défaut dans chaque partage, sans liberté à l'utilisateur d'installer ses propres composants)
  • De plus, dans l'architecture des fichiers par défaut, les éléments d'un composants seront partagés entre différents répertoires.
  • Certains composants sont par exemple dans /usr/share/fritzing/pdb/core/, d'autres dans ~/.config/fritzing
  • J'ai eu des problèmes pour l'export svg (certains composants n'apparaissent pas)
J'ai cherché quelques conseils pour partager des composants, mais la solution proposée est bien le partage par fichier zip, qui requiert donc des opérations manuelles pour l'installation.
En ce qui concerne, le problème des fichiers zip sous git, cela ne semble pas prévu de base. Quelques "workaround" semblent possibles :
https://tante.cc/2010/06/23/managing-zip-based-file-formats-in-git/
http://stackoverflow.com/questions/8001663/can-git-treat-zip-files-as-directories-and-files-inside-the-zip-as-blobs
Cependant, le fait qu'un composant soit éclaté entre plusieurs répertoires ne permet pas d'utiliser un script générique pour mettre à plat les zip.

En attendant de réaliser un script dédié pour améliorer tout ça, ou de suggérer des modifs/extensions au code du programme, voici quelques images des résultats :
Circuit emplificateur pour la jauge de contrainte



Aucun commentaire:

Enregistrer un commentaire