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

Простейшие вопросы в области инженерной разработки
Ответить
Аватара пользователя
jane_wild

Gold
leader
leader
Сообщения: 545
Зарегистрирован: 30 июн 2016, 02:11
Награды: 1
Версия LabVIEW: 2020
Благодарил (а): 107 раз
Поблагодарили: 23 раза
Контактная информация:

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

Сообщение jane_wild »

Может кто чего посоветует...
NI-6009 имеет счетчик поддерживает только подсчет фронтов и только on Demand, никаких Continues и измерений частоты. А мне как раз частота нужна.
Поэтому решила количество спадающих фронтов поделить на прошедшее время и в результате получится частота. Все бы ничего, только измерянная частота не стабильна.
На входе меандр от генератора 500 Гц, на индикаторе скачки от 496 до 504 Гц. Замена While Loop на Timed Loop не помогла, поэтому для более приемлемого результата усредняю последние 5 значений.
Подобной проблемы не наблюдается при использовании более продвинутых счетчиков поддерживающих прямое измерение частоты в тех же 6212 например.
По сути стабильнось времени в цикле не должно влиять на результат. Ведь я делю количество импульсов с момента последнего измерения на прошедшее время. Если будет большее время, то будет большее количество импульсов. Возможно я чего-то недопонимаю?
Meas Freq with NI6009.png
Life is short. Smile while you still have teeth!
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2305
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 33 раза
Поблагодарили: 34 раза

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

Сообщение Borjomy_1 »

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

Gold
leader
leader
Сообщения: 545
Зарегистрирован: 30 июн 2016, 02:11
Награды: 1
Версия LabVIEW: 2020
Благодарил (а): 107 раз
Поблагодарили: 23 раза
Контактная информация:

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

Сообщение jane_wild »

Хорошая идея. А зачем Фурье, думаю что Single Tone Info... должен помочь. Учитывая что 6009 кроме измерения частоты ничего делать не будет и единственный канал можно сэмплировать до максимально возможных 48kHz Нужно будет попробовать.
Signal Tone.png
Signal Tone.png (9.8 КБ) 3590 просмотров
Life is short. Smile while you still have teeth!
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5652
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 35 раз
Поблагодарили: 122 раза

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

Сообщение IvanLis »

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

Gold
leader
leader
Сообщения: 545
Зарегистрирован: 30 июн 2016, 02:11
Награды: 1
Версия LabVIEW: 2020
Благодарил (а): 107 раз
Поблагодарили: 23 раза
Контактная информация:

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

Сообщение jane_wild »

Чтобы не плодить темы, решила спросить тут. Необходимо измерять частоту вращения двигателя. Использую счетчик NI 6212. (Аналоговый вход не рассматривается)
Когда вал не вращается, импульсов нет и возникает ошибка -200474 (timeout). Думала очистив ее, при возникновении импульсов работа восстановиться.
Не тут то было, DAQmx read возращает упомянутую ошибку, пока не перезапустишь задачу. Можно поставить в качестве таймаута -1, но тогда как остановить VI?
Ведь DAQmx read будет ждать импульсов вечно....
Что посоветуете?
Freq CNT.png
Life is short. Smile while you still have teeth!
FredP
user
user
Сообщения: 75
Зарегистрирован: 19 апр 2020, 01:22
Версия LabVIEW: 2021
Благодарил (а): 7 раз
Поблагодарили: 14 раз
Контактная информация:

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

Сообщение FredP »

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

Gold
leader
leader
Сообщения: 545
Зарегистрирован: 30 июн 2016, 02:11
Награды: 1
Версия LabVIEW: 2020
Благодарил (а): 107 раз
Поблагодарили: 23 раза
Контактная информация:

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

Сообщение jane_wild »

Ну я собственно так и сделала. Вроде как работает. Оставила таймаут по умолчанию 10 сек. Решила что незачем перезапускать задачу каждую секунду.
Просто я думала что может есть более элегантное решение. Пробовала используя счетчик считать фронты и вычислять скорость, а также использовать аналоговый вход, как постами выше. В обоих случаях погрешность слишком велика. А вот конфигурация счетчика на измерение частоты - то что нужно. Вот думаю модифицировать и запускать задачу по цифровому входу, ну типа контактор на пуск мотора сработал - запустила задачу, остановили мотор - остановили и задачу....
Вложения
Restart Task.png
Life is short. Smile while you still have teeth!
FredP
user
user
Сообщения: 75
Зарегистрирован: 19 апр 2020, 01:22
Версия LabVIEW: 2021
Благодарил (а): 7 раз
Поблагодарили: 14 раз
Контактная информация:

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

Сообщение FredP »

Куда уж элегантнее - две виайки и один кейс. Если это работает - значит это не глупо. Ну и "Если работает - не трожь" ;)
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»