Dernière mise à jour :
24/09/2017
Présentation
Cette interface MIDI a été conçue pour automatiser le jeu d'un
accordéon ou d'un piano acoustique, en remplaçant les doigts du
musicien par des électro-aimants. Enfin quand je dis "en
remplaçant les doigts du musicien", c'est une façon de parler...
L'interface possède 128 sorties (version 025) ou 64 sorties
(version 025b). Son fonctionnement de base est
globalement calqué sur celui de mes
interfaces
MIDI
019 et
MIDI
020. Les différences principales résident dans le circuit de
commande des électro-aimants (ces derniers ayant été construits
sur mesure à la demande d'un musicien) et dans la gestion
paramétrable de la polyphonie (pour limiter volontairement le
nombre de notes pouvant être jouées en même temps).
Schéma (partie commune aux versions 025 et 025b)
Le coeur du montage est un microcontrôleur PIC 18F46K22 (ou
18F45K22) cadencé par un quartz de 8 MHz.
Coeur du système (schéma
partiel)
Principe général
Les données MIDI reçues sur l'entrée MIDI IN sont analysées et
converties en commandes logiques qui bloquent ou font conduire les
transistors de puissance MOSFET de l'interface puissance 001
associée, laquelle à son tour active ou désactive les
électro-aimants qui "remplacent" les doigts du musicien. Le
circuit est polyphonique 128 voies, toutes les notes peuvent être
jouées en même temps. Cependant, la commande simultanée de
plusieurs électro-aimants réclamant une intensité de courant non
négligeable, une limite volontaire de polyphonie a été rendue
possible, ajustable de 2 à 32 notes simultanées. Autres caractéristiques :
- support du Running Status
- support du All Note Off (CC123)
- support du Sustain/Damper (CC64) et Sostenuto (CC66)
Circuit de puissance
La partie puissance est décrite (en partie) à la page
Interface
puissance
001.
Le circuit imprimé de l'interface puissance comporte 8 ou 12
voies, et doit donc être réalisé en autant d'exemplaires que
nécessaires selon le nombre de voies de puissance désiré (version
12 voies à réaliser en 4 exemplaires pour un total de 48
voies/notes, par exemple). Le circuit de commande principal
dispose de 128 sorties logiques, mais pour l'aplication envisagée,
seules 48 d'entre elles sont utilisées. Les circuits intégrés
non utilisés sur la carte de commande ne sont tout simplement pas
câblés.
Alimentation
Deux alimentations sont requises pour le système complet :
- une alimentation de puissance 24 V / 3 A
- une alimentation 5 V / 200 mA
L'alimentation de 24 V est dédiée à l'activation des
électro-aimants, qui sont des modèles 24 V / 12 W et réclament
donc un minimum de 500 mA chacun. L'alimentation prévue ici
permet de commander simultanément 6 électro-aimants, sachant
qu'en pratique il n'y en aura qu'un maximum de 4 activés en
même temps.
L'alimentation de 5 V est obtenue à partir de la source 24 V, et
est destinée au circuit de commande à base de PIC. Bien entendu,
ce rail d'alimentation 5 V est correctement régulé et filtré,
afin d'être débarrassé de tous les résidus de commutation des
électro-aimants qui ne manqueraient pas de perturber le
fonctionnement normal du circuit de commande (uC). Le passage du
24 V en 5 V se fait en deux étapes : régulateur à découpage (24 V
-> 12 V) puis régulateur linéaire (12 V -> 5 V).
Entrée et sortie MIDI
L'entrée MIDI assure l'isolation galvanique via l'optocoupleur U2.
La sortie MIDI ne fait que délivrer une courte note MIDI
à la mise sous tension, pour valider le bon démarrage du système.
Brochage des prises MIDI
Les entrée et sortie MIDI sont des plus standard. Le câblage
proposé ci-après est valable pour les prises MIDI IN, MIDI OUT et
MIDI THRU.
La borne 2 est reliée à la masse au niveau des sorties
mais pas au niveau des entrées, pour éviter toute boucle de masse
entre équipements. A noter que dans cette interface, la sortie
MIDI-OUT n'est pas reliée directement au microcontrôleur, mais
qu'elle passe par un buffer 74LS243.
Prototype
Réalisé en double face et conformément au dessin de circuit
imprimé visible plus loin (version 025 à 128 sorties).
Programmation
in situ (ICSP) avec mon PICkit2. Tests avec clavier Roland D50 et
logiciel Reaper (pour plus de notes en même temps et plus vite),
fonctionnement OK. On peut voir sur les photos, la correction
d'une erreur de jeunesse dont a été victime le premier prototype :
les broches 1 et 13
du driver de ligne bidirectionnel 74LS243 étaient reliées au +V au
lieu
d'être reliées à la masse, ce qui faisait que les sorties du PIC
attribuées aux lignes
MidiOut, Clock, Data et Strobe débitaient dans des sorties... La
consommation globale du montage était alors de 170 mA au lieu de 30 mA
et le
CI driver était bouillant, mais ce sacré bon vieux circuit intégré a tout de
même
tenu le choc! Erreur bien évidement corrigée sur le circuit final.
Remarque
: pour la version 025b à 64 sorties, le driver de ligne 74LS243
n'est
pas nécessaire, et on peut faire des straps sur le support du
circuit
intégré entre les broches d'entrée/sortie (3-11, 4-10, 5-9 et
6-8).
Mais il peut aussi rester en place, ne serait-ce qu'à titre de
protection pour la sortie UART du PIC...
Logiciel du PIC
Demande pro, logiciel non disponible sur ce site.
Interface MIDI 025 - PIC 18F46K22 - 30/07/2017
Circuits imprimés
Réalisés en double face, pour les versions 128 sorties
(interface 025) et 64 sorties (interface 025b).
Bien qu'initialement prévue pour travailler avec plusieurs
interfaces
de
puissance 001 à 12 voies, j'ai préféré utiliser ici des
barrettes de connecteurs en 16 x 8 sorties (version 025) ou en 8 x
8 sorties (version 025b).
Historique
24/09/2017
- Ajout photos du circuit en action (sans les électro-aimants,
juste avec des LED).
03/09/2017
- Ajout détails techniques et photos du premier prototype.
30/07/2017
- Première mise à disposition.