Dernière mise à jour :
09/03/2014
Présentation
Loop = Boucle
Un looper est un équipement doté
de plusieurs entrées et sorties qui permettent de mettre en
circuit
un ou plusieurs
équipements tels que des effets audio, par le biais d'une
télécommande qui peut se résumer à quelques
boutons poussoirs (il existe d'autres sortes de looper, voir page
Looper). Le modèle présenté ici est
une version à 8, 16, 24 ou 32 voies (couples entrées/sorties)
dont le pilotage est assuré par un microcontrôleur
18F45K22. 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 de sorties activables :
- pour 8 sorties, le nombre maximum de presets est de 240, organisés en 8 banques de 30 presets
- pour 16 sorties, le nombre maximum de presets est de 120, organisés en 8 banques de 15 presets
- pour 24 sorties, le nombre maximum de presets est de 80, organisés en 8 banques de 10 presets
- pour 32 sorties, le nombre maximum de presets est de 60, organisés en 6 banques de 10 presets
Trois afficheurs à LED sept
segments indiquent la banque et le preset en cours.
Version étendue avec PIC 18F46K22 (plus de presets et plus de sorties) décrite à la page
Looper 004b.
Avertissements
Ce montage fait suite à plusieurs demandes
d'internautes. Je
ne l'ai pas réalisé dans une version définitive et ne
pense pas le faire
pour mon usage personnel. J'ai tout de même assemblé un prototype
pour vérifier le fonctionnement dans son ensemble, et ai eu des retours
positifs de quelqu'un qui l'a réalisé.
Schéma 004 - 8 à 32 sorties
Parce que je trouvais le schéma un peu dense, j'ai préféré le scinder en deux parties.
Section gestion / clavier / affichageSection commande relais (16 relais montrés sur les 8, 16, 24 ou 32 possibles)Référence des composants
Le
circuit ayant été amené à évoluer (et risquant d'évoluer encore), j'ai
préféré adopter 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 bloc alimentation : 501 à 599 (par exemple U501, C501, C502, 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° 01. 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 de 6 ou 8 (dépend du nombre de sorties choisi). L'appui sur le
poussoir Bk-Up alors que la banque en cours est la dernière possible (N° 6 ou 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° 6 ou 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 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 10, 15 ou 30, 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.
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 24 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 24 voies. Notez
que le schéma représente seulement deux groupes de 8 voies, le
troisième groupe de 8 voies est rigoureusement identique aux deux
premiers. 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. Après la période habituelle d'initialisation (test
afficheurs), l'afficheur s'incrémente de 1 à X, X correspondant au
nombre maximal de sorties activables (24 en mode 24 sorties). 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 (il pourrait travailler à une
tension plus faible, de 3,3 V par exemple), 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 : 24 relais dont
le courant de commande est de 40 mA, ça fait... 1 A. Bon, je reconnais
que les besoins d'activer 24 relais sont d'autant plus improbables que
le nombre de sorties max qu'on m'ait demandé de prévoir est en fait de
20. Et sans doute vous contenterez-vous de 8 ou 16 sorties. Dans ce
cas, calculer votre alimentation en fonction de vos besoins, avec en
travail prémaché, les quelques indications suivantes :
- pour 8 relais, consommation globale de 600 mA
- pour 16 relais, consommation globale de 900 mA
- pour 24 relais, consommation globale de 1200 mA
- pour 32 relais, consommation globale de 1500 mA
Ces
valeurs sont les maximales qu'on peut avoir, tous les relais activés et
tous les afficheurs allumés plein pot. 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 / 1,5 A. On en trouve facilement de dimensions réduites,
alimentation à découpage oblige. Bien entendu, vous pouvez aussi la
faire vous-même !
Entrées/sorties MIDI ?
Pas
impossible que ça voit le jour un de ces quatres. En tout cas, la place
est réservée sur les lignes TX1/RX1 et TX2/RX2 (le PIC utilisé ici
possède deux UART indépendants). Actuellement, les lignes TX1/RX1 et
TX2/RX2 marquées sur le schéma ne mènent nulle part, il s'agit juste
d'une indication de "fonction à venir pas impossible".
Nombre de presets...
Pourquoi limiter
le nombre de presets à ces valeurs ? Parce qu'ils sont
sauvegardés en EEPROM et que chacun consomme entre 1 et 4 octets
(4 x 8 commandes de boucles max) et que le PIC 18F45K22 possède 256
octets
d'EEPROM. J'ai décidé de réserver 240 octets pour les presets, les
autres octets servent pour les "préférences" utilisateur
(mémorisation du dernier preset
utilisé, par exemple).
- 8 sorties : 240 (8 x 30) presets occupant chacun 1 octet (240 x 1 = 240)
- 16 sorties : 120 (8 x 15) presets occupant chacun 2 octets (120 x 2 = 240)
- 24 sorties : 80 (8 x 10) presets occupant chacun 3 octets (80 x 3 = 240)
- 32 sorties : 60 (6 x 10) presets occupant chacun 4 octets (60 x 4 = 240)
Le
nombre de presets proposé ici ne vous suffit pas ? Diable, la
soirée n'est pas finie ! On peut augmenter ce nombre, soit en utilisant
un autre PIC qui possède une capacité de mémoire EEPROM encore plus étendue (voir
Looper 004b), soit en ajoutant une mémoire externe avec
laquelle on peut
dialoguer en I2C ou SPI. Là, on peut repousser les limites assez
loin... 4000 presets vous suffiraient-il ? Non ? Alors dans ce cas je ne vois que la solution avec carte SD ou clé USB...
Prototype
Réalisé avec platine EaysyPic 7 et interface d'affichage à CD4094.
Prototype
testé dans les modes suivants :
- mode 8 sorties :
fonctionnel- mode 16 sorties :
fonctionnel- mode 24 sorties :
fonctionnel- mode 32 sorties :
fonctionnelSur les photos qui précèdent, bank #1 et preset #02,
sorties 1, 2, 9, 10, 17 et 18 activées.
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, 8, 16, 24 ou 32).
Looper
004 -
18F45K22 - (09/03/2014)
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é
Non réalisé.
Le circuit
imprimé sera prévu pour la gestion de 32 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 32 sorties : aucun cavalier à mettre en place (tous les CD4094 sont en place)
- pour usage de 24 sorties : mettre en place le cavalier JP1 (tous les CD4094 sont en place, sauf U5)
- pour usage de 16 sorties : mettre en place les cavaliers JP1 et JP2 (tous les CD4094 sont en place, sauf U4 et U5)
- pour usage de 8 sorties : mettre en place les cavaliers JP1, JP2 et JP3 (tous les CD4094 sont en place, sauf U3, U4 et U5)
Ne pas laisser les cavaliers en place si les CD4094
correspondants sont présents.
Historique
09/03/2014
- Réduction du temps de réaction lors du rappel direct des presets, de 240 ms on passe à 40 ms.
02/02/2014
- Première mise à disposition.