Как можно реализовать точное измерение в АЦП ардуино слабое переменное напряжение?
- Войдите на сайт для отправки комментариев
Пт, 12/11/2021 - 10:59
Есть переменный сигнал 1...50 мВ звуковой частоты.
Каким образом лучше преобразовать его в постоянное напряжение для точного измерения уровня (подачи на АЦП)?
Ещё вопрос - как можно реализовать простые управляемые полосовые фильтры, если входной сигнал - это "белый шум".
Нужно измерить АЧХ устройства с точностью не хуже 0,3 дБ.
Куда копать?
Поделитесь опытом плз.
Копать в сторону аренды или покупки нормального лабораторного оборудования
Копать в сторону аренды или покупки нормального лабораторного оборудования
И что же ваш метод? Засорять форум и молиться, что кто-то волшебно за пять минут научит как сделать вещь, на которую у профессионального инженера уйдет несколько месяцев?
Я не прошу готовую электрическую схему...
Тут прям рядом тема про усиление напряжения 0-70 mV. Всё разжевано. Нежели трудно найти и прочитать? Название начинается со слова АЦП.
Даже 5% не разжевано.
Даже 5% не разжевано.
Прежде чем брать менторский тон, сначала вникните в суть вопроса.
Речь идёт об измерении слабого ПЕРЕМЕННОГО напряжения (частотой до 20 кГц)
То, куда Вы меня направляете - это вопрос по измерению ПОСТОЯННОГО напряжения.
Я уже похоже придумал.
Здесь нужна 157ДА1...
FAI4, может использовать готовый чип True rms to dc Converter ?
(преобразует двуполярный сигнал в однополярный. Работает с малыми сигналами от нуля вольт)
Можете назвать примеры таких ИС?
Я в подобном случае взял схему тестера, вырезал кусок выпрямителя переменного тока, сделал на tl062 - первый ОУ усилитель с регулировкой усиления, второй собственно выпрямитель. Линейность и полоса укладываются в требования ТС.
FAI4 Из примеров ad636 например.
Есть переменный сигнал 1...50 мВ звуковой частоты.
Каким образом лучше преобразовать его в постоянное напряжение для точного измерения уровня (подачи на АЦП)?
Правильнее спрашивать не "как лучше", а "как нужно".
Причем, ответ будет зависеть от того, что именно Вы подразумеваете под уровнем сигнала.
Но если нужно не оптимальное, а наиболее универсальное решение, то сначала усилить и сдвинуть уровень на ОУ, а потом оцифровать при помощи Due или stm32f103, после чего делать с оцифрованным сигналом, что душеньке угодно.
Ещё вопрос - как можно реализовать простые управляемые полосовые фильтры, если входной сигнал - это "белый шум".
Есть специальные фильтры, например max261 или uaf42.
Нужно измерить АЧХ устройства с точностью не хуже 0,3 дБ.
0.3дБ - это около 4%. Не вижу здесь каких-либо принципиальных сложностей (разумеется, если не пытаться оцифровывать звуковой сигнал на avr).
0.3дБ - это около 4%.
Это 104%, вообще-то.
Если мы увеличим сигнал на 104%, то это будет 6.2дБ. Нет?
Верно. 204% = 6.2 дБ.
Каким образом лучше преобразовать
В вашем случае - никаким.
Вам дали немерянно примеров, но ни одного программного ответа.
Похоже - халявщик.
Верно. 204% = 6.2 дБ.
Погрешность в 204% - это круто!
Прямо как будто погрешность в децибелах указывается относительно эталона, который кто-то забыл указать.
Каким образом лучше преобразовать
В вашем случае - никаким.
Вам дали немерянно примеров, но ни одного программного ответа.
Похоже - халявщик.
Ну вообще то я сам нашёл подходящий способ преобразования (157ДА1)
Все откликнувшимся огромное спасибо.
А таким как mykaida совет:
"Если нечего сказать , то лучше молчать"
Не засоряйте тему своей пустой никому не нужной болтовней
Друзья, есть ещё вопрос:
Как аппаратно управлять К передачи цепи (с той же точностью 0,3 дБ)?
Т.е. имеем неизменный входной сигнал переменного напряжения.
Нужно программного подстраивать / менять его амплитуду на выходе.
Должно быть ступенчатое фиксированной изменение уровней с точным Кус.
Набор ключей?
Как проще реализовать?
Посмотри, может AD5160 поможет
Ты нашел кусок говна из 70х годов, который ты даже купить нигде не сможешь, солнце мое.
Ты нашел кусок говна из 70х годов, который ты даже купить нигде не сможешь, солнце мое.
Если такой умный - подскажите сегодняшний аналог этой уникальной схемы.
Умник даже не знает когда эта уникальная схема (без аналогов) была разработана.
Это точно "не из 70-х"
а если просто усилить и мерить как переменное. находим амплитуду, и высчитываем RMS
511 = это 0
все что выше 511 это положительная полуволна
все что ниже 511 это отрицательная полуволна
а дальше только вычисления.
Зачем тебе аналог? У тебя же есть. Какой-то слабый развод.
Я что-то не заметил в этой теме, чтобы mykaida спрашивал Вашего совета.
Ну а коль скоро именно Вы пришли сюда с вопросом, то Ваше дело - выслушивать советы, а не давать их.
Есть такой прибор, называется потенциометр. Служит как раз для аппаратного управления К передачи цепи.
Если есть желание прикрутить все это к Ардуине и управлять от нее, то есть цифровой потенциометр. Еще есть цифровые регуляторы уровня, но, как правило, они имеют шаг не менее 0.5дБ. Если нужен большой диапазон и малый шаг, можно совместить регулятор с потенциометром.
В качестве регулятора громкости могу посоветовать CS3310-KR или FM62429, ну а цифровых потенциометров - как собак нерезаных.
Цифровой поенциометр - подойдёт.это то что нужно.
Поповоду того как измерять переменное напряжение - не очень понимаю суть предложений.
Что значит измерить амплитуду?
Если выделять амплитуду диодами - это уже искажения на прямое напряжение на диоде.
Для напряжений выше 5 вольт - это подойдёт
Но для напряжений переменных например 0,1 вольт - диод даже не откроется.
Измерять амплитуду с высокой частотой 40 кГц - ардуино разве успеет?
Не уверен, что подходит, но как насчёт: https://static.chipdip.ru/lib/006/DOC004006631.pdf
...
Поповоду того как измерять переменное напряжение - не очень понимаю суть предложений. Что значит измерить амплитуду?
...
40 кГц - ардуино разве успеет?
вырезка из библиотеки.
float ACS712::readCurrentAC() { int sensorValue = 0; int maxValue = 0; int minValue = ADC_COUNT; float sensorCurrent = 0; float sensorCurrentRMS = 0; unsigned long startTime = millis(); while ((millis() - startTime) < 60) { sensorValue = analogRead(_pin); if (sensorValue > maxValue) { maxValue = sensorValue; } else if (sensorValue < minValue) { minValue = sensorValue; } } maxValue -= maxValue * FAULT_ADC; minValue += minValue * FAULT_ADC; sensorCurrent = (((maxValue) - minValue) / 2.0) / ADC_COUNT_ACS712_1A; sensorCurrentRMS = sensorCurrent * RMS; return sensorCurrentRMS; }честно сказать не знаю какую максимальную частоту можно найти амплитуду
Не уверен, что подходит, но как насчёт: https://static.chipdip.ru/lib/006/DOC004006631.pdf
Как раз такой стоит в АЧХ-ометре NWT7. Те же задачи по сути.
Это точно "не из 70-х"
Ради интереса поискал в яндексе -в журнале Радио 1981 года эта микра уже упоминается, значит скорее всего 70-х.
Что такое "измерить амплитуду" - это как раз понятно и не допускает разночтений. А вот что именно Вы понимаете под "измерить переменное напряжение"? Опишите подробно, что именно Вы подразумеваете под "переменным напряжением" и что должно получиться в результате его "измерения"?
(сентенции о диодах опущены как не имеющие никакого отношения к теме)
ну напряжение переменного тока же
Что такое "измерить амплитуду" - это как раз понятно и не допускает разночтений. А вот что именно Вы понимаете под "измерить переменное напряжение"? Опишите подробно, что именно Вы подразумеваете под "переменным напряжением" и что должно получиться в результате его "измерения"?
(сентенции о диодах опущены как не имеющие никакого отношения к теме)
Вся сложность именно в таком преобразоаании.
Да нет никакой сложности. Усиливаешь любым ОУ с полосой шире необходимой до напряжения АЦП, оцифровываешь со скоростью в два раза выше необходимой максимальной частоты, и фильтр хорошо бы с полосой среза равной максимальной необходимой частоте перед входом АЦП. Считаешь RMS получаешь точный эквивалент DC - уровень. Считаешь FFT - сразу получаешь АЧХ, если на входе белый шум.
Для АЧХ не нужно преобразовывать в DC. Цифровыми методами ответ получается быстрее и с хорошей точностью.
С какой максимальной частотой может производить измерения АЦП ардуино ?
ардуина обязательна? выше уже назвали две альтернативы, которые подходят явно лучше - Дуе и блюпилл
собираеш какой нить маленький стендик и пробуеш.
сравниваеш реальные значения с ардуино значением.
конечно STM в разы круче будет.
200 кГц. Но дальше много вопросов по конечной реализации. Для чего это нужно? Если данные для ПК, то и обработку делать там, а ардуину использовать только как АЦП. Если показометр с экраном, то хороший вариант блак пилл, на stm32f411 т.к. у него хорошо с математикой, да и АЦП до 1МГц.
Я открою тут страшный секрет, наверно, но в ПК уже есть идеальный для звука АЦП
ну дак К157ДА1-то у всех есть, а комп - нет.
Я открою тут страшный секрет, наверно, но в ПК уже есть идеальный для звука АЦП
Это никакой не секрет. Вот только если его использовать, то ардуина совсем не нужна. А как же без неё на ардуиновском форуме вопрос задавать?
Речь идёт о том чтобы сделать автономную систему.
Поэтому комп со звуковой платой не подойдёт.
А конечная цель? Так и не понятно что должно получиться. Измерять, показывать? В тексте , в графике?
выбрал метод реализации для достижения цели?
или всеж?
Ну вообще то я сам нашёл подходящий способ преобразования (157ДА1)
Все откликнувшимся огромное спасибо.
Примерно это будет выглядеть так:
1. Источник белого шума.
2. Измерение мгновенной амплитуды сигнала с частотой не ниже 60 кГц.
3. Программная обработка (быстрое преобразование Фурье)
4. Подстройка АЧХ (по итогам измерений) с помощью управляемых потенциометров.
Вопрос: какой источник "белого шума" проще всего реализовать?
https://eandc.ru/catalog/detail.php?ID=22554
Сложность прежде всего в том, что такое преобразование можно сделать тысячей разных способов и получить при этом тысячи разных результатов.
Т.е. нужно сначала определиться, что именно (который из этой тысячи разных) мы хотим получить.