Autor Tema: Mesa de mezclas  (Leído 21825 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
RE: Mesa de mezclas
« Respuesta #15 en: 18 de Febrero de 2006, 14:01:00 »
Hola fito20, en la medida de mis posibilidades tratare de ayudarte, por lo tanto no dejare de entrar a este hilo.

Con respecto al esquema que as colocado ese si bien es un EQ y lo puedes controlar con el PIC lo que no puedes hacer es saber donde se encuentran posicionado cada pote. por lo que se te complicara para memorizar una ecualización definida. En realidad do que hace cada uno de los AO de ese esquema es amplificar la señal de control para poder variar los potes, como veras el integrado que es el encargado de realizar la ecualización es el TDA1524, por lo tanto no tiene 1 AO por cada banda, solo tiene un integrado para agudos, graves, volumen y en formato stereo.

Claro con el pote. de la entrada conseguirás los 47K de impedancia, la ganancia del AO que se conecta con el pote de la entrada será en relación para conseguir con la salida final del EQ una señal de 2 Vpp, lo que se hace es que el OA de la entrada tenga toda la ganancia total del EQ, o sea que el resto de los AO tendrían que sumar una ganancia de 1. Con esto se consigue (entre otras cosas) que la relación señal ruido final sea menor, por lo tanto tu EQ tendrá menos ruido de fondo o sea mas calidad de audio.

El ultimo AO que es el sumador se encarga de sumar las señales que tu previamente as separado por cada banda y le as dado un nivel particular a cada una, o sea que “arma” nuevamente la señal de audio que tú as separado por bandas.

Con respecto al pote. Digital e encontrado uno de la firma MAXIM

http://pdfserv.maxim-ic.com/en/ds/MAX5487-MAX5489.pdf

Ese es el link al datasheet estos potenciómetros MAX5488 de 50K y MAX5489 de 100K que podrás utilizar con el esquema que primeramente as posteado y no tendrás problemas, solo deberás reformar los valores de los componentes asociados con el pote de 470K.

De todas formas estoy diseñando un circuito mejor que el que posees para que lo revises.

Cuando lo tenga terminado lo posteo y me cuentas.

Un saludo, y suerte.

Atte. CARLOS

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado fito20

  • PIC12
  • **
  • Mensajes: 91
RE: Mesa de mezclas
« Respuesta #16 en: 19 de Febrero de 2006, 05:30:00 »
Menos mal, porque no encuentro mas circuitos de EQ...pero el primero que puse no llevaba un AO por banda y creo que me dijiste que eso me complicaria el control de los potenciometros...

Ya me he bajado el PDF y me lo empezare a  leer para ver como funciona...sabes de alguna pagina donde pueda aprender I2C para comunicar el PIC con el potenciometro digital?

Muchas gracias por tomarte un tiempo para hacerme el esquema. Un saludo.

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
RE: Mesa de mezclas
« Respuesta #17 en: 19 de Febrero de 2006, 15:51:00 »
Hola fito20, acá que e dejado el esquema del EQ:

http://miarroba.com/foros/ver.php?foroid=348538&temaid=4227098

Los potes son de 50K y puedes usar los MAX5488.

¿Que lenguaje de programación usas? porque yo, aunque te haya respondido uso el .asm y acerca del C o del Basic no entiendo nada. O sea que si programas en C tendrás que tratar el tema con alguien que lo conozca, pero no tengo problema en seguirte ayudando con la parte electrónica.  

Por otro lado los MAX5488 como la gran mayoría de lo pote. digitales usan la comunicación SPI, o sea que te recomendaría que busques sobre esta y no la I2C.

Un saludo

Atte. CARLOS

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado fito20

  • PIC12
  • **
  • Mensajes: 91
RE: Mesa de mezclas
« Respuesta #18 en: 19 de Febrero de 2006, 16:05:00 »
Hola Carlos! Tu EQ me viene de maravilla, de veras que me estas ayudando mucho con esto.

Para programar uso tambien ASM y lo compilo con MPLab...yo tampoco me llevo bien con el C.

Ok. En lugar de buscar sobre I2C me pondre a buscar informacion sobre SPI.

Todos los dias le echo unas 6 horas al proyecto, asi que cada dia te ire comentando lo que encuentro, lo que hago o las dudas que me vayan surgiendo. Muchas gracias. Un abrazo.

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
RE: Mesa de mezclas
« Respuesta #19 en: 20 de Febrero de 2006, 07:21:00 »
Hola fito20, el uso de esos potes es posible solo que para que todo en sistema funcione de manera adecuada tendrás que separar el GND de la parte análoga de la parte digital, en definitiva solo tienes que hacer una fuente de alimentación un poco mas espacial y no unir GND digital y GND analógico.

Un saludo.

Atte. CARLOS

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado fito20

  • PIC12
  • **
  • Mensajes: 91
RE: Mesa de mezclas
« Respuesta #20 en: 20 de Febrero de 2006, 09:11:00 »
Carlos, con lo de separar las GND analogicas y digitales a que te refieres? a separar la tierra del circuito de EQ y la tierra de los potenciometros digitales y PIC?...por que debo hacerlo ahora con los potes de analog y con los de max no hacia falta?...

Esta mañana he estado recopilando un poco, para organizarme. La idea es:

1) Introduzco una señal audio en la mesa

2) Mediante la conexion de dos pulsadores (por banda, es decir, por POTE) a dos entradas del PIC, mando pulsos al PIC. Por cada señal que reciba el PIC, y a traves de una de sus salidas, aumentara o disminuira (dependiendo de si pulsas el boton up o down) una posicion del POTE.

3) En caso de querer guardar la posicion del POTE, el PIC tendra que cambiar su salida por entrada y leer la posicion del POTE, almacenandola en un registro.

4) Mediante un display y un teclado de X botones que incluira tambien la placa, podremos elegir entre almacenar el preset (posicion de los POTE"s) o cargar un preset previamente almacenado.

5) En caso de cargar un preset anteriormente almacenado, el PIC cargara el valor de la posicion de cada uno de los POTE"s y mandara dicho valor a cada uno de los POTE"s...

El razonamiento es valido?

Tengo una duda, y es que no se si el PIC le manda el valor previamente almacenado al potenciometro mediante pulsos o directamente un numero en un registro?...y el tema de los pulsadores para ir cambiando la posicion de los POTE"s no estoy seguro de si es como antes he mencionado.

Hay rutinas ya creadas para pasar datos del POTE al PIC y viceversa?...Un saludo

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
RE: Mesa de mezclas
« Respuesta #21 en: 20 de Febrero de 2006, 10:21:00 »
Hola fito20, los 5 puntos de tu razonamiento estarían correctos, yo lo único que cambiaria seria lo de usar 2 pulsadores por cada pote, usaría uno de UP, uno de DOWN y otro para ir cambiando de uno a otro de los potes. y guiándome por medio de un display, ¿Me entiendes?

Para las memorias pondría 4 o 5 pulsadores que manteniéndolos apretados por mas de 2 seg. memoricen la posición actual de cada pote, y si solo los pulsas que la posición que tengan memorizada la pasen a los potes.

De esta forma me evito un teclado y con solo 8 pulsadores tengo todas las opciones, y de forma clara y fácil de manejar.

El PIC mediante la comunicación SPI la envía al pote. no solo en valor que debe tener cada un de los mismos, sino que también le transmite un comando, ya as leído me imagino como es la comunicación por medio de SPI y as visto que no se envían solo 8 bits que seria el valor de un pote, por medio de cada transmisión SPI también le envías comandos.

Ha cerca de lo que dices de las masas lo comentas de manera correcta, PIC y potes por un lado, EQ por otro lado. Esto se debe hacer de esta forma porque el pote que elegiste solo permite tensiones entre 0 y 5 V en sus entradas y el de MAXIN permitía -5 y 5 V entonces para los seleccionados por vos tenemos que trabajarlos en -2.5 y 2.5 Vcc en la alimentación de esta forma la masa del EQ seria 0Vcc y la masa del PIC y los potes deberá ser -2.5 Vcc.

Con respecto a las rutinas ya creadas, no creo que las haya ya que los potes. Digitales todavía no son cosa standard, a menos claro que analog tenga unas notas de aplicación que lo haga, maxin si disponía de esas notas.

Un saludo.

Atte. CARLOS

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado fito20

  • PIC12
  • **
  • Mensajes: 91
RE: Mesa de mezclas
« Respuesta #22 en: 20 de Febrero de 2006, 11:47:00 »
Carlos, tu idea es genial y me simplifica mucho el trabajo...te lo agradezco mucho.
Con tan solo 8 entradas lo tendria todo...

Una cuestion, cuando al PIC le toca leer la posicion del potenciometro;

1) Cambio la salida (que antes le enviaba la posicion a la que debia colocarse) por entrada mediante programacion?

2) o uso alguna entrada independiente que tenga libre en el PIC?

¿que harias tu?

He estado mirando en analog y no hay rutinas como bien decias, pero buscando en esta misma pagina he encontrado estas dos que servirian para leer y escribir:

RUTINA QUE ENVIA

;SUBRRUTINA "SPI":
;Envia el byte que viene en el registro "w" mediaante el protocolo spi.
;Utiliza los registro temporales "temp1" y "temp2"

spi   movwf   temp1      ;Salva el byte a transmitir en el

registro temporal "temp1"
   movlw   0x08
   movwf   temp2      ;Inicializa el contador

bck_spi   bsf   p_spi,sdin   ;Sube data
   btfss   temp1,7      ;Comprueba el bit y lo baja si es cero
   bcf   p_spi,sdin
   nop         ;Envia el bit
   bsf   p_spi,sclk
   nop         ;Da un pulso de reloj
   bcf   p_spi,sclk
   nop
   rlf   temp1,f      ;Rotamos a la izquierda "temp1"
   decfsz   temp2,f      ;Comprobamos el contador, para ver si hemos enviado los 8 bits

   goto   bck_spi      ;Si no, repetimos el bucle
   bcf   p_spi,sdin
   return         ;Fin

Debes definir para usar esta rutina, el puerto que vayas a utilizar como "p_spi" y los bits dentro del puerto, tanto de datos como de reloj, como "sdin" y "sclk". También se utilizan dos resitros temporales "temp1" y "temp2" que debes definir. Aqui va un ejemplo:

;Definición de bits

sdin   equ   0x00   ;Bits de control del bus spi: Datos bit 0
sclk   equ   0x01   ;Reloj bit 1

;Puertos del PIC

porta   equ   0x05
p_spi   equ   0x05   ;Puerto A es el puerto utilizado para el spi
portb   equ   0x06

;Declaración de variables

temp1   equ   0x20
temp2   equ   0x21



RUTINA QUE RECIBE

;SUBRRUTINA "SPI_RX":
;Recibe un byte por el bus SPI y devuelve el resultado en el registro "w"
;Utiliza los registro temporales "temp1" y "temp2" y el bit de carry del registro "status"

spi_rx   movlw   0x08
   movwf   temp2      ;Inicializa el contador

bck_spi   btfss   p_spi,sclk
   goto   bck_spi
   bsf   status,0
   btfss   p_spi,sdin   ;Copia el valor de data en el carry
   bcf   status,0
   rlf   temp1,f      ;Para guardarlo en el temporal

bck_sp2   btfsc   p_spi,sclk
   goto   bck_sp2
   decfsz   temp2,f      ;Comprobamos el contador, para ver si hemos recibido los 8 bits

   goto   bck_spi      ;Si no, repetimos el bucle
   movf   temp1,w
   return         ;Fin


Serian validas? Cuentan 8 bits y para mi caso serian mas bits, pero en el fondo me serviria no? Saludos!

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
RE: Mesa de mezclas
« Respuesta #23 en: 20 de Febrero de 2006, 11:57:00 »
Hola fito20, yo particularmente usaría PINES separados en la comunicación SPI ya que el pote viene de esa forma, acerca de las rutinas que posteaste no te sabría decir en este momento, las reviso y te digo.

Un saludo.

Atte. CARLOS



La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
RE: Mesa de mezclas
« Respuesta #24 en: 20 de Febrero de 2006, 12:58:00 »
Hola fito20, si las rutinas funcionan para transmisión y recepción, aunque no les e probado con un pote. pero de todas formas creo que son demasiado rápidas en la transferencia de los datos para la utilidad que le darás y corriendo los riesgos de que los datos se transfieran de forma incorrecta.

Un saludo

Atte. CARLOS

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado fito20

  • PIC12
  • **
  • Mensajes: 91
RE: Mesa de mezclas
« Respuesta #25 en: 20 de Febrero de 2006, 17:17:00 »
Hola Carlos.

Que hago para que dichas rutinas no sean tan rapidas para asegurar la correcta transmision de datos? incluirles nop?

Ademas del codigo escrito tendre que añadirle los comandos del potenciometro no? es decir, que los contadores ya no seran de 8 bits sino de mas... A ver si me resuelves esta ultima duda y me pongo con la programacion mañana mismo.

Podre hacer la simulacion del programa mediante MPLab?

Un saludo.

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
RE: Mesa de mezclas
« Respuesta #26 en: 20 de Febrero de 2006, 22:53:00 »
Hola fito20, ten en cuenta que el programa aparte de la comunicación con los potes tendrá que revisar los pulsadores y según el que se pulse tomar una decisión, y en el caso de los pulsadores de memorias aparte de ver si están presionados revisar por cuanto tiempo esta apretados, si es menos de 2 segundos, los datos de la EEPROM para tal memoria tendrás que escribirlos en los potes, y si es más de 2 seg. tendrás que leer los datos de los potes y guardarlos en las posiciones de EEPROM correspondientes a esa memoria.

Por otro lado tendrás que disponer de un display, para poder ir indicando las acciones que estas realizando por la presión de los pulsadores y de esa forma poder tener una guía, también deberás indicar en que posición se hallan cada unos de los potes.

El programa para simularlo por medio del MPlab lo veo un poco difícil, pero no imposible, tendrás que dispones de mucha paciencia.

Pero antes que todo yo empezaría tratando de controlar un solo pote, aunque sea con dos pulsadores, sabiendo que puedes hacerlo subir y bajar, tendrías que probar si lo puedes leer, una ves que todo esto lo hagas a la perfección si podrás continuar con el resto del programa, de esta forma si cometes un error en el resto del programa que te impida controlar los potes. sabrás que las sub-rutinas de comunicación no son, te comento todo esto porque a la hora de empezar un programa de cero tienes que ir agregando partes individuales, de esta forma si la que agregas no anda sabrás que las anteriores no son porque ya las probaste y andaban bien ¿Entiendes lo que quiero decir?

Un saludo

Atte. CARLOS

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado Sebascl

  • PIC12
  • **
  • Mensajes: 73
RE: Mesa de mezclas
« Respuesta #27 en: 20 de Febrero de 2006, 23:51:00 »
hola fito, por favor dime si entendi bien lo unico que tu quieres es controlar los potenciometros de un ecualizador analogo de forma digital y cuando apagues el equipo los ultimos valores en los potenciometros queden guardados en el pic, eso es lo que tu quieres.

saludos.

Desconectado fito20

  • PIC12
  • **
  • Mensajes: 91
RE: Mesa de mezclas
« Respuesta #28 en: 21 de Febrero de 2006, 03:32:00 »
Hola Carlos.

Tienes toda la razon...empezare elaborando un programa que mediante dos pulsadores suba y baje la posicion de uno de los potes, para luego ya extenderlo al resto de potes...

Necesitaria tan solo un display de 6 digitos...la idea es que cuando presione el pulsador up del potenciometro de medios (por ejemplo) me aparezca:  PM 165 (potenciometro de medios posicion 165)

Lo que no se muy bien es como comunicar el PIC con el display...buscare a ver si encuentro alguna rutina...o va tambien por algun tipo de comunicacion especial?

Me pongo manos a la obra. Un saludo.


Hola Sebas.

Si, la idea es esa, pero ademas de que mantenga la posicion al desenchufar, quiero que el PIC sea capaz de almacenar en su EEPROM algunos presets con las posiciones de los potenciometros digitales y despues poder cargarlos en los potenciometros. Un saludo.

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
RE: Mesa de mezclas
« Respuesta #29 en: 21 de Febrero de 2006, 11:15:00 »
Hola fito20, yo en tú caso usaría un display tipo LCD de 1x16 o 2x16, de esta forma resolverías de una manera sencilla este tema, por otro lado para hacerlo con display de LED tendrías que conseguir los del tipo alfanuméricos y el uso de PINES del micro para este tipo de display se te elevaría demasiado, aparte de la complicación a la hora de realizar el firmware para el manejo y representación en los alfanuméricos.

Para el display LCD solo necesitas de 6 PINES en el caso de manejarlo con el bus de 4 bits, o de 10 pines con el bus de 8 bits.

En cuanto a costos creo que seria más económico el LCD y más sencillo de conseguir, por otro lado esta la presentación ya que el display LCD otorga una calidad final al producto superior al de LED, en cuanto a los consumos ni dudarlo, los LCD casi no poseen con respecto a los de LED que en estos sería de varios mA.

Un saludo.

Atte. CARLOS

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.