Вычисление частоты с помощью датчика эффекта Холла и arduino в LabVIEW

#arduino #labview #sensors

#arduino #labview #датчики

Вопрос:

мой текущий VI использует LINX для получения измерений напряжения с аналогового вывода arduino и отображения данных (ток, мощность и т.д.). У меня настроен датчик эффекта Холла, который будет получать импульсы от вибрирующей структуры и, возможно, отображать частоту, с которой структура вибрирует в том же VI. Как я могу реализовать это в моем текущем проекте? Я пытался придумать способ подсчета количества импульсов в LabVIEW, но не смог найти способ эффективно сделать это, чтобы я мог выполнить вычисление частоты. Любая помощь будет оценена. Спасибо

введите описание изображения здесь

Комментарии:

1. Каков период колебаний — секунды, миллисекунды, микросекунды? Достаточно ли простого порога для надежного обнаружения импульсов или вам нужно извлечь сигнал из шумного фона или дрейфующей базовой линии и т.д.?

2. Период колебаний регулируется и изменяется.

Ответ №1:

введите описание изображения здесь

Я попробовал то, что предложил @SlowlyButSurely, и это работает для подсчета импульсов, но, похоже, я не получаю точных результатов по частоте из расчета.

Ответ №2:

Попробуйте настроить захват временной метки, аналогичный этому, где при обнаружении границы или значения bool True из вашего цифрового считывания временная метка добавляется в массив сдвиговых регистров. Затем выполните вычисление частоты по разнице во времени между штампами после того, как будет собрано некоторое количество штампов, чтобы вы могли их усреднить (при необходимости). Когда вы получаете временную метку, вы должны убедиться, что это отметка, сделанная как можно ближе к тому же времени, когда генерируется определение границы. (Извините, все, что у меня есть в наличии, — это LV 7.1, и мне пришлось установить его, чтобы создать какой-либо код, вау, какой он старый.)

О, ложный случай здесь — это просто переход для сдвигового регистра.

введите описание изображения здесь

Ответ №3:

В LV есть функциональный блок обнаружения границ, вы можете использовать его и получать временную метку каждый раз, когда обнаруживается нарастающий фронт, а затем определять частоту из этого вычисления.

введите описание изображения здесь

Комментарии:

1. @ Super95 SO не позволяет мне полностью помочь из-за привилегий… моя репутация недостаточно высока, и, по-видимому, мои вопросы недостаточно полезны. Вздох. Несмотря ни на что, я попробую. Возвращаясь к исходной блок-схеме, каждый раз, когда ваше цифровое считывание выдает логическое значение high, возьмите временную метку и вставьте как логическое значение high, так и временную метку в массив, который проходит через цикл while. Затем рассчитайте свою частоту исходя из среднего значения разницы во времени между этими временными метками. Индивидуальное измерение может быть совершенно неточным, если вы не используете LV realtime

2. Я установлю единственную доступную мне версию LV и вскоре свяжусь с вами с кодом….