shkal
-
Постов
279 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные shkal
-
-
Tano пример приведите, только с реальными компонентами....
-
Tano, любой интегратор такого вида есть ФНЧ.
-
Shkal.
"у одного интегратора сдвиг фазы 90, у двух последовательно - 180". У Вас не интеграторы у Вас ФНЧ.
Для определения сдвига фазы на частоте, более чем на декаду превышающую частоту среза, это абсолютно всё равно.
-
ОК, как я понял, таким образом можно реализовать задержки не короче системного тика (10 мс в данном случае) ?
-
ukpyr, спасибо, ответ максимально по делу. Пойду читать литературу по state machine.
Вот ещё какой вопрос возник: каким образом реализуются неблокирующие функции задержки в такой среде?
Если, допустим, использовать один из таймеров и по его прерыванию устанавливать флаг, то этот флаг должен в цикле читаться функцией, которой нужна эта задержка. Но при этом чем точнее нужно отсчитать интервал, тем чаще нужно проверять флаг, т.е. в пределе опять получаем блокирующую функцию. Или же управление из прерывания таймера нужно возвращать не в ту задачу, в которая исполнялась во время вызова прерывания, а в ту, которая использовала функцию задержки, но это как-то очень по-хакерски выглядит.
-
Опубликовано · Изменено пользователем shkal · Пожаловаться
Не записывал, я это "на пальцах" делаю. Можно просто на клетчатой бумажке нарисовать ЛАЧХ, ЛФЧХ - самый наглядный инструмент для цепей 1 порядка.
В микрокапе - probe AC анализ и покрутить R3, глядя на АЧХ и ФЧХ - очень наглядно.
-
ICx - это и есть input capture. Если использовать ОДИН IC, то от задержки зависит, если два - не зависит. IC в принципе не может измерять частоты, большие чем Fтакт\2, без прескейлера. Повторять здесь дискуссию по поводу алгоритма смысла не вижу - он единственно возможный на НЧ. PIC24H в асинхронном режиме может измерять до 50 МГц (но соответственно только при прямом счёте)
-
ICх буферизированы, но там надо читать одновременно состояние 2-х таймеров. Или с небольшой задержкой, но время задержки должно быть точно одинаковым в начале и конце цикла измерения. Хотя можно второй ICх задействовать, но лишнюю ногу жалко, уже и так не хватает. О, кстати, а можно ли входы разных ICx сконфигурить на одну ногу?
-
Опубликовано · Изменено пользователем shkal · Пожаловаться
Частотомер процессорного времени практически не занимает, одно измерение = 2 прерывания за период измерения (0.2 с) + прерывания переполнения 2-х таймеров, копейки даже при максимальной входной частоте.
Вопрос собсно не в конкретной реализации задачи, а в общем подходе к построению системы, в которой некоторые задачи должны выполнятся с фиксированной частотой, некоторые мгновенно, но по внешним событиям (т.е. в непредсказуемые моменты времени), некоторые без жёсткого тайминга.
-
Да вроде пока хватает с большим запасом. Всё, что можно было сделать аппаратно - сделано аппаратно. Тактовая будет 20МГц (это высокостабильный генератор)
-
Опубликовано · Изменено пользователем shkal · Пожаловаться
Это мой первый опыт общёния с контроллерами на старости лет, так что прошу сильно не пинать.
Итак, делается управляющая часть для НЧ-генератора 5Гц-1МГц. Она должна выполнять следующие функции:
1) Опрос состояния органов управления - кнопки, энкодер, переключатели.
2) Выдачу команд по SPI на ЦАП, управляющий частотой и релюшки переключения диапазонов.
3) Измерение частоты генератора , алгоритм приведён здесь: алгоритм
4) Отображение частоты и другой информации на LCD 16x2
Вполне возможно, потребуется дописывать функционал в дальнейшем, например, измерение напряжения с помощью встроенного АЦП и статистическую обработку частотомера.
Сейчас написаны пункты №1, №2, №4, и приступаю к №3. Вот тут-то и встал вопрос об общей структуре программы.
Фактически параллельно должны выполняться несколько задачь
№1 требует периодического выполнения по таймеру с точностью ,скажем, +-20% от номинала. Сейчас написана по прерыванию одного из таймеров.
№2 требует значительного времени на исполнение команды (рэле-медленное устройство)
№3 требует максимально быстрой и всегда одинаковой по кол-ву циклов реакции на прерывание ICx, в противном случае возникают ошибки счёта.
Где можно посмотреть - почитать общие подходы к построению таких программ? Единственная книга по теме, котораю попалась в руки - embedded multitasking
Но методика, изложенная там, показалась мне малореальной в практическом смысле в условиях постоянного дописывания функционала.
Да, пишется всё под pic24h
-
Тут простая логика: у одного интегратора сдвиг фазы 90, у двух последовательно - 180, следовательно, надо второй интегратор надо с некоторой частоты превратить в обычный усилитель (ослабитель ;)
А какая именно частота нужна - проще и точнее посмотреть в симуляции, чем считать. Я .cir не сохранял даже, его по картинке набрать 5 минут.
-
В недорогих измерительных микрофонах типа ecm 8000
и его многочисленных клонах используется капсуль panasonic WM-61
-
Опубликовано · Изменено пользователем shkal · Пожаловаться
-
Это просто два интегратора последовательно, Ку=1 в полосе пропускания, следовательно R1=R4, R2=R5.
Частота среза каждого звена F=1/(2*pi*R1*C1)=1/(2*pi*R2*C2).
Дальше нужно уменьшить сдвиг фаз на 5КГц введением нуля на частоте примерно 5КГц\3
Fo=1/(2*pi*C2*R3). Изменяя один элемент R3, можно подстраивать сдвиг фазы на нужной частоте (естественно, за счёт ухудьшения подавления на этой частоте)
-
Опубликовано · Изменено пользователем shkal · Пожаловаться
Сомнительным? А вот такая функция - sin((w0+a*sin(w1*t))*t), где w1 много меньше частоты измерений? Или внутри не синус, а какая-нибудь другая медленная функция... Ведь нагрузка меняет частоту вращения генераторов электростанцийА про фурье... Вы берете сигнал за фиксированное время и думаете, что он периодический? Что мы таким образом измеряем и кого обманываем?
На интервале измерений 1с частоту сети можно считаь постоянной, поскольку генераторы электростанций обладают большой механической инерцией.
Использовать БПФ для измерения частоты предложил не я, я наоборот считаю для этой задачи нужным измерять частоту и сдвиг фаз с помощью модуля input capture, ссылку на алгоритм я давал.
Кстати, если задача топикстартера практическая, а не учебная, может проще ade7763
$1.66 в малых партиях. В даташите можно найти массу полезного о сетевых измерениях.
-
Первое положение сомнительно...
Не могли бы Вы уточнить, что именно сомнительно?
на спектрограмме увидите реальный спектрЯ его видел неоднократно. Что там не соотвествует тому, что я пишу?
электромагнитные наводки на сеть питанияЭлектромагнитные наводки возникают только в очень специальных случаях, типа антенного поля поблизости.
Во всех остальных это не наводки, а падение напряжения на комплексном сопротивление сети, вызванное током потребителей.
-
Напряжение в сети представляет собой сумму синусойды с частотой 50 Гц (которая безусловно является периодическим сигналом) и различных помех в широком диапазоне частот.
Для того, чтобы помехи не влияли на процесс измерения частоты, их нужно отфильтровать. Что тут не согласуется?
Очень периодическая функция - это шутко была.
-
Опубликовано · Изменено пользователем shkal · Пожаловаться
Представляю, там в законченных УМЗЧ высокого класса обычно раньше всё разбивали на три каскада усиления, а в аппаратуре класса HiFi и HiEnd делали селлективное усиление по полосам, кроме того вспомнил усилители типа D и ламповые усилители. Линейный блок питания и выходной каскад в таких усилителях обычно обвешаны гирляндой электролитов. Ну и какой из вариантов схемотехники мне надо себе представить?А теперь разберите современные китайские Диалоги или Genius со встроенными блоками питания и усилителями: ничего подобного в помине нет. Трансформатор обычно работает на пределе, электролиты - по минимуму. После достижения номинальной мощности начинается просадка цепей питания со всеми вытекающими последствиями.
В этой теме это off, но 99.9% УМЗЧ с линейным БП имеют мостовой выпрямитель с ёмкостным фильтром. Ток, потребляемый от сети таким БП имеет вид импульсов с частотой 100Гц и большой скважностью (>10 навскидку), Ток, потребляемый самим усилителем от своего БП, модулирует эти импульсы по ширине. Очевидно, что спектр такого сигнала представляет собой в основном составляющую 100Гц и её высшие гармоники, а не составляющие с частотой тока, потребляемого усиоителем от своего БП.
По поводу дрейфа фильтра - пугалка. Конденсаторы NP0 имеет ТКЕ порядка 30ppm, или 3Е-5, резисторы тонкоплёночные скажем 25 ppm. В диапазоне ,допустим, 0+40С уходы порядка
0,0012. Теперь возьмём Бесселя второго порядка с частотой среза 100 Гц, у него уход фазового сдвига на 50Гц при изменении ёмкостей на +-5% составляет 2 градуса - видим, что дрейф можно вообще не учитывать.
А вот при отсутствии фильтра и частоте семплирования 1 КГц помеха с частотой 550Гц окажется на 50 герцах, и никакой ЦФ её не отфильтрует.
Надо сначала получить чистый синус, а уж потом измерять его частоту.
А алгоритм измерения нужно переписывать, однозначно.
Tanya напряжение в сети - сигнал очень периодический
-
-
SFDR - динамический диапазон усилителя, свободный от гармоник, или разность уровней основного тона и максимальной по амплитуде гармоники.
Вы поподробнее опишите, что вы делаете: что это за таинственный генератор с выходным 10К, где он стоит, как (каким кабелем) сигнал подаётся в указанную точку,
и отключали ли вы родной возбудитель при подаче.
-
Если использовать ФНЧ, а не полосовой фильтр, и частоту среза взять герц 100, то плавать ничего не будет.
УЗЧ с линейным БП в пределах рассматриваемой задачи помех в сети с частотой входного сигнала не создают. Вы форму и спектр тока потребления УЗЧ представляете?
Гистерезис в компараторе нужен для исключения дребезга при подаче на вход зашумлённого сигнала (каковым напряжение в сети и является)
Алгоритм частотомера должен быть обратного счёта, иначе точность получиться +-1Гц при интервале измерения 1 с.
MaslovVG Вы вот серьёзно предлагаете старттопику садиться писать ЦФ и БПФ, вместо того, чтобы впаять 1 ОУ 2 резистора и 2 конденсатора?
Тем более, что ОУ уже есть. А фильтр пред АЦП должен быть всегда, если не стоит задачи собрать помехи из всей возможной полосы.
-
У Т-моста фаза будет сильно плавать при изменении частоты и температуры (а в приведённой схеме ещё и усиление на центральной частоте), так не надо делать.
-
Ну да, только ОУ должен нормально работать на 25 Ом нагрузки, а таких немного. Я поэтому и спросил про выходное напряжение.
Фазовращатель на ОУ
в Вопросы аналоговой техники
Опубликовано · Пожаловаться
Только в том случае, если у Вас в ящике припасена пара ОУ с бесконечным усилением.