Снижение шумов
- Войдите на сайт для отправки комментариев
Вс, 19/05/2019 - 05:08
Приветствую.
Делаю курсач, в котором частотный сигнал (25...50кГц) преобразовывается при помощи ардуины в числовое значение.
Частотный сигнал непрерывно идет с аналогового датчика перемещения (самодельного): при смещении центральной пластины конденсатора меняется его емкость и частота колебательного контура, к которому он подключен. Далее частотный сигнал с колебат.контура подается на пин №2 платы Nano и в цикле я обрабатываю этот сигнал (через прерывание) в числовое значение, которое вывожу на ПК. Датчик и Nano запитываются от 12-вольтового стабилизированного БП Orient PB-0205 (просто он оказался под рукой).
Схема выглядит так:
Схема выглядит так:
Получаемые с Nano данные - зашумлены. Когда датчик не фиксирует перемещение, то картина шумов имеет такой вид (по щелчку можно увидеть полноформатную картинку):
В принципе, данные я датчика я получаю исправно, а шумы могу сгладить программным способом (красная линия на графике - это сглаживание методом скользящего среднего), но можете ли вы подсказать, как снизить шумы путем изменения схемотехники?
Не знал я что есть у ардуины пин номер 2. D2 видел, А2 видел.
А поповоду шума, то сигнал настолько чистый что я просто поражён. Этож насколько класно надо знать схемотехнику, чтобы в озвученных условиях получить сигнал с такими небольшими колебаниями в состоянии покоя?
Гц - это герцы? Тогда на графике - это уже сглаженные данные.
А картинка точно реальная, а не с симулятора?
Если не ошибаюсь, недавно читал, что максимальная частота опроса АЦП ардуино около 10 000 раз в секунду. Если необходимо оцифровывать аналоговый сигнал в 50 килогерц, то минимальная частота опроса АЦП должна быть 100 тыс раз в секунду. Кроме того видимо придется испльзовать быстрое преобразование Фурье. Но можно делать и несколько подругому. Частотомер на ардуино, вариантов в сети много.
Второй момент, на картинке шумов нет, да и откуда они возьмуться в таком количестве в обычном генераторе???
В каком виде приходит "частотный сигнал" на ардуину?
=====
* если она реально существует в железе, а не в симуляторе.
Если не ошибаюсь, недавно читал, что максимальная частота опроса АЦП ардуино около 10 000 раз в секунду. Если необходимо оцифровывать аналоговый сигнал в 50 килогерц, то минимальная частота опроса АЦП должна быть 100 тыс раз в секунду. Кроме того видимо придется испльзовать быстрое преобразование Фурье. Но можно делать и несколько подругому. Частотомер на ардуино, вариантов в сети много.
Второй момент, на картинке шумов нет, да и откуда они возьмуться в таком количестве в обычном генераторе???
Да, уточню: выход схемы колебат.контура соединяется с Digital pin 2.
А картинка точно реальная, а не с симулятора?
Картинка реальная; построена на данных, полученных с ардуины. Поверх них наложена линия (красного цвета) с результатами их программного сглаживания.
Схема достаточно неоднозначная. Есть конденсатор, есть колебательный контур к которому подводится 12 вольт постоянки -зачем?. Контур судя по картинке работает на достаточно низкой частоте и чтобы изменения его частоты были заметны на уровне шумов, то или конденсатор иметь очень большую емкость и изменять её в широких пределах, или катушка должна иметь очень большую индуктивность и высокую добротность. Оба варианта явно нерациональны для простого измерения перемещения. Все что ниже контура вопросов не вызывает-обычный частотомер. А вот "схемотехника" верхнней части- сплошные вопросы. И как её улучшать непонятно. Тем более, что данные-практически идеальные. Скорее всего-это очередной курсовой, заданый бестолковым преподом.
Картинка реальная; построена на данных, полученных с ардуины. Поверх них наложена линия (красного цвета) с результатами их программного сглаживания.
5N62V, когда я писал про АЦП, не совсем было понятно, D2 или A2 пин будет использоваться. Теперь ясно.
Тем не менее, ТС понимает что хочет, но языком не владеет, и тут ТЗ главное правильное поставить. Но с другой стороны, тут дело то в том, чтобы увеличить стабильность генератора, вопросов по поводу проекта не было. Так что вникать в проект сильно не нужно, но фото конструкции генератора хотелось бы увидеть, это может помочь.
Что можно сказать без фото.. У конденсатора не должно быть никаких лишних перемещений. Он не должен болтаться, вибрировать. По необходимости должен стоять успокоитель.
Катушка генератора должна быть намотана плотно, на прочном основании, залита эпоксидной смолой, или китайскими соплями. Выводы от катушки до конденсатора не должны проходить вблизи двужущихся частей. По возможности катушку можно экранировать. Возможно конструктивно объеденить с конденсатором, и задающим каскадом генератора.
С задающего каскада ничего не должно идти сразу на ардуино, особенно по длинному проводу. Буферный каскад, т.е. усилитель, с КУ можно даже равным одному.
Питание генератора должно быть стабильным. Не допустить попадания никакой цифры по питанию. Для этого мы ставим простой фильтр на входе по питанию, из пары конденсаторов и катушки индуктивности, как в компьютерных БП по входу.
Не желательно, чтобы емкость контура изменялась в несколько крат. Т.е. если начальная емкость 20, а конечная 2000, то это будет несколько хуже, чем начальная 1020, а конечная 3000. Но диапазон изменения частоты будет меньше.
Если есть время, возможно стоит подумать о другой концепции прибора, можно только измерять емкость, и отслеживать ее изменения.
Причем здесь сарказм. Я занимаюсь оцифровкой сигналов физического эксперимента и последующей обработкой. Ваш сигнал по моим понятиям образец чистоты. Глазом можно выделить уровни дискретизации и видеть что большинство точек лежит на двух. Что часто в наших эксперментах недостижимый идеал. Распределение Гаусса при измерениях не даст вам собрать всё в одну линию, если конечно не изменить разрешение в сторону увеличения.
Схема достаточно неоднозначная. Есть конденсатор, есть колебательный контур к которому подводится 12 вольт постоянки -зачем?. Контур судя по картинке работает на достаточно низкой частоте и чтобы изменения его частоты были заметны на уровне шумов, то или конденсатор иметь очень большую емкость и изменять её в широких пределах, или катушка должна иметь очень большую индуктивность и высокую добротность. Оба варианта явно нерациональны для простого измерения перемещения. Все что ниже контура вопросов не вызывает-обычный частотомер. А вот "схемотехника" верхнней части- сплошные вопросы. И как её улучшать непонятно. Скорее всего-это очередной курсовой, заданый бестолковым преподом.
Постараюсь по-порядку.
1. Препод тут ни причем. Возможно, дело во мне.
2. Схема "колебательного контура" образована чатотомером на таймере 555, которым определяется время заряда-разряда конденсатора, в роли которого выступают неподвижные проводящие обкладки и подвижный центральный электрод.
3. Блок питания на 12 вольт просто оказался под руками (о чем я писал в своем первом посте). Данный номанал напряжения пригоден как для запитки ардуины, так и для запитки схемы "колебательного контура" на таймере (по даташиту, допустимое напряжение для NE555 - от 4.5 до 16 вольт). Была мысль использовать понижающие DC-DC преобразователи на выходное напряжение 5 вольт для запитки, но ведь напруга и так находится в допустимых пределах как для ардуины, так и для NE555.
4. Под "улучшением схемотехники" я имел в виду:
а) добавление гальванической развязки по питанию (понижающий DC-DC) для запитки аналоговой части моего устройства (т.е. для схемы "колебательного контура");
б) добавление гальванической развязки (оптроном, например) между выходом "колебательного контура" и ногой D2 на ардуине.
А с чего исходит вывод, что нестабильность измерений связана именно с шумовыми изменениями частоты, а не с, скажем, нестабильностью самого частотомера?
Был колебательный контур, стал "колебательный контур"....
И как оказалось, и колебательного контура нет.
И половину советов можно обросить.
А была попытка убрать измерительный конденсатор, поставить постоянный конденсатор, и узнать стабильность частотомера на таймере?
2. Схема "колебательного контура" образована чатотомером на таймере 555, которым определяется время заряда-разряда конденсатора, в роли которого выступают неподвижные проводящие обкладки и подвижный центральный электрод.
Был колебательный контур, стал "колебательный контур"....
И как оказалось, и колебательного контура нет.
2. Схема "колебательного контура" образована чатотомером на таймере 555, которым определяется время заряда-разряда конденсатора, в роли которого выступают неподвижные проводящие обкладки и подвижный центральный электрод.
Катушки нет. Иначе я бы указал на схеме, что это LC-контур, как и положено делать в таких случаях.
Тем не менее, это именно колебательный контур, в котором кондёр подключен к аналогу катушки индуктивности - логической схеме на основе таймера NE555, разряжающего конденсатор через набор сопротивлений, что обеспечивает задержку сигнала. Разница с реальной катушкой заключается только в том, что здесь отсечены плавные фронты увеличения и снижения напряжения при заряде/разряде конденсатора по сравнению с колебательным контуром на основе LC-цепи. Только и всего.
Название "колебательный контур" позднее я взял в кавычки, чтобы читающие не воспринимали его как полноценный LC-контур. Возможно, это и ввело в заблуждение.
А с чего исходит вывод, что нестабильность измерений связана именно с шумовыми изменениями частоты, а не с, скажем, нестабильностью самого частотомера?
А как это можно проверить?
А была попытка убрать измерительный конденсатор, поставить постоянный конденсатор, и узнать стабильность частотомера на таймере?
Я делал вариант подключения обычного конденсатора, но это дало точно такой же разброс значений (но на другой частоте), какой вы уже видели на графике.
А целиком съему можно? Скорее всего это обычный генератор прямоугольных импульсов, на 555 таймере. А не частотомер. И по времени импульса или паузы определяем время разряда конденсатора. Если это так, то я бы предложил другую схему, в ней в любом случае скважность будет 50 процентов всегда, и нужно будет только считать импульсы. Временно поставив постоянный конденсатор схемв будет нетрудно протестировать.
Вот схема. Это так называемая подмотка для спидометров, не сильно популярная конструкция генератора, думаю потому, что скважность не регулируется. МОделировал ее мультисиме, скважность всегда 50. В модели косячные номера выводов, нужно ориентироваться по названиям. Только нужно будет подобрать r1 и r2. Их можно заменить одним резистором. Выход я брал с 3 вывода, куда резистор подключен, а не с 7.
Я делал вариант подключения обычного конденсатора, но это дало точно такой же разброс значений (но на другой частоте), какой вы уже видели на графике.
Вот схема. Это так называемая подмотка для спидометров, не сильно популярная конструкция генератора, думаю потому, что скважность не регулируется. МОделировал ее мультисиме, скважность всегда 50. В модели косячные номера выводов, нужно ориентироваться по названиям. Только нужно будет подобрать r1 и r2. Их можно заменить одним резистором. Выход я брал с 3 вывода, куда резистор подключен, а не с 7.
Вы полагаете, что не 50%-ная скважность - это причина разброса регистрируемых ардуиной значений частоты?
Вот схема.
Благодарю за ссылки. Но ведь я уже менял переменный конденсатор на постоянный, но кроме изменения частоты других изменений не было. Разброс значений как был плотным двухрядным с редкими выбросами в третий ряд, так и остался.
А с чего исходит вывод, что нестабильность измерений связана именно с шумовыми изменениями частоты, а не с, скажем, нестабильностью самого частотомера?
А как это можно проверить?
ибо есть предположение, что что-то неладно в ардуинской программе.
Благодарю за ссылки. Но ведь я уже менял переменный конденсатор на постоянный, но кроме изменения частоты других изменений не было. Разброс значений как был плотным двухрядным с редкими выбросами в третий ряд, так и остался.
промышленным частотомером.
У меня нет такой возможности.
Вы полагаете, что не 50%-ная скважность - это причина разброса регистрируемых ардуиной значений частоты?
Вы полагаете, что не 50%-ная скважность - это причина разброса регистрируемых ардуиной значений частоты?
Частотомеру скважность по барабану, он измеряет количество импульсов за временной интервал. Но измерять емкость таким методом это извращение. Здесь как минимум нужен очень хорошиий источник питания, термостабильные элементы (или вся конструкция в термостате). Хотя изменение емкости при наличии режима калибровки можно отследить достаточно точно, при условии, что временной промежуток между калибровкой и измерениями не очень значительный. Примером могут послужить электронные весы. В них калибровка происходит перед каждым взвешиванием. Если проследить за показаниями тензодатчиков, то они плавают очень сильно. Программа выбирает некоторое количество показаний в пределах допуска и фиксирует их как истинные. Следующее измерение возможно только после калибровки с пустой платформой. А если взять лабораторные с дискретой 1 мГ, то они работают в герметичной термокамере и процесс выхода на рабочий режим после включения составляет несколько часов. Они ждут пока шумы не уложатся в необходимый диапазон.
Надо смотреть на отношение сигнал-шум. К тому же ты не показал код.
Прежде, чем я заморочусь поиском промышленного конденсатора (и который вряд ли найду), объясните мне, что нам даст значение сигнал/шум? Оно как-то позволит установить источник шума?
Я полагаю, что метод измерения, а именно длины импульса, является причиной разброса. А с данной схемой будет постоянный фронт, что нам плюс, и более точным время измерения. Можно мерять и период целиком, либо по возрастающему, либо по спадающему фронту импульса.
Реализовать программно И-НЕ можно, но думаю не будет работать, да и тратить програмные ресурсы на это дело.. А вот убрать таймер 555 можно. Должно быть примерно так. Подключаем конденсатор одним выводом к земле, другим к аналоговому пину. Кроме того должна быть возможность разрядки конденсатора через мосфет, управляемый цифровым пином один, и заряжаться через резистор, от аналогового пина 2.
Алгоритм примерно как в таймере.
Подать напряжение заряда коденсатора, вкличив пин 2, запустить таймер.
Когда на входе АЦП будет 700, считать значения таймера, сбросить его, выключить заряд, и включить разряд кодненсатора, запустить таймер.
Когда на АЦП будет 400, считать значения таймера, сбросить его, выключить разряд, включить заряд, запустить таймер.
При необходимости повторить.
Можно восмользоваться внешрим компаратором. Но аппаратное решение вроде 555 таймера имхо лучше.
промышленным частотомером.
У меня нет такой возможности.
могу ещё вариант предложить: вместо "колебательного контура" прицепить другую ардуину с функцией tone(pin, 26000); и посмотреть на "шумы"
Надо смотреть на отношение сигнал-шум. К тому же ты не показал код.
Прежде, чем я заморочусь поиском промышленного конденсатора (и который вряд ли найду), объясните мне, что нам даст значение сигнал/шум? Оно как-то позволит установить источник шума?
А уровень шумов в один бит - это вообще не шум, на что тебе и указали в посте #1
А еще я бы обратил внимание на один момент. Между основными сигналами на графике примерно 450 герц. Остальные отклонения примерно ему кратны. Вот что это за частота, допольно интересно, сигнал не выглядит как зашумленный. Нет никакого подозрения на случайность, все закономерно. Найдете закономерность, справитесь с ней.
А еще я бы обратил внимание на один момент. Между основными сигналами на графике примерно 450 герц. Остальные отклонения примерно ему кратны. Вот что это за частота, допольно интересно, сигнал не выглядит как зашумленный. Нет никакого подозрения на случайность, все закономерно. Найдете закономерность, справитесь с ней.
Возможно, что это изврат. Но это лишь ваше сугубо личное мнение, которое вы вряд ли сможете обосновать, поскольку измеритель таки работает и, как недавно заметил nik182, "сигнал по моим понятиям образец чистоты"...
Здесь как минимум нужен очень хорошиий источник питания, термостабильные элементы (или вся конструкция в термостате). Хотя изменение емкости при наличии режима калибровки можно отследить достаточно точно, при условии, что временной промежуток между калибровкой и измерениями не очень значительный. Примером могут послужить электронные весы. В них калибровка происходит перед каждым взвешиванием. А если взять лабораторные с дискретой 1 мГ, то они работают в герметичной термокамере и процесс выхода на рабочий режим после включения составляет несколько часов. Они ждут пока шумы не уложатся в необходимый диапазон.
Спасибо. Нюансов про электронные весы я не знал.
Но всё-таки интересно, вы читали мой первый пост? Там разве было написано, что мне нужно сделать устройство для военной приемки - в термокамере, с термостабильными элементами, с калибровкой значений перед каждым замером, с процессом многочасового выхода на рабочий режим?)))
Но всё-таки интересно, вы читали мой первый пост?
Но всё-таки интересно, вы читали мой первый пост?
Разумеется (cм. #18).
И да, измеритель таки работает, как бы вам ни хотелось слышать обратное.))) Я не задал ни одного вопроса про неработоспособность устройства. Будьте впредь внимательнее.
Но всё-таки интересно, вы читали мой первый пост?
Разумеется (cм. #18).
Ещё раз: очень похоже, что ваша секретная программа измерения частоты - кривая. Проверяется просто: один из двух узлов ("контур" и "частотомер") заменяется на заведомо исправный.
прицепите кварцованную ардуину с функцией tone(), результат может плавать на единицы герц.
Я полагаю, что метод измерения, а именно длины импульса, является причиной разброса. А с данной схемой будет постоянный фронт, что нам плюс, и более точным время измерения. Можно мерять и период целиком, либо по возрастающему, либо по спадающему фронту импульса.
Реализовать программно И-НЕ можно, но думаю не будет работать, да и тратить програмные ресурсы на это дело.. А вот убрать таймер 555 можно. Должно быть примерно так. Подключаем конденсатор одним выводом к земле, другим к аналоговому пину. Кроме того должна быть возможность разрядки конденсатора через мосфет, управляемый цифровым пином один, и заряжаться через резистор, от аналогового пина 2.
Алгоритм примерно как в таймере.
Подать напряжение заряда коденсатора, вкличив пин 2, запустить таймер.
Когда на входе АЦП будет 700, считать значения таймера, сбросить его, выключить заряд, и включить разряд кодненсатора, запустить таймер.
Когда на АЦП будет 400, считать значения таймера, сбросить его, выключить разряд, включить заряд, запустить таймер.
При необходимости повторить.
Да, как вариант...
Но тогда как быть с наводками, когда конденсатор-измеритель напрямую будет подключен к пину ардуины??? Аналоговые входы ардуины сами по себе шумные, а тут на них предлагаете повесить целую антенну, которая, без сомнения, будет ловить на себя всё, что только сможет и отдавать это в АЦП ардуины.
Думаю, что лучше наоборот, гальванически разделить аналоговую и цифровую части устройства. Например, добавлением гальванической развязки по питанию (понижающий DC-DC) для запитки аналоговой части, чтобы исключить шумы, идущие по цепи питания. И добавлением развязки (оптроном, например) между выходом "колебательного контура" и ногой D2 на ардуине.
Еще одна небольшая идея, для нахождения источника шума, ну мой связистский метод. Нет связи, ищем последовательно от конца к началу, или наоборот..
Постоянный конденсатор уже пробовали, значит проблемы не с измерительным устройтсов. Осциллографа или частотомера нет, значит нужно взять вторую ардуино, это думаю будет проще, при помощи таймеров и делителей, и никак иначе, собрать на ней генератор прямоугольных импульсов, и посмотреть, насколько стабилен измеритель, относительно почти образцового генератора. Ну или хотябы HM8030-6 взять, у него меандр тоже ничего, но всего один канал будет...
Вот если и после этого будет такой шум... То косяк только в методе измерения. А то, что там нет огромного ряда промежуточныз значений.. тут два варианта уже прозвучало, с думаю варными причинами.
Дополняю по поводу 47. Не сейчас может.. но обязательно потом пригодится. https://www.bookasutp.ru/Chapter3_5.aspx
И да, измеритель таки работает, как бы вам ни хотелось слышать обратное.))) Я не задал ни одного вопроса про неработоспособность устройства. Будьте впредь внимательнее.
Жаль, но осциллограммы не будет. У меня нет осциллографа.
Осциллограмму сделать можно. Есть звуковая карта ПК. Просто на время проведения измерений спустится до 10 примерно килогерц. Можно ниже. А если в звуковухе еще и АЦП на 192, именно АЦП, то можно и такие частоты показать.
Дополняю по поводу 47. Не сейчас может.. но обязательно потом пригодится. https://www.bookasutp.ru/Chapter3_5.aspx
Спасибо за ссылку. Но ведь там буквально в самом первом абзаце написано: "Мы рекомендуем избегать применения гальванически связанных цепей, ...".
Про использование двух гальванических развязок я тут писал уже ДВАЖДЫ, но участники темы почему-то упорно не видят этого, предлагая мне то использовать методы военной приемки с термокамерами, то промышленные эталонные конденсаторы, которых, у меня под руками, конечно же нет и вряд ли будут. А один залётный юзер, не читая тему, почему-то спроецировал на меня свои фобии и пытался меня убедить в том, что у меня ничего не работает, а мир - это голограмма. При этом он зачем-то плюсует свои же собственные комменты.)))
Через меня таких специалистов прошло... Утверждает, что Я ВСЕ ДЕЛАЮ ВЕРНО, А ОНО НЕ РАБОТАЕТ, значит ниче не знаю, думайте сами. Прихожу, а там к примеру езернет сделан по витой паре 200 метров... Все абсолюбно правильно, но на 200 метров. Надо объяснять, почему не работает. Вам говорят, ищите источник, и SSSS может уже несколько в грубой форме, но все верно сказал. Так что удачи, информации и лишней, ввиду недостаточных объяснений, и нужной у Вас достаточно. Ответа, почему так никто не даст, будет только ответ как искать проблему. Не даст потому что не сможет. Методов и возможных источников у Вас уже вагон, еще раз повторюсь. На денек другой работы, если быстрее не найдете. Так что до встречи примерно через сутки, проект интересный, потом продолжим. А гальваническая развязка, это тут не основное. Фото сделайте того, что получилось. Может еще что даст, и скетч бы не помешал.
Осциллограмму сделать можно. Есть звуковая карта ПК. Просто на время проведения измерений спустится до 10 примерно килогерц. Можно ниже. А если в звуковухе еще и АЦП на 192, именно АЦП, то можно и такие частоты показать.
Я слышал про такой метод съема сигналов (через звуковую карту), но разбираться с нюансами того, как их снимать, мне сейчас вообще не в жилу... Ну просто никак...(((
Может, всё-таки начнем с гальванических развязок, которые я предлагал выше и о которых написано в Энциклопеции АСУТП, ссылку на которую вы мне дали? Потому что остальной "вагон" методов для меня малореализуем.
Имеет ли право на жизнь такое решение?
Вот схема. Это так называемая подмотка для спидометров, не сильно популярная конструкция генератора, думаю потому, что скважность не регулируется. МОделировал ее мультисиме, скважность всегда 50. В модели косячные номера выводов, нужно ориентироваться по названиям. Только нужно будет подобрать r1 и r2. Их можно заменить одним резистором. Выход я брал с 3 вывода, куда резистор подключен, а не с 7.
Частота тоже плывет при нагреве, но не сильно.
Имеет, но там, где это необходимо. Я не вижу тут необходимости вообще чтото развязывать. Это не длинные линии. Развязка по питанию пусть будет, для безопасности. Но не вядя всего, сказать невозможно. А тема расползлась, источников много, и учитывая что моск в зоне GMT+10 работает в данный период времени недостаточно продуктивно, точ еще раз попращаюсь, до завтра.