Что не так с этой простой конструкцией печатной платы? (миди синтезатор)

Я разрабатываю простой синтезатор с Arduino (только микросхема Atmega), и он отлично работает. Единственное, это раздражающие щелчки, которые я почти не слышу постоянно, если немного увеличить громкость.

У меня была эта проблема в прошлом, поэтому я пытался исправить ее, спроектировав печатную плату, разделив 3 основных сектора на цифровую и аналоговую части на одной стороне печатной платы. Теоретически это должно остановить цифровую часть, загрязняющую аналоговую часть. Кажется, это не совсем сработало, потому что я все еще слышу щелчки .

Согласно моим тестам, есть две вещи, которые делают клики одновременно :

1- кристалл Atmega: если я удалю микросхему Atmega, этот щелчок прекратится. **ОБНОВЛЕНИЕ: **Этот щелчок был вызван программой Atmega. Но у меня все еще есть другие звуки щелчка миди:

2- сообщения Midi: когда Midi не подключен, щелчка нет. После отправки каждого миди-сообщения (ноты или часов т.е.) я слышу щелчок. Например, часы делают постоянный поток щелчков и ускоряются, если я увеличиваю темп на главном устройстве, отправляющем BPM. Если я возьму Atmega IC и отправлю миди-сообщения, я слышу щелчки, так что это не зависит от этого. Вот почему я думаю, что это проблема дизайна печатной платы.

Чтобы устранить проблему, я удалил часть LM358, где на схематическом изображении показаны «ножницы», и я просто получил выходной сигнал, на котором написано PWM, это просто выходной сигнал микросхемы atmega.

Итак, мой вопрос: вы видите какие-либо недостатки дизайна печатной платы? Что может быть причиной щелчков ?

Спасибо!!

PD: Я могу загрузить файл Eagle, если потребуется. печатная плата][]

Я не уверен, что вы полностью понимаете, что вы здесь делаете... вы понимаете, что удаление кристалла, вероятно, остановит работу программы, верно? Вы пытались изменить программное обеспечение, чтобы увидеть, какой эффект это имеет?
Ваши щелчки вполне могут быть вызваны обслуживанием таймера ядра Arduino, это довольно печально известно тем, что мешает текущим операциям, чувствительным к задержке. Звуковой результат может быть не на частоте таймера, а скорее на гармонической разнице между ней и скоростью чувствительной ко времени операции.
На самом деле, это, скорее всего, проблема программного обеспечения. Как запрос службы прерывания, который мешает. Без кристалла этого бы не произошло, потому что тогда атмега переключается на внутренний осциллятор, и тайминги больше не совпадают, и этого не произойдет, если миди не используется, потому что тогда нет такого прерывания для обслуживания. Я сомневаюсь, что это может быть проблемой разводки печатной платы.
@ChrisStratton Я удаляю микросхему Atmega, а не кристалл. Я знаю, что это останавливает программу, я хотел доказать, что один из щелчков исходит от Атмеги (или ее кристалла). Хорошо, только что я загрузил пустую программу, и этот щелчок прекратился. С тобой все было в порядке, спасибо всем! Но каждый раз, когда принимаются сообщения Midi, раздается более громкий щелчок, что меня больше всего беспокоит! Я действительно не знаю, что еще попробовать. А ферриты? Не знаю, как им пользоваться, и не думаю, что смогу найти их здесь, в моем городе :/
Можете ли вы записать вывод с помощью осциллографа?
«Но каждый раз, когда принимаются сообщения Midi, раздается более громкий щелчок», скорее всего, это проблема программного обеспечения, и ее необходимо исправить в программном обеспечении. Это не будет тривиально — первым требованием будет понимание каждого бита программного обеспечения, работающего на устройстве, что означает либо изучение, либо удаление используемого кода ядра Arduino.
«Щелчок» или прерывание, вероятно, вызваны дополнительными затратами на обработку при приеме MIDI-сообщения. Возможно, вы сможете пойти и оптимизировать это и уменьшить проблему ... но если ваш микроконтроллер занят обдумыванием своего ввода, а не генерированием звука, вы получите щелчок. Другим подходом было бы выяснить, как расставить приоритеты по созданию звука над всеми другими задачами, но это также может привести к другим проблемам.
@CL: Я записал звук, если вы увеличите масштаб звукового редактора, вы увидите форму волны. Это просто тонкие шипы. Это принимаемое MIDI-сообщение часов. Сначала я ускоряю его со 100 BPM до 300 BPM, а затем снова уменьшаю, поэтому вы можете услышать тон. Усиление аудиофайла было увеличено, чтобы вы могли легко слышать щелчки. Я обнаружил, что кажется, что эти щелчки «витают в воздухе» и улавливаются операционным усилителем LM358, даже если я выключаю Atmega, и даже если я подключаю вход операционного усилителя к GND, я все равно слышу, как он усиливается.
забыл добавить файл, вот он! dl.dropboxusercontent.com/u/103115555/midi%20clock.wav

Ответы (1)

В техническом описании 6N137 написано:

Шунтирующий конденсатор емкостью 0,1 мкФ необходимо подключить между выводами 5 и 8.

Это требуется не только для предотвращения колебаний самого 6Н137, но и для защиты остальной схемы от провалов в питании.

У вас есть катушка индуктивности перед цифровым блоком питания ATmega, но может быть лучше переместить/скопировать ее, чтобы защитить аналоговую часть вашей схемы от любых цифровых частей.

Спасибо за совет. Я пробовал от 0,1 мкФ до 3300 мкФ, и звук такой же. Как вы посоветовали, я также перерезал дорожку VCC и подключил ее через индуктор, но ничего не сделал.