samedi 21 février 2015

Amplificateurs Opérationnels 9: les filtres

En électronique, un filtre permet d'éliminer certaines des fréquences présents à l'intérieur d'un signal périodique.  Le filtre peut être passe-haut (il laisse passer les hautes fréquences, mais atténue les basses fréquences), passe-bas (il laisse passer les basses fréquences mais atténue les hautes fréquences), passe-bande (il ne laisse passer qu'une fréquence et atténue toutes les autres) ou coupe-bande (il atténue une fréquence et laisse passer toutes les autres).

Par exemple, des filtres peuvent être appliqués à un signal audio pour atténuer les hautes ou les basses fréquences (equilizer, boutons bass / treble...).

Les filtres sont souvent constitués d'une résistance combinée à un condensateur, puisque le condensateur s'oppose plus fortement au passage d'un courant de basse-fréquence qu'au passage d'un courant de haute fréquence.

Je vous propose ici une petite expérience qui nous permettra d'expérimenter avec les filtres, tout en mettant à profit les connaissances sur les amplificateurs opérationnels que nous avons acquises lors des rubriques précédentes.

Ainsi, nous allons construire deux oscillateurs à pont de Wien ayant des fréquences différentes.  Nous allons ensuite mélanger ces deux signaux au moyen d'un sommateur, puis nous filtrerons le signal mélangé au moyen d'un filtre passe-bas, puis d'un filtre passe-haut.

Comme toujours depuis le début de cette série d'articles, j'ai utilisé 4 amplificateurs opérationnels de modèle UA741 alimentés par une vieille alimentation ATX d'ordinateur.  Il va sans dire que l'utilisation d'un circuit intégré comportant 4 amplificateurs opérationnels aurait été particulièrement pertinente ici. 


1° Production d'un signal de basse fréquence

Dans un premier temps, j'ai produit un premier signal sinusoïdal au moyen d'un oscillateur à pont de Wien.  En utilisant deux résistances "R" de 10 kΩ et deux condensateur "C" de 100 nF, le signal de sortie avait une fréquence de 157 Hz.

Oscillateur à pont de Wien


Signal de basse fréquence

2° Production d'un signal de haute fréquence

J'ai  ensuite construit un deuxième oscillateur à pont de Wien, mais en utilisant cette fois-ci deux résistances "R" de 1 kΩ et deux condensateur "C" de 100 nF.  Le signal produit avait donc une fréquence 10 fois plus grande que celle du signal issu du premier oscillateur (1,57 kHz):

Signal de haute fréquence

 3°  Mélange des deux signaux

J'ai ensuite mélangé les signaux issus des deux oscillateurs en fabriquant un sommateur au moyen d'un troisième amplificateur opérationnel:

Schéma du sommateur
(Dans le circuit ci-dessus, la sortie du premier oscillateur est reliée à l'entrée 1, alors que la sortie du deuxième oscillateur est branchée à l'entrée 2.)

Voici le signal à la sortie du sommateur:  le signal comporte une oscillation de haute fréquence additionnée à une oscillation de basse fréquence.

Somme des deux signaux
Nous sommes maintenant prêts à filtrer ce signal:  le but est d'éliminer une des deux fréquences tout en laissant intacte l'autre fréquence (oui, je sais, nous tournons un peu en rond...mais c'est pour le bien de la science!).

4°  Fabrication d'un filtre passe-bas

Faisons passer le signal dans un filtre passe-bas, qui atténuera le signal de haute fréquence.  Nous voulons que la fréquence de coupure se situe entre 157 Hz et 1,57 kHz.

Étrangement, j'ai obtenu les meilleurs résultats en utilisant une résistance de 10 kΩ et un condensateur de 100 nF, ce qui donne une fréquence de coupure identique à la fréquence du signal de basse fréquence (la fréquence de coupure est donnée par l'équation   f =  1(2πRC)).

Voici le signal à la sortie du filtre passe-bas:  l'oscillation de haute fréquence est encore visible, mais elle a été fortement atténuée.

Signal à la sortie du filtre passe-bas

5°  Fabrication d'un filtre passe-haut

Remplaçons maintenant le filtre passe-bas par un filtre passe-haut.  Pour ce faire, il s'agit de permuter la résistance et le condensateur.  Cette fois, toutefois, j'ai utilisé une résistance de 2,2 kΩ et un condensateur de 100 nF.  En calculant la fréquence de coupure ( f =  1(2πRC)), on obtient 723 Hz, donc quelque part entre les deux fréquences présentes dans notre signal.

Et voici le signal à la sortie du filtre passe-haut:  même si on perçoit encore l'oscillation de basse fréquence, elle a été fortement atténuée:

Signal à la sortie du filtre passe-haut

Il existe des filtres plus performants que ceux présentés ici:  j'ai tenté de prioriser la simplicité plutôt que l'efficacité.

Article précédent dans cette série:  
Amplificateurs opérationnels (8):  oscillateur à pont de Wien


Yves Pelletier (Twitter: @ElectroAmateur)


dimanche 15 février 2015

Livre: Le grand livre d'Arduino, par Erik Bartmann


Le grand livre d'Arduino
par Erik Bartmann
Éditions Eyrolles, Collection Serial Makers
467 pages,  2013

Le grand livre d'Arduino est la traduction en français du livre "Die elektronische Welt mit Arduino entdecken" qui signifie, si j'en crois le traducteur de Google, par "Découvrez le monde de l'électronique avec Arduino".

Je préfère le titre de la version originale allemande pour deux raison:  d'abord, il est beaucoup moins prétentieux que "LE grand livre de l'Arduino". Et surtout, le titre en allemand est beaucoup plus révélateur de ce qu'est le livre:  un ouvrage d'initiation à l'Arduino, mais aussi un livre d'introduction à l'électronique.

Les débutants pressés de faire clignoter leur première LED devront ici faire preuve de patience:  l'événement n'aura lieu qu'à la page 163!  Auparavant vous serez exposés à tout un tas d'informations tout à fait pertinentes dans le cadre d'une initiation à l'électronique, mais qui ne sont pas toujours prioritaires pour la stricte utilisation de l'Arduino (comme, par exemple, comment calculer la capacité équivalente d'un assemblage de condensateurs en série ou en parallèle).

Personnellement, je préfère les livres qui encouragent le lecteur à expérimenter très tôt:  on installe le logiciel, on branche l'Arduino, on branche une LED, on exécute l'exemple blink, on constate avec émerveillement que ça fonctionne, et ensuite on explique pourquoi ça a fonctionné.  Je ne suis pas certain que j'ai vraiment besoin qu'on m'explique ce qu'est le gestionnaire d'interruption d'un microcontrôleur et la modulation par largeur d'impulsion avant même d'avoir installé le logiciel et fait clignoter ma première LED:  pourquoi ne pas en discuter plus tard, quand ces concepts seront utilisés à l'intérieur d'un projet concret? 


Ceci étant dit, il s'agit d'un excellent livre pour ceux qui débutent avec l'Arduino: les explications sont claires et complètes et à peu près tout ce qui est vraiment essentiel est couvert par la réalisation de 19 réalisations pratiques.  En plus de l'inévitable contrôle d'une LED au moyen d'un bouton poussoir,  vous apprendrez comment utiliser un registre à décalage 74HC595, un afficheur à  7 segments, un clavier numérique, un afficheur alphanumérique LCD, un moteur pas à pas et un shield ethernet.  Vous saurez comment mesurer une température et une intensité lumineuse, et comment émettre un son au moyen d'un élément piézoélectrique. Et vous aurez eu l'occasion de construire un dé électronique, des feux de circulation miniatures et un ventilateur qui se met automatiquement en marche lorsqu'il fait trop chaud.  Ça va même un peu plus loin que ce qu'on sert habituellement aux débutants, puisqu'on aborde la programmation orientée objet pour la conception de vos propres bibliothèques.

Peut-être pas "LE grand livre de l'Arduino", donc, car il en existe bien d'autres qui sont tout aussi excellents, mais un très bon livre sur l'Arduino et l'électronique, qui vaut la peine d'être consulté.

Ho, une dernière chose:  le personnage de bédé qui interrompt sans cesse l'auteur pour poser des questions tout en gardant inexplicablement une main devant sa bouche  est vraiment très irritant.  Je me suis mis à le détester dès les premières pages du livre!

Yves Pelletier (@ElectroAmateur)

jeudi 12 février 2015

Arduino IDE version 1.6.0

Une nouvelle version de l'environnement de programmation Arduino est disponible depuis quelques jours sur le site arduino.cc.  Voici quelques-unes des améliorations qui ont été apportées.

Le dialogue des préférences comporte maintenant deux nouvelles options:

  • "Afficher les numéros de ligne" qui, par défaut, n'est pas sélectionné au moment de l'installation.
  • "Save when verifying or uploading" qui, lui, est déjà sélectionné par défaut lors de l'installation (c'est étrange que cette ligne soit restée en anglais alors que tout le reste a été traduit..)

En ce qui me concerne, voilà deux très bonnes nouvelles.  La numérotation des lignes est drôlement pratique pour corriger une erreur de compilation (les messages d'erreur indiquent souvent le numéro de la ligne, mais comment trouver la ligne 421 si elle ne sont pas numérotées?!?!).  Je vois mal pourquoi quelqu'un choisirait de ne pas activer cette option.


La sauvegarde automatique semble également une bonne idée, par contre ça dépend un peu de vos habitudes de travail.  La sauvegarde s'effectue dès le début, avant la compilation.  Donc même en cas d'erreur de compilation, votre sketch erroné sera sauvegardé sur votre disque rigide à la place de la version précédente (qui était peut-être, elle, parfaitement fonctionnelle...).  C'est donc essentiel de sauvegarder régulièrement des copies des sketches complexes en cours de développement pour pouvoir, en cas de catastrophe, revenir à une version antérieure.

Autre nouveauté intéressante:  le sous-menu "Port" indique maintenant, entre parenthèse, le nom du modèle d'Arduino branché à chaque port; ça facilite évidemment les choses pour identifier le port adéquat (ça n'a pas fonctionné pour mon Duemilanove, toutefois).


Suite à la compilation, le message donne plus d'informations concernant l'utilisation de la mémoire.

Ancien message:


Nouveau message:


Et le sous-menu "Type de carte" affiche affiche des cartes qui n'étaient pas supportées dans la version 1.0, comme le Yùn ou le Due.


On parle aussi d'améliorations apportées au moniteur série, à plusieurs bibliothèques,  recherche/remplacement sur plusieurs onglets, etc.

Yves Pelletier (Twitter: @ElectroAmateur)