IMA4 2017/2018 P32

De Wiki de Projets IMA


Vidéo HD

Sommaire


Présentation générale

Vidéo de présentation

Fichier:Output.avi

  • Titre : Tribute to Peter Vogel - musique cybernétique
  • Description : Conception et réalisation d'une "oeuvre d'art" interactive sur le modèle des oeuvres de Peter Vogel.

Objectifs

Peter Vogel est un physicien allemand, décédé en mai 2017. Celui-ci consacra sa vie à la réalisation d'oeuvres cybernétiques. il attachait une importance particulière à l'interaction entre l'oeuvre et l'homme. Notre objectif est de rendre hommage a son travail. Pour cela, nous allons construire une sculpture munie de capteurs photo-sensibles qui permettront à l'usager d'altérer une séquence musicale qui serait émise grâce à des haut-parleurs.

Positionnement par rapport à l'existant

L'oeuvre de Peter Vogel est complexe. Nous utiliserons les moyens qui nous sont mis à disposition afin de lui être le plus fidèle. Notre oeuvre, contrairement à celles de Peter Vogel, sera centrée autour d'un micro-contrôleur.

Analyse du projet

Analyse de la concurrence

Notre projet est un hommage à Peter Vogel. Notre but n'est pas d'entrer en concurrence avec ce dernier, mais de construire une oeuvre originale dans laquelle son travail se reflètera.

Scénario d'usage du produit ou du concept envisagé

Deux étudiants passionnés de musique cherchent désespérément un moyen d’allier leur passion pour la musique à leurs connaissances acquises lors de la formation ima à polytech.

Ces derniers tombent par hasard lors de l’une de leur sorties culturelles à Dunkerque sur une exposition rétrospective de Peter Vogel, décédé en début d’année 2017.

Intéressé par ce travail atypique mêlant la dimension de temps représentée par l’interaction de l’utilisateur aux deux dimensions spatiales sur lesquelles se projette l’oeuvre, ils se renseignent sur son travail. Ils décident alors de rendre hommage à cet artiste en réalisant une sculpture interactive à leur manière. Ils décident de réaliser cette structure à l’effigie de l’école qui leur a apportée les connaissances nécessaires à la réalisation de ce projet.

Cette structure utilisera les ombres de l’utilisateur pour son fonctionnement afin d’être fidèle à péter vogel. Elle mêlera électronique musique et automatisme.

Kevin, étudiant dépressif en classe préparatoire sera alors heureux de découvrir aux portes ouvertes de l’école une expérience musicale interactive mettant en valeur la filière Ima. Il décidera alors de s’inscrire dans cette filière après ses concours.

Réponse à la question difficile

Comment assurer la sécurité de l'usager ? ( la structure étant continuellement alimentée)

  • perimètre de sécurité.
  • placer la structure derrière une vitre.

Préparation du projet

Cahier des charges

Choix techniques : matériel et logiciel

Partie matériel

La description du matériel nécessaire se fait en séparant notre oeuvre en plusieurs bloc fonctionnels :


Structure + Alimentation

  • 2* Barres en Aluminium (à déterminer)
  • 1* Alimentation PS1220N 12Vcc/2A [1]


Commande 1 : Photorésistances

  • 20* Amplificateur opérationnel LM358N [2]
  • 15* Résistances 68Kohm [3]
  • 15* Photorésistances LDR04 [4]
  • 12* Potentiomètres linéaires 100k [5]
  • 15* Résistances 4,7Kohm [6]
  • 15* Résistances 1Kohm [7]
  • 15* Transistors NPN 2N3904 [8]


Commande 2 : Séquenceur Arduino

  • 1* Socket Solder Trail [9]
  • 1* Atmega 328p [10]
  • 1* Led verte [11]
  • 1* Résistance 330ohms 1/6th Watt Pth[12]
  • 1* bouton poussoir [13]
  • 2* Condensateurs découplages 10µF [14]
  • 2* Condensateurs céramiques 22pF [15]
  • 1* Régulateur de tension [16]
  • 1* Cristal 16Mhz [17]
  • 3* Female headers [18]


Oscillateurs + Haut parleur(VCO)

  • 10* Résistances 1Kohm [19]
  • 10* Potentiomètres linéaires 10k [20]
  • 10* Résistances 100Kohm [21]
  • 10* Condensateurs 10µF [22]
  • 10* Transistors NPN 2N3904 [23]
  • 70* Leds rouges [24]
  • 2* Haut-parleur 2W [25]


Filtre Passe-bas

  • 1* Led blanche [26]
  • 1* Condensateur 100nF [27]
  • 1* Photorésistances LDR04 [28]


Partie mobile

  • 2* Petits moteurs [29]

La méthode de contrôle des moteurs et les composants nécessaires sont encore à déterminer. Nous nous concentrerons sur cette partie en dernier. Cette fonctionnalité étant indépendante du reste de circuit, cela ne pose pas de problème.

MATERIEL NECESSAIRE AJOUTE

  • 20* transistors N2222 ( commandes Atmega)[30]
  • 1* Alimentation PS1220N 12Vcc/2A [31]
  • 1 bouton poussoir qui permet de switcher entre le mode automatique et le mode manuel
  • 4 diodes schotkky
  • 4 transistors mosfet ( effet de champ)
  • 3 résistances 10kohm
  • 4 condensateur 1-100nF

Partie logiciel

Arduino IDE, Altium Designer, Atmega 328p Programmer

Liste des tâches à effectuer

1. Dimensionnement : Analyse de la puissance totale nécessaire et de la mise en cascade des différentes parties.
2. Simulation logicielle (LTspice) : phase de Test, vérification de l'étude théorique.
3. Réalisation des 8 oscillateurs
4. Réalisation de la commande basée sur les photorésistances
5. Conception de l'arduino Uno
6. Programme de contrôle séquencé des oscillateurs
7. Création du circuit de sélection (Commande manuelle/Commande automatique)
8. Réalisation + test du filtre RC à fréquence de coupure variable
9. Gestion de l'alimentation des LED
10. Alimentation de la partie moteur
11. Alimentation du Haut-parleur
12. Réalisation de la structure métallique
13. Soudure des différents blocs fonctionnels sur la structure + phases de test

Calendrier prévisionnel

Réalisation du Projet

Prologue

Lorsque nous avions choisi le sujet nous ne savions pas exactement dans quoi nous étions en train de nous embarquer. Nous savions que Peter Vogel était un artiste cybernétique mêlant l'électronique à la musique dans le but de créer des œuvres interactives. C'était alors à nous de proposer une oeuvre qui, au-delà de son aspect technique, représenterait l'école.

Très vite notre choix de forme de la structure s'est portée vers le "P", logo officiel du réseau Polytech. Nous avons donc, en vue d'une présentation devant nos tuteurs, commencé à réfléchir aux différentes fonctionnalités qu'aurait notre sculpture. De cette réflexion est sortie une première ébauche de notre oeuvre :

Peter vogel schematic.jpg
fig 1. Schéma de l'oeuvre finale.


Voici les différentes fonctionnalités que devait avoir notre sculpture selon notre première réflexion :

Les oscillateurs

Les oscillateurs sont la base même de notre oeuvre. En effet, ce sont eux qui vont produire le son lorsqu'ils seront alimentés. Il sont au nombre de 8 (équivalent à une gamme) et répartis tout autour de l'oeuvre. Il existe plusieurs manière de réaliser un VCO pour une une application audio. Notre choix s'est porté vers une solution simple proposée par un artiste anglais (Look Mum No Computer):

Oscillator schematic.jpg
fig 2. Oscillateur. (Transistor en zone d'avalanche)


En travaillant dans la zone d'avalanche du transistor, il nous est possible de récupérer un signal triangulaire aux bornes de la capacité. Le potentiomètre permet à l'utilisateur de régler la tonalité de chaque oscillateur.

La commande des oscillateurs

Le but premier de notre oeuvre est d'introduire l'interactivité avec l'usager à la manière de Peter Vogel. Pour rappel ce dernier se servait de photorésistances afin d'utiliser l'ombre de l'utilisateur pour activer/désactiver certains sons/mouvements. La présence de photorésistances était donc indispensable.

Nous avons cependant décidé d'introduire un second mode de fonctionnement. Il sera alors possible de changer d'un mode à l'autre à l'aide d'un switch présent sur la structure même.


Commande n°1 : Circuit photorésistif

Dans ce mode, il sera possible pour l'utilisateur d'activer les notes comme un synthétiseur lorsque l'ombre de sa main ( ou d'une toute autre partie de son corps ) passera sur l'une des photorésistance. Comme vous l'aurez compris, chaque oscillateur aura son propre circuit de commande photorésistif. Il sera possible en théorie de faire plusieurs notes en même temps. La sculpture se présentera alors comme un clavier sans fil sur lequel le musicien jouera à l'aide de son ombre.


Commande n°2 : Le séquenceur

Un séquenceur (Yamaha QY10, en haut) commandant un synthétiseur (en bas)

En musique, un séquenceur est un outil capable d'enregistrer et exécuter une séquence de commandes (par exemple une partition) permettant de piloter des instruments de musique électronique. Il ne produit aucun son par lui-même, mais sert à automatiser l’exécution d'une séquence musicale.

Notre but dans ce mode de fonctionnement est alors de faire jouer les 8 notes de manière séquencée. La séquence peut prendre plusieurs formes : sens trigonométrique, horaire et aléatoire. Le moyen le plus simple pour faire cela est d'utiliser un micro-contrôleur programmable (type Atmega328p). Ce dernier enverra alors, selon la séquence programmée, une tension de 5v à l'oscillateur concerné afin de l'activer. Il faudra prendre soin de programmer toutes les séquences voulu avant l'installation sur la structure. En effet, comme nous soudons tous les composants à la structure (comme nous l'impose l'oeuvre de Peter Vogel), il sera particulièrement difficile voir impossible de retirer l'Atmega pour le reprogrammer. Il sera donc judicieux de positionner l'atmega, et les composants lui permettant de fonctionner, sur une breadboard afin de vérifier son bon fonctionnement.

Une photorésistance sera présente sur le circuit pour changer le mode de séquençage.


Et les LEDS dans tout ça ?

Les leds présentes sur le schéma (formant les lettres de Polytech) seront commandées en même temps que les oscillateurs. Lorsqu'une note sera active, la lettre correspondante sera illuminée.

Le Filtre RC

Nous n'étions pas certains d'ajouter cette fonctionnalité au départ. En effet le filtre RC est un simple filtre passe-bas permettant de couper les hautes fréquences du son, provoquant alors un effet d'atténuation, d'étouffement. Nous pensions juste inclure ce filtre au circuit et de commander son activation/désactivation à l'aide d'une photo-résistance. Mais cela n'avait pas de grand intérêt, si ce n'est d'ajouter un fonctionnalité.

Puis nous avons pensé à une réalisation différente (encore une fois grâce au site de Look Mum No Computer). En effet, la fréquence de coupure étant définie par la valeur de la capacité et la résistance, celle si peut être modifiée si on change une de ces deux dernières valeurs. Réaliser une capacité variable est possible, mais bien plus compliqué qu'une résistance variable. Pour cette dernière, il suffit de mettre un potentiomètre ou... une photo résistance !

Le principe est simple, à l'aide d'un oscillateur basse fréquence on alimente une led blanche, qui clignotera à la fréquence de l'oscillateur. En mettant cette led en face d'une photorésistance, on récupère une résistance variant à la fréquence de l'oscillateur également. Cela fera "osciller" la fréquence de coupure dans une certaine plage de fréquence, produisant alors sur le son un effet oscillant.

Ce montage permet de faire un usage différent des photorésistances.

Partie Mobile : banderole

Afin d'ajouter la notion de mouvement (présente chez Peter Vogel comme sur l'oeuvre Shadow Orchestra), nous voulions créer une banderole défilante. Nous avons imaginé plusieurs petit panneaux portant des inscriptions défilants à l'aide de deux moteurs. Attachés par des chaines, ils seraient fixés à un système de deux pivots permettant le défilement.

Nous n'avons pas étudié cette fonctionnalité en profondeur, le temps de travail pour le reste étant déjà conséquent. Ce système peut être vu comme un "bonus" qui sera réalisé si l'aspect musical de l'oeuvre est fonctionnel.

Semaine 1

Avant de nous lancer dans les différentes simulations et réalisation, nous devions passer par une phase de réflexion. En effet, afin d'être en mesure de passer les commandes de matériel, il nous fallait réfléchir à chaque bloc fonctionnel et adopter la solution la plus appropriée.

Dans un premier temps nous avons élaboré une vue d'ensemble du système, avant d'étudier les blocs fonctionnels indépendamment :

Global view version1.jpg
fig 3. Vue d'ensemble des blocs fonctionnels du circuit.


Le bloc fonctionnel permettant d'alterner entre commande manuelle et commande séquencée est encore à déterminer.

Le choix des oscillateurs étant déjà fait, nous nous sommes donc penchés sur le circuit de commande photo-résistif.

Fonctionnement du circuit de commande photo-résistif

Après avoir analysé plusieurs solutions nous avons retenu celle-ci, en raison de sa simplicité et de la nature du signal produit, plutôt agréable à l'écoute :

rajouter la Diode sur le montage !

LDR command.jpg


fig 4. Circuit de commande photo-résistif.


Le principe de ce montage est assez simple :

  • La cellule photorésistive est associée à une résistance afin de former un pont diviseur résistif qui fournit une tension dont la valeur est fonction de l'éclairement.
  • Le potentiomètre, monté en pont diviseur également, fourni une tension dont la valeur est ajustable et permet d'ajuster la sensibilité, c'est à dire de modifier le seuil de luminosité à partir duquel le montage entre en action.
  • Nous disposons donc d'une part une tension dont la valeur dépend du taux d'éclairement, et d'autre part d'une tension dont la valeur est déterminée par la position du curseur de P1. Ces deux tensions sont comparées par l'AOP U1. Par exemple, si le potentiomètre P1 est en position centrale, la tension sur son curseur est d'environ 6V par rapport à la masse (la moitié de la tension d'alimentation générale). Lorsque la cellule photorésistive est plongée dans l'obscurité, sa résistance est très grande, la tension présente sur l'entrée non inverseuse de l'AOP est donc grande aussi, supérieure à la tension de référence qui attaque l'entrée inverseuse. La sortie de l'AOP est donc de 11V ( un peu moins que la tension d'alimentation de l'AOP) et le transistor Q1 conduit.

Si la cellule est éclairée, sa résistance ohmique chute énormément et la tension à ses bornes diminue en conséquence, suffisamment pour passer en-dessous du seuil de commutation. Dans ces conditions, la sortie de l'AOP passe à 0V (à 1V en réalité car le circuit n'est pas parfait), et le transistor se bloque.

Remarques :

  • En l'absence de résistance R4, nous aurions une tension suffisante sur la base du transistor pour le mettre en conduction (car l'AOP a une tension minimale de sortie de 1V et non 0V). La résistance R4 forme avec R3 un pont diviseur résistif qui divise environ par 5 ou 6 la tension fournie par l'AOP. Quand ce dernier sort 1V, il ne reste qu'environ 200 mV sur la base de Q1, ce qui est insuffisant pour le faire conduire.
  • Dans les montages que nous avons étudié, nous avons remarqué la possibilité d'ajouter une boucle de contre réaction. Cette dernière permettrait de gérer la transition passant/bloqué du transistor. En effet en jouant sur le taux de contre réaction, on peut faire travailler l'AOP plutôt en mode comparateur (transition brutale) ou en mode amplicateur (transition progressive). Dans notre cas, nous voulons une transition brutale, atteinte à l'aide d'une résistance élevée sur la boucle de contre réaction. Supprimer cette boucle revient à imposer une résistance quasi-infinie, et convient donc dans notre cas.

Semaine 2

La fonction mélangeur

L'objectif avec cette fonction est de créer une petite table de mixage. Celle-ci sera rudimentaire et n'inclura qu'un unique mélangeur. Ce mélangeur a pour but, comme son nom l'indique, de mixer les signaux issus des oscillateurs afin d'être ensuite amplifiés avant d'attaquer l'unique haut-parleur de notre montage. La synoptique du circuit de la figure 3 indique que l'oscillateur est directement relié au haut-parleur. Un tel montage aurait été viable si nous avions un haut-parleur par oscillateur. Ce n'est pas le cas d'où l'intérêt de placer un mélangeur entre les oscillateurs et l'enceinte .
Voici le schéma de principe du mélangeur que nous utiliserons.

Mixer.jpg


fig 5. Mélangeur.


L'équation du montage est la suivante :
a_1V_1 + a_2V_2 + ... + a_8V_8 = V_s Si on souhaite avoir un gain identique pour chaque piste, chaque coefficient a_i aura pour expression:  a_i = - \frac{R}{R_i} Ainsi, en posant  R_i= R' on obtient :

 V_s= - \frac{R}{R'} (V_1 + V_2 + ... + V_8)


On obtient donc en sortie de notre mélangeur un signal formé par la somme des 8 signaux de nos oscillateurs. Pour l'instant l'amplitude du signal Vs est assez imprévisible. Il faut choisir judicieusement R et R' de façon à ce que le signal Vs ne soit ni trop faible si un seul des oscillateurs est en régime de fonctionnement, ni trop grand si tous les oscillateurs fonctionnent en même temps. Il sera éventuellement nécessaire de placer en sortie de cet étage un autre montage inverseur de gain égal à -1 pour "réinverser" le signal.

La commande manuelle/automatique

Nous l'avons brièvement expliqué dans le prologue du projet. Notre désir est de pouvoir faire fonctionner le circuit soit en mode manuel, à l'aide des capteurs, soit en mode automatique. Pour ce dernier cas, l'Arduino permettra de faire la commande de chaque oscillateur.
Voici le schéma décrivant la commande d'un unique oscillateur :

Buffers.jpg


fig 6. Choix du type de commande.


Les éléments 1, 2 et 3, encore indéterminés pour le moment, serviront de dispositifs bloquants les signaux ou les laissant passer. Lorsque le buffer n°1 est passant, le montage est en mode manuel. L'utilisateur peut actionner à sa guise les oscillateurs de son choix à l'aide des photorésistances. Lorsque le mode automatique est activé, le buffer n°1 est nécessairement bloquant et le buffer n°2 peut alors passant. Précisons que dans ce cas, les 8 buffers n°2 sont "susceptibles" d'être passants, tandis que les 8 buffers n°1 sont bloquants. L'Arduino doit donc actionner, selon le programme téléversé, les 8 oscillateurs du circuit. L'élément 3, pour l'instant un transistor, servira simplement de commande de l'oscillateur. Le transistor doit fonctionner en commutation pour remplir la fonction voulue, en alternant les modes bloquants et passants. Lorsque la tension sur la grille est suffisante, le transistor est passant et inversement lorsque la tension sur la grille est insuffisante.

Semaine 3

Réalisation de l'oscillateur

Nous avons entrepris cette semaine de tester l'oscillateur avec utilisé en mode avalanche. Le schéma ci-dessus refait état du schéma de la figure 1.


Oscillateur.jpg


fig 7. circuit de l'oscillateur


A l'oscilloscope, on observe en voie A un signal composé d'une tension continu d'environ 10 volts et un signal en dent de scie résultant de la charge et de la décharge brutale du condensateur à travers le transistor.


fig 8. signal en voie A

Nous avons ici choisi des valeurs bien spécifiques pour R et C. On constate qu'en modifiant la valeur de la capacité, la fréquence du signal est abaissée ou augmentée. Plus la capacité a une valeur élevé, plus le son sera grave ( le condensateur se décharge plus lentement : la période du signal est donc plus grande). Inversement, en utilisant un condensateur de plus faible valeur, le son produit est plus aigu. En réalité, en ajustant soit la valeur de R soit la valeur de C, on modifie la constante de temps et concomitamment la période du signal.

Quelques observations qui nous semblent pertinentes :

  • Nous ne pouvons faire fonctionner ce circuit avec tous les transistors. Certains ne semblent pas en effet supporter ce genre de traitement.
  • Lorsqu'un haut-parleur est placé aux bornes de la capacité, le signal qui l'attaque ne permet pas de produire le moindre son. La composante continue du signal serait-elle en cause ? Le signal est d'amplitude trop faible ? Les étudiants n'ont pas bien lu leur cours d'électronique ?

Remarque : l'amplitude du signal était trop faible, ce qui explique pourquoi nous n'entendions aucun son.

Semaine 4

Tests oscillateurs

(à compléter Antoine !) Cette semaine nous avons entrepris de faire les soudures "à la Peter Vogel" pour notre oscillateur. Les tests étaient concluants mais nous nous sommes rendus compte qu'il serait nécessaire un amplificateur de puissance en sortie d'étage ( ou plutôt en sortie de l'étage du mélangeur). Le signal obtenu est trop faible et presque inaudible, d'où la nécessité d'amplifier le signal triangulaire.

Tests circuit de commande

Photo-résistance "classique"

Cette semaine nous avons testé le circuit électronique dont le synoptique est donné à la figure 4. La première étape à réaliser avant de réaliser le circuit fut de tester certains composants. Le composant qui permet d'activer le circuit est la photo-résistance (LDR), dont la résistance équivalente varie selon l'intensité de lumière à laquelle elle est exposée. Le circuit électrique dont nous nous sommes inspirés pour réaliser notre projet considère que la LDR est exposée soit à la lumière du jour, soit à l'obscurité de la nuit. La variation de lumière est donc très importante (quelques centaine d'ohms à plusieurs centaines de milliers.).
Or notre circuit est constamment exposé à la lumière. Il faut simplement qu'une personne passe sa main devant le spot pour que la LDR ne soit plus éclairée. Mais il y a toujours un peu de lumière parasite et la variation de lumière sur la LDR est donc très faible; de façon concomitante la plage de variation de la résistance est relativement réduite.
Par conséquent, le pont diviseur de tension en aval de l'AOP doit être calibré à partir de la plage de variation de la photo-résistance. En première approximation, nous avons constaté que la résistance Rvar de la LDR variait entre 150 et 1000 ohms. La résistance R1 ( voir fig. 4 ) doit donc être suffisamment faible pour que la tension présentée sur l'entrée non-inverseuse de l'AOP puisse être comparable à celle obtenue grâce au potentiomètre.

Si R1 >> Rvar (quelque soit Rvar dans sa plage de variation) alors la tension V+ sur l'entrée non-inverseuse est proche de 0. Ce qui rend la comparaison avec V- impossible.


Pour notre test, nous avons donc choisi une résistance R1 de 390 ohms. Ce qui permet, après calcul, d'obtenir une tension V+ variant entre 3V et 7V selon que la LDR est illuminée ou non. Il faut ensuite régler le potentiomètre de façon à ce que la différence entre V- et V+ soit toujours assez nette. Si la différence n'est pas suffisante, le bruit peut faire basculer successivement l'AOP d'un état de saturation à un autre. On retrouve alors en sortie de l'AOP un signal en créneau, alternant entre 12V et 0V.

La deuxième partie du circuit en sortie d'AOP est composée d'un deuxième diviseur de tension. Nous avons déjà parlé ci-dessus, celui-ci permet de faire en sorte que la tension Vbe soit de 200mV ( transistor bloquant) ou > 1V ( transistor passant). Cependant, nous nous sommes rendus compte que le résultat escompté n'était pas toujours au rendez-vous au fur et à mesure que nous exécutions nos tests. En effet, le circuit fonctionne convenablement lorsque la tension Vcc vaut 10V mais lorsqu'on augmente la tension VCC, le transistor est continuellement passant, et ce quelque soit la valeur de la sortie de l'AOP ( 1V ou 11V). C'est un point qu'il nous faudra éclaircir par la suite.
Autre problème à résoudre : lorsque le transistor est passant, le courant de base Ib est trop important. L'amplification induite par le transistor donne un débit trop important ( 140mA pour un seul circuit de commande alors qu'il nous en faut 8 !). Il faudra donc régler ce problème en veillant à ce que le courant Ib ne soit pas trop important et que l'amplification du transistor soit donc assez faible.

( Retour après quelques jours de réflexion)
Un début d'explication nous est apparu ... La Led n'étant pas connectée en série avec une résistance, la tension aux bornes de la diode était trop importante. Et le courant de collecteur n'était pas bornée par la présence d'une résistance en série avec la LED. Ainsi, pour réaliser correctement ce montage test, il nous aurait fallu calculé le courant optimale pour la diode et calibrer la résistance en série selon le courant désiré.

Pour calibrer la résistance, avec une tension de seuil de la LED de 2V, une tension de saturation VCEsat de 1 V, une tension d'alimentation de 12V et un courant Ic de 20mA. Nous avons alors :
Test du circuit de commande

 V_{cc}= V_d + V_{CEsat} + V_R

 V_{cc}= V_d + V_{CEsat} + R.I_c

 R= \frac{V_{cc} - V_{CEsat} - V_d}{I_c}

Après calcul, on trouve en première approximation  R = 450 \Omega

Vérification de notre "théorie"
> Résultats peu satisfaisants... Les tensions Vbe ne sont pas celles attendues et le courant Ic n'est pas de 20mA comme nous l'attendions, mais il n'excède pas les 80 mA, comme c'était le cas lorsque nous oubliâmes de placer la résistance en série. A creuser

Semaine 5

ATMega : multiplexage des sorties pour le mode automatique du circuit

A revoir .

L'Atmega est censé commander un à un chaque oscillateur lorsque le circuit est en mode automatique. Or nous avons 8 oscillateurs à commander. L'Atmega n'a pas suffisamment de sorties pour chaque oscillateur. Il nous faut donc utiliser un multiplexeur de façon à commander notre circuit.

(Schéma à ajouter ici, présentant les entrées et sorties de l'Atmega.)

Il nous faudrait donc 3 sorties pour choisir parmi les 8 oscillateurs lequel alimenter, deux sorties commandant les buffers selon le mode choisi et une entrée qui permet de choisir le mode ( automatique ou manuelle). ( schéma !)

Le CD405xB est un multiplexeur que nous pourrions utiliser. Sa fiche technique est donnée ci-dessous. [32] ( section 9.2 intéressante)

schéma commande LDR et oscillateur

Ci-dessous est présenté le schéma ( avec des valeurs de résistance à revoir ) de commande d'un oscillateur par le biais d'un montage à LDR.

SchemaCommandeEtCapteur.PNG


fig 9. circuit capteur couplé à l'oscillateur

Le circuit présenté ci-dessus fonctionne bien mieux que le circuit de test dont nous avons longuement parlé dans la partie Tests circuit de commande . Le transistor NPN remplit correctement son rôle d'interrupteur et nous récupérons en sortie des deux étages un signal en dent de scie lorsque le transistor est passant.
Le schéma ci-dessus correspond à une utilisation en mode manuel uniquement, or notre objectif est de pouvoir faire fonctionner les oscillateurs en mode manuel et en mode automatique grâce à l'Arduino. Il nous faut donc insérer entre les deux étages du montage un circuit permettant de switcher entre les deux types de commande. ( voir section commande manuelle/automatique - figure 6 ) Après avoir ajouté cet étage permettant de changer le type de commande, nous devrons réaliser 8 fois ce circuit " à la Peter Vogel" en veillant à calibrer correctement les valeurs R7 et C1 de façon à obtenir 8 signaux dont les fréquences fondamentales soient celles d'une gamme complète !

Amplification du signal

Amplificateur hybride LM386

Le signal en dent de scie récupéré en sortie de l'oscillateur doit être amplifié. En effet, lorsque nous branchions un haut parleur en sortie, aucun son n'était produit. Nous avons vérifié la présence effective du signal à l'aide du module TIMS présent dans les salles de TP.

Le but était donc de trouver un montage amplificateur audio simple afin de faire nos tests sur une ligne de commande. Après discussion, nous avons convenu que la solution la plus efficace serait d'utiliser un amplificateur hybride audio de type LM386. Le montage réalisé à été inspiré par cette vidéo.

En effet, comme nous devons souder nos composants "à la main" sur la structure externe, un amplificateur hybride nous permet de réduire le nombre de composants. Le schéma d’amplification se trouve ci-dessous, il se situera à la sortie du mélangeur ( voir Semaine 2 - fonction mélangeur ). Ici pour notre prototype de test, nous l'avons mis à la sortie d'un seul ensemble LDR/oscillateur (synoptique de la figure 9).

Amplification.jpg


fig 10. Circuit amplificateur à refaire avec un simulateur.


Rôle des différents composants :

  • La capacité placée entre la broche 7 de l'amplificateur et la masse réalise en quelque sorte un "filtrage". Elle sert à assurer que le bruit provenant de l'alimentation ne passe pas dans le circuit amplificateur.
  • La capacité de 1000µF en sortie de l'amplificateur élimine la composante continue du signal afin qu'elle n'aille pas vers le haut-parleur. Celle-ci pourrait endommager ce dernier.
  • Sans la capacité de 100nF, le son ne serait pas audible. En effet lorsqu'on enlève celle-ci, on observe à l'oscilloscope (lorsque l'on injecte une source audio quelconque) qu'un bruit important s'ajoute au signal. Ce bruit, ayant une fréquence d'environ 2 Mhz, peut se filtrer grâce à la capacité et permet d'amener toutes les hautes fréquences indésirables à la masse.

Nécessité du pré-amplificateur

Une fois l'amplificateur réalisé, nous y avons connecté la sortie de notre oscillateur et surprise : rien ne sortait !! Nous observions bien notre signal audio en sortie mais une fois que nous branchions l'amplificateur, ce signal disparaissait.

Nous avons retourné le problème dans tous les sens... puis avons demandé de l'aide à Thierry Flament. Le problème n'était pas si compliqué finalement, mais nous n'arrivions pas à mettre le doigt dessus. Nous avions remarqué que le courant débité par notre circuit était faible. Brancher l'étage d'amplification absorbait tout ce courant aplatissant alors notre signal et le rendant inaudible.

Il nous fallait donc appliquer la notion d'adaptation d'impédance à l'aide d'un simple montage suiveur. Les amplificateurs opérationnels (ici nous avons utilisé le TL092) ont généralement une impédance d'entrée infinie, et une impédance de sortie quasiment nulle. La meilleure façon de transmettre un signal, c'est d'avoir des impédances au "générateur" et au "récepteur" identiques. C'est dans ce cas que l'on transfère le maximum d'énergie.

Une fois l'étage de pré-amplification mis en place entre l'oscillateur et l'amplificateur, nous avons pu ajouter le circuit de commande LDR, afin d'obtenir une chaine de transmission complète. Nous avons établi le prototype qui constituera l'essentiel de nôtre projet : photo montage .

Semaine 6

transistors commandés par l'Atmega et reliés au montage LDR/oscillateur

Cette semaine nous allons reprendre le circuit de commande LDR couplé à l'oscillateur afin de vérifier si la commande de l'Atmega fonctionne correctement. Nous utiliserons un générateur délivrant une tension de 5V ( similaire à celle qui sera délivrée par l'Atmega sur ses ports de sortie ). L'idée, toute simple, est de placer deux transistors entre l'étage de commande LDR et l'étage de l'oscillateur. Les bases respectives de ces transistors devront être connectés aux pins de l'Atmega.


D'après la figure 11, les transistors Tmanuel et TAuto pourront prendre plusieurs configurations différentes. Les bases de TManuel et Tauto sont reliées aux bons ports de l'atmega qui les commandent.

Transistors de commandes en sortie du montage LDR.jpg
fig 11. transistors commandés par l'Atmega en sortie du montage LDR


Dans la configuration de la figure 12, le circuit fonctionne de la même façon que sur le schéma de la figure 9. L'utilisateur est l'unique protagoniste et décide seul de l'activation/désactivation des oscillateurs, ie le transistor Tldr est passant/bloquant suivant que l'utilisateur passe sa main sur la photorésistance ou non.


Transistor Tmanuel passant, TAuto bloquant.jpg
fig 12. transistor Tmanuel passant, TAuto bloquant


Dans cette dernière configuration, les tensions en sortie de l'Atmega sont fixées à 0. L'oscillateur n'est pas activé si l'utilisateur passe sa main devant la LDR. Cette configuration est appliquée lors du séquencement effectué par l'Atmega. Si on souhaite obtenir un seul signal à la fois en sortie d'étage du mélangeur, il suffira donc d'ordonner à l'Atmega de bloquer les transistors Tauto de 7 circuits et de laisser passant le transistor Tauto d'un circuit comme c'est le cas ci-dessous. En configurant correctement l'Atmega on pourra donc, en alternant l'état des transistors Tauto, produire une petite gamme !

Transistor Tmanuel bloquant, TAuto passant.jpg
fig 13. transistor Tmanuel bloquant, TAuto passant


Considérations techniques

Le principe de commande des oscillateurs à l'aide de l'Atmega apparaît relativement simple à mettre en place. Certaines questions restent toutefois en suspens. L'Atmega se charge d'effectuer la commande d'un nombre conséquent de composants. Même en considérant que toutes les Pins ne délivrent jamais en même temps du courant, il faut garder à l'esprit que le courant maximal absorbé par l'Atmega est de 200 mA et que chaque pin peut délivrer un maximum de 40 mA. Comme chaque pin est connectée sur la base des transistors de commande, le courant Ib est a priori très faible. Cependant, pour les transistors TManuel dont nous avons parlé ci-dessus, il est judicieux de tous les connecter à la même pin de l'Atmega, puisqu'ils sont tous activés/désactivés en même temps. Il faudra donc veiller à ce que la somme des courants de base n'excède pas 40mA.
D'autre part, il faut connecter une petite résistance à la base des transistors de commande TManuel et TAuto. La tension en sortie des PINS de l'Atmega est de 5V ce qui correspond donc à une tension Vbe de 5V, ce qui est amplement suffisant pour faire conduire le transistor. Mais une telle tension peut aussi endommager le transistor ! La fiche technique indique que la valeur maximale de Vbe est de 5V... hélas l'exposition à des conditions d'utilisation limites peut menacer l'intégrité du composant.
On choisit, par exemple, une tension Vbe de 1V qui permette de faire conduire le transistor. Il faut maintenant dimensionner la résistance.

Voyons un peu, comment choisir judicieusement la résistance nous permettant d'obtenir une telle tension Vbe. Retour sur la figure présentant l'oscillo, le montage LDR, et les transistors de commande

Il faut que nous sachions quel est le courant nécessaire pour le fonctionnement de l'oscillateur, sur le schéma ci-dessus il faut donc déterminer la valeur Ic. Connaissant cette valeur, celle du gain β donné par la datasheet du transistor, et d'après la loi reliant le courant de base Ib au courant Ic. On peut déterminer, à l'aide de la loi d'Ohm, la valeur de la résistance.

 (E_1) \ \ I_c = \beta I_b
 (E_2) \ \ V_{pin} = V_{be} + V_{R}

  RI_b= V_{pin} - V_{be}
 R= \frac{V_{pin} - V_{be}}{I_b}
En injectant  E_1 dans la dernière équation on trouve :

 R= \frac{(V_{pin} - V_{be})\beta}{I_c}


On peut également "douter" du résultat que nous obtiendrons si nous mettions en pratique cette petite formule ( le gain n'est pas celui espéré, le courant Ib n'est pas négligeable vis-à-vis du courant Ib etc). Une autre approche consisterait à utiliser un potard à la place de la résistance. il nous suffirait de mesurer la résistance du potentiomètre pour laquelle la tension Vbe est égale à 1V. On remplace ensuite le potard par une résistance normalisée, on prendra éventuellement une résistance de valeur un peu inférieure de façon à s'assurer que le transistor soit bien passant lorsqu'on le souhaite. à tester .

Passer du mode automatique au mode manuel et inversement

L'Atmega assure la commande effective des oscillateurs de la façon décrite ci-dessus. Mais encore faut-il le lui ordonner ! Le dispositif que nous mettons en place pour changer de mode est un simple switch.

Semaine 7

Les moteurs dans le projet

L'oeuvre de Peter Vogel n'a pas eu seulement trait à la musique et aux sons mais aussi au mouvement. Son oeuvre Shadow Orchestra en est l'exemple typique [33]. Le mouvement des moteurs est visible sur le mur où l'on distingue les ombres des mobiles. Dans notre cas les moteurs serviront à faire glisser une petite banderole (voir figure 1). L'idée, ici encore, est d'utiliser des photorésistances qui permettent d'actionner des petits moteurs. Nous n'aurons besoin que d'un étage comportant une LDR pour actionner les deux moteurs conjointement car les deux petits moteurs faisant dérouler la banderole doivent travailler de façon synchrone.
Nous avons déjà conçu et réalisé le montage de commande, mais cette fois il s'agira d'actionner des moteurs à une certaine vitesse. L'utilisation de l'Atmega est primordial car il nous permettra d'utiliser la PWM et donc de réguler la vitesse des moteurs à notre convenance.

Commande des moteurs

Pour commander le moteur il nous faut donc utiliser l'une des entrées analogique de l'Atmega, laquelle sera connectée au montage LDR. Selon le potentiel sur cette PIN, l'Atmega actionnera ou non la sortie PWM qui servira à commander les moteurs.

Le montage de commande est presque identique à celui décrit précédemment. La tension délivrée par le montage comparateur (voir figure 4 ) varie entre 11V et 1V suivant la valeur immédiate de la photorésistance. Or la tension maximale que peut recevoir une PIN d'un Atmega est de 5V. Il faut donc veiller à diviser la tension issue du comparateur de façon à obtenir des tensions adéquates ( sous peine de griller notre contrôleur...). L'Atmega effectue la conversion analogique/numérique et exécute le programme d'actionnement des moteurs si la tension issue de l'ampli opérationnel est suffisamment élevée.
La PWM ( Pulse Width Modulation) ou signal à modulation de largeur d'impulsion est l'unique moyen de contrôler efficacement la vitesse des moteurs. Examinons cela de plus près.

On pourrait d'abord, assez naïvement, brancher une PIN de sortie de l'Arduino sur le moteur et relier l'autre fil à la masse. Ceci aurait pour effet :
1. de ne rien faire du tout. D'abord parce que notre moteur doit fonctionner avec une tension comprise entre 6 et 12 Volts et ensuite parce que le courant maximale débité par une pin de l'Atmega est au maximum de 40 mA, ce qui est insuffisant pour nos petits moteurs ( même s'ils sont, il est vrai, assez petits).
2. de bousiller purement et simplement l'Atmega. Les moteurs quand ils tournent sont une vraie source de parasites et peuvent engendrer des pics de tension qui pourraient détruire l'Atmega.

Oublions donc cette façon de faire pour procéder autrement. Un transistor semble tout à fait ad hoc pour ce type de montage. Celui-ci se contente de faire office d'interrupteur et permet d'actionner ou non notre moteur.. Mais comment réguler efficacement la vitesse de nos moteurs ? Rappelons-le, le but est de pouvoir faire défiler une petite banderole grâce à nos deux moteurs. Même si le texte n'est pas d'une profondeur abyssale, il serait quand même satisfaisant de modifier la vitesse pour lire à notre rythme ...
Pourquoi ne pas couper l'alimentation du moteur un court instant avant de l'alimenter à nouveau et ce, ad nauseam ? On créerait ainsi un signal en créneau, caractérisé par un certain rapport cyclique qui permettrait, au vu des constantes de temps mécaniques par rapport aux phénomènes électriques, d'obtenir une vitesse constante plus faible que si le moteur était alimenté en permanence.
Commenter faire commuter efficacement notre transistor de commande ? Notre programme pourrait faire passer successivement l'une des sorties numériques de l'état haut à l'état bas, en faisant "dormir" le processeur le temps nécessaire pour l'état haut et l'état bas ... Ce serait un peu barbare, et je ne suis pas certain du tout que les PIN soient faites pour cela. L'autre idée est d'utiliser les broches PWM de l'Atmega qui sont spécifiquement dédiées à produire ce type de signal en créneaux !
Quel type de transistor choisir pour ce type d'applications, sachant que les niveaux hauts et bas alterneront à une vitesse assez grande ? Un MOSFET semble tout indiqué pour ce type d'applications étant donné sa plus grande vitesse de commutation par rapport à celle d'un bipolaire classique. Attention cependant à vérifier le type de canal (n ou p) du MOSFET de façon à ne pas inverser le rapport cyclique bêtement.

Il nous reste à ajouter une petite diode à notre montage, parallèlement au moteur. Pourquoi ? Le moteur lorsqu'il n'est plus alimenté n'arrête pas pour autant de tourner à l'instant même. Son inertie continue de le faire tourner pour quelques instants. Or lorsqu'il continue de tourner il se comporte en générateur et induit une certaine tension à ses bornes, ce qui peut s'avérer fatal pour le transistor. En effet, le transistor est alors bloquant, aucun courant ne peut le traverser, le moteur va donc "se charger" et la tension à ses bornes va augmenter, augmentant du même coup la tension aux bornes du transistor. Cette tension peut dépasser le seuil de claquage du transistor et le détruire. L'introduction d'une diode de roue libre dans le montage va nous permettre de décharger le moteur lorsque celui-ci se comporte en générateur. Lorsque le moteur se comporte en moteur (!) la diode de roue libre est bloquante et ne consomme pas de courant. Une petite résistance de pull-down reliée à la grille du transistor permet de fixer l'état du transistor en mode bloquant lorsque la sortie de l'Atmega est indéfinie, le moteur ne tourne donc pas. On pourra éventuellement ajouter un condensateur en parallèle du moteur, afin de filtrer les tension parasites induites par le moteur.
Voici le schéma du montage.

Commande moteur.png
fig 14. Commande du moteur à l'aide de L'Atmega et de la PWM

Nous avons besoin de deux moteurs pour notre montage. La première idée aurait été de mettre deux moteurs en parallèle, commandés par un seul transistor. Après réflexion, ceci semble une très mauvaise idée. Lorsque les moteurs sont en fonctionnement moteurs, tout va bien, la tension à leurs bornes est identique, il faut simplement choisir un transistor capable de supporter un courant assez grand. En revanche lorsque les moteurs ne sont plus alimentés et qu'ils décélèrent peu à peu, la tension induite par l'un peut ne pas être égale à celle induite par l'autre moteur. On aurait donc deux générateurs de tension en parallèle ne délivrant pas la même tension.. Aie. ( En réalité, il faudrait prendre en compte les résistances du modèle électrique des deux moteurs à CC, celles-ci pourrait compenser la différence entre les deux tensions induites. On préférera utiliser deux transistors de commande et les relier à la même sortie de l'Atmega).

Pour une explication plus détaillée du fonctionnement, se référer à ce lien > [34].

Programme de l'Atmega nécessaire à la commande des moteurs

const int brochePWM = 3;
const int brocheAnalog = 5;

constant int MinSeuilTension = ADEFINIR; // valeur retournée par le convertisseur analogique numérique entre 0 et 1023... bien choisir les valeurs de seuil ( pas 0.5 et 4 par exemple !!!)
constant int MaxSeuilTension = ADEFINIR;


void setup() {

   //configuration en sortie des broches PWM et Analog 
   pinMode(brochePWM, OUTPUT);
   pinMode(brocheAnalog,INPUT);

   //on démarre les deux moteurs et en roue libre
   analogWrite(brochePWM, 0);

}

void loop() {

   //rajouter bloc permettant de lire l'entrée analogique pour savoir si oui ou non il faut actionner le moteur .

   if (analogRead(brocheAnalog)<MinSeuilTension){
       vitesse = 0; 
   }
   else if( analogRead(brocheAnalog>MaxSeuilTension){
       //choix de la vitesse
       vitesse = ADEFINIR;
   }
   
   //envoie la nouvelle vitesse sur le moteur
   analogWrite(brochePWM, vitesse);

   delay(50);

}

Semaine 8

Voici ci-dessous le montage que nous avons réalisé cette semaine.
Nous avons mis bout à bout chaque étage constituant le circuit électronique à l'aide de breadboards. L'utilisation de ces planches d'expérimentation est très utile car elle permet de vérifier rapidement la stabilité du montage et son bon fonctionnement mais elles présentent cependant le défaut majeur d'être instables. Lorsque nous avons constitué le montage présent sur la figure ci-dessous, il nous a fallu du temps avant de comprendre que notre système fonctionnait correctement mais que certains fils n'étaient tout simplement pas connectés. Or lorsque les breadboards sont parsemés de fils, comme c'était notre cas, il est particulièrement délicat de voir qu'un unique fil est débranché. Il faut donc utiliser ces outils de façon raisonnable, elle sont à proscrire lorsque le montage est trop complexe et nécessite de nombreux branchements.Nous faisons un petit récapitulatif de chacune des fonctions étudiées jusqu'à maintenant. Certaines resteront en l'état pour le montage final tandis que d'autre seront légèrement modifiées.
1. Etage de commande
Celui-ci correspond à l'étage de la figure 4, la seule différence pour le montage final réside dans l'utilisation d'un AOP de type LM358 et d'un transistor de type 2N3904. Il est à noter que nous n'avons pas mis les transistors Tmanuel et Tauto ( voir figure 11, 12 et 13). Nous avons fait le choix de bâtir notre projet de façon modulaire pour d'abord s'assurer que les fonctions élémentaires fonctionnaient correctement avant d'ajouter des dispositifs supplémentaires. Nous verrons cependant la semaine prochaine si nos transistors de commande fonctionnement correctement.
2. Etage de l'oscillateur
Dans le montage présenté, nous avons utilisé un transistor de type BC547, qui fonctionne très bien en tant qu'oscillateur. Pour le montage final nous utiliserons un 2N3904 même si le choix de ce type de composant risque de nous poser des problèmes... Nous verrons ce point-là en détail un peu plus loin. Le potentiomètre de l'étage nous permettra de régler la fréquence de l'oscillateur. A priori, nous utiliserons toujours le même type de condensateurs pour chacun des 8 oscillateurs.
3. Diviseur de tension
Nous nous sommes rendu compte en faisant des tests que notre le signal issu de notre oscillateur était écrété par le montage suiveur en aval. En effet lorsqu'on observe le signal à l'oscilloscope, la composante continue couplée à la composante alternative pouvaient donner des maxima de tension supérieurs à la limite de fonctionnement du montage suiveur. Notre signal en dents de scie devenait donc un signal en dents de scie érodés! Ce petit diviseur de tension permet donc simplement d'ajuster la tension pour conserver l'intégrité du signal.
4. Montage suiveur
L'étage suiveur comme il a été présenté précédemment, permet d'ajuster les impédances entre l'oscillateur et l'amplificateur audio. Celui-ci à l'avenir sera remplacé, ainsi que le diviseur de tension, par le montage de la figure 5 : la fonction mélangeur. Celle-ci permettra de mixer les signaux, pour former des accords par exemple. Nous remplacerons la résistance R ( figure 5) par un potentiomètre de façon à ajuster la tension de sortie pour l'amplificateur audio qui suit cet étage.
5. montage d'amplification audio
Le montage d'amplification audio permettra de de fournir suffisamment de puissance aux speakers drivés.. Il est à noter que le composant que nous utilisons en guise d'amplificateur audio permet d'avoir un gain en tension compris entre 20 et 200 selon la configuration choisie. Dans notre cas, un gain de 20 est largement suffisant. Il sera peut-être même nécessaire de baisser la tension d'entrée issue du mélangeur (à l'aide du potentiomètre nous dont parlions à l'instant) pour que le signal ne soit pas écrété encore une fois.

Schema d'ensemble.jpg
fig 15. synoptique complet regroupant les principales fonctions du montage


Voici ci-dessous le signal en sortie de l'amplificateur audio qui attaque le speaker. Une chose importante à noter est que le signal d'entrée ( dont la composante continue est éliminée par le condensateur ) est comprise entre -0.3 et +0.3V environ. Or même si le LM386 est alimenté en 0-12V, il parvient néanmoins à délivrer une tension comprises entre -6V et 6V environ, comme le montre l'oscilloscope... Ce point-là mérité que l'on s'y attarde dans le détail dans une prochaine phase de tests. Toujours est-il que ce signal permet d'obtenir un son beaucoup plus fort par rapport au moment où nous n'utilisions aucun dispositif d'amplification. Nous pourrions éventuellement placer un filtre de fréquence de coupure variable en amont de l'amplificateur audio de façon à supprimer les harmoniques de ce signal en dent de scie qui donnent une texture au son un peu... grunge !

SignalSortieAmpli.jpg
fig 16. Evolution temporelle du signal attaquant le speaker

On peut facilement reconnaître la fondamentale de ce signal audio. On voit qu'il y a 5 périodes sur 8 divisions de 5ms chacune. Une règle de trois permet d'obtenir une période du signal égale à 8ms soit une fréquence de 125Hz, ie un signal qui correspond à peu près à un si désaccordé( voir la page suivante pour trouver les fréquences des notes -> [35]).
Il nous faudra alors ajuster le potentiomètre de l'étage de l'oscillateur de façon précise ( R4 sur la figure 15 mais il s'agit d'un potard linéaire 10K !) pour obtenir les notes voulues. Pour obtenir un relevé précis du spectre, il sera préférable d'utiliser la fonction d'analyse spectrale de l'oscillateur ou tâcher de reconnaître les notes à l'oreille ce qui risque de pas être une mince affaire.

Semaine 9

Cette semaine nous avons découpé la planche qui servira de support à l'oeuvre et avons élaboré le croquis général du circuit, en omettant certains éléments afin de ne pas surcharger le schéma.

CroquisMontage.jpg
fig 16. Croquis général du circuit électronique


Le découpage de l'espace entre les deux arceaux principaux permet de mieux équilibrer la structure globale. En bas à gauche de l'image, nous avons dessiné sur la planche l'ensemble des composants que nous souderons sur un des blocs du circuit.

CroquisOscillateurEtEtageDeCommande.jpg
fig 17. Croquis d'un bloc

Sur le croquis figurent deux sous-blocs, séparés par un trait en pointillés. Chacun des blocs comprend un étage de commande et un oscillateur. Sur le premier , nous avons également ajouté un ensemble de LEDs qui forment la lettre H ( de PolytecH) et les deux transistors Tmanuel et Tauto commandés par l'Atmega. En bas du croquis, on aperçoit deux traits pleins qui marquent la séparation avec un autre bloc du montage. Nous avons voulu découpé chaque bloc du circuit car il nous semblait délicat de travailler sur une pièce unique et d'effectuer toutes les soudures sur les deux arceaux principaux qui forment le P de Polytech ( voir figure 16 ), nous avons donc découpé le P en 4 blocs sur lesquels nous pouvions faire nos soudures chacun de notre côté.
Ce croquis nous a permis de mieux réaliser l'ensemble de nos soudures car il nous obligeait à circonscrire l'espace des soudures. Malheureusement, nos mesures ont été quelques peu rapide de sorte que la taille de chaque sous-bloc du montage général n'est pas identique. D'autre part, ce croquis utilise tantôt des représentations de composants tantôt standards tantôt "réelles". Il aurait été de bon aloi de dessiner la vraie forme de chaque composant sur le croquis et de noter le nom exact du composant juste à côté et ce, pour deux raisons : d'abord pour éviter de rechercher à chaque fois la référence du composant à l'aide des schémas de référence et ensuite pour éviter de se tromper de sens pour certains composants, je pense ici aux deux transistors 2N3904 et BC547 qui ont strictement la même apparence mais dont les pattes émetteur et récepteur sont inversées ! Un tel détail a son importance lorsqu'on cherche à comprendre l'origine d'un dysfonctionnement de circuit...

Nous avons aussi vérifier la commande de l'Atmega pour les deux transistors Tmanuel et Tauto en utilisant deux générateurs. L'idée est toute simple : il suffit simplement de saturer complètement le transistor de façon à court-circuiter l'étage d'oscillateur avec la masse. Si le transistor n'entre pas pleinement en saturation il se comporte alors comme un amplificateur, ce qui n'est pas du tout l'effet recherché et altère la nature du signal produit par l'oscillateur.

Cette semaine nous avons également réfléchi aux sections de fil que nous devrons utiliser pour notre oeuvre. Il était assez clair que des fils très fins suffiraient ( il n'y aucun montage de puissance, sauf pour l'amplification qui reste toutefois très peu gourmand). Le seul bémol avec des fils très fins est le manque de rigidité. Nous avons donc opté pour des fils de 1.7mm de diamètre pour les arceaux du P ( des fils utilisés dans les cuisines.. autrement dit il n'y aura pas de risque de surchauffe ...) et de 1mm de diamètre pour les connexions entres les composants. Il est certes plus dur de manipuler des gros fils mais ils assurent une meilleure tenue au circuit.

La planche que nous utilisons ne sert pas uniquement à faire des dessins. Elle nous servira de support pour le circuit une fois qu'il sera totalement terminé. La question est de savoir comment fixer efficacement le circuit à la planche de bois. Nous avons jugé opportun de créer des petites pièces à l'imprimante 3D que nous collerons ou visserons à la planche et sur lesquelles nous clipserons les arceaux et de préférence sur les zones de fragilité, ie au niveau des soudures entre les blocs.

Avant de nous lancer dans le gros du travail, nous avons fait quelques tests de soudures, plusieurs difficultés sont apparues.
1. Faire chauffer des gros fils de cuivre, c'est compliqué, la chaleur se propage tout le long du fil ( et dans les doigts aussi attention !) sans chauffer suffisamment la zone de soudure. Solution : faire monter la température du fer ou utiliser une plus grosse panne.
2. Il faut bien faire attention à ne pas faire chauffer trop longtemps les fils, les composants peuvent en pâtir
3. Faire en sorte que les deux fils soient solidaires pour faciliter les soudures . Solutions possibles : fixer les deux extrémités des deux fils de cuivre ensemble de façon à qu'on puisse souder tranquillement, en faisant des oeillets ou en scotchant les deux fils.
4. Souder ensemble les fils de 2.5mm².. ici il n'y a pas de solutions miracles : il faut mettre beaucoup d'étain !

Il ne faut cependant pas noyer les soudures dans l'étain en voulant consolider à tout prix le circuit : a priori le circuit ne devrait pas subir de chocs si les utilisateurs sont précautionneux..

Semaine 10

Cette semaine, quelques tests avec les composants que nous avons reçu!
D'abord, une très mauvaise surprise : le 2N3904 que nous avons commandé ne donne aucune oscillation... C'est le problème de ce type de montage : il est très simple mais il n'est pas tout à fait stable. Ce qui est d'autant plus étonnant c'est que l'électronicien auquel nous avons emprunté le montage de l'oscillateur ( Look mum no computer, voir section sur l'oscillateur) utilise précisément les transistors 2N3904 pour réaliser ses oscillateurs, et ceux-là marchent parfaitement sur les vidéos qu'il présente. D'autres électroniciens ont fait des oscillateurs avec ces transistors sans aucun problème mais il semble que ce n'est pas systématique : certains transistors provenant de certains fournisseurs ne peuvent osciller. Certains transistors provenant d'un même fournisseur peuvent osciller alors que d'autres non selon la façon dont ils ont été fondu.
Nous utiliserons donc des BC547 ( les transistors avec lesquels nous avons fait nos premiers essais) pour réalisé nos oscillateurs. Ces transistors semblent tous fonctionner pour cette application particulière. Les 2N3904 serviront pour toutes les commandes du montage. Les AOP LM356 fonctionnent à merveille et présentent des caractéristiques très semblables aux TL082. Nous aurions pu avec une architecture convenable faire deux étages de commande avec un seul LM356 : il y a en effet deux AOP dans le boîtier. Il aurait fallu faire courir des fils partout dans le P, ce qui n'aurait pas été une mince affaire. Comme nous l'avons évoqué dans la partie précédente, le croquis général ne contenait pas l'ensemble des fonctions électroniques que nous avons conçu. L'idée est de prévoir une construction modulaire du P de Polytech de façon à pouvoir ajouter les blocs les uns après les autres : Nous souderons d'abord les étages de commandes à LDR et les oscillateurs, le mélangeur, l'amplificateur audio, l'Arduino, le montage des moteurs, les filtres RC et les diodes s'il reste du temps.

Semaines 11 et 12

Ces semaines, nous avons fait beaucoup de soudures et de "travaux pratiques".
Nous avons d'abord façonné le P de Polytech à l'aide du gros fil de cuivre en commençant d'abord par le dénudé. Il faut s'armer d'un cutter et d'un peu de patience mais il n'y a ici aucune difficulté. Il fallu ensuite rendre le fil droit en l'étirant. Le cuivre est un matériau ductile, c'est à dire qu'il peut se déformer plastiquement sans se rompre ( par exemple le plomb est connu pour sa ductilité : pour cette raison, il a été utilisé pour fabriquer des conduits de canalisation résistant au gel (pratique interdite depuis 1995 pour des raisons ici de toxicité )).
La procédure est la suivante : on place une extrémité du fil dans un étau et il suffit ensuite de tirer de toutes ses forces ! Au vu de la section du fil il y a peu de risques de le rompre, ce qui n'est pas le cas avec un fil de 1mm de diamètre comme nous avons pu l'expérimenter. Dans les deux cas, nous obtenons un fil de section légèrement plus fine mais aussi beaucoup plus dur, ce qui évite d'avoir des fils tout tordus et trop flexibles. Même si le fil de cuivre ainsi obtenu est plus dur, il est toujours malléable. Nous avons donc modelé nos fils de cuivre de façon à leur donner la forme des arcs de cercles de chaque bloc constituant le P ( voir figure 16). Une fois que les deux arceaux ont été réalisé, nous avons pu commencé à souder. Première difficulté : respecter rigoureusement l'écart entre les deux arcs de cercle. Nous avons d'abord eu la mauvaise idée de faire des œillets pour chaque soudure. La soudure est certes plus solide mais tordre du fil d'1 mm de diamètre qui a été allongé pour faire une petite boucle n'est pas une mince affaire. Nous aurions dû simplement scotché les deux arceaux à la planche en bois et faire des soudures toutes simples. Cette solution est plus simple, la brasure est suffisamment solide et le résultat est plus propre (certains étages sont effectivement moins beaux que d'autres.. ) A chaque fois que nous terminions un étage, nous nous assurions que tout fonctionnait convenablement à l'aide de générateurs de tension.

Voici ci-dessous deux circuits oscillateurs + commande que nous avons testé. Le plus délicat fut de souder les pattes de l'AOP. Il faut de l'imagination et quelques petits trucs pour s'en sortir : d'abord, il est possible de faire un petit oeillet sur le fil à souder à l'AOP, de le remplir d'étain et de plonger rapidement une patte de l'AOP dans ce "bain" d'étain. On pourra au préalable fixer avec du scotch le fil à souder sur le plan de travail avant d'amener la patte de l'amplificateur.

TestOscilloEtCommande.jpg
fig 18. Tests d'étages électroniques
AOP suiveur



Ci-contre un AOP configuré en suiveur permet d'isoler l'étage de l'oscillateur du mélangeur - non visible sur le schéma. En effet, sans ce petit AOP, l'impédance du mélangeur - qui est purement passif dans ce cas, le montage sommateur auquel nous pensions ( voir semaine 2 figure 5) ayant besoin d'une alimentation symétrique ( nous reviendrons plus tard sur cet étage ) - vient modifier le comportement de l'oscillateur : la fréquence d'oscillation est modifiée et pour les fréquences les plus basses, l'oscillateur ne fonctionne plus du tout.




Petit retour sur le mélangeur :
Nous l'avons vu au cours de la semaine 2, la fonction mélangeur ( qui en l'occurence est un montage sommateur à 8 voies) inverse la somme des signaux d'entrées. Or l'AOP est alimenté en 0-12V et les signaux d'entrée comprennent une composante continue positive et alternative. Il semble donc impossible en sortie de l'AOP de récupérer un signal "inversé" ... Après avoir réalisé ce montage, on se rend compte ( même en bidouillant un peu ) que le signal de sortie ne correspond absolument pas à celui qui est attendu : le signal est purement continu. Deux solutions sont alors possibles :
1.mettre en aval de l'AOP un condensateur permettant de chuinter la composante continue : le signal de sortie sera alors écrêté ( car les parties négatives du signal ne pourront être restituées par l'AOP en raison de son alimentation asymétrique) et on ne récupérera que les composantes positives... Ce qui aura pour effet d'altérer grandement le signal !
2.Alimenter l'AOP en 0-12V mais utiliser une masse virtuelle fixée à 6V comme référence de façon à simuler une alimentation symétrique. Ce faisant, il faudrait également que les masses des oscillateurs ( et de l'ensemble du circuit) soient fixées à 6V de façon à ce que le signal issu de l'oscillateur - après avoir traversé un condensateur pour éliminer la composante continue - gravite autour de la masse virtuelle à 6V . Un tel montage donnerait une différence de potentiel de 6V pour les oscillateurs. Ceci est tout à fait exclus puisque les oscillateurs ne fonctionnent qu'avec une alimentation supérieure à 9V.

Ces difficultés nous ont donc amené à faire un montage beaucoup plus simple  : un mélangeur passif à contrôle de volume général. Si on revient sur la figure 5, il suffit simplement de remplacer l'AOP par un potard dont l'une des extrémités est reliée à la masse, l'autre à la branche à laquelle sont reliées les 8 résistances, et la branche du milieu du potentiomètre donne le signal mélangé. Suivant la position du curseur du potard on obtient un signal en sortie plus ou moins aplati. On modifie ainsi le volume.
Mais c'est la nature du mélangeur ( passif comme il a été dit, aucun élément n'est alimenté) qui peut modifier le comportement de l'oscillateur. En effet si on charge l'oscillateur avec une résistance trop faible, le courant traversant la résistance R7 ( voir figure 9) ne va jamais charger le condensateur de l'oscillateur de sorte que le transistor ne rentrera jamais dans sa zone d'avalanche et l'oscillation ne sera jamais effective. C'est pourquoi il faut utiliser un montage suiveur ( dont l'impédance d'entrée est idéalement infinie) de façon à ce que l'oscillateur fonctionne normalement : la tension aux bornes du transistor est suffisante pour qu'il puisse entrer en mode avalanche et présenter une résistance négative ( plus la tension est basse, plus le courant augmente : d'où le terme de negistor, la pente est négative ! ).
Ci-dessous figurent les relevés temporels d'un unique signal et de la somme de ce même signal mélangé à un autre.

Melangeur2signaux.jpg
fig 19. Mélange à deux signaux

Semaines 13 et 14

Sur la photo ci-dessus figurent des relevés de signaux dont l'amplitude est assez faible ( chaque division est de 200 mV). Ce signal a besoin d'être amplifié avant d'attaquer le speaker. Nous avons donc ajouté l'étage d'amplification en aval du montage mélangeur. Sur la photo ci-dessous, le composant important est le petit boîtier, qui ressemble sensiblement à l'AOP LM358. Il s'agit ici de l'amplificateur audio LM386. Les capacités qui figurent sur la photo permettent d'assurer le bon fonctionnement de l'amplificateur (se référer à la section semaine5-amplification).

TestOscilloEtCommande.jpg
fig 20. étage d'amplification du signal

Une fois cet étage mis en place sur notre projet, nous pouvions dès lors obtenir des résultats satisfaisants et commencer à explorer pleinement le circuit. Les oscillateurs pouvaient être activés individuellement ou simultanément. Un problème mineur est toutefois apparu lors de la phase de tests : lorsque nous modifions le volume ( en déplaçant le curseur du potentiomètre) nous nous rendions compte que la phase transitoire provoquait une grosse déformation du signal. Durant ce cours laps de temps où nous touchions le potentiomètre, le signal en sortie d'amplificateur avait une bien drôle d'allure . Ce détail n'empêche cependant pas le circuit de marcher convenablement dans son ensemble. MIS A JOUR. Le problème venait simplement du potentiomètre dont la piste avait dû être grillé lors d'une soudure trop brutale.


Nous avons modélisé cette semaine les supports que nous fixerons à la planche en bois et qui soutiendrons l'ensemble du circuit. Voici un aperçu de l'allure de la pièce que nous souhaitons imprimer. Comme notre oeuvre est composée de nombreuses formes circulaires, il nous semblait judicieux de rester dans le thème et d'utiliser des petits cylindres en guise de support.

SupportModelisation3D.jpg
fig 22. Modèle du support de l'oeuvre

Malheureusement, il se trouve que le passage de la puissance à l'acte est parfois délicat. Un machine défectueuse peut engendrer des contretemps fâcheux.Heureusement, il est toujours possible de récupérer le manche d'une vieille pioche et de le découper en tronçons pour obtenir les pièces ad hoc. Voici les quelques pièces obtenues avec une scie sauteuse, un peu de scotch ( pour le repère ) et une mauvaise expérience avec une imprimante 3D. Nous avons supprimé la fente sur le modèle final : les gros fils de cuivre constituant la structure de l'oeuvre seront déposés sur les supports avant de les fixer avec une goutte de colle. L'idée de faire une fente dans laquelle nous viendrons glisser le fil présuppose une disposition millimétrée de l'ensemble des supports sur la planche de bois. En déposant simplement les fils sur les supports cylindriques nous avons une marge de liberté assez confortable.

SupportBois.jpg
fig 23. supports de l'oeuvre quasi cylindriques..

Cette semaine nous avons écrit le court programme permettant d'activer/désactiver les moteurs à courant continu. Pour cela, nous avons configuré l'une des broches de sortie de l'Atmega en PWM et réalisé le montage de la figure 14 ( voir semaine 7). La première observation est la suivante : ça ne marche pas. Ou disons plus précisément que le montage ne marche pas très bien. Il est à noter que le moteur se met en marche par intermittence et assez aléatoirement. Nous avons observé ce phénomène pour une certaine période de la PWM.Mais lorsqu'on réduit le rapport cyclique de la PWM (<0.2) On constate que le moteur fonctionne tout à fait normalement.. Quelle est donc l'origine de cette panne pour des rapports cycliques plus élevés? L'appel de courant Id est-elle trop importante pour le transistor que nous utilisons ? Question à creuser...
Pour commander les moteurs, nous utilisons un simple pont diviseur de tension dotée d'une résistance de 390 ohm et d'une photorésistance, pont qui ressemble assez nettement à ceux utilisés pour les commandes des oscillateurs, mais on place le pont entre la masse et du 5V cette fois ( pas de 0-12V sinon on grille l'Atmega...!). La tension du pont est reliée à une entrée analogique de l'Atmega qui, à l'aide de deux valeurs de seuil active ou désactive la PWM de l'Atmega.

Pont diviseur.jpg
fig 24. Pont diviseur de tension

Après les moteurs, nous nous sommes concentrés sur les transistors Tmanuel et Tauto qui court-circuitent ou non l'oscillateur avec la masse selon le mode de fonctionnement désiré. Ceux-là doivent tous être reliés à l'Atmega. Or comme nous ne travaillons pas avec des circuits imprimés, il a fallu faire quelques soudures à la socket de l'Atmega... (photo). Le problème avec cette partie du circuit est que les court-circuits entre fils sont plus que plausibles. Soit nous vivons dangereusement et décidons d'isoler "spatialement" les différents fils électriques reliés à l'Atmega, soit nous trichons un peu et nous isolons les fils aux endroits critiques... Ce qui semble plus prudent, au moins sur une partie des fils ! Pour mesurer le courant de sortie des pins de l'Atmega reliées aux bases des transistors, nous avons mesuré la tension à la base du transistor qui vaut environ 800mV pour un transistor, comme la résistance en série avec la sortie de l'Arduino est de 1KOhm et que les sorties digitales ont un potentiel de 5V, la loi d'ohm permet d'inférer que le courant débité est de 4,2 mA. Il faut donc veiller, si nous souhaitons utiliser une unique pin pour commander plusieurs transistors ( notamment les transistors Tmanuel) à ce que le courant débité soit inférieure à 40mA qui correspond au courant maximale débité par un Atmega sur une unique pin. Il faudra aussi s'assurer que le courant total appelé par l'Atmega n'excède pas 400mA.. Ce qui semble a priori impossible pour notre circuit.

Après avoir soudé les différentes pins de l'Atmega en s'assurant qu'aucun court-circuit n'apparaisse, il nous a fallu fixé le speaker à l'arrière de la planche et la percer. La dernière étape consiste à placer le convertisseur AC/DC sur la planche pour alimenter tous les étages... !


Le circuit est maintenant complet, il ne reste plus qu'à explorer les diverses fonctionnalités... !


Montage final Vogel.jpg
fig 25. Montage complet

Documents Rendus