• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Измерение частотного сигнала

Добрый день! Подскажите, пожалуйста, специалисты. Каким образом можно измерить при помощи ESP32 частотный синусоидальный сигнал от 0 до 275Гц с амплитудой 25-55 мВ.
 

Alcest

Member
А чего конкретно измерить нужно? Частоту, амплитуду или построить функцию амплитуды от времени?
 
А чего конкретно измерить нужно? Частоту, амплитуду или построить функцию амплитуды от времени?
Надо измерять именно частоту, чтобы узнать расход на турбинном преобразователе расхода ТПР12-2 без вторичного преобразователя. Я так понимаю, что можно измерять частоту путем подсчета числа импульсов за фиксированное время или измерять частоту путем определения длительности периода измеряемого сигнала. Но считать частоту в единицу времени рекомендуют при частоте от 100Гц, иначе будет большая погрешность...
 

Alcest

Member
В вашем случае лучше измерять период, затем пересчитывать его в частоту. Тривиальная задача, собственно говоря.
 

nikolz

Well-known member
Надо измерять именно частоту, чтобы узнать расход на турбинном преобразователе расхода ТПР12-2 без вторичного преобразователя.
Если Вы об этом ТПР12-2 http://www.optimum-lab.ru/product/turbinnyj-preobrazovatel-rashoda-tpr-12-2-1/
то какой датчик, его характеристики - диапазон амплитуд, диапазон частот, уровень помех. коэф искажения формы . Как вариант, если форма не важна, то можно поставить триггер шмидта, сделать амплитуду 3 вольта, подключить к любому пину и измерить длительность 1 или 0 на пине таймером. Далее можно обрататывать как угодно полученные значения периодов сигнала.
Можно и без триггера шмидта.
 
Если Вы об этом ТПР12-2 http://www.optimum-lab.ru/product/turbinnyj-preobrazovatel-rashoda-tpr-12-2-1/
то какой датчик, его характеристики - диапазон амплитуд, диапазон частот, уровень помех. коэф искажения формы . Как вариант, если форма не важна, то можно поставить триггер шмидта, сделать амплитуду 3 вольта, подключить к любому пину и измерить длительность 1 или 0 на пине таймером. Далее можно обрататывать как угодно полученные значения периодов сигнала.
Можно и без триггера шмидта.
Спасибо большое! Попробую! Форма не важна:)
 

nikolz

Well-known member
Такое условие, система реализуется на ESP32...
Добавлю. Гораздо проще измерять импульсы, т е частоту, а не период, как я написал.
Но период позволяет вычислить мгновенную частоту, т е величину обратную периоду.
Если измерять частоту подсчетом импульсов, то для получения погрешности 0.1% измерения частоты 100 Гц потребуется 10 секунд, а при измерении периода 0.1 секунда и частота таймера 100 кГц, что сделать без проблем.
------------------
ESP32 избыточен и больше потребляет(греется), чем ESP8266.
Еще лучше взять ESP8285.
вместо триггера шмидта можно использовать внутренне АЦП, либо подключать к пину непосредственно либо добавив транзистор(ОУ).
 

nikolz

Well-known member
пардон, опечатка
при измерении периода потребуется 0.01 секунда и частота таймера 100 kГц, что сделать без проблем.
 

Alcest

Member
Если говорить про экономичность, здесь достаточно любого 8-битного МК.
 
Добавлю. Гораздо проще измерять импульсы, т е частоту, а не период, как я написал.
Но период позволяет вычислить мгновенную частоту, т е величину обратную периоду.
Если измерять частоту подсчетом импульсов, то для получения погрешности 0.1% измерения частоты 100 Гц потребуется 10 секунд, а при измерении периода 0.1 секунда и частота таймера 100 кГц, что сделать без проблем.
------------------
ESP32 избыточен и больше потребляет(греется), чем ESP8266.
Еще лучше взять ESP8285.
вместо триггера шмидта можно использовать внутренне АЦП, либо подключать к пину непосредственно либо добавив транзистор(ОУ).
У нас для унификации один тип МК на всю систему предпочтителен. Но надо рассмотреть варианты с ESP8266 и ESP8285, может ESP32 действительно избыточен:)
 
Сверху Снизу