jueves, 26 de noviembre de 2009
Ayúdanos a crecer, haz NeoTeo tu página de inicio RegistrarseIniciar sesión

Páginas:

Microcontroladores: Preamplificador de audio de alta gama

Por: Mario Sacco  @  sábado, 23 de mayo de 2009  Nota vista 14540 veces

Si tu pasión es la música y deseas ser un DJ importante, no puedes dejar pasar por alto el proyecto que te proponemos hoy: un circuito totalmente digital para manejar consolas de audio de la más alta calidad de sonido, con prestaciones increíbles, y operables tanto en forma local como remota (a través de un ordenador). Si el audio profesional es lo tuyo, te recomendamos darle una leída a este artículo y conocer esta aplicación basada en el TDA7449.

¿te interesa?
58 -4
62 votos

El circuito eléctrico del TDA7449
En el diagrama podemos ver que el circuito es muy sencillo cuando utilizamos sólo  una de las entradas y un pequeño puñado de componentes alrededor del IC para darle un correcto funcionamiento. La alimentación por pin 2 debe ser filtrada (además del clásico electrolítico) con capacitores cerámicos tipo disco, de 100nF, que deben colocarse físicamente lo más próximo posible al TDA. Otro dato destacable es la diferenciación entre las conexiones a GND de las partes digitales respecto a las analógicas. Los circuitos digitales son ruidosos y siempre es bueno separar (con algunas decenas de Ohm) las terminales de tierra de ambos sectores. En este caso, 33 Ohms es una buena opción, según la hoja de datos del IC.

Circuito eléctrico propuesto para el preamplificador

Por último, no debemos olvidar que cada vez que trabajemos con señales de audio, los planos de tierra deben ser tan amplios como sea posible. Es decir, no debemos realizar un impreso de vías finas y grandes espacios vacíos, sin conexión a GND. Siempre tratemos de ocupar la mayor superficie posible con un plano de tierra para minimizar los ruidos que puedan inducirse en el circuito. La misma recomendación es válida para los cableados de señal de entrada y salida del TDA7449, desde y hacia los conectores RCA. Deben ser lo más cortos posibles y blindados de buena calidad (mallados). Si este principio fundamental de la construcción de equipos de audio no se contempla, podemos llegar a escuchar ruidos muy molestos e inaceptables cuando escuchemos sonidos a bajo volumen.

Programando el PIC
Siguiendo con la misma orientación de artículos anteriores, te daremos aquí las indicaciones para realizar el programa que irá cargado en el microcontrolador. Como es costumbre, primero se declara el dispositivo a utilizar con su correspondiente cristal, el conexionado, el tipo de LCD a utilizar, y los pines destinados para la comunicación por bus I2C. Podrás notar que, en este caso, hemos incorporado una nueva instrucción: la de utilizar un bus lento (100 Khz.) debido a que el TDA7449 es utilizado con esta característica de velocidad en sus aplicaciones masivas en receptores de televisión.

Cabecera del firmware del microcontrolador

Luego, declaramos las variables a utilizar dentro del programa: aquellos parámetros que variarán según nuestra acción en los comandos que hemos asignado al PIC. Los nombres de las variables pueden ser cualquiera con tal de que nos relacione con el nombre real de lo que estamos queriendo cambiar. Es decir, si queremos contar perros, los nombres habituales de variables pueden ser “dog”, “can”, “pichicho”, o cualquier otro nombre corto que pueda asociarse en nuestra mente con el elemento a mencionar. También en esta parte inicial del programa definimos los SYMBOL o “alias” que, como ya te hemos explicado antes, son reemplazos de cosas tediosas de escribir (son más sencillos y rápidos de escribir en un lenguaje habitual). Un ejemplo de lo que te mencionamos es el caso de valores numéricos en notación binaria. Si bien podemos colocar los valores numéricos en cualquier notación (HEX, BIN, DEC, etc.), siempre será más sencillo llamarlos por un solo nombre que por un conjunto de ceros y unos, que pueden prestarse fácilmente a confusión. Es más sencillo escribir la palabra GRAVES que acordarnos de escribir “%00000100” cuando hagamos referencia a la sub-dirección GRAVES dentro del protocolo de comunicación I2C.

Ejemplo de declaración de variables y alias necesarias

En la imagen también puedes ver que se coloca en alto el pin 3 del puerto A para mantener a T1 conduciendo, y al relé energizado, a pesar de haber soltado el pulsador ON-OFF. Luego, le damos al sistema un retardo de 500 milisegundos para estabilizar la tensión en los circuitos antes de comenzar a trabajar con los registros del TDA7449.

Mensaje de bienvenida y seteo inicial del TDA7449

Al iniciar el funcionamiento del equipo, siempre es interesante observar un mensaje de bienvenida o la también conocida pantalla de inicio o splash. En nuestro caso, hemos colocado un mensaje con un saludo de toda la gente de NeoTeo para quien vea en acción al preamplificador. Pero lo más interesante será cuando tú personalices y hagas bien custom tu propio preamplificador. Mensajes formales como el sugerido, e incluso textos que digan “¡Quítate el corpiño, nena!”, pueden pasar por el display al iniciar el equipo. Seguramente tu imaginación creará mensajes dignos de ser leídos y compartidos con tus padres para despertar su orgullo por tu trabajo.

Luego de los dos segundos de muestra del mensaje, cargaremos los datos iniciales que les queremos asignar a las variables que deban ser, a nuestro criterio, modificables al inicio del funcionamiento del sistema. Como ejemplo hemos optado por colocar la ganancia de la etapa de entrada del IC en 0dB, el volumen en -32dB (un cuarto aproximadamente del volumen total), y los controles de tono al máximo en ambos casos: Graves y Agudos.

Ten presente que el TDA7449 expresa el nivel de volumen en decibeles y manifiesta que el máximo volumen que puede seleccionarse corresponde a 0dB, mientras que hacia abajo (disminuyendo el volumen) las expresiones se realizan en números negativos y determinan la “atenuación” que sufre el libre sonido máximo (0dB).
A esta altura de la explicación ya es momento de cargar los datos en los registros y comenzar a disfrutar de la música. La manera de hacerlo es tan sencilla como te adelantamos más arriba: abrir el bus > enviar dirección > enviar subdirección > enviar dato > cerrar el bus.

Observa en el ejemplo citado en la imagen que, una vez abierto el bus, puedes enviar muchos datos a muchas subdirecciones, una tras otra, hasta terminar el diálogo con el dispositivo y luego cerrar el bus con la clásica instrucción BUSTOP.
Si no te has equivocado en la construcción del hardware y todo está correcto, el sonido aparecerá según tus ajustes iniciales, y ya puedes comenzar la experiencia del manejo del bus I2C, junto al despliegue de tus habilidades como programador.
Ahora hay que armar y organizar la estructura del firmware de modo tal que puedan variarse los controles de tono, volumen, y todo lo que desees, en tiempo real, sin detenciones en la escucha del sonido, ni cuelgues inesperados e impredecibles del microcontrolador. No dejes de probar bien a fondo tu firmware y, como consejo, siempre debes armarlo a prueba de inquietos como tú quienes tienden a tocar todos los pulsadores en simultáneo, forzar y buscar el error de diseño al pulsar distintas secuencias de teclas, y todas las acciones tendientes a desestabilizar el sistema de todas las formas posibles que puedas imaginarte.

Arma contadores con sencillas instrucciones incrementales o decrementales, como pueden ser TREBLE = TREBLE + 1. También puedes detectar si las teclas son pulsadas con simples instrucciones IF - THEN - ELSE – ENDIF, y apelar a todos tus conocimientos para tratar de lograr un funcionamiento estable y seguro.

Ejemplo de una rutina para ajustes de Graves y Agudos

Tómate un instante y observa las etiquetas RETALTOSUP y RETEALTOSDWN. Si el usuario es una clase de juguetón como del que hablamos antes, se quedará prendido al pulsador viendo en qué momento el sistema enloquece o se cuelga dentro de un lazo de variaciones incontrolables. En cambio, aplicando estas sencillas rutinas con un condicional IF – THEN – GOTO, el programa (hasta que no suelte el pulsador) entrará en un bucle infinito, impidiendo la utilización de otras teclas. De esta forma, te aseguras de que las teclas se pulsen de a una por vez y de a una vez para cada acción. Es sencillo y confiable, ¿no crees?

Al final, dedica algunas líneas de programa para un apagado del equipo categórico y con elegancia. Un buen mensaje de despedida es visto con mucho agrado por los usuarios del sistema (al igual que el mensaje de bienvenida).

Ejemplo de rutina de apagado

Lo primero es cortar el sonido al entrar en la rutina, colocando los registros de volumen y atenuación de canales (balance) en condición de MUTE. Luego, debes emitir un mensaje de salida de un par de segundos para no hacerlo muy extenso. También aquí tu capacidad de imaginación le dará un toque mágico al mensaje. La condición de apagado es muy sencilla: coloca en estado bajo el pin que mantenía activo el relé y el transistor serie de encendido (T1 a través de T2) (ver circuito de fuente), y provoca un lazo infinito hasta que el equipo apague. Para entrar en la rutina de apagado puedes colocar, dentro del programa, instrucciones como las que aparecen a continuación, que deben estar diseminadas a lo largo de todo el firmware (no deben faltar en ninguna secuencia). Siempre debe existir la posibilidad de salir hacia un apagado desde cualquier lugar y situación. Ese es uno de los datos que te ayudará a evitar los cuelgues que antes mencionábamos.

Ejemplo de instrucción para detectar orden de apagar el equipo

Así de sencilla es la instrucción que detecta si se ha pulsado el botón ON-OFF y su continuación hacia la subrutina de apagado antes mostrada.

Consideraciones finales
Con disponibilidad de tiempo, paciencia, buen gusto, imaginación, y muchas ganas de aprender, lograrás construir un eslabón muy importante dentro de un sistema de audio. El TDA7449 es un IC que la empresa ST Microelectronics te envía GRATIS (sí, gratis) a tu casa con sólo registrarte en su sitio y solicitarlo. El programa de Samples (muestras gratis) de ésta y otras empresas hacen que la disponibilidad de materiales y los precios altos ya no sean un impedimento para que puedas estudiar, desarrollar y experimentar en electrónica.

Samples recibidos en mi domicilio, sin cargo

Ahora sí lo que estabas esperando: el audio en acción! En la siguiente página encontrarás cuatro videos imperdibles. Todo lo explicado hasta aquí funcionando para que lo veas. Avanza a la siguiente página. Vamos!

Siguiente
Videos de demostración
Anterior
Introducción, Fuente y Amplificador
Artículo Siguiente
TweetLord: Juega rol vía Twitter
Artículo Anterior
NASA quiere crear mapas 3D de la Luna
CopyRight
Prohibida su copia total con o sin fines comerciales. Copias parciales deben citar la fuente.

 

URL Trackback para esta noticia:
Votos: 3 de 3
carrocerias 84
carrocerias 84
carrocerias 84
23/05/2009
19:42:10
#1   ¡ hummm... ¡ I2c fantástico, este verano mi mujer me tira de casa

¿ que tal un medidor de luminosidad I2c ?

     Responder 
Votos: 0 de 0
Mario Sacco
Mario Sacco
Mario Sacco
24/05/2009
4:59:38
#1   Un medidor de luminosidad ...
Algo parecido a un Luxómetro? o un interruptor crepuscular que pueda detectar luz y oscuridad sencillamente?
Si es lo último lo que buscas, coloca en el buscador de este sitio "Interruptor Crepuscular" y encontrarás un muy buen artículo de Ariel Palazzesi sobre el tema.

Saludos !
     Responder 
Votos: 0 de 2
Mho
Mho
Mho
23/05/2009
20:04:46
#2   Fantastico!!, sigo coleccionando. :)
     Responder 
Votos: 1 de 1
Leopard
Leopard
Leopard
23/05/2009
21:42:39
#3   Lastima que sea programador de alto nivel... no tengo ni zorra de lo que es cada tecnicismo.
     Responder 
Votos: 0 de 0
KestC
KestC
KestC
23/05/2009
21:45:11
#4   Que proyecto más genial.

Disculpen una pregunta, no sé ¿Qué es I2C?. Alguien me podria proporcionar información respecto a esto. Lo he visto en varios proyectos. Y me gustaria enterarme bien.

Gracias
     Responder 
Votos: 0 de 2
KestC
KestC
KestC
23/05/2009
22:54:22
#1   Ya encontre la información necesaria. Nos vemos
     Responder 
Votos: 0 de 0
Mario Sacco
Mario Sacco
Mario Sacco
24/05/2009
5:01:09
#1   Cuando gustes KestC !

Saludos !
       
Votos: 0 de 0
Truko
Truko
Truko
23/05/2009
23:03:26
#2   =O No saber que es I2C, te invito a leer los títulos de los artículos de Mario (http://www.neoteo.com/Portada/tabid/54/sa/17807/Default.aspx) Hay varios que usan y explican y tambien conoce cosas interesante de la electrónica ^_^
     Responder 
Votos: 0 de 0
OscarFMG
OscarFMG
OscarFMG
23/05/2009
22:45:20
#5   En realidad me parecen geniales todos los proyectos que colocan con PICS hay tantas pequeñas cosas que se pueden hacer tan grandes, desde hacia tiempo que queria experimentar con el audio de manera digital, y aunque no es lo que tenia en mente, ya me han dado muchas ideas para comenzar a experimentar en diversas cosas de audio.
     Responder 
Votos: 0 de 0
Mario Sacco
Mario Sacco
Mario Sacco
24/05/2009
5:11:10
#1   Adelante Oscar ! éxitos en tus emprendimientos ! :))
     Responder 
Votos: 0 de 0
Reyvolsam
Reyvolsam
Reyvolsam
23/05/2009
22:58:34
#6   Y como cuanto es su costo???
     Responder 
Votos: 0 de 0
Mario Sacco
Mario Sacco
Mario Sacco
24/05/2009
5:16:43
#1   Hola Reyvolsam !

Más abajo respondí tu pregunta.

Saludos !
     Responder 
Votos: 0 de 0
Ahs
Ahs
Ahs
23/05/2009
23:46:06
#7   yo quiero un circuito para grabar cartuchos de sega/atari 2600/snes o algo asi loco... como la R4 para consolas viejas xD pero grabadas en eproms flash o asi
     Responder 
Votos: 0 de 0
Mario Sacco
Mario Sacco
Mario Sacco
24/05/2009
19:08:00
#1   ¿Esta es la cola para pedir cosas? Yo quiero un Citröen C5 loco ...
     Responder 
Votos: 0 de 0
Cristian
Cristian
Cristian
24/05/2009
1:33:39
#8   AAAAAAAAAAAAA son tan buenos estos proyectos pero lastima que haun no lo puedo hacer porque no casi nada de electronica apenas conosco el ne555 y el HCF4017 y otras cositas.
     Responder 
Votos: 0 de 0
Mario Sacco
Mario Sacco
Mario Sacco
24/05/2009
5:08:54
#1   Ánimo Cristian !

Nadie nace sabiéndolo todo.
Conserva y guarda esta y otras notas que te interesen y con el tiempo, la dedicación y el entusiasmo puedes lograr cosas muy interesantes. TODOS aprendimos primero a caminar y mucho después a correr un poco ... no bajar los brazos y saber preguntar es el secreto.

Saludos !
     Responder 
Votos: 0 de 0
Diego
Diego
Diego
24/05/2009
2:32:32
#9   Muy bueno, y muy buena musica, en precio argentino, cuanto gastaria en total? sumandole un 25% mas de lo que sale por los componentes q voy a romper xD
     Responder 
Votos: 0 de 0
Mario Sacco
Mario Sacco
Mario Sacco
24/05/2009
4:55:24
#1   Hola Diego!

Respondiéndole también a Reyvolsam, el TDA7449 sale U$S3,15 (cklelectronic.com.ar)y por su parte el TDA2004 y el PIC deben andar en precios similares (yo no sé el precio actual porque ya los tenía). Un LCD debe estar en U$S 10 y la suma del resto de los componentes no debe llegar a U$S 15 por lo que en total de materiales hay menos de U$S 40 (130-140 pesos argentinos).
Después aparte hay que contar con una fuente de alimentación y un juego de lindos baffles o altavoces.
Vamos con fé Diego! no es complejo el asunto y si tienes precaución no romperás nada ;)

Saludos!
     Responder 
Votos: 0 de 0
crackzar
crackzar
crackzar
24/05/2009
11:48:25
#10   seria interesante un articulo de como fabricar un electroestimulador muscular ya que tambien la electronica se puede utilazar para la salud y el bienestar de uno mismo

saludos!
     Responder 
Votos: 0 de 0
Mario Sacco
Mario Sacco
Mario Sacco
24/05/2009
17:51:59
#1   Hola crackzar !

Anotada tu inquietud.

Saludos !
     Responder 
Votos: 0 de 0
carrocerias 84
carrocerias 84
carrocerias 84
24/05/2009
18:39:52
#11  
Perdona tienes razón,me refiero a u luxómetro, la idea es contrarrestar el efecto del sol con un toldo o persiana motorizados.
¿guata o no gusta?, unido con el termómetro podríamos tener mucho juego ¿no?,¿ que os parece Mario?




     Responder 
Votos: 0 de 0
Mario Sacco
Mario Sacco
Mario Sacco
24/05/2009
18:54:11
#1   Suena interesante ...

Podrías poner tu nombre? O tus padres te bautizaron con ése? :))
Puede ser con un microcontrolador que a través de una de sus entradas analógicas (conversor AD) tomen la info que les suministre un fotodiodo y sea "colgable" de un bus I2C .... mmmm (estoy pensando y escribiendo a la vez) ... parece atractivo y útil.
Lo meteré en la picadora de neuronas y algo haremos. No te aseguro algo rápido, pero lo haremos. Sería útil para una aplicación como la que propones y también para aquellos que trabajan en fotografía o para los que miden y controlan las radiaciones UV (si encontramos algún fotodetector adecuado).
No dejes de darte una vuelta por aquí ... tu idea es muy buena y útil.
Gracias por ayudarnos a pensar proponiendo desarrollos útiles.

Saludos Cordiales ... como quiera que te llames! :))
     Responder 
Votos: 0 de 0
netlander
netlander
netlander
26/05/2009
4:39:13
#1   hola Mario, bueno aportando un poco a tus neuronas con respecto a lo que decia "carrocerias84" puedes checar este circuito que controla la temperatura de de una tostadora y tambien de forma manual con visulaizador en LCD, mira un poco en esta pagina que ya has de conocer supongo, ahi te puede copiar el circuito y el codigo para el PIC:
http://www.sparkfun.com/commerce/product_info.php?products_id=81

espero te sirva y bueno esperimenta un poco con lo que encuentres ahi y lo pones aca para animarnos y sacar muchas ideas....saludos
       
Votos: 0 de 0
carrocerias 84
carrocerias 84
carrocerias 84
24/05/2009
19:13:18
#12   Perdona que tarde en responder, estoy con el nano y sus deberes , me llamo Crescencio
pero todos me llaman Cres.
     Responder 
Votos: 0 de 0
RockerMan
RockerMan
RockerMan
25/05/2009
1:54:41
#13   Que tal esto en una guitarra electrica??
     Responder 
Votos: 0 de 0
Max Antorcha
Max Antorcha
Max Antorcha
25/05/2009
3:34:02
#14   En serio...
     Responder 
Votos: -4 de 4
Max Antorcha
Max Antorcha
Max Antorcha
25/05/2009
3:34:47
#15   ... que es esa porqueria.

Mi estereo hace lo mismo, y se ve mas bonito.
     Responder 
Votos: 0 de 0
Mario Sacco
Mario Sacco
Mario Sacco
25/05/2009
6:07:40
#1   ¿Si hace lo mismo significa que tu estereo también es una porquería?
Lo siento por tí Antorcha.
     Responder 
Votos: 1 de 1
Max Antorcha
Max Antorcha
Max Antorcha
26/05/2009
5:08:59
#1   Mi estereo hace lo mismo, y aun mas, tu marranada tiene solo agudillos y graves, y estereo tiene Treble y Bass, dice ahi, que es mas avanzado.
       
Votos: 0 de 0
Oviedo Raúl
Oviedo Raúl
Oviedo Raúl
25/05/2009
22:07:30
#16   muy bueno el articulo Mario.

PD: deberían agregar al blog la posibilidad de descargarse en .pdf los artículos
     Responder 
Votos: 0 de 0
almostsmart
almostsmart
almostsmart
25/05/2009
22:13:13
#17   Muy interesantes todos sus articulos, es justamente lo que estaba buscando, podrian diseñar un proyecto o tutorial en donde expliquen como extraer y grabar la info de una eeprom de un tv....gracias.
     Responder 
Votos: 0 de 0
ivan
ivan
ivan
25/05/2009
22:15:27
#18   10 dolares los lcd?? donde los compras, yo tambien soy de arg
saludos
     Responder 
Votos: 0 de 0
almostsmart
almostsmart
almostsmart
25/05/2009
22:38:20
#19   Por cierto a todos estos buenos proyectos solo hace falta un ecualizador grafico utilizando algun tipo de display y variando cada frecuencia.....saludos¡¡¡¡¡ :)
     Responder 
Votos: 0 de 0
ivan
ivan
ivan
25/05/2009
22:44:19
#20   PD: totalmente MUY buena musica jajaj, te falto para cerrar el video un "desde arg, tunombre"
     Responder 
 
 
Datos  Login Registrarse
Usuario
   
Email
Website
 
Nuevo comentario:


Tags HTML permitidos: br
 

Síguenos en TwitterAgréganos a tu RSS

 

Autores