lundi 11 juin 2007

Logiciels d'electronique sous linux

Je vais essayer de vous présenter dans ce billet les logiciels d'électronique disponibles dans les dépots Ubuntu. Nous allons faire un tour d'horizon en essayant d'être le plus complet possible.

Capa En effet j'ai eu récemment l'envie de me remettre à  l'electronique[1]. J'ai donc décidé de chercher un logiciel pour réaliser les schémas de circuit. Mon cahier des charges est le suivant :

  • Logiciel libre[2]
  • Présent dans les dépots ubuntu
  • Facile à  utiliser
  • Permettant de réaliser de jolis schémas
  • Intégrant des fonctions de simulation analogique[3]

Voici donc la liste des logiciels que j'ai testé avec mes remarques. Notez quand même que :

  • ça fait des années que je n'ai pas fait d'électronique[4] donc j'ai surement loupé des trucs
  • je ne cherche pas à  être exhaustif, si vous connaissez d'autres softs dispo pour Ubuntu, n'hésitez pas à  en parler
  • certains tests ont été fait sur une Dapper (ce sera précisé), certaines choses seront alors surement différentes en Feisty
  • pour les simulations, je prendrais comme exemple un circuit très simple, le Pont de Diodes qui permet de redresser un signal sinusoà¯dal.

Back-ends de simulation

Chip Dans le monde libre il existe principalement deux back-ends qui permettent la simulation de circuits électroniques :

  • gnucap : le projet de GNU
  • spice et dérivés : le plus ancien et répandu. Il a aussi donné naissance à  beaucoup de dérivés (ngspice ...)

Gnucap est le seul disponible dans les dépots Ubuntu. ngSpice était disponible en Hoary mais ne l'est plus depuis. Ces programmes sont en ligne de commande et nécessitent un apprentissage de leurs formats d'entrée (nommé netlist) et de sortie avant de pouvoir en faire quoi que ce soit. Nous n'allons pas les étudier ici.

Oregano

Oregano est un logiciel assez jeune mais dont le développement semble plutôt actif. Si vous êtes sous KDE, vous ne couperez pas à  l'installation de beaucoup de dépendances Gnome.

Il permet de dessiner des circuits et de les simuler de manière très simple. Il n'intègre pas de simulateur mais se base sur les back-ends gnucap ou ngspice. Il génère la netlist nécessaire, appelle le back-end et met en forme les résultats. Traduit en français, il propose une interface très intuitive et simple d'utilisation. Vous pouvez réaliser votre 1er circuit en quelques minutes.

Par contre c'est un logiciel encore jeune à  qui il manque quelques fonctions. Quelques bugs plus ou moins génant sont aussi présents. On ne peut non plus pas exporter d'image du circuit dessiné (mais on peux l'imprimer)

/!\ Cette astuce fonctionnait avec Dapper, mais semble ne plus marcher en Feisty :(
Dans cette version il n'y pas d'inclusion de composants extérieurs pour la simulation (pour les composants qui ne sont pas de base dans gnucap). On peut quand même s'en sortir :

  • une fois le circuit dessiné, afficher la netlist
  • ajouter une ligne comme .include /data/documents/Electronique/lm317.sub
  • cliquez sur le bouton Simuler

Pour finir regardez comme il est beau[5] : Capture

qucs

qucs semble avoir aussi un développement très actif. Il est fournit avec son propre simulateur et n'utilise donc pas gnucap. Son interface (traduite) est encore plus facile à  utiliser que Oregano et très puissante. Il semble être pas mal utilisé et il est relativement facile de trouver de la documentation ou des tutoriaux.

Mais gros problème. Impossible de simuler quoi que ce soit avec la version disponible dans Ubuntu ! Même l'exemple tout simple de la documentation plante chez moi. Visiblement, je ne suis pas le seul, voir ce bug sur Launchpad ou ce fil dans les forums officiels.

Heureusement, grà¢ce au commentaire de C. Joubert j'ai trouvé un contournement. Il suffit de lancer qucs en changeant la locale numérique :

LC_NUMERIC=C qucs

Voici donc une capture d'écran : Capture

Pour avoir un aperçu plus complet, regardez par exemple ce tutorial

gEDA / gscheme

gEDA est la suite de logiciels du projet GNU. Son but est d'offrir un environnement complet pour réaliser les circuits, les simuler et dessiner les circuits imprimés. Je n'ai pas cherché à  tester cette dernière fonction. gEDA est donc juste une interface pour accéder aux autres applications.

Celle destinée au dessins de schémas est gscheme. Son interface est principalement basée sur des raccourcis clavier. Cela semble déroutant au début mais avec un peu d'entrainement ce fonctionnement devient très pratique. Les schémas réalisés sont d'un rendu très professionel et la bibliothèque de composants disponibles est impressionnante. Il semble très utilisé et il est donc facile de trouver de la documentation. Par exemple sur le wiki gEDA ou même ces très bons tutoriaux traduits en francais.

En ce qui concerne la simulation, il se base aussi sur gnucap ou spice. Mais il n'y a pas d'interface intégrée permettant de simuler en 3 clicks[6]. Vous devez alors utiliser plusieurs logiciels pour affecter les valeurs aux composants, générer la netlist, simuler puis afficher les résultats. De plus si l'intégration de spice est très documentée, gnucap semble aux abonnés absents :(

Pour finir, une capture et un export en PNG du désormais habituel pont de diodes :
Capture Export

kicad

kicad est une suite logicielle déstinée à  la réalisation de shémas et circuits imprimés. Il n'est dans les dépots ubuntu que depuis la sortie de feisty. Sachez tout de suite que c'est un logiciel de très grande qualité qui plus est développé par le Français J-P Charras enseignant chercheur.

D'une ergonomie parfaite, il ne permet pas la simulation mais génère des fichiers netlist que vous pouvez donner à  manger à  spice. Il dispose en outre d'un module de visualition 3D de vos circuits de toute beauté. Inutile donc absolument indispensable :)

Notez quand même un petit bug dans ubuntu, les fichiers d'aide ne sont pas accessible à  partir de l'interface de kicad. Vous les trouverez dans /usr/share/doc/kicad/help/fr si vous avez installé le paquet kicad-doc-fr.

Enfin une capture d'écran un peu chargée car j'ai voulu tout vous montrer : Capture

Autres logiciels

Voici quelques autres logiciels que j'avais testé sous Dapper mais qui ne m'ont pas emballé pour diverses raisons. Je ne les ai donc pas ressayé en Feisty mais les cite quand même pour mémoire.

Electric

electric est un logiciel assez ancien mais très (trop ?) puissant. Son interface est ... rustique. Il permet de dessiner des schémas de circuits, des circuits imprimés mais aussi des circuits intégrés ! C'est le seul que j'ai essayé capable de faire cela.

Il permet la simulation via plusieurs moteurs externes ou un moteur interne. Je n'ai pas réussit à  en tirer grand chose mais c'est surement un logiciel qui ravira ceux qui ont ces besoins particuliers.

Capture

XCircuit

XCircuit propose une approche un peu différente des autres logiciels. Il est beaucoup plus orienté dessin que juste placement de composants. Son interface et son ergonomie paraissent un poil antédiluviennes. Il permet d'exporter des netlists et des fichiers postcript[7]

Capture

Dia

Dia est un logiciel permettant de dessiner des diagrammes. Il dispose de nombreuses bibliothèques de symboles que vous pouvez intégrer dans vos schémas et parmi celles-çi, des composants électroniques. Il ne dispose d'aucune fonction propre à  l'électronique comme l'export de netlist, mais si vous cherchez juste à  dessiner quelques schémas il peut tout à  fait vous suffire.

Capture

Conclusion

Voila pour ce petit tour des logiciels d'électronique sous Linux. Il resterai beaucoup à  dire sur d'autres logiciels tels que ceux spécifiquement destinés à  la création de PCB. Il en existe aussi beaucoup permettant de faire de l'électronique numérique[8]. Je pense d'ailleurs bientôt m'attaquer aux logiciels destinés aux microcontroleurs.

Voila, pour finir, félicitations à  ceux qui ont tenu jusqu'au bout ;) et n'hésitez pas à  me signaler les logiciels que j'aurais pu oublier.

Notes

[1] comme si j'avais pas déjà  assez galéré à  l'école

[2] Je ne parlerai donc pas de Eagle ni de faire tourner quoi que ce soit avec Wine

[3] l'électronique numérique reviendra peut-être en deuxième semaine

[4] en particulier analogique

[5] Hum le résultat de la simulation est assez étrange

[6] oui, je suis un gros fainéant

[7] J'avais noté deux bug en dapper et edgy : #42976 et #75456

[8] je ne résiste d'ailleurs pas à  linker ce joli compteur à  bascule que je me suis amusé à  faire avec KLogic


Commentaires du post original