Preamplificador Stéreo HiFi: Diseño y Construcción

Excelente proyecto, ya voy preparando los materiales, podría colocar el I2C para el display , saludos y gracias por compartir el proyecto
 

Dr. Zoidberg

Well-known-Papá Pitufo
Ahhh...hablás del modulito!
Pero en verdad me sobran pines, así que agregar un módulo de esos es un gasto adicional y también un punto de falla adicional.
Si a medida que avance empiezan a faltar pines, es una idea que voy a considerar (y) (y)
Gracias!!
 

Dr. Zoidberg

Well-known-Papá Pitufo
Estuve meditando como hacer el reset inicial del 74HC595 y la carga en el latch de salida y llegué a esto:
11-reset-HC595.jpg
EN TEORÍA se genera el pulso de carga del latch a partir del propio pulso de reset, pero viene retrasado como 900us. Acá está un poco mas ampliado:
12-reset-HC595-zoom.jpg
El trazo verde es la tensión de alimentación (que he hecho que se demore 10ms en alcanzar los 5V), el trazo lila es el escalón de reset y el trazo celeste es el "pulso" que manda al latch de salida el registro resetado.
EN TEORÍA todas las tensiones y tiempos involucrados cumplen las especificaciones del datasheet, y el diodo solo está para hacer una OR con diodos con otro diodo que estará conectado al pin del Arduino que dispara el almacenamiento. He usado un Schottky para que no caiga tanta tensión del circuito pasivo y asegurarme de llegar a los 4V que garantiza el 1 lógico en el pin RCLK (pero voy a usar 1N60s "truchos" que son Schottky y no de germanio).
RinHC es la resistencia de entrada del pin del HC595, y Rdrain es una que agregué para que se descargue mas rápido el capacitor C2.

Si el engendro en verdad funciona, les cuento mas tarde.
 

Dr. Zoidberg

Well-known-Papá Pitufo
Bue....finalmente fué completamente distinto.
La idea del reset y después captura con el mismo pulso no es viable por que hay mucha interacción entre la red RC y los pulsos de captura del latch RCLK del 74HC595. Como ni voy a pensar en modificar el software del Arduino, hice una más fácil basada en un par de comentarios en un foro de la web: el datasheet del HC595 no dice nada del estado en el que "arrancan" los latches de salida entonces hay que ponerlos en 0 desde el arranque por que si inician con cualquier verdura. Pero como lo que tengo que activar son relays excitados por un ULN2003, y este tiene resistencias de pull-down en las entradas, si yo pongo las salidas del HC595 en tri-state los relays no se van a excitar por que el ULN2003 necesita un 1 en las entradas para activarlos. Entonces la idea es:
1-Reseteo con una red RC el registro serie del HC595 (no los latches de salida por que esos no hay como tocarlos). Este reset dura (por ahora, ya lo voy a achicar) 15ms desde que recibe alimentación el sistema.
2-Mantengo desactivadas las salidas poniendo a 1 la entrada OE\ mediante otra red RC pero con una constante de tiempo mucho mas grande, mas o menos 300ms en este caso desde que recibe alimentación el sistema.
3-En menos de esos 300ms el Arduino ya debe haber arrancado y estar ejecutando el programa, y lo primero que hace es pulsar la línea RCLK para transferir el registro resetado a los latches de salida, así que cuando cuando la tensión de las red RC cae por debajo del umbral del 0, las salidas se activan y ya están todas en 0.

En ese foro proponian usar una línea adicional para para activar OE\ cuando fuera necesario, pero ya 4 líneas me parecían demasiado para activar solo 5 relays. La hice mas fácil y la activé por tiempo y me ahorro una línea para otras cosas (el MUTE\ del PGA2310).

Esta es la simulación para ver los tiempos:
13-reset-HC595-final-sim.jpg
Y este es el circuito final:
13-reset-HC595-final.jpg
Ahora hay que achicar C1 por que es demasiado tiempo, pero eso ya es fácil.
 

Dr. Zoidberg

Well-known-Papá Pitufo
Hoy avancé un poco más e hice la prueba con un Arduino Nano en lugar de UNO que uso para los desarrollos, en algunas oportunidades se iniciaba con un LED (equivalente a un relay en la prueba) encendido...y a veces dos, ambos aleatorios. Luego de meditar un poco el problema y leyendo lo que alguna vez postié acá, llegué a la conclusión que el bootloader del Arduino Nano chino era un cachivache y se demoraba demasiado en entregar el control al programa real. Buscando un poco por la web, encontré que ese bootloader - aparte de ser mas lento y demorar mas en entregar el control - al programa - solía tener algunos problemas de cuelgues (pero a mí siempre me funcionó bien).
Con el Arduino UNO no tenía problemas por que trae un bootloader mas moderno y optimizado (parece que los UNO míos si son originales :unsure:) que se llama Optiboot, que es mucho mas pequeño - uno cuarto del tamaño del viejo - y que entrega el control casi inmediatamente, así que dije: vamos a cambiar el bootloader :eek::eek:

Revolviendo la web encontré esta excelente página de un flaco que explica con lujo de detalles como se instala el Optiboot en un Nano...usando otro Nano como programador, así que tuve que adaptarlo para usar el UNO como programador...y anduvo como piña (y) (bueee...anduvo como piña luego de que puse el capacitor de 10uF que dice el flaco, por que si nó se pudría la transferencia del bootloader).

Ahora se comunica a 115K con la PC (antes lo hacía a 57800) y entrega el control en una fracción de segundo, aunque voy a tener que revisar si ya funciona OK o alargar un poquito la constante RC de la línea OE\, por que este bootloader es mas nuevo que el del UNO y tiene algunas cosas que podrían ser importantes, pero no he revisado el código para ver la demora en entregar el control.

14-Nano-nuevo-bootloader.jpg
Ahí en la foto se vé el UNO con el cablerío de programador ISP y el Nano ya flasheado y por probar un ejemplo de fade que trae el IDE para ver que tal vá.

PD: Ya que estoy, mejor flasheo todos los Nano que tengo.

EDITO:
Revisando el código fuente del Optiboot parece que demora 1 segundo en entregar el control, aunque hay algunas opciones de configuración alternativas pero eso requiere recompilar todo...y la verdad es que no quiero montar todo un sistema de desarrollo para recompilar el Optiboot ==> habrá que extender un poco la constante RC y listo.
 
Última edición:

Dr. Zoidberg

Well-known-Papá Pitufo
Les dejo este link por si a alguien le interesa leer sobre el bootloader Optiboot.
El chabón que lo hizo la descose MAAAAL !!!!!!
Revisando el código fuente del Optiboot parece que demora 1 segundo en entregar el control, aunque hay algunas opciones de configuración alternativas pero eso requiere recompilar todo...y la verdad es que no quiero montar todo un sistema de desarrollo para recompilar el Optiboot ==> habrá que extender un poco la constante RC y listo.
No es taaaan así :aplauso::aplauso::aplauso::aplauso::aplauso::aplauso: Al alimentar el Arduino este arranca el código de una!!!
Mejor lo dejamos como está...
 
Última edición:

Dr. Zoidberg

Well-known-Papá Pitufo
Hace un tiempo me "regalaron" este trafo...en pésimas condiciones...y hoy a la mañana encontré un negocio que vende de todo para bobinado de trafos, motores y demás yerbas. Yo alguna vez compré cable esmaltado ahí, pero ha crecido bastante, así que voy a hacer la prueba de calcular y rebobinar este trafo para usarlo en el preamplificador, por que necesita 15+15V para los AO y el PGA2310, necesita 5V para la parte lógica y necesita 12V para los relays, así que pinta un lindo ejercicio de aprendizaje de como hacer trafos.
15-trafo-a-recuperar.jpg
Tiene laminado 112, si bien el trafo no es muy chico, si lo es la ventana...veremos si dá la potencia necesaria y le caben los bobinados :unsure::unsure:.

PD 1: esta gente parece también rebobina motores pero no transformadores...o al menos eso le entendí, voy a tener que volver para conversar con alguien "mas técnico".

PD 2: No me pregunten que le pasó a este trafo...así lo recuperé de la basura y está incinerado por todas partes.
 

Dr. Zoidberg

Well-known-Papá Pitufo
Y bue...empecé a soldar los pelos de cada PCB. Me demoré como una hora y media soldando una de ellas, así que la otra será mañana.
Así va saliendo...
1- Ahí se ven los pelos soldados del lado de los componentes
16-PCB-tono-pelos.jpg
2-Estos son los pelos del lado del cobre
17-PCB-tono-pelos-CU.jpg
3- y acá están recortados del lado de los componentes.
18-PCB-tono-pelos-recortados.jpg
Mañana sigo con el otro PCB...por que es un parto hacer esto.
 

Dr. Zoidberg

Well-known-Papá Pitufo
Hoy logré quitarme la vagancia de encima y terminé los puentes entre caras de los PCB. Los que restan se forman cuando coloque y suelde los componentes:
19-PCB-listo-compo.jpg

20-PCB-listo-cobre.jpg

y también logré encontrar los pulsadores que había comprado para controlar el preamplificador vía microcontrolador, pero estoy dudando si van a servir o nó... el pituto solo tiene un largo de 7mm y deberá atravesar el contra-frente de acero, el frente de aluminio y la separación entre ellos... que suman como 10mm. Estaba pensando en no usar contrafrente, pero me van a molestar las tuercas de los potenciómetros...
21-pulsadores-control.jpg
 

Dr. Zoidberg

Well-known-Papá Pitufo
Un poco más de avance: hoy soldé todas las resistencias excepto las del control de volumen por que no voy a usar el que está en las placas sino el del PGA2310. Mañana supongo que podré poner los zócalos de los AO y los capacitores.
22-resistencias-filtros-ok.jpg
y también aproveché para estrenar un alicate nuevo que me regaló la patrona.
alicate-proskit-nuevo.jpg

Continuará...
 

Dr. Zoidberg

Well-known-Papá Pitufo
Al fin terminé de soldar los componentes en los PCB del control de tono de frecuencia variable!!!!
Varias horas me tomó el chiste, pero si no lo hacía hoy no iba a poder hacerlo hasta la semana próxima...o la otra.
Les dejo una foto:
22-tonos-listos.jpg
Me faltaron dos conectores 🤬🤬 y cuando los compre tengo que aramar los potenciómetros para probar el funcionamiento con el ARTA.

Continuará...
 

Temas similares


Arriba