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 :
- pour 40 sorties, le nombre maximal de presets est de 200,
organisés en 8 banques de 25 presets
- pour 48 sorties, le nombre maximal de presets est de 160,
organisés en 8 banques de 20 presets
- pour 56 sorties, le nombre maximal de presets est de 120,
organisés en 8 banques de 15 presets
- pour 64 sorties, le nombre maximal de presets est de 104,
organisés en 8 banques de 13 presets
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é.
Section gestion /
clavier / affichage
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 :
- Références pour circuit de commande : 1 à 99 (par exemple
U1, U2, R1, R2, etc)
- Références pour 1er bloc de 8 sorties : 101 à 199
(par exemple U101, LED101, LED102, R101, R102, J101, J101', etc)
- Références pour 2ème bloc de 8 sorties : 201 à 299
(par exemple U201, LED201, LED202, R201, R202, J201, J201', etc)
- Références pour 3ème bloc de 8 sorties : 301 à 399
(par exemple U301, LED301, LED302, R301, R302, J301, J301', etc)
- Références pour 4ème bloc de 8 sorties : 401 à 499
(par exemple U401, LED401, LED402, R401, R402, J401, J401', etc)
- Références pour 5ème bloc de 8 sorties : 501 à 599
(par exemple U501, LED501, LED502, R501, R502, J501, J501', etc)
- Références pour 6ème bloc de 8 sorties : 601 à 699
(par exemple U601, LED601, LED602, R601, R602, J601, J601', etc)
- Références pour 7ème bloc de 8 sorties : 701 à 799
(par exemple U701, LED701, LED702, R701, R702, J701, J701', etc)
- Références pour 8ème bloc de 8 sorties : 801 à 899
(par exemple U801, LED801, LED802, R801, R802, J801, J801', etc)
- Références pour bloc alimentation : 901 à 999 (par exemple
U901, C901, C902, etc)
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 :
- de façon séquentielle, par pression sur les boutons Pr-Up
(suivant) et Pr-Down (précédent);
- de
façon directe, par pression sur les boutons 0 à 9 et Enter. Cette
méthode permet de sélectionner un preset dont le numéro est égal ou
supérieur à 10, mais nécessite deux ou trois pressions. Pour bénéficier
de ce mode de fonctionnement, la tension appliquée sur l'entrées
RA0/AN0 (mode) doit être comprise entre 1,25 V et 2,5 V.
- de façon directe, par pression sur un unique
bouton 1 à 9.
Dans ce mode, le nombre de
presets que l'on peut appeler directement est limité à 9. Il
est toujours possible, cependant,
d'accéder à un numéro de preset supérieur avec les boutons
Pr-Up et Pr-Down. Pour bénéficier de ce mode de
fonctionnement, la tension appliquée sur
l'entrées RA0/AN0 (mode) doit être comprise entre 0 V et 1,25 V.
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.
- 40 sorties : 200 (8 x 25) presets occupant chacun 5 octet
(200 x 5 = 1000 octets)
- 48 sorties : 160 (8 x 20) presets occupant chacun 6 octet
(160 x 6 = 960 octets)
- 56 sorties : 120 (8 x 15) presets occupant chacun 7 octet
(120 x 7 = 840 octets)
- 64 sorties : 104 (8 x 13) presets occupant chacun 8 octet
(104 x 8 = 832 octets)
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.
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.
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...
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 :
- pour usage de 64 sorties : aucun cavalier à mettre en place
(tous les CD4094 sont en place)
- pour usage de 56 sorties : mettre en place le cavalier JP7
(tous les CD4094 sont en place, sauf U9)
- pour usage de 48 sorties : mettre en place les cavaliers
JP6 et JP7 (tous les CD4094 sont en place, sauf U8 et U9)
- pour usage de 40 sorties : mettre en place les cavaliers
JP5, JP6 et JP7 (tous les CD4094 sont en place, sauf U7, U8 et U9)
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.