Страница 1 из 1

Измерение частоты с помощью NI-6009

Добавлено: 01 май 2025, 14:46
jane_wild
Может кто чего посоветует...
NI-6009 имеет счетчик поддерживает только подсчет фронтов и только on Demand, никаких Continues и измерений частоты. А мне как раз частота нужна.
Поэтому решила количество спадающих фронтов поделить на прошедшее время и в результате получится частота. Все бы ничего, только измерянная частота не стабильна.
На входе меандр от генератора 500 Гц, на индикаторе скачки от 496 до 504 Гц. Замена While Loop на Timed Loop не помогла, поэтому для более приемлемого результата усредняю последние 5 значений.
Подобной проблемы не наблюдается при использовании более продвинутых счетчиков поддерживающих прямое измерение частоты в тех же 6212 например.
По сути стабильнось времени в цикле не должно влиять на результат. Ведь я делю количество импульсов с момента последнего измерения на прошедшее время. Если будет большее время, то будет большее количество импульсов. Возможно я чего-то недопонимаю?
Meas Freq with NI6009.png

Re: Измерение частоты с помощью NI-6009

Добавлено: 01 май 2025, 17:17
Borjomy_1
С этим модулем вычислять частоту можно только через АЦП. т.е собирая данные с максимальной частотой (вроде, 10 кГц) и прогоняя через Фурье. Гарантированно получите достаточно высокую и прогнозируемую точность. Для 1 сек измерения это 0.02%

Re: Измерение частоты с помощью NI-6009

Добавлено: 01 май 2025, 18:26
jane_wild
Хорошая идея. А зачем Фурье, думаю что Single Tone Info... должен помочь. Учитывая что 6009 кроме измерения частоты ничего делать не будет и единственный канал можно сэмплировать до максимально возможных 48kHz Нужно будет попробовать.
Signal Tone.png
Signal Tone.png (9.8 КБ) 3591 просмотр

Re: Измерение частоты с помощью NI-6009

Добавлено: 01 май 2025, 18:35
IvanLis
jane_wild писал(а): 01 май 2025, 18:26 А зачем Фурье, думаю что Single Tone Info... должен помочь.
Там FFT в основе как раз и лежит.

Re: Измерение частоты с помощью NI-6009

Добавлено: 24 ноя 2025, 19:24
jane_wild
Чтобы не плодить темы, решила спросить тут. Необходимо измерять частоту вращения двигателя. Использую счетчик NI 6212. (Аналоговый вход не рассматривается)
Когда вал не вращается, импульсов нет и возникает ошибка -200474 (timeout). Думала очистив ее, при возникновении импульсов работа восстановиться.
Не тут то было, DAQmx read возращает упомянутую ошибку, пока не перезапустишь задачу. Можно поставить в качестве таймаута -1, но тогда как остановить VI?
Ведь DAQmx read будет ждать импульсов вечно....
Что посоветуете?
Freq CNT.png

Re: Измерение частоты с помощью NI-6009

Добавлено: 25 ноя 2025, 20:56
FredP
Нужно установить таймаут на какую то низкую скорость, типа 1-10 Гц, ну и перезапускать задачу при ошибке таймаута. Как закрутится - перестанет выдавать ошибку. Измерения нормально работать будут в любом случае. Частота 1 оборот в 10 минут тоже же вращение? ;) Но она же явно не интересует.

Re: Измерение частоты с помощью NI-6009

Добавлено: 25 ноя 2025, 22:50
jane_wild
Ну я собственно так и сделала. Вроде как работает. Оставила таймаут по умолчанию 10 сек. Решила что незачем перезапускать задачу каждую секунду.
Просто я думала что может есть более элегантное решение. Пробовала используя счетчик считать фронты и вычислять скорость, а также использовать аналоговый вход, как постами выше. В обоих случаях погрешность слишком велика. А вот конфигурация счетчика на измерение частоты - то что нужно. Вот думаю модифицировать и запускать задачу по цифровому входу, ну типа контактор на пуск мотора сработал - запустила задачу, остановили мотор - остановили и задачу....

Re: Измерение частоты с помощью NI-6009

Добавлено: 26 ноя 2025, 21:33
FredP
Куда уж элегантнее - две виайки и один кейс. Если это работает - значит это не глупо. Ну и "Если работает - не трожь" ;)