
Biden remercie Chaves pour le soutien du Costa Rica dans la gestion des flux migratoires
Aug 29, 2023Nexperia lance son premier interrupteur de charge 5 V intégré...
Jul 21, 2023Infineon Technologies AG : Libération conformément à l'article 40, paragraphe 1 de la WpHG [loi allemande sur le commerce des valeurs mobilières] avec l'objectif de l'Europe
Jul 10, 2023Minuterie 555 seule dans un dé électronique
Jun 06, 2023Des centaines de 555 minuteurs se réunissent pour former… un minuteur
Jun 14, 2023Créer un DCO
J'aime la musique et j'aime aussi l'électronique. Depuis des années, je construis des appareils électroniques musicaux, principalement au service de mon jeu de guitare électrique. Après avoir construit et modifié quelques amplis à lampes et pédales d’effets, j’ai décidé de me lancer dans le domaine de la synthèse audio. J'ai souvent rêvé de créer mon propre synthétiseur Eurorack, un module à la fois, mais pour mon premier projet de synthétiseur, j'ai décidé de commencer avec un clavier autonome. Mon produit fini, un clavier jouet modifié, est illustré à la figure 1.
Dans ce projet, j'ai supprimé l'électronique existante et l'ai remplacée par un synthétiseur audio basé sur un oscillateur à commande numérique (DCO) avec un Arduino Nano en son cœur. Bien que j'aie utilisé un Arduino Nano, un Arduino Uno peut également être utilisé. Voyons comment créer un synthétiseur basé sur DCO. Cependant, avant d’aller trop loin, parlons d’abord de l’utilisation d’un oscillateur dans un synthétiseur.
L’élément clé de tout synthétiseur est son circuit oscillateur. Les synthétiseurs analogiques ont généralement deux ou plusieurs oscillateurs contrôlables indépendamment. Cependant, quiconque est entré dans le terrier Internet des schémas d'un oscillateur analogique commandé en tension (VCO) sait qu'ils sont généralement compliqués et encombrés. Une partie de l'encombrement provient de fonctionnalités qui peuvent être éliminées avec élégance, telles que plusieurs entrées de tension de commande. Cependant, même lorsque le circuit d'oscillateur le plus simple est isolé dans un schéma, ce qui reste reste compliqué par des astuces de rétroaction thermique pour maintenir l'oscillateur accordé pendant que ses composants se réchauffent.
La complexité et l'encombrement des circuits VCO ont toujours été une pierre d'achoppement pour moi lorsque j'envisageais de créer mon propre synthétiseur, et même si j'aime la synthèse analogique, je n'ai pas réussi à dépasser son ventre électronique désordonné. Tout a changé lorsque j’ai apprécié la gamme de synthétiseurs Roland Juno.
Le Juno-6 de Roland est arrivé sur le marché en 1982 comme alternative plus abordable aux autres synthétiseurs polyphoniques disponibles à l'époque. C'était également le premier synthétiseur à utiliser des DCO au lieu des VCO traditionnels. Cela a considérablement amélioré la stabilité d'accord de l'instrument par rapport aux alternatives, car les DCO utilisent des circuits numériques pour gérer la fréquence du signal analogique de l'oscillateur. Dans cet esprit, il y a certainement des compromis à utiliser des DCO au lieu des VCO, bien sûr. Beaucoup de gens aiment le son « chaud » de deux VCO légèrement désaccordés jouant à l’unisson, difficile à émuler avec un synthétiseur basé sur DCO. Cependant, des effets de modulation peuvent être appliqués au signal de sortie sec d'un DCO pour produire des sons riches et magnifiques.
Dans l’ensemble, l’omniprésence et le faible coût des cartes de développement Arduino Uno et Nano, associés au fait que ces plates-formes numériques sont pré-équipées d’oscillateurs à cristal de 16 MHz, rendent la création d’un DCO à moindre coût incroyablement simple.
Consultez la fiche technique de n'importe quel microcontrôleur moderne et vous trouverez un module de minuterie parmi ses périphériques. Un module de minuterie permet à un concepteur embarqué de configurer un compteur courant en arrière-plan d'un système embarqué indépendant du CPU (unité centrale de traitement). De plus, les modules de minuterie peuvent interrompre le processeur dans de nombreuses conditions, par exemple lorsqu'ils dépassent leur registre de comptage ou lorsqu'ils atteignent un certain nombre. Les conditions d'interruption peuvent être configurées par le concepteur embarqué pour répondre aux besoins de son application spécifique.
Pour ce projet, les modules de minuterie de l'ATMega328P, le cerveau de l'Arduino Nano et de l'Uno, font office de DCO du synthétiseur. En configurant la source d'horloge et la valeur de comptage maximale pour un module de minuterie, les interruptions du module de minuterie peuvent être déclenchées aux fréquences audio. La sortie DCO est obtenue en manipulant les broches GPIO du microcontrôleur pendant les routines de service d'interruption (ISR) pour ces interruptions périodiques.
Dans les sections suivantes, je discuterai de la conception matérielle et logicielle derrière ce projet, puis je présenterai quelques extraits audio de ce synthétiseur fait maison.

