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

lundi 21 mai 2007

Données météo

Comme je me remet doucement à  la voile, j'éprouve le besoin de consulter les horaires de marée et la météo marine assez fréquemment. Mais aller sur les différents sites du SHOM puis de météo france est assez consommateur. Je me suis donc amusé à  faire un petit script qui récupère les données intéressantes et les compile sur une seule page.

On peut voir le résultat sur la page compilation des données météo en plus de celles prises de ma station personnelle.

Le port de référence est Trébeurden et les données sont actualisées 3 fois par jour en fonction des heures prévues de sortie des bulletins.

Je peux mettre le script à  disposition si ça intéresse quelqu'un.

Edit: Le script est maintenant disponible


Commentaires du post original

vendredi 18 mai 2007

NCD ThinSTAR 400

J'ai acquis il y a peu un terminal léger de chez feu NCD. Le modèle ThinSTAR 400. Coté Hard, c'est basé sur un Pentium 166 avec 32Mo de RAM. Une carte graphique bien sur, gestion du son de l'usb et du réseau. Il a l'avantage de ne pas faire de bruit du tout (aucune pièce mobile) et de consommer très peu (11.5-12.4W au boot et 10W en Idle). Coté Soft, il tourne sous Windows CE.

C'est donc un terminal Windows conçu pour se connecter à  un serveur Windows 2000 ou Citrix Metaframe. Mais on peut installer un serveur X-Window pour en faire un TX. Malheureusement l'installation de ce serveur X nécessite un logiciel spécifique ThinPATH Manager que je n'ai pas :( D'ailleurs si quelqu'un a ça, je suis très intéressé.

L'idée est donc dans un 1er temps de transformer mon Linux en serveur RDP (Bientôt un billet sur xrdp ?). Dans un 2ème temps on verra si on pourrait pas faire tourner un Linux directement sur la bête. M'enfin on verra ça quand j'aurais du temps libre soit ... pas tout de suite :)

Pour finir, voici quelques photos :

NcdThinSTAR400_001 NcdThinSTAR400_002 NcdThinSTAR400_003

Ah et bien sur, je n'ai pas pu m'empêcher de l'ouvrir pour voir ce qu'il avait dans le ventre :)

NcdThinSTAR400_004


Commentaires du post original

mardi 8 mai 2007

Liens

http://static.instructables.com/deriv/FIH/0PP4/F11S8TJ0/FIH0PP4F11S8TJ0.MEDIUM.jpg

http://www.siteprocentral.com/cgi-bin/feed/feed.cgi

http://www.girr.org/mac_stuff/usb_stuff.html


Commentaires du post original

jeudi 8 février 2007

avrDefender : un petit jeu à  deux balles

Je continue à  apprendre peu à  peu l'utilisation de l'ATmega8 présent sur ma carte myAVR. Au programme du jour les interruptions sur timer, la gestion des entrées numériques (boutons) et surtout l'affichage sur lcd (à  l'aide de la bibliothèque LCD de Peter Fleury).

Le résultat est un petit jeu à  deux balles ou il faut éviter des météorites. Bon, sur un LCD de 2 lignes et 16 colonnes, les graphismes sont pas terribles :)

Je l'ai appelé avrDefender en hommage à  un grand jeu !

Et si vous êtes interressés par du code cochon de quelqu'un qui débute, vous pouvez toujours aller voir.


Commentaires du post original

mardi 30 janvier 2007

myAVR : une carte de test pour microcontroleur ATmega8

Depuis peu de temps, j'ai dans l'idée de me remettre un peu à  l'electronique. Comme à  la base je suis plutôt un softeu[1] je suis plus attiré par l'electronique numérique qu'analogique. Donc les microcontroleurs semblent la voie royale.

Dans l'optique de me dérouiller un peu, je me suis commandé une petite carte simple qui intègre de quoi jouer avec les entrées sorties du µC. Après diverses interrogations, mon choix s'est porté vers la carte myAVR qui a l'énorme avantage d'être peu chère[2].

Elle possède de quoi s'amuser un bon moment et de découvrir en détail les possibilités des Atmel :

  • µC Atmel ATmega8
  • interface de programmation parallèle (ISP)
  • interface série
  • 2 interrupteurs pour simuler des entrées numeriques
  • 2 potentiomètres pour simuler des entrées analogiques
  • 3 LED pour le feedback visuel
  • port d'extension pour ajouter des modules additionels

Voici maintenant en quelques photos du montage :

Tout d'abord, la réception du paquet. Rapide et bien emballé. Le modèle commandé comporte la carte en kit et une extension avec un écran LCD.
La documentation fournie dans le paquet ainsi que celle dispo sur le web est par contre en Allemand ! Mais j'ai reçut par mail des notes explicatives en anglais. De plus la doc en allemand est suffisament illustrée pour ne pas avoir de problèmes lors du montage. photo photo

Mon plan de travail. Le materiel nécessaire est assez limité: un fer à  souder, pince coupante et un peu de fil. Sur l'écran de gauche, vous voyez la doc de montage très bien faite. A droite, amaroK joue du Ludwig von 88, rien de mieux pour se concentrer[3]. photo

Après la première page de montage, les CI sont posés. Je ne suis pas trop mécontent de mes soudures. Monter mon switch casque/enceintes m'a permis de me refaire un peu la main. photo photo

Enfin, la carte est terminée. Il ne reste qu'a enficher le µC Atmel ATmega8 et les boutons des potentiomètres. Certaines soudures sont moins jolies, en particulier les gros patés pour la masse des connecteurs DB. photo photo

Après ceci, la phase de tests :

  • avant de brancher le µC, connecter l'alim (une pile 9V) et verifier les 5V aux endroits indiqués par le shéma
  • tester le Hello World des microcontroleurs, à  savoir faire clignoter une LED :)

Malheureusement, les programmes de tests fournis sur le CD ne sont que pour windows et ne fonctionnent pas avec Wine. La procédure pour compiler et charger fera l'objet d'un article prochain. Mais vous pouvez déjà  voir le clignotement de la LED dans mon billet précédent.

Notes

[1] terme plus ou moins péjoratif employé par les hardeux

[2] surtout dans sa version en kit

[3] enfin c'est mon cas


Commentaires du post original

à‡a clignote !


Commentaires du post original