Electronique > Réalisations > Effets > Loopers > Looper 004b - Pro

Dernière mise à jour : 24/01/2016

Présentation

Le looper présenté ici est une version étendue de mon Looper 004 à 32 voies, qui passe à 40, 48, 56 ou 64 voies (1 voie = 1 couple entrée/sortie). Il peut sans difficulté trouver sa place sur scène ou en studio pour gérer les entrées/sorties d'un grand nombre de périphériques audio analogiques. Le pilotage est assuré par un microcontrôleur 18F46K22, et le passage d'un preset à un autre peut se faire de façon directe ou de façon séquentielle, au moyen de deux interrupteurs au pied (footswitches) qui assurent les fonctions "Preset suivant" (Up) et "Preset précédent" (Down). Le nombre total de presets dépend du nombre maximal de sorties que l'on souhaite pouvoir activer :
Trois afficheurs à LED sept segments indiquent la banque et le preset en cours.

Avertissements

Pro - Ce montage fait suite à une demande pro, le logiciel n'est pas mis à disposition sur ce site.

Schéma 004b - 40 à 64 sorties

Le schéma est scindé en deux parties pour plus de clarté.

looper_004b
Section gestion / clavier / affichage

looper_004_cmde_relais
Section commande relais (16 relais montrés sur les 40, 48, 56 ou 64 possibles)

Référence des composants
Pour faciliter les évolutions et mises à jour, j'ai adopté la numérotation suivante pour les composants :
Cette façon de faire permet de ne pas devoir tout renuméroter en cas de modification d'une partie du circuit.

Choix de la banque
A la mise sous tension, la banque en cours est la banque N° 1. La navigation au sein des banques se fait grâce aux boutons Bk-Up (suivante) et Bk-Down (précédente). Le numéro de banque minimal est 1 et le numéro de banque maximal est 8. L'appui sur le poussoir Bk-Up alors que la banque en cours est la dernière possible (N° 8) provoque le retour immédiat à la banque N° 1. L'appui sur le poussoir Bk-Down alors que la banque en cours est la N° 1 provoque le passage immédiat à la dernière banque (N° 8).

Choix du preset
A la mise sous tension, le preset en cours est le preset N° 01. La navigation au sein des presets peut se faire selon trois méthodes :
Le numéro de preset minimal est toujours 1, et le numéro de preset maximal est de 13, 15, 20 ou 25, selon le nombre de sorties désiré. L'appui sur le poussoir Pr-Up alors que le preset en cours est le dernier autorisé provoque le retour immédiat au preset N° 1. L'appui sur le poussoir Pr-Down alors que le preset en cours est le N° 1 provoque le passage immédiat au preset de plus haut rang autorisé.

Mode programmation
A la mise sous tension, le système est en mode Normal. Pour passer en mode programmation et ainsi pouvoir sélectionner les sorties à activer en fonction du preset sélectionné, il faut appuyer sur le bouton Prog. Une fois entré en mode programmation, la LED D29/Prog s'allume. Pour modifier l'état des sorties pour un preset donné, suivre la procédure suivante :
1 - Sélectionner la banque qui contient le preset à modifier à l'aide des touches Bk-Up ou Bk-Down.
2 - Sélectionner le preset à modifier à l'aide des touches Pr-Up ou Pr-Down.
3 - Passer en mode programmation à l'aide du bouton Prog. La LED D29/Prog doit s'allumer.
4 - Appuyer sur les touches Out1 à Out8 de sorte que les sorties #1 à #8 soient dans l'état désiré. Pour modifier l'état des sorties #9 à #16, appuyer une fois sur le bouton SW17/Range. A partir de ce moment, les boutons Out1 à Out8 permettent de modifier l'état des sorties #9 à #16. Pour modifier l'état des sorties #17 à #24, appuyer une deuxième fois sur le bouton SW17/Range. A partir de ce moment, les boutons Out1 à Out8 permettent de modifier l'état des sorties #17 à #24. Pour modifier l'état des sorties #25 à #32, appuyer une troisième fois sur le bouton SW17/Range. A partir de ce moment, les boutons Out1 à Out8 permettent de modifier l'état des sorties #25 à #32. Idem pour les 8 sorties suivantes #33 à #40, etc. Les LED Range1 à Range8 permettent de savoir à tout moment quel paquet de sorties est concerné.
5 - Appuyer sur la touche Save pour enregistrer les modifications.
Remarque : si à ce stade vous pressez une des touches Bk-Up, Bk-Down, Pr-Up ou Pr-Down sans avoir au préalable pressé la touche Save, les dernières modifications effectuées sont perdues.

Affichage de la banque et du preset en cours
L'affichage de la banque et du preset en cours est assuré par trois afficheurs à LED sept segments pilotés par des registres à décalage de type CD4094, ou mieux par des 74HCT4094 (le courant disponible en sortie de ces derniers est plus élevé et la luminosité est plus grande, ce qui est important si vous employez des afficheurs peu lumineux). Les valeurs à afficher sont transmises sous forme sérielle depuis le PIC vers les afficheurs via les trois fils de liaison Data, Clock (CLK) et Strobe (STB), ce sont les CD4094 (ou 74HCT4094) qui se chargent de la conversion série/parallèle. C'est cette même liaison série qui véhicule l'état des 40 (ou 64) sorties à relais. A noter les lignes Ext1 à Ext3 (dernière sortie des CD4094 U6, U7 et U8) notées sur le schéma mais qui pour l'instant ne sont pas utilisées. Ext1 pourrait servir à allumer le point décimal de l'afficheur de la banque, pour marquer la séparation avec les deux chiffres du preset, par exemple.

Commutation des voies audio
Les commutations audio sont assurées par des relais, seule garantie d'une résistance de contact basse à l'état passant et élevée à l'état bloqué. Et surtout, totale isolation entre le looper et les appareils audio. Vous n'êtes pas obligé de monter tous les relais si vous n'avez pas besoin des 40 (ou 64) voies. Notez que le schéma représente seulement deux groupes de 8 voies, les autres groupes de 8 voies sont rigoureusement identiques. Là encore, il est fait usage de registres à décalage CD4094 suivis de réseaux de transistors darlington (ULN2803).

Fonction de test général
Au démarrage, il est possible de vérifier le bon fonctionnement des relais, grâce à un mode spécial de test qui les fait coller les uns après les autres (un seul à la fois). Pour activer ce mode de test, il faut laisser enfoncé le bouton SW17/Range pendant la mise sous tension de l'appareil (le bouton peut être relâché une fois le test démarré). Après la période habituelle d'initialisation (test afficheurs), l'afficheur de banque s'incrémente de 1 à X (X correspondant au nombre de blocs de 8 sorties), lafficheur de preset s'incrémente de 1 à 8 (dans le mode 40 sorties, on a donc droit à une séquence de test de 5 x 8 pas). A chaque incrément, le relais qui correspond à la valeur affichée est activé. Les relais mécaniques font un petit bruit quand il collent : vous devez donc entendre une "musique" régulière quand ils collent et décollent les uns après les autres. Si ce n'est pas le cas, un des relais au moins ne colle pas... ou alors il est différent des autres.

Alimentation
Le PIC réclame ici une tension de 5 V, et les relais sont des modèles 12 Vdc. La consommation du circuit de commande n'est pas monstrueuse puisqu'elle est de l'ordre de 250 mA en supposant tous les segments des afficheurs LED allumés (oui, tout de même). Mais côté relais, ça se gâte un peu. Même si dans la pratique il est peu probable qu'ils soient tous activés, faisons un rapide calcul : 40 relais dont le courant de commande est de 40 mA, ça fait... 1,6 A. Je reconnais qu'activer 40 relais répond à un besoin gourmand, mais si on le prévoit, il faut bien que cela fonctionne. Il faut calculer la capacité de l'alimentation en fonction de vos besoins réel, avec en travail prémaché, les quelques indications suivantes :
- pour 40 relais, consommation globale de 1900 mA
- pour 48 relais, consommation globale de 2200 mA
- pour 56 relais, consommation globale de 2500 mA
- pour 64 relais, consommation globale de 2800 mA
Ces valeurs sont les maximales qu'on peut avoir, si tous les relais sont activés et si tous les segments des afficheurs sont allumés. En usage normal, ce sera toujours inférieur. Une fois n'est pas coutume, je vous recommande ici d'acheter un bloc d'alimentation régulé, entrée 230 V sortie 12 Vdc / 2 A ou plus, selon besoins. On en trouve facilement de dimensions réduites, alimentation à découpage oblige. Bien entendu, vous pouvez aussi la faire vous-même, mais question sécurité on n'est plus à l'aise avec des blocs d'alim tout fait qui répondent d'office à des exigences strictes !

Affichage d'un message texte différent pour chaque preset
Depuis la version logicielle du 24/05/2015, le Looper 004b envoie des commandes de pilotage pour mon journal lumineux 002 sur la ligne Tx2 du PIC (USART2, la broche Rx2 n'est pas utilisée). Cela permet d'afficher un texte différent à chaque fois que le preset en cours est modifié. Le numéro de message envoyé (MsgIdx) répond à la "formule" suivante :
MsgIdx := [(iBk - 1) + iPr]
où iBk correspond au numéro de banque et iPr au numéro de preset. Par exemple :
si Banque = 1 et Preset = 1 -> MsgIdx = 1
si Banque = 1 et Preset = 25 -> MsgIdx = 25
si Banque = 2 et Preset = 1 -> MsgIdx = 26
si Banque = 8 et Preset = 25 -> MsgIdx = 200
Les données sont envoyées en ASCII, 19200 bauds, 8 bits Data, 1 bit Stop, sans parité.

Entrée/sortie MIDI ?
Pas impossible que cela voit le jour un de ces quatre, cela permettrait par exemple au looper de changer de banque et de preset lors de la réception de messages MIDI standard (Program Change ou Control Change par exemple). A l'inverse, le looper pourrait envoyer des messages spécifiques à chaque changement de preset. En tout cas, la place est réservée pour cette "fonction à venir probable" sur les lignes TX1/RX1 du PIC. Actuellement, ces lignes (TX1/RX1) sont marquées sur le schéma mais ne mènent nulle part, c'est normal.

Nombre de presets...
Pourquoi limiter ainsi le nombre de presets ? Parce qu'ils sont sauvegardés dans la mémoire EEPROM du PIC, que chacun d'eux consomme entre 1 et 8 octets (8 x 8 commandes de boucles max) et que le PIC 18F46K22 possède 1024 octets d'EEPROM. Les premiers octets sont réservés pour les "préférences" utilisateur, les suivants concernent les sélections liées aux presets.
Le nombre de presets proposé ici ne vous suffit toujours pas ? On peut augmenter ce nombre en ajoutant une mémoire externe avec laquelle on peut dialoguer en I2C ou SPI, ou encore en ajoutant une carte SD ou clé USB... Là, c'est une autre histoire !

Prototype

Réalisé avec platine EasyPic 7 et interface d'affichage à CD4094.

looper_004_proto_001a looper_004_proto_001c looper_004b_proto_001a

Prototype testé dans les modes suivants :
- mode 40 sorties : fonctionnel
- mode 48 sorties : non testé (simulation OK)
- mode 56 sorties : non testé (simulation OK)
- mode 64 sorties : non testé (simulation OK)
L'interface d'affichage utilisée pour les tests ne comporte que six CD4094, j'ai donc testé dans un premier temps les cinq groupes de 8 sorties avec affichage de la banque seule. J'ai ensuite installé en parallèle mon indicateur série 001 sur la liaison de données série (Clock, Data, Strobe) pour valider le bon fonctionnement des deux chiffres du preset en cours.

indic_serie_001_proto_001c indic_serie_001_proto_001d indic_serie_001_proto_001e

Sur les photos qui précèdent (presets #1 à #3 de la banque #1), les 5 premiers octets visualisent l'état des 40 sorties, et les 3 derniers octets visualisent les chiffres de la banque et du preset en cours ($3F pour chiffre 0, $06 pour chiffre 1, $5B pour chiffre 2, $4F pour chiffre 3). Tout est donc OK.

Réalisation

Système réalisé par Antoine...

looper_004b_proto_ad_001a looper_004b_proto_ad_001b looper_004b_proto_ad_001f looper_004b_proto_ad_001c looper_004b_proto_ad_001e looper_004b_proto_ad_001d

Bel appareil !

Logiciel du PIC

Fichiers binaires compilés (*.hex) non disponibles au téléchargement (4 différents, dépend du nombre de sorties désirées, 40, 48, 56 ou 64).
Looper 004b - 18F46K22 - (15/03/2015)
Pro - Logiciels non disponibles au téléchargement.
Si vous souhaitez recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de consulter la page PIC - Sources.

Circuit imprimé (PCB)

Non réalisé mais prévu pour la gestion de 64 sorties. Pour un nombre de sorties moindre, il conviendra de placer des cavaliers (jumper) dans la position indiquée ci-après. Ces cavaliers font simplement un pont entre les registres à décalage (CD4094) non utilisés :
Ne pas laisser les cavaliers en place si les CD4094 correspondants sont présents.

Historique

24/01/2016
- Ajout photos du système terminé et en boîte (photos Antoine).
25/05/2015
- Ajout de commandes de pilotage du journal lumineux 002, pour affichage d'un texte différent à chaque changement de preset du looper (affichage de titres de chanson, par exemple).
15/03/2015
- Correction bug presets des banques 3 à 7, les sauvegardes et rappels se faisaient sur les presets des banques 1 et 2. Cette erreur était due à une variable mal déclarée dans les routines d'enregistrement et de lecture EEPROM.
08/03/2015
- Première mise à disposition.