Pages: [1] 2   Go Down
Author Topic: [Analogique] un préampli pour enregistrement  (Read 5786 times)
0 Members and 1 Guest are viewing this topic.
Bretagne
Offline Offline
Edison Member
*
Karma: 16
Posts: 1395
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut à tous,

Je suis ingé son, et je commence à intervenir de plus en plus sur des concerts pour des enregistrements live. Je déplace donc mon rack contenant :

- un PC équipé de 2 cartes son (16 voies analogiques en tout, je passerai bientôt en 24 pistes, soit 3 cartes)
- un ampli "super HIFI" des années 75
- un préampli maison 24 voies pour adapter les niveaux de chaque entrée de mes cartes son.

Bref, en 5 minutes, j'ai câblé mon rack sur les sorties de la table de mixage et suis prêt à enregistrer.

Ce topic concerne donc l'amélioration du préampli maison que voilà :


c'est l'appareil avec une façade en cuivre, que je sérigraphierai plus tard...

Ce préampli comporte 24 circuits identiques : un ampli (OPA27, marche très bien!) avec un potar permettant de gérer un gain de -10dB à +10dB et 4 leds indiquant le niveau de sortie du préampli (-20dB, -6dB, 0dB, +6dB). Derrière, il y a 24 entrées et 24 sorties, logique.

Mon idée est de rajouter une section d'écoute qui prélèverait le signal sur chaque sortie, pour écouter au casque ce qui rentre dans chaque voie de la carte son. Une sorte de multiplexeur analogique, quoi.

Il n'existe pas spécialement de commutateur 24 positions, donc j'ai décidé de confier le taff à un UNO. Mais tant qu'à chercher des multiplexeurs analogiques, je me suis dit qu'on pouvait mettre des potentiomètres numériques sur chaque voie, avec un sommateur. Alors là, ça devient gros! J'ai donc planché sur la question, et j'ai retenu la solution suivante :

- Chaque sortie du préampli arrive sur deux potars numérique renvoyant chacun le signal (de 0 à 100%) sur un sommateur (un simple AOP), pour avoir une sortie stéréo.
- les potars seront gérés par une interface PC, via USB et arduino UNO.

Pour les potars, j'ai trouvé les AD5206 plutôt pas mal : 6 potentiomètres par boîtier, ça simplifiera le montage, un boîtier pouvant ainsi gérer 3 voies. je rajoute également un 9ième boîtier pour avoir trois entrées auxiliaires stéréo, ça peut toujours servir!

L'interface PC, inspirée de Cubase :



Les fonctions sont rudimentaires :
- volume et panoramique de chaque voie
- mute sur chaque voie (mute = couper la voie tout en conservant le réglage de volume)
- solo sur chaque voie (mute toutes les autres voies, possibilité de n'écouter que la ou les voies sélectionnées)
- affectation de chaque voie soit à la sortie master, soit en passant par l'un des 4 groupes (permet le réglage du volume de plusieurs voies en même temps)
- les groupes sont munis de solo et mute

Bref, on arrive à une table de mixage 24 voies + 3 stéréo toute simple mais avec finalement pas mal de fonctions, juste avec deux potentiomètres par voie.

d'autres photos viendront, il faut encore que je trouve un revendeur qui propose les AD5206 en boîtier DIP, c'est de plus en plus rare!

Je vais donc avoir à faire une carte "mère" comportant l'arduino et l'ampliop "maser", ainsi que 9 cartes de volume qui s'enficheront dessus, chaque carte ayant 3 entrées.

la suite bientôt!
Logged

Offline Offline
Faraday Member
**
Karma: 34
Posts: 5070
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset



d'autres photos viendront, il faut encore que je trouve un revendeur qui propose les AD5206 en boîtier DIP, c'est de plus en plus rare!

Bonjour Super Cinci
projet sympa
en DIP c'est dispo directement chez AD , mais en qte mini de 15
ou chez digikey à l'unité
http://www.digikey.fr/product-search/fr?x=18&y=20&lang=fr&site=fr&KeyWords=AD5206
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut
Tu peux aussi regarder chez TI qui a racheté Burr Brown il y a quelques années et qui avait des multiplexeurs analogique d'excellente qualitée.
Pour les potars nums je sais pas.

A+
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Bretagne
Offline Offline
Edison Member
*
Karma: 16
Posts: 1395
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote from: Artouste
Bonjour Super Cinci
projet sympa
en DIP c'est dispo directement chez AD , mais en qte mini de 15
ou chez digikey à l'unité
http://www.digikey.fr/product-search/fr?x=18&y=20&lang=fr&site=fr&KeyWords=AD5206
Effectivement, même si c'est un peu plus cher... Chez AD, c'est pas évident, on n'entre pas chez eux comme ça... Il m'en faut 9, mais si j'en prends 15, ce ne sera pas perdu. Il y a 15 ans, je contrôlais déjà des potentiomètre numériques sur le port // d'un PC sous turbo Pascal... j'ai des milliers d'idées dans la tête!
Si ça marche bien, j'ai une table de mixage 24 voies dont je pourrais remplacer tous les potars par des ADxxxx, chose qui n'existe pas : la table analogique gérée par du numérique...
merci
Salut
Tu peux aussi regarder chez TI qui a racheté Burr Brown il y a quelques années et qui avait des multiplexeurs analogique d'excellente qualité.
Pour les potars nums je sais pas.

A+
Ce serait dommage de repasser aux Mux analos, alors que du côté PC, tout est déjà en place, et côté arduino, ce ne sera pas bien compliqué... Quoique si je suis motivé, un petit clavier avec un LCD permettrait du stand alone...
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ils ont des potars aussi : http://focus.ti.com/paramsearch/docs/parametricsearch.tsp?family=analog&familyId=1900&uiTemplateId=NODE_STRY_PGE_T
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Bretagne
Offline Offline
Edison Member
*
Karma: 16
Posts: 1395
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bah je vais tenter quand même chez AD, en général, leurs composants ne sont pas trop pourris.

La suite des photos, j'ai sorti le préampli pour évaluer la place qu'il reste dedans...





Pour les puristes de la HIFI, mon câblage avec du mono-brin PTT sans blindage marche super, pas un pet de ronfle ni souffle, simplement parce que les préamplis sont en inverseurs (chaque signal d'entrée trouve son opposé dans le "toron", d'où annulation), et que les impédances sont optimisées pour être les plus basses possible (donc moins sensibles aux parasites).

Avec l'alimentation provisoire : deux transfos 12V / 1.5A, j'avais fait une alim avec un transfo classique et des 7815 et 7915 épaulés par des transistors de puissance, mais j'arrive jamais à faire quelque chose de potable, ça chauffe toujours beaucoup trop. Il se peut que je colle une alim de PC dedans, pour avoir du +5, +/-12, mais c'est un peu gros...

Comme j'ai pas mal de transfos de ce genre, on fera avec ça. J'ai collé des condos de filtrage partout dans les circuits, du coup, les alims ont du mal à démarrer (en gros, elles doivent charger l'équivalent de 16000µF, et elles n'aiment pas)... va falloir que je fasse aussi un circuit de démarrage en douceur...

J'ai préparé la "carte mère", les potentiomètres seront adressés par un 74xx154, ce qui me laissera encore quelques voies d'adressage s'il me reste un peu de place dans la boîte déjà bien remplie...

Voilà. Je mettrai également des schémas, si ça peut intéresser du monde.
Logged

83 - var
Offline Offline
God Member
*****
Karma: 9
Posts: 864
ARDUINO Powa !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

et bah dit donc beau projet en perspective ^^ et sympa ce pré ampli cuivre sa fait très old school j'adore =)

Bon courage pour la suite.

Skizo !
Logged

Un tien vaux mieux que deux tu l'auras !

Bretagne
Offline Offline
Edison Member
*
Karma: 16
Posts: 1395
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

et bah dit donc beau projet en perspective ^^ et sympa ce pré ampli cuivre sa fait très old school j'adore =)

Bon courage pour la suite.

Skizo !
Oui, pour le cuivre, c'est un choix facile, j'ai récupéré plus de 200Kg de plaques époxy double-face non présensibilisées qui partaient à la poubelle... Avec un coup de fer-à-repasser puis eau oxygénée / acide chlorhydrique, on grave ce qu'on veut dessus (méthode que j'utiliserai pour la "sérigraphie" quand tous mes circuits seront dans la boîte...). Pour faire de petites boîtes, il suffit de faire quelques points de soudure dans les coins pour relier les plaques, c'est super pratique! Et en plus, ça permet de faire des rails d'alimentation directement sur les plaques, gain de temps et de place!

Exemple d'un digicode que je suis en train de finir :

j'ai enlevé le cuivre sur la face avant, c'est un peu kaki, dommage...

La gravure marche aussi très bien avec un bon marqueur. C'est ma méthode de transfert qui reste à peaufiner, car soit ça colle pas (genre les plans de masse), soit ça bave, il est rare que j'arrive à un résultat correct sans repasser certaines pistes au marqueur.

J'attends une réponse de Analog Device, en espérant qu'ils acceptent de m'envoyer du sample... l'espoir fait vivre, non?
Logged

83 - var
Offline Offline
God Member
*****
Karma: 9
Posts: 864
ARDUINO Powa !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oui l’espoir fait vivre c'est la cas de le dire xDDD

Logged

Un tien vaux mieux que deux tu l'auras !

Offline Offline
Faraday Member
**
Karma: 34
Posts: 5070
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


J'attends une réponse de Analog Device, en espérant qu'ils acceptent de m'envoyer du sample... l'espoir fait vivre, non?
Bonjour Supercinci
Apres verif des vieux tiroirs  smiley-mr-green
Si cela te permet d'avancer au moins dans ton ton code d'interfaçage , je peux t'envoyer 1ex de 5206 en 10K (DIP)
tes infos en MP
Logged

Bretagne
Offline Offline
Edison Member
*
Karma: 16
Posts: 1395
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ah ben dis donc, t'as des vieux tiroirs intéressants, toi!!!

AD m'a bien envoyé péter, il y a un an, j'avais eu quelqu'un de plus cool "au bout du fil". Il ne me reste plus que la solution digi-key, mais ta proposition est grandement intéressante : ça me permettrait de pondre un premier proto (j'ai tout dans mes vieux tiroirs à moi, sauf le 5206).

Je t'envoie un mp, et merci d'avance!
Logged

Bretagne
Offline Offline
Edison Member
*
Karma: 16
Posts: 1395
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bon, il faut bien avancer, alors ce matin, j'ai fait l'alim. il me faut +/-12V, et 5V.

J'ai pris des blocs secteur à découpage (j'en récupère plein à la déchetterie...), le plus long étant de les sortir de leurs boîtiers en plastique tout collé.

J'ai souder des pattes sur les entrées 220 et les sorties :



Puis présenté sur une plaque de cuivre :



Percé, puis de l'autre côté, dessiné les pistes avec mon petit marqueur :



Un bain rapide dans mon vilain mélange d'eau oxygénée et acide chlorhydrique, et soudage :



Et voilà mon alim :



Pour le +5, c'est un chargeur de portable, et il donne 5.15V à vide mais c'était le plus costaud que j'avais (800mA). Pour le +/-12, ils donnent 2 x 2A, juste ce qu'il faut! (car il faut bien alimenter les 100 leds de l'appareil).

Maintenant, je vais tester la commande du AD5206 que m'a envoyé Artouste (merci encore!) avec un arduino mega (je n'ai plus de UNO dispo...), puis la qualité audio (c'est juste pour brancher un casque d'écoute, l'audio ne passera pas par les potars numériques à l'enregistrement).

A suivre!
Logged

Bretagne
Offline Offline
Edison Member
*
Karma: 16
Posts: 1395
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bon, ben ça marche!

Avec ce code là :

Code:
/**********************************************
 * Programmation de potentiomètres numeriques *
 *            AD5206                          *
 **********************************************/
 
/* branchement :
 *  - @74LS154 : B3:0
 *  - Data     : B4
 *  - Clk      : B5
*/

#define MAX_POT 54
#define TEMPO 2

byte pot_data[MAX_POT];

void setup() {
  byte i;
 
  for (i=0; i<MAX_POT; i++){  // met toutes les valeurs à 0
    pot_data[i] = 0;
  }
  pot_init();
}

byte x;         // variable temp

void loop() {
    for (x = 0; x < 255; x++){
      pot_set(6, x);
    }
}

Avec la proc d'initialisation :

Code:
void pot_init(){ // initialise les potentiomètres à 0
  byte i;
 
  DDRB |= 0x3F;  // pins ctrl pot en sortie
  for (i = 0; i < MAX_POT; i++){  // met tous les potars à 0
    pot_set(i, 0);
  } 
  PORTB |= 0x0F;  // idle : 74LS154 = N°15;
  PORTB &= 0xCF;  //        sdi = 0; sck = 0;
}

et la fonction d'écriture sur les potars :

Code:
void pot_set(byte adress, byte data){  // envoie données sur potentiomètre
  byte b, pot;  // adresses décomposées
  byte value;  // valeur d'envoi en série
  byte i;
 
  b = adress / 6;                // décomposition des adresses boîtier
  pot = adress - (b * 6);        //                            potentiomètre
  PORTB &= (b | 0xC0);     // adressage 74LS154 : CS(b) = 0

  for (i = 0; i < 3; i++){                    // adresse A2:0
    value = pot << i;
    if (value & 0x04) {  // teste adresse[2-i]
      PORTB |= 0x10;    // adresse = 1
    } else {
      PORTB &= 0xEF;    // adresse = 0
    }
    PORTB |= 0x20;  // clock high
    PORTB &= 0xDF;  // clock low
  }
  for (i = 0; i < 8; i++){                    // data D7:0
    value = data << i;
    if (value & 0x80) {     // teste data[7-i]
      PORTB |= 0x10;    // data = 1
    } else {
      PORTB &= 0xEF;    // data = 0
    }
    PORTB |= 0x20;  // clock high
    PORTB &= 0xDF;  // clock low
  }
 
  PORTB &= 0xCF;   // idle PORTB
  PORTB |= 0x0F;
}
Il n'y a pas de tempo dans les impulsions, vu que le composant accepte une clock min de 10ns, comme l'arduino ne saura jamais descendre en dessous de 62.5ns, on a de la marge.

le montage :

Le gros, c'est le démultiplexeur 74LS154 proposant 16 sorties, le petit, c'est le potar numérique.

Le signal :

J'ai mis le potar N°1 entre 0 et 5V, puis voilà ce qu'on trouve sur le wipper :



la rampe fait dans les 8,2ms de long (soit 256 écritures, ça donne un temps d'écriture d'environ 32µs). Donc pour mettre tous mes potars à jour (ils seront 54), il me faudra moins de 2ms, c'est raisonnable. l'idée est que les potars bougent en même temps que la souris du PC... à 550 MAJ possibles par seconde, je pense qu'on tient le bon bout. Il ne faudrait pas que ce soit la liaison série qui ralentisse le système... Si je tourne à 128Kbauds, (à moins que côté PC on puisse aller plus vite?), ça me ferait un temps de transfert max (1 octet de commande et 54 octets de données) de 3.5ms, je ne sais pas si c'est jouable, il faudra tester. Au pire, le pc n'enverra la commande que lorsqu'on relâche la souris... Par contre, si on ne touche qu'à une voie, la commande du potar peut être instantanée. à suivre et à voir.

youpi

Maintenant, on va tester en audio...
« Last Edit: June 09, 2012, 08:24:08 am by Super_Cinci » Logged

Bretagne
Offline Offline
Edison Member
*
Karma: 16
Posts: 1395
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Alors pour moi, l'audio est validé, ça sonne très bien. La réponse en fréquence est un poil limitée (50KHz), mais ça passe, aucune différence à l'oreille sur un système HIFI au top (vive les années 80 et les gens qui se débarrassent de ces si bons matériels...)

Pour l'audio, il a fallu ruser un peu, car la potar numérique n'accepte qu'un signal compris entre 0 et 5V, donc un petit offset de 2.5V, une résistance pour diminuer le niveau, et un AOP pour le relever en sortie de potar...

Histoire de faire pratique, j'ai collé un vrai potar sur A0, et la loop :

Code:
byte x;

void loop() {
  x = analogRead(A0) >> 2;
  pot_set(10, x);
}
mais voilà, un vilain sifflement traine, c'est le clock permanent entre l'arduino et le AD5206 qui repisse dans l'ampliop. Qu'à cela ne tienne :
Code:
byte x, y;

void loop() {
  x = analogRead(A0) >> 2;
  if (x != y) {
    pot_set(10, x);
  }
  y = x;
}
Voilà. l'arduino n'envoie de signaux que si on bouge le potar.

L'usine à gaz :



Oui, pour contrôler le volume d'un signal audio, il y a bien moins cher et moins compliqué : le potar mécanique tout seul...

Bon, on n'a plus qu'à s'attaquer à la liaison série, côté PC et côté arduino. Je serais même tenté d'utiliser un écran LCD graphique de 12" avec un petit clavier, mais bon... c'est plus joli sur un PC! ou mon minitel?
Logged

Offline Offline
Faraday Member
**
Karma: 34
Posts: 5070
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Alors pour moi, l'audio est validé, ça sonne très bien. La réponse en fréquence est un poil limitée (50KHz), mais ça passe, aucune différence à l'oreille sur un système HIFI au top (vive les années 80 et les gens qui se débarrassent de ces si bons matériels...)

Pour l'audio, il a fallu ruser un peu, car la potar numérique n'accepte qu'un signal compris entre 0 et 5V, donc un petit offset de 2.5V, une résistance pour diminuer le niveau, et un AOP pour le relever en sortie de potar...

Histoire de faire pratique, j'ai collé un vrai potar sur A0, et la loop :

Bonsoir supercinci
bon au moins tu aura avancé sur l’interfaçage
tu gere la courbe des AD en Log soft ou tu laisse ça simplement en Lin  ?
Logged

Pages: [1] 2   Go Up
Jump to: