Motoriser une vielle à roue ?

Hackerspace à Nanterre

Motoriser une vielle à roue ?

A la base, j’avais un objectif en arrivant au Lab : fabriquer des circuits audio. Des projets pour moi (pédales d’effet, amplis …) mais aussi des circuits pour des œuvres d’art numériques, dans le cadre d’un autre association dont je suis partie prenante : Trublion

En particulier, nous travaillons beaucoup avec un luthier habitant près de Strasbourg : Léo Maurel.

Il réalise des instruments basés sur le principe de la vielle à roue. Sur certaines de ses nombreuses créations, il procède à la motorisation de la roue, ce qui permet d’obtenir des sonorités intéressantes, et surtout cela modifie la méthode de jeu, permettant par exemple de jouer à deux main, la rotation de la roue ne monopolisant pas une main grâce à cette motorisation. Pour le contrôle de la rotation du moteur, il utilise la plupart du temps un petit variateur fixe, qui permet de faire varier la vitesse de rotation du moteur avec un potentiomètre.

Léo souhaitait augmenter l’expressivité de l’instrument, d’une façon générale, mais surtout pour un exemplaire particulier. En effet, l’artiste Tarek Atoui a demandé à Léo de fabriquer une instrument qu’il intégrerait à une exposition dans le cadre de l’inauguration de la nouvelle Tate Modern, musée d’art contemporain à Londres. Heureuse coïncidence, cette commande est arrivée au moment où Émilien, fondateur de l’asso Trublion, décide de contacter Léo, suite à de nombreuses recommandations. Léo nous a donc demandé si nous pouvions concevoir un système permettant de faire varier la vitesse de rotation du moteur, pas de façon fixe avec un potentiomètre, mais de façon dynamique, en suivant un son. La projet BAB (Boîte A Bourdons) était né.

J’ai été chargé de mettre au point le circuit de commande de cette BAB. L’idée est donc de contrôler la vitesse de rotation du moteur en suivant l’enveloppe d’un son, de façon à ce que la roue réagisse à un son. De cette façon, l’instrument pourrait, par exemple, suivre l’amplitude de la voix d’un chanteur ou d’une chanteuse – si on y relie un micro, ou suivre un pattern répétitif avec précision – si on y relie une boîte à rythmes. Le système serait une extension de l’instrument, qui se connecterait sur la prise d’alimentation de l’instrument (le circuit variateur est alimenté en 24V avec une alimentation externe). Un interrupteur sur l’instrument permettrait de sélectionner soit le variateur fixe d’origine, soit le nouveau circuit suiveur d’enveloppe pour le contrôle du moteur.

Quelques détails techniques : La première approche était de faire une extension du variateur d’origine, qui était un simple générateur de PWM à ~20kHz avec un 555, et un MOSFET en low-side pour le découpage de la tension moteur. L’alimentation du 555 est réalisée avec un 7812, ce qui permet d’isoler la commande et la puissance. La topologie autour du 555 est le classique circuit d’application générateur de PWM à fréquence fixe / rapport cyclique variable, avec deux diodes et un potentiomètre. C’est un circuit qui marche bien, et qui est simple à mettre en œuvre, mais qui a plusieurs défauts:

  • La fréquence n’est pas parfaitement fixe, elle varie légèrement avec le rapport cyclique,
  • Le 555 dans cette topologie a tendance à consommer énormément de courant sur les positions extrêmes du potentiomètre. Ce n’est pas un problème en soi puisqu’on est alimentés avec une alimentation secteur, mais le composant se met à chauffer, ce qui n’est pas bon pour la fiabilité. J’ai déjà utilisé ce circuit, dans un autre contexte, et quand on tourne le potar à fond d’un côté ou de l’autre, le 555 chauffe, beaucoup, vraiment beaucoup. Et c’est pas bon.
  • Le 555 dans cette topologie a tendance à consommer énormément de courant sur les positions extrêmes du potentiomètre. Ce n’est pas un problème en soi puisqu’on est alimentés avec une alimentation secteur, mais le composant se met à chauffer, ce qui n’est pas bon pour la fiabilité. J’ai déjà utilisé ce circuit, dans un autre contexte, et quand on tourne le potar à fond d’un côté ou de l’autre, le 555 chauffe, beaucoup, vraiment beaucoup. Et c’est pas bon.
  • Le contrôle se fait par un potentiomètre uniquement, vu que le principe de base exploite la charge / décharge asymétrique d’un condensateur en circuit RC pour générer la MLI. Ce qui fait qu’il est difficile de contrôler le circuit par un autre type de commande (idéalement : commande en tension).
  • La commande du moteur en low-side, bien que simple et pas chère (un canal N c’est cadeau) fait que le freinage dépend fortement de l’inertie mécanique de l’instrument, ce qui diminue le contrôle qu’on peut avoir sur la rotation du moteur.

Le hack de ce circuit me semblant trop complexe, nous avons préféré ne pas réutiliser ce circuit, et nous avons re-conçu un circuit complet.

Vu que l’on ne devait faire qu’un seul exemplaire, le coût n’était pas vraiment un problème. L’échéance arrivant rapidement – nous n’avions que 3 mois pour concevoir et réaliser le circuit – il nous a semblé préférable de partir sur un système à commande numérique pour faciliter la mise au point. Notre architecture utilise au final une carte Nucleo (carte d’évaluation de chez ST) pour la génération du PWM, avec un circuit analogique pour la pré-amplification et la détection d’enveloppe, et un pont en H intégré pour la partie puissance. Le détecteur d’enveloppe fournit un signal analogique au MCU de la Nucleo, qui va générer un PWM proportionnel à l’amplitude du signal. Quelques potentiomètres de contrôle ont été ajoutés:
Gain, attack, release sur la partie analogique,
Trois contrôles pour la partie numérique, que nous avons assigné aux limites hautes et basse, ainsi qu’au gain de la fonction de transfert (ce sont donc des paramètres pour le MCU de la carte Nucleo, qui va adapter sa conversion amplitude -> vitesse moteur en fonction des positions des potentiomètres).

Le synoptique simplifié donne ceci:

Synoptique du circuit suiveur d’enveloppe

J’ai fait le schéma et le routage sous Kicad.
La fabrication a eu lieu en grande partie au Château FMR, à Carrière-sous-Poissy, et l’instrument a pu partir à Londres en temps et en heures.

http://www.makery.info/2016/06/14/la-lutherie-hybride-de-leo-maurel-et-trublion-a-la-tate-modern/
https://www.tate.org.uk/art/artists/tarek-atoui-24520/tarek-atoui-sound-physical-phenomenon (on peut voir Léo jouer de l’instrument à 2:08)

Nous avions fabriqué un autre exemplaire, que Léo a emmené avec lui au festival Le Son Continu. Les photos prises à cette occasion nous ont servi à alimenter le site de Trublion:

Léo a eu des retours très positifs de joueurs de vielle qui avaient testé notre boîtier de commande à cette occasion. Léo a donc re-contacté Trublion pour savoir s’il était possible de développer une version simplifiée de ce boîtier suiveur d’enveloppe, de façon à ce qu’il puisse le vendre en extension de son instrument. Je me suis attelé à la conception de ce nouveau boîtier, la deuxième version du suiveur d’enveloppe (BAB V2).

Ici les contraintes sont différentes : plus de temps pour le développement, mais une contrainte de production en série (10 à 20 pièces par an) et de maintenabilité. Les cartes d’évaluation type Nucleo sont très pratiques pour faire des prototypes uniques et pour  mettre au point rapidement une fonctionnalité, mais sont des outils complexes, et elles subissent les stratégies commerciales des fondeurs, et peuvent être frappées d’indisponibilité sans préavis. De ce fait, pour cette deuxième version, il était préférable de concevoir un circuit 100% analogique (et puis … Léo préférais de l’analogique).

J’ai repris le synoptique de la première version, et j’ai remplacé la carte Nucleo par un générateur de PWM analogique. Sans aller trop dans les détails techniques:

  • Pour générer le PWM j’utilise un oscillateur à base d’amplificateurs opérationnels, plus versatile et fiable qu’avec un 555,
  • Pour le découpage, je remplace le L6203 (ST, pont en H complet en boîtier traversant) par un BTN8980 (demi-pont en H, Infineon, AECQ, D²PAK, moins cher, plus petit),
  • Connecteurs et potentiomètres montés directement sur le circuit imprimé (protip : ne faites JAMAIS un produit avec des fils à souder entre les cartes et les connecteurs, à monter c’est l’ENFER),
  • J’ai voulu mettre tous les connecteurs et les contrôles sur le dessus du boîtier. Les connecteurs c’est de l’audio, en standard 24mm de haut, les potars sont plutôt à 10mm, donc j’ai une petite carte montée sur des connecteurs HE10 qui rajoutent 14mm pour que tout le monde soit à la même hauteur,
  • La plupart des contrôles de la première version avaient un effet quasi-inaudible, donc on s’est mis d’accord sur 3 contrôles, pas plus (gain, valeur min, valeur max),
  • Le tout rentre dans un boîtier Hammond 1590BB, c’est pas cher et c’est très standard (c’est le boîtier des pédales Electro Harmonix comme la Little Big Muff),

Vue global du routage de la carte BAB V2

Photo de la carte BAB V2 montée

Le circuit BAB V2 monté dans son boîtier

 

La mise au point sur  un circuit purement analogique est très pénible. Pour chaque test d’une  nouvelle valeur, il faut changer un composant sur le PCB, re-tester … Heureusement,  j’avais effectué suffisamment de simulations en amont pour ne pas avoir à trop retoucher de valeurs … mais pas suffisamment pour ne pas avoir  besoin de faire des corrections et donc de fabriquer un nouveau circuit  imprimé 🙁 Mais comme Léo avait quelques retours à l’utilisation (je lui avait envoyé un proto pour qu’il l’essaye sur un vrai instrument) j’en ai profité pour intégrer les modifications qui lui semblaient nécessaires, donc l’un dans l’autre il valait mieux que je fasse une nouvelle version du PCB. De toutes façons, des modifications de comportement étaient inévitables, vu que je n’ai pas d’instrument pour tester le rendu “en conditions”, et que j’utilise une charge active pour simuler le moteur, ce qui permet d’éprouver le hardware, certes, mais ne permet pas de voir comment ça se comporte en vrai avec un vrai instrument mécanique derrière.

Pour l’instant nous en sommes là : j’ai un design de carte qui marche, il ne reste plus qu’à fabriquer 😀

Cette deuxième version du boîtier suiveur d’enveloppe a été entièrement faite au Lab. J’ai fabriqué le PCB avec notre chaîne de fab (typon, insolation, gravure, perçage à la perceuse inversée, la totale), j’ai monté les composants à la refusion (bon, ok, uniquement le BTN en D²PAK et son ami le MOSFET de protection d’inversion de polarité en DPAK, le reste j’ai soudé à la main, je préfère) et j’ai usiné les boîboîtes à la perceuse à colonne en zone méca :p C’était très pénible, pour la vraie prod’ j’envisage plutôt y aller à la CNC. Et les PCBs je vais les faire fabriquer, pour quelques dizaines de pièces c’est préférable. Et pour le montage des composants, il va bien falloir que j’apprenne à me servir de la machine de pose de CMS qu’on a à côté du four à refusion o/

Affaire à suivre, donc …

Il est à noter que, en parallèle de ce projet (la BAB première version), nous avions emprunté à Léo 8 de ses Hurgy Toys (des mini-vielles à 3 cordes avec un petit moteur, dans des petites boîtes en bois, elles sont toutes mignones <3 <3 <3) pour réaliser deux instruments que nous voulions utiliser pour une performance à la Nuit Noire. Cet instrument a un nom : HURGYTRON !

L’idée : 4 Hurgy Toys pour moi, 4 pour Émilien, et chacun développe sa commande pour les 4 moteurs. J’ai conçu et fabriqué une carte de puissance pour pouvoir driver les moteurs. Les moteurs des Hurgy Toys étant beaucoup plus petits que celui de la BAB, j’ai fait un circuit très simple et compact, à base d’un demi pont en H en SO-8 de chez Rohm (les seuls que j’ai trouvé dans un boîtier pratique et qui découpent dans la puissance qui convient).

Émilien est parti sur une commande à base de carte Teensy, sur laquelle il a codé un séquenceur, chaque Hurgy Toy ayant un pattern dédié modifiable en temps-réel, de façon à créer des poly-rhytmies.

De mon côté, j’ai utilisé une carte ST Discovery avec un STM32F746 (grosse grosse bête) qui a le grand avantage d’avoir un codec audio déjà présent sur la carte, avec tout ce qu’il faut dans MBED pour le mettre en œuvre :p J’ai donc codé un petit programme d’analyse de spectre de mon cru (très très cru) qui découpe le son entrant en quatre bandes de fréquence, et fait tourner les Hurgy Toys proportionnellement à l’amplitude de chaque bande. Je branche ma guitare électrique 8 cordes en entrée … Et ça fait n’importe quoi :p Et c’est éminemment drôle à utiliser, malgré l’absence totale de contrôle sur le comportement de l’engin 😀

Article rédigé par Flax