Electronique > Réalisations > Interfaces > Interfaces MIDI > Interface MIDI 025 [Pro]

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...

interface_midi_025_pcb_3d_a interface_midi_025b_pcb_3d_a

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.

interface_midi_025
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.

interface_puissance_001_pcb_3d_a interface_puissance_001_pcb_3d_a

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.

midi_din_cablage_001

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).

interface_midi_025_proto_001a interface_midi_025_proto_001b interface_midi_025_proto_001e interface_midi_025_proto_001g

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).

interface_midi_025_pcb_composants

interface_midi_025b_pcb_composants

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.