Modules oZoe.fr
Archive
Modifications Modules
Synthétiseurs
Outillage
954287 visiteurs
13 visiteurs en ligne
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.
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 |
- 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 :
- Les LEDs
- 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.
(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)
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.
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.
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"
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.