Do It Yourself
Boutique
Visites

 925144 visiteurs

 12 visiteurs en ligne

rss Cet article est disponible en format standard RSS pour publication sur votre site web :
http://www.ozoe.fr/data/fr-articles.xml

A D S R  Numérique V3

L’ADSR est un générateur d’enveloppe permettant de gérer l’amplitude d’un signal en fonction du temps.
Ce type de générateur d’enveloppe pilote généralement le volume d’une note (via le VCA), ou toute fonction pilotée en tension (VCF, etc.)

Cette version est articulée autour d'un ATMEGA328P en configuration ARDUINO et permet tout types d'utilisations. Trois formes sont disponibles :  Linéaire, Exponentielle et Logarithmique.

Documents 

Le schéma
La nomenclature
Le PCB
L'implantation
La face avant 1U (positif)
La face avant 1U (négatif)
Le plan de câblage
Logiciel (adsr_V3)
Dernière mise à jour documentaire : 21 Août 2020

Fonctionnalités

- Les potentiomètres Attack, Decay et Release permettent de régler le temps de chacun de ces paramètres pour évoluer entre sa valeur minimum et sa valeur maximum.

- Le potentiomètre Sustain permet de régler le niveau de tension auquel le système restera tant que le signal en entrée ‘Gate’ sera maintenu.
- L’appui sur le bouton poussoir « Gate » et/ou la mise sous une tension d’environ 1 volt de l’entrée « Gate » permettent de déclencher la génération d’enveloppe. Dans le mode « Gate_In » le Release est déclenché par le relâchement du bouton poussoir ou la remise à zéro de la tension de commande sur l’entrée « Gate ».
- Les sorties délivrent les tensions de  commande permettant de piloter d’autres modules. La tension est comprise entre 0 et 10 volts pour la sortie « Output +» et entre 10 et 0 volt pour la sortie « Output -»
- L’inverseur « EXP/LIN/LOG » permet de définir la manière dont la tension va évoluer en fonction du temps.
o En position LIN, la tension s’élèvera (A) ou baissera (D,R) de façon linéaire, en position « LOG » de façon logarithmique et en position « EXP» de façon exponentielle. 
- L’inverseur « TIME » permet de définir les plages maximales des potentiomètres A, D et R.

Le tableau ci-après donne les valeurs de durée minimales et maximales approximatives pour chaque phase A, D ou R ainsi que les valeurs de fréquences constatées sur le module en mode "LOOP". (Toutes les valeurs sont mesurées.)

LIN LOG et EXP
Min 300 ms 300 ms
LONG Max 60 s (**) 60 s (**)
Fréquence min (1/120) Hz (1/120) Hz
Min 25 ms 25 ms
MIDDLE Max 5 s (**) 5 s (**)
Fréquence min 0,1 Hz 0,1 Hz
Min 2,5 ms (*) 3,4 ms (*)
SHORT Max 500 ms (**) 500 ms (**)
Fréquence min 1 Hz 1 Hz
Fréquence maxi 178 Hz 150 Hz

(*) La vitesse de montée et de descente du module est artificiellement avachie afin d'éviter des claquements sonore sur les VCA. Il est possible de descendre au environ de 100 micro secondes en modifiant la valeur de '500' dans la ligne : << Offset=word(DureeRef[Choix_timer]*500); >>

(**) Les temps de montée et de descente du module, sont paramétrables dans le logiciel. Les explications y sont données.

- L’inverseur « MODE » permet de définir la trois mode de fonctionnement différents pour ce module :

  • Le mode « Gate_In » est le mode traditionnel de fonctionnement d’un ADSR : Lorsque le signal gate est détecté, le cycle Attack, Decay est mis en action et le signal de sortie reste sur le niveau réglé par le potentiomètre Sustain jusqu'à que le signal gate disparaisse. Lorsque le signal Gate disparait, à quelque instant que ce soit, le signal de sortie redescend avec les réglages du Release.
  • Le mode « Trig_In » est un mode ou dès que le signal gate est détecté, le signal de sortie monte jusqu’au niveau maximum (10V), puis redescend jusqu’au niveau du Sustain même si le signal gate à disparût. Si le signal gate n’a pas disparut, alors le signal de sortie reste au niveau du Sustain.
  • Le mode « Loop » est un enchainement des pentes Attack, Decay, Release sans fin. La rapidité de la boucle dépend des pentes réglées. (Cf. le tableau ci-dessus pour les fréquence obtenues)

- Les LEDs

  • La Led verte indique le bon fonctionnement du module à sa mise sous tension par trois allumages successifs. Cette led s'illumine également lorsque l'entrée "Gate"  passe à l’état  « 1 ».
  • La led rouge donne une image de la tension de la sortie «Output + ».

- La sortie OEC : (End Of Cycle) Depuis la version 2.1, cette fonction permet d'envoyer un trig out montant de +5V à chaque fin de cycle ADSR, c'est dire que le trig est envoyé chaque fois que le module revient à zéro volt en sortie après la phase sustain.

Visualisation

(En bleu : le signal Gate et en Jaune, le signal Output)

ADSR en GATE_IN et en LIN, LOG et EXP

  

Output "+" et Output "-"

 

ADSR en TRIG_IN et re-Trig

 

ADSR en LOOP et en LOOP avec présence de Trig / Gate en entrée

 

ADSR en LIN, GATE_IN calé sur le temps le plus long

ADSR en LIN, TRIG_IN calé sur le temps le plus court (mode séquenceur)

 

Schéma

Le module est articulé autour d'un micro-contrôleur ATmega328p avec bootloader Arduino.

Toutes les entrées et sorties accessibles par les connecteurs externes sont protégées.

Les entrées :
L’entrée gate est réalisée par un transistor en commutation. L'inversion de logique est laissée au logiciel.
Les potentiomètres permettent de délivrer une tension de commande proportionnelle entre 0 et 5 volts à l’entrée de chaque voie sur le microcontrôleur.
Les inverseurs sont traités comme des entrées tout ou rien par le micro-contrôleur, soit six entrées. Option : il est possible de pas installer un ou tous ces inverseurs, dans ce cas vous serez, selon vos choix, en LIN, TIME_MIDDLE et GATE_IN.

Les sorties
La sortie tension du module est gérée par un convertisseur numérique / analogique (MCP4821) installé sur un bus SPI. La tension de sortie du convertisseur est limitée 4,095 volts (12 bits). L'amplification et le réglage du gain est réalisé par un AOP monté en amplificateur non inverseur, et la sortie de tension inversée est réalisée par un second AOP monté en sommateur afin de délivrer une tension comprise entre 10 et 0 volt. La sortie EOC (optionnelle) est réalisé par un transistor en commutation.

La led rouge est connectée à la sortie 'OUT+' au travers d'un transistor en suiveur de tension et permet de visualiser le niveau de tension. La led verte (optionnelle) est directement connectée à une sortie du micro-contrôleur. Elle visualise la détection, par le micro-contrôleur, d'un état haut sur l'entrée GATE.

Ce module est conçu pour être alimenté en +/-15 volts. Sans changement ou adaptation de composant, il est possible d'alimenter ce module avec une alimentation symétrique de +/-12 volts.

Composants, Montage, câblage et installation

Le PCB permet de recevoir trois type de connecteur d'alimentation : Format Yusynth, format Dotcomm et format MOTM. A vous de choisir.

Excepté les deux résistances de 100K1% gérant le gain de l'AOP de la sortie 'OUT -", toutes les résistances peuvent être des 5%.

Aucune difficulté pour la réalisation de ce module. Se reporter aux plans de câblage et d'implantation.

Une fois le module fini et vérifié, téléchargez le logiciel 'ADSR_V3' dans la section téléchargement du site, puis installez le dans le module. Un résumé de ce qui est nécessaire est fait sur cette page. A noter qu'aucune bibliothèque (library) supplémentaire n'est nécessaire pour cette application.

Dès le chargement du logiciel, puis à chaque mise sous tension la led verte doit clignoter trois fois.

Réglage

  • Mettre les potentiomètres Attack, Decay et Release sur 0 (Maximum gauche)
  • Mettre le potentiomètre Sustain sur 10 (Maximum droite)
  • Brancher un voltmètre sur la sortie "OUTPUT +"
  • Maintenez appuyé le bouton poussoir et ajuster la résistance ajustable jusqu'à afficher 10 volts sur le voltmètre.

Evolution de V2 vers V3

Ce qu'il faut savoir si vous êtes l'heureux possesseur d'un module version 2 de l'ADSR basé sur un PICAXE 14M2 et que vous souhaiter évoluer vers cette version 3 :

- Le PCB de cette version fait exactement la même dimension que celui de la V2. Le perçage de la face avant n'est pas à retoucher.

- Le câblage est à refaire, principalement pour les inverseurs.

- Si vous souhaitez conserver votre face avant sans aucun changement dans les inscriptions, il est facilement possible d'adapter le logiciel en initialisant la variable "PatchV2 = 1" 

Évolution

Version 3.0 : Juillet 2015

Version 3.1 : Juillet 2015.

Correction d'un bug sur l'EOC

Modification des courbes LOG et EXP pour les mettre plus ressemblantes à celles d'un condensateur.

Modification du driver de la LED de visualisation de la tension de sortie.

Version 3.11 : 21 Août 2020 : Ajustement documentaire et création d'un nouveau PCB.

Photos en vrac


Date de création : 04/07/2015 @ 16:56
Dernière modification : 10/09/2020 @ 09:26
Catégorie : Do It Yourself - Modules oZoe.fr
Page lue 17929 fois

oZoe.fr - ouverture le 10 décembre 2009 - (c) Jean Luc Lartigue 2009 - 2018