Я занимаюсь разработкой печатной платы для аналоговых датчиков. Он использует внутренний АЦП на PSoC3. Как обычно, приложение очень ограничено в пространстве (11 мм х 21 мм), поэтому мне пришлось пойти на некоторые компромиссы в компоновке печатной платы, чего я бы не сделал на более крупной печатной плате.
Плата питается от регулируемых 6 В и содержит два линейных стабилизатора 5 В. MCP1702 для цифрового питания, и MIC5205 для аналогового питания. Плата считывает пять датчиков А1324 с эффектом Холла. Каждый выходной сигнал с эффектом Холла фильтруется RC-фильтром 100nF + 1k. Один датчик находится на самой плате (справа внизу). Другие 4 подключаются к правому 6-контактному разъему.
Микросхема выступает в качестве ведомого SPI, но выборки АЦП всегда проводятся между транзакциями SPI, поэтому SPI не должен мешать аналоговым сигналам.
К сожалению, я все еще вижу некоторый шум (около 1,5 LSB в 12 битах) на аналоговых сигналах, и мне интересно, есть ли что-то, что я мог бы сделать по-другому в макете, чтобы улучшить его.
Пожалуйста, откройте изображение в новой вкладке, чтобы увидеть его в более высоком разрешении.
Добавлено:
Другие конструкции печатных плат, которые я сделал, используя MCP3208 , и те же двойные источники питания 5 В, те же датчики и те же фильтры RC, не достигли заметного шума при 12 битах.
АЦП на PSoC3 имеет тип дельта-сигмы. Эта версия PSoC ограничена 12 битами, но другой номер детали имеет 16-битный АЦП (хотя и с более низкой частотой дискретизации).
Я забочусь о шуме и очень хотел бы продвинуть его немного дальше к 12 ENOB. Причина не в точности, а в измерении скорости. В настоящее время этот уровень шума делает невозможным точное управление положением и скоростью робота.
Добавлено:
Схематическое. Извините, это немного тесновато, но вы можете просто прочитать значения.
Ответы:
Вы всегда будете иметь некоторый шум на АЦП, особенно типы SA (Последовательное приближение) на кристалле микроконтроллера. Сигма-дельта лучше работает для гауссовского шума, поскольку они интегрируют его. Не ожидайте 12 ENOB от 12-битного АЦП.
Шум контроллера является причиной, по которой большинство микроконтроллеров не дают более высокого разрешения, чем 10-битное, а AVR предлагает возможность остановить микроконтроллер во время сбора данных АЦП, что должно подтвердить, что по крайней мере часть шума исходит от контроллера ,
Но вопрос: тебя это волнует? 1,5-битный шум на 12-битном АЦП все еще оставляет вам более 10 бит или лучше, чем 0,1%. Насколько точен ваш датчик Холла? Другие компоненты в цепи?
редактировать
Вы , кажется , использовать внутренний генератор в PSoC, так как я не вижу кристалл на схеме. Все выглядит хорошо: у вас правильная развязка. Помимо внутренних часов, единственной высокоскоростной частью в схеме, кажется, SPI, но вы говорите, что это будет молчать во время измерений. Остальная часть платы имеет постоянный ток или, вероятно, относительно редко, как датчики с эффектом Холла. И это Damn Small ™, который также помогает: более короткие следы улавливают меньше шума. Конечно, я мог бы придираться к MCP1702, который я повернул бы на 90 ° против часовой стрелки, чтобы выходной конденсатор можно было разместить еще ближе к контактам, но это не решит проблемы.
Я вижу только одно изменение в макете, которое может улучшить ваше отношение сигнал / шум:
В техническом паспорте предложено разделение аналоговой и цифровой наземных плоскостей на «Оптимальные аналоговые характеристики» (стр. 10).
В остальном: это маленькая доска, как я уже сказал, это означает короткие следы и развязку в пределах нескольких мм. Поэтому я хотел бы еще раз взглянуть на источник шума. Главный подозреваемый - часы PSoC. PSoC может работать при очень низком напряжении питания, и это уменьшит его шум. Конечно, было бы очень полезно, если бы VDDA также пришлось снизить, но я нигде в таблице не читал, что VDDA не должен быть выше, чем VDDD.
Далее АЦП. На странице 55 таблицы указано, что SINAD 66 дБ, это 11 бит, что близко к тому, что вы получаете сейчас. Лист данных A1324 дает нам шум 7 мВрр при напряжении покоя 2,5 В. Это также намного меньше, чем отношение сигнал / шум 72 дБ, которое может дать 12-битное напряжение . Вы можете немного улучшить это с помощью дополнительной фильтрации.
Вы упоминаете о лучшей производительности MCP3208, но это АЦП вдали от микроконтроллера, и это может объяснить, как АЦП SA может работать лучше, чем сигма-дельта с тем же разрешением.
Итак, варианты, которые я вижу: снизить напряжение цифрового источника питания и разделить аналоговое и цифровое заземление.
источник
Я согласен с вышеизложенным. 1.5LSB шума довольно разумно. http://www.cypress.com/?docID=39346 показывает минимальный SINAD 66 дБ в 12-битном режиме, предлагая ENOB = 10,7.
Я знаю, что это не прямой ответ на ваш вопрос, но я собираюсь интерпретировать вопрос как «как я могу исправить свои проблемы с контролем скорости?» а не «Как мне получить более 10,5 ENOB?».
Как вы дифференцируетесь? Достаточно ли у вас запасных тактов, чтобы сделать что-то более гладкое, чем центральная разница с двумя точками? Может быть, получится что-то 5 сэмплов, оптимизированное в Matlab?
Кроме того, это может звучать немного забавно, но шум скорости ухудшается, когда вы производите выборку быстрее
Не оскорблять, но также быстро взглянуть, чтобы убедиться, что в вашем контроле скорости нет ничего глупого, например, проблемы с преобразованиями между целыми числами со знаком и без знака, и убедиться, что ваши целые числа достаточно широки, чтобы избежать ошибок переполнения при различении , Мои собственные уравнения управления часто бывают достаточно сложными, и я иногда явно разыгрываю каждую операцию.
Наконец, хотя, возможно, наиболее вероятно, вы теряете эффективные биты сверху, не увеличивая почти до полной шкалы? Если это так, вы можете усилить или, возможно, предоставить меньший Vref.
источник