Do It Yourself
Boutique
Visites

 825354 visiteurs

 7 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

MASTER CLOCK

Le module MASTER CLOCK est un module pour synthétiseur modulaire permettant de cadencer des actions par l'envoi de pulsations à intervalles réguliers. Il joue le rôle d'un métronome.

Ce module peux être utilisé en autonome et permet également de piloter ou d'être piloté par tout appareil/logiciel utilisant le standard MIDI.

Documents 

Schéma
La nomenclature
Les circuits imprimés (PCB)
L'implantation
La face avant 2U (positif)
La face avant 2U (négatif)

Dernière mise à jour documentaire : 22 décembre 2017

Caractéristiques

  • 5 Horloges cadencées numériquement.
  • Fréquence des signaux allant de 0.042 BPM (1 coup toutes les 24 minutes)  à 7200 BMP. (voir tableau plus bas).
  • Signaux carrés. 0-5volts avec PWM variable pour 4 des 5 horloges.
  • Horloge Synch24 avec des impulsions d'une milli-sesonde.
  • Une horloge maitre (CLOCK A) réglable entre 1 et 300 BPM en standard.
  • 3 Horloges (CLOCK B, C et D) avec le rapport réglable entre "/24" et "x24"
  • Horloge Synch24 calée en permanence sur 24 fois la fréquence de la CLOCK A.
  • Horloge Synch24 disponible sur la sortie MIDI-OUT.
  • Synchronisation (ou reset) des CLOCK A, B, C et D par Tap ou CV externe.
  • Reset automatique après un signal MIDI_STOP.
  • Une sortie 'Midi_Run/Stop' mettant à disposition des impulsions lors des évènements MIDI.
  • Fréquence de l'horloge maitre réglable en façade et/ou par CV externe. (Non disponible en MIDI)
  • Le CV externe peut être dans une plage de 0-10V ou de +/-5V.
  • L’unité pour le réglage et l'affichage peut être exprimée soit en BMP soit en Hertz.
  • Paramétrage courant conservé à la mise hors tension.
  • Possibilité de Chargement et de Sauvegarde de 5 configurations.
  • Réglage du rapport  de fréquence indépendant pour chaque horloge B, C et D .
  • Affichage des informations sur afficheur LCD (2x16).
  • Visualisation de l’état des sorties par leds et/ou sur afficheur.
  • 4 horloges A, B, C et D disponibles sur la sortie MIDI-OUT.
  • MASTER CLOCK est prévu pour fonctionner dans la plage d'un métronome standard. Il est cependant possible de débrider cette limite dans le logiciel. (option non documentée)

Table des fréquences :

SYNCH24 CLOCK A CLOCKs B, C et D
Minimum
  BMP 24 1 0.041666
  Hertz 0.4 0.01666 0.000694
  Période(s) 2.5 60 1440
  Période(mn) 1 24
Maximum
  BMP 7200 300 7200
  Hertz 120 5 120
  Période(s) 0.008333 0.2 0.008333
  Période(mn) 0.000139 0.00333 0.000139

Fonctionnalités Face Avant

- Les poussoirs Edit B, Edit C et Edit D permettent de modifier le rapport de fréquence des horloges B, C ou D par rapport à l'horloge maitre (A). Un appui pour entrer dans l'édition, et un autre appui pour en sortir une fois le réglage réalisé.

- Le bouton de fonction permet d'entrer dans le choix des fonctions (voir plus loin). Lorsque qu'on édite une fonction, ce bouton permet de sortir sans validation du choix.

- Le bouton et l'entrée SYNCHRO permettent de synchroniser, ou faire une remise à zéro, des horloges entres elles. La synchronisation consiste à caler les fronts montant des CLOCK A, B, C et D sur le premier front montant de l'horloge Synch24 qui reste toujours sur sa cadence. Depuis la version 4.2 du logiciel, un appui prolongé d'environ 2 secondes permet d'arrêter le module et le mettre en veille. Un nouvel appui relancera le module.

- L'encodeur rotatif permet, selon les informations du LCD, de régler la fréquence d'horloge, de changer les ratios, etc. (Voir plus bas pour plus de détail)

- Le poussoir intégré à l'encodeur permet d'augmenter l'incrément de réglage pour aller plus rapidement à la fréquence voulu. Dans ce cas, un rond noir est affiché en haut à droite. Ce poussoir permet également de valider les choix réalisés dans les fonctions.

- Le potentiomètre "Level" permet de limiter l'effet de l'entrée CVin.

- L'entrée CVin peut recevoir des signaux de commande symétrique (0-10 volts) ou asymétrique(+/-5 volts).

- Les 5 sorties Synch24, Clock A...D, délivrent un signal carré 0-5 volts.

- La sortie MIDI Run/Stop délivre une impulsion ou un signal continu (voir le tableau plus bas) entre 0-5 volts. La longueur de l'impulsion est de 50ms et est modifiable dans le logiciel.

- L'Entrée MIDI-IN reçoit les impulsions Midi Clock d'une horloge externe.

- La sortie MIDI-OUT envoi les impulsions des 4 horloges A à D sous formes de NOTE_ON / NOTE_OFF et envoie l'horloge interne du Midi_Clock (ou synch24) sur le bus MIDI.

Rappel MIDI_Clock

Le Midi Clock interne ou externe est un signal 'Real_Time' qui permet à deux machines de fonctionner en synchronisation. L’horloge midi divise la noire en 24 impulsions.

Ce module utilise les bits

  • 0xF8 : Horloge reçoit 24 impulsion par noire.
  • 0xFA : Horloge Start
  • 0xFB : Horloge Continu
  • 0xFC : Horloge Stop

Dans le cas ou une horloge externe MIDI est raccordée au module MASTER CLOCK, la trame realTime de l'horloge interne raccordée sur le MIDI-OUT est dé-activée.

Exemples d'écrans


 

Ecran d'accueil. Affichage en pulsation par minute.

Dans cet exemple :

  • Horloge A = 120 BMP
  • Horloge B = Horloge A x 2 soit 240 BMP
  • Horloge C = Horloge A x 3 soit 360 BMP
  • Horloge D = Horloge A / 2 soit 60 BMP

La rotation de l'encodeur fera augmenter ou diminuer le fréquence de l'horloge A avec un pas de 1 BPM.

L'appui sur un bouton Edit x, permettra de modifier le rapport de fréquence.

L'appui sur le poussoir de l'encodeur multipliera par 10 l'incrément de réglage.

L'appui sur Functions permettra de modifier les fonctions. (voir tableau plus bas).

Ecran d'accueil en MIDI. 

L'appui sur un bouton Edit x, permettra de modifier le rapport de fréquence avec l'encodeur.

L'appui sur Functions permettra de modifier les fonctions. (voir tableau plus bas).


 

Ecran d'édition de l'horloge C.

La rotation de l'encodeur fera augmenter ou diminuer le fréquence de l'horloge C avec un pas des ratios déterminés. Le réglage terminé, un appui sur un bouton, fait revenir à l'écran d'accueil.

Les Ratios préprogrammés sont : /24, /16, /12, /9, /8, /7, /6, /5, /4, /3, /2, x1, x2, x3, x4, x6, x8, x12, x24.


 

Ecrans identiques aux précédents. L'affichage est ici en Hertz. Pour les faibles fréquences, la valeur est divisée par 10. (exemple : 0.683Hz)

En MIDI, il est également possible d'avoir l'affichage de la fréquence. 

En cas de détection du bit 'MIDI_STOP', les horloges seront stoppées et le statut sera affiché. 

Les fonctions en détail :

Position Nom ECRAN
1 Led virtuelles
 

But : Afficher l'état des sorties. Rond noir = sortie active (+5V), Rond blanc = Sortie non active (0 Volt)

Entrée : Functions>encodeur.

Sortie : Functions

2 Réglage PWM

But : réglage du PWM pour les horloges A à D entre 20% et 85%. Le réglage est le même pour les horloges.

Entrée : Appui sur OK pour sélectionner, puis rotation de l'encodeur pour réglage voulu.

Sortie : Appui sur OK 

3 Choix de l'unité d'affichage


 

But : Choisir l'unité de l'affichage principal.

Sortie :Appui sur OK pour valider ou sur Functions pour annuler.

4 Choix de la plage de l'entrée CVIN


 


 

But : Choisir la plage de fonctionnement du CV externe.

Sortie :Appui sur OK pour valider ou sur Functions pour annuler.

5 MIDI_IN

But : Autoriser ou pas l'utilisation de l'entrée MIDI_IN..

Sortie : :Appui sur OK pour valider ou sur Functions pour annuler.

6 Gestion de la sortie 'MIDI_Run/Stop"

But: Choisir le comportement de la sortie "MIDI_Run/Stop"

Si vous validez une des trois option 'Pulse on Stop'  ou bien de "Pulse on RUN" ou encore de " Pulse on Run&Stop", vous aurez une impulsion de 0 à +5V lors de la détection d'un signal MIDI_START ou MIDI_STOP.

Si vous validez l'option "Continous", vous aurez un signal continu à 0 volt si la l'horloge midi est à l'arrêt et à 5 volts si l'horloge midi est en fonctionnement.

Sortie :Appui sur OK pour valider ou sur Functions pour annuler.

7 MIDI-OUT

But : Choisir le canal midi pour le MIDI-OUT

Entrée : Appui sur OK pour sélectionner, puis rotation de l'encodeur pour choisir le numéro du canal désiré entre 1 et 16.

Sortie :Appui sur OK pour valider ou sur Functions pour annuler.

8 Sauvegarde


 

But : Sauvegarder les données utilisateur dans un mémoire allant de 1 à 5.

Entrée : Appui sur OK pour sélectionner, puis rotation de l'encodeur pour choisir la mémoire voulu.

Sortie :Appui sur OK pour valider ou sur Functions pour annuler.

9 Lecture Mémoire


 

But :Recharger en mémoire les données utilisateur dans un mémoire allant de 1 à 5.

Entrée :Appui sur OK pour sélectionner, puis rotation de l'encodeur pour choisir la mémoire voulu.

Sortie :Appui sur OK pour valider ou sur Functions pour annuler.

10 Rappel des réglage d'origine
 

But : Retrouver les réglage initiaux. Les sauvegardes utilisateurs ne sont pas affectées.

Entrée : Appui sur OK pour charger les paramètres initiaux..

11 A propos


 

But : Afficher la version logicielle.

Entrée : Appui sur OK pour afficher.

Sortie : Appui sur OK pour sortir.

Schéma

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

Toutes les entrées et sorties tout ou rien (Synchro_in, clock(s), leds ) sont réalisées par des transistors en commutation. L'inversion de logique est laissée au logiciel.

L'entrée 'Synchro' est réalisée par un transistor en commutation. L'inversion de logique est laissée au logiciel. Les sorties LEDs connectées directement sur le  micro-contrôleur. Toutes les sorties Horloges sont protégées par un buffer en tampon.

L'entrée CV_IN est réalisée au travers d'un quadruple AOP. Les deux premiers AOP sont montés en inverseur et avec un gain de 0,5 pour réduire la différence de tension de 10V en entrée, au 5 volts nécessaire en entrée du micro-contrôleur. La commutation 0-10V -> -5/+5V est réalisée par l'addition de +5V sur le premier AOP. Cette tension est directement envoyée par une sortie TOR du micro-contrôleur. Les deux derniers AOP sont là pour contenir la tension à l'entrée du micro-contrôleur strictement entre 0 et 5 volt.

Les données MIDI-IN transitent par un opto-coupleur avant analyse par le micro-contrôleur.

Le LCD est libre de choix quant aux couleurs, blacklight etc. Selon le modèle choisi, il sera éventuellement nécessaire d'inverser l'alimentation du blacklight. Le PCB prévoit cette inversion.

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, installation et réglage.

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

De trop nombreux strap sont encore présent sur les PCB afin de les conserver en simple face et donc réalisable par tous. Faite attention à bien tous les installer. Pour le strap raccordant l'entrée MIDI_IN, il sera préférable de mettre un fil de câblage isolé.

Le micro-contrôleur est un ATmega328p obligatoirement avec bootloader arduino. 

L'encodeur choisi est un ALPS EC11K1524801, il est assez courant, tout autre modèle similaire fera l'affaire.

Les deux PCB nécessaires au module sont reliés par un câble en nappe de 10 conducteurs et de quelques centimètres de long. Le câble doit être croisé.

Le PCB "IHB" comprend les poussoir et d'encodeur. Il est fixé au PCB "BASE" par 4 entretoises de 10 mm.

Le PCB "BASE" comprend toute l'électronique, connecteurs de raccordement aux sorties exterieures fixées sur sa face avant. Sur la face arrière du PCB, coté cuivre, l'afficheur LCD est raccordé et fixé. Une barrette femelle doit être soudée sur l'afficheur LCD, et une barrette mâle de 16 points doit être soudée coté cuivre sur le PCB "BASE".

LCD + barrette femelle Barrette femelle soudée

Barrette mâle en cours de préparation. Barrette mâle prête à être soudée. Barrette soudée sur le PCB "BASE" (version prototype)

Attention : Il est obligatoire de mettre un connecteur avec un strap amovible. Ce strap sera ouvert lors de la programmation du micro-contrôleur, puis fermé lors de l'utilisation du module. Sans ce strap, aucun signal MIDI sera envoyé à l'opto-coupleur et donc le module "ne fonctionnera pas".

Jumper ou Strap Ouvert = Programmation      Jumper ou Strap Fermé = Utilisation

Module monté et PCB empillés.

Le reste ne présente pas de difficulté particulière.

Chargement Logiciel

Le lociciel du MASTER CLOCK appelle une bibliothèque MIDI. Celle-ci doit être installée dans le répertoire "arduino/library" sur le votre disque dur de votre système informatique.

Cette bibliothèque (library) obligatoire est la "Arduino MIDI Library" accessible ici sur le site Arduino ou bien sur le site GitHub. Une copie est également disponible sur oZoe.fr.

Une fois le module fini et vérifié, téléchargez le logiciel MASTER_CLOCK 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.

Après le chargement du logiciel et pour la première utilisation du module, le message :   doit apparaitre durant le temps de l'initialisation de la mémoire du module, soit environ 4 à 5 secondes, puis les leds doivent commencer à clignoter. Ajuster le contraste du LCD par réglage de la résistance ajustable de 10K. Mettre en place le Jumper pour l'utilisation du MIDI.

Au redémarrage, le LCD doit s'illuminer avec cet écran :  durant deux secondes, puis bascule sur l'écran d'accueil. Les leds et les sorties CLOCKs sont alors activées.

A propos

De la sauvegarde automatique.

La sauvegarde des paramètres courants (Rate, Ratio BCD, Unité d'affichage, pwm, midi, plage CV, … ) est réalisée toutes les 10 secondes jusqu’à 300 bpm. Au-delà, la sauvegarde est effectuée que lorsque une action sur un des boutons de façade est faite. Cette sauvegarde automatique est lue à la mise sous tension du module est permet de retrouver les derniers paramètres  utilisés.

Du MIDI-IN

Une fois le mode midi activé, le module devient esclave de cette liaison. A chaque impulsion ‘midi_clock’ reçu, une impulsion sur la sortie ‘Synch24’ sera faite, entrainant ainsi les autres horloges.

Lors de la reprise du flux midi après un ‘Midi_Stop’, un reset des cycles des sorties est effectué automatiquement pour rester sur la bonne trame. Lors d’un ‘Midi_continue’, aucun reset n’est effectué.

L’affichage du BMP, ou de la fréquence, est réalisé par la mesure entre deux impulsions. L’affichage en Mode Midi est donc indicatif.

Lors de la sortie du Mode Midi, le dernier Rate midi est converti en Rate pour le module autonome. La transition entre les deux modes est faite sans impact sur le rythme.

Du MIDI-OUT

Cette sortie est activé à partir de la version logicielle 4.0.

Le midi-out fonctionne en permanence. A chaque front montant d'une sortie A, B, C ou D, une NOTE_ON est envoyée et une NOTE_OFF est envoyée sur un front descendant. Les notes on et off sont envoyées sur le canal sélectionné.

Les notes choisies sont : DO1 (C1) pour la voie A, RE1 (D1) pour la voie B, MI1 (E1) pour la voie C et FA1 (F1) pour la voie D. Ces valeurs sont adaptables facilement dans la section 'USER' du logiciel.

Le signal d'horloge synch24 est envoyé sur la trame "real time" afin de cadencer d'autre appareil MIDI.

Lorsqu'un reset est réalisé, un 'MIDI-Stop' suivi d'un 'MIDI-Start' sont envoyés et tous les notes précédentes sont synchronisées.

Reset ou Synchronisation

Les horloges ont chacune un cycle de nombre de coup (par exemple de 1 à 6 avec le ration’x6’) et un état haut ou bas. Le reset ou synchronisation consiste à amener toutes les horloges à l’état bas et remettre chaque cycle à zéro. Cette action est réalisée sur le premier front montant de Synch24 rencontré.

Dans le cas du Stop_Midi, le reset est effectué, puis sera effectif lors du premier ‘Midi_Clock’ reçu.

Activation des paramètres ‘usine’

L’activation des paramètres usine permet de revenir avec A=120, Bx2, Cx2, D/2, PWM=25%, Midi_OFF, CV_in +/-5 volts, Unité=BMP. Cette activation n’affecte pas les sauvegardes effectuées.

Évolution

Version 2.0 :  Octobre 2014 : Version Initiale

Version 3.01 :  Octobre 2014 (Hardware non compatible avec la V2.0)

  • Ajout de la sortie "MIDI Run/Stop" et gestion de celle-ci.
  • re-programmation de l'encodeur pour une meilleure fluidité.

Version 3.02 et 3.03 :  Novembre 2014

  • Amélioration de la fluidité du poussoir de l'encodeur.

Version 4.00 : Juillet 2016

  • Ajout de la sortie MIDI-OUT
  • L'utilisation de la version logicielle 3.03 est compatible de cette dernière version. Seule le MIDI_OUT ne sera pas activé.
  • Version 4.10 : Mars 2017
    • Correction du PCB principal où une erreur s'est glissée. En conséquence le PCB principal évolue vers la version 4.1 sans autre modification par ailleurs. Si vous avez déjà réalisé le PCB version 4.0, il est possible de le faire évoluer en version 4.1 avec ce document.

Version 4.20 (Hard) : Décembre 2017

  • Suppression de la nappe entre les PCB. -> Changement du dessin des PCB et re-centrage du LCD.
  • Pas de changement logiciel.

Version 4.20 (Soft) : Février 2018

  • Evolution logicielle pour ajout d'une fonction de mise en veille du module par un appui long sur le bouton RESET.

Photos en vrac

Projet (Version 4.0)

Module terminé

(version 3.x transformée en version 4)

Vue arrière du module version 3.x 


Date de création : 14/09/2014 @ 10:25
Dernière modification : 02/03/2018 @ 22:31
Catégorie : Do It Yourself - Modules oZoe.fr
Page lue 8072 fois

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