¿Qué tiene de malo este diseño simple de PCB? (sintetizador midi)

Estoy diseñando un sintetizador simple con Arduino (solo Atmega IC) y funciona bien. Lo único son estos clics molestos que apenas escucho constantemente si subo un poco el volumen.

Tuve este problema en el pasado, por eso estaba tratando de solucionarlo diseñando la PCB, separando 3 sectores de tierra en partes digitales y analógicas en un lado de la PCB. En teoría, eso debería evitar que la parte digital contamine la parte analógica. Parece que no funcionó del todo porque todavía puedo escuchar los clics .

Hay dos cosas haciendo clics al mismo tiempo , según mis pruebas:

1- el cristal Atmega: si quito el Atmega IC, ese clic se detiene. **ACTUALIZACIÓN: **Ese clic fue causado por el programa Atmega. Pero todavía tengo estos otros sonidos de clic midi:

2- los mensajes Midi: Cuando Midi no está conectado, no hay clic. Después de enviar cada mensaje midi (una nota o un reloj, por ejemplo) escucho un clic. Por ejemplo, el reloj hace un flujo constante de clics y se acelera si aumento el tempo en el dispositivo maestro que envía el BPM. Si tomo el Atmega IC y envío mensajes midi, puedo escuchar los clics, por lo que es independiente de eso. Por eso creo que es un problema de diseño de PCB

Para eliminar el problema, eliminé la parte LM358 donde están las "tijeras" en la imagen esquemática y solo obtengo la salida donde dice PWM, esa es solo la salida del atmega IC.

Entonces, mi pregunta es: ¿ Ve algún defecto de diseño de PCB? ¿ Qué podría estar causando los ruidos de clic ?

¡¡Gracias!!

PD: Puedo subir el archivo de Eagle si se solicita. tarjeta de circuito impreso][]

No estoy seguro si estás totalmente en lo cierto con lo que estás haciendo aquí... te das cuenta de que quitar el cristal probablemente hace que el programa deje de funcionar, ¿verdad? ¿Has probado a cambiar el software para ver qué efecto tiene?
Sus clics bien pueden ser causados ​​por el mantenimiento del temporizador del núcleo de Arduino, esto es bastante notorio por interferir con las operaciones en curso sensibles a la demora. El resultado audible puede no ser a la velocidad del temporizador, sino a una diferencia armónica entre eso y la velocidad de la operación sensible al tiempo.
De hecho, lo más probable es que sea un problema de software. Como una solicitud de servicio de interrupción que se interpone en el camino. No sucedería sin el cristal porque entonces, el atmega cambia al oscilador interno y los tiempos ya no son los mismos, y no sucedería cuando no se usa midi porque entonces no hay tal interrupción en el servicio. Dudo que esto pueda ser un problema de diseño de PCB.
@ChrisStratton Lo que estoy haciendo es quitar el Atmega IC, no el cristal. Sé que detiene el programa, lo que quise probar es que uno de los clics proviene del Atmega (o es de cristal). Ok, acabo de cargar un programa vacío y ese clic se detuvo. Tenías razón, ¡gracias a todos! Pero hay un clic más fuerte presente cada vez que se reciben mensajes Midi, ¡esa es mi principal preocupación! Realmente no sé qué más probar. ¿Qué pasa con las ferritas? No se como usarlo y no creo que los pueda conseguir aquí en mi ciudad :/
¿Puedes registrar la salida con un osciloscopio?
"Pero hay un clic más fuerte presente cada vez que se reciben mensajes Midi", lo más probable es que sea un problema de software y debe solucionarse en el software. No será trivial: el primer requisito será comprender cada parte del software que se ejecuta en el dispositivo, lo que significa estudiar o eliminar el código del núcleo Arduino utilizado.
El 'clic' o la discontinuidad probablemente se deba a la sobrecarga de procesamiento adicional de la recepción del mensaje MIDI. Es posible que pueda ingresar y optimizar esto y reducir el problema ... pero si su microcontrolador está ocupado pensando en su entrada en lugar de generar una salida de sonido, obtendrá un clic. Otro enfoque sería descubrir cómo priorizar la generación del sonido sobre todas las demás tareas, pero eso también podría presentar otros problemas.
@CL: Grabé el audio, si haces zoom en un editor de sonido puedes ver la forma de la onda. Son solo puntas finas. Este es el mensaje midi del reloj que se está recibiendo. Al principio lo acelero de 100BPM a 300BPM y luego lo bajo de nuevo, por eso se escucha un tono. Se ha aumentado la ganancia del archivo de audio para que pueda escuchar los clics fácilmente. Descubrí que parece que estos clics están "en el aire" y son recogidos por el amplificador operacional LM358, incluso si tomo el Atmega, e incluso si conecto la entrada del amplificador operacional a GND, todavía puedo escuchar cómo se amplifica.
Olvidé agregar el archivo, ¡aquí está! dl.dropboxusercontent.com/u/103115555/midi%20clock.wav

Respuestas (1)

La hoja de datos 6N137 dice:

Se debe conectar un condensador de derivación de 0,1 μF entre los pines 5 y 8.

Esto es necesario no solo para evitar que el 6N137 oscile, sino que también protege el resto del circuito de caídas en la fuente de alimentación.

Tiene un inductor frente a la fuente de alimentación digital de ATmega, pero podría ser una mejor idea moverlo/copiarlo para proteger la parte analógica de su circuito de cualquiera de las partes digitales.

Gracias por el consejo. Probé desde 0.1uF hasta 3300uF y el sonido es el mismo. Como me aconsejó, también corté el rastro de VCC y lo conecté a través de un inductor, pero no hice nada.