Hadson

Обработка сигнала пьезодатчика

6 сообщений в этой теме

Hadson    1

Всем привет!

Задача: измерять обороты ДВС по частоте его колебаний (вибрации). В качестве датчика применяется пьезокерамическая пластина (по сути обыкновенный пьезо-бузер (пищалка)). После датчика будет установлен зарядовый усилитель с интеграцией тока, вот по такой схеме. 

amp.jpg

После усилителя будет ФНЧ с частотой среза 100Гц и, возможно, еще один каскад усиления на ОУ. Затем сигнал попадает на АЦП МК (АТмега8). 

Проблема в том, что даже с ФНЧ в сигнале будет целая куча гармоник и измерять частоту будет затруднительно. Необходимо как то выделить основной тон (основную гармонику) и измерить ее частоту. Большой точности не требуется, ошибка в 500-800 об/мин вполне приемлема. По идеи нужно использовать БПФ, разбивать сигнал на спектр и потом уже измерять частоту основной гармоники. Но для меня это слишком сложно (в плане математики), да и аппаратная платформа слабовата для таких вычислений.

Подскажите метод реализации, как сделать по-проще? Куда копать, какие алгоритмы, фильтры использовать? Повторюсь что высокой точности не надо.

Прикрепляю видео с осциллограммой сигнала с датчика (на видео сигнал без интеграции по току).

 

Изменено пользователем Hadson

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
oldmao    1 216

Компаратор с подстраиваемым порогом и ТТЛ выходом. Амплитуда главного импульса больше, чем помех.
И АЦП тут совсем не нужен. Прерывание по фронту и считаем период между прерываниями.

Изменено пользователем oldmao
  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Hadson    1
1 час назад, oldmao сказал:

Компаратор с подстраиваемым порогом и ТТЛ выходом

Идея хорошая, я по началу тоже думал сделать что-то подобное. Я так понимаю мне нужен операционник с положительной обратной связью для введения порога (гистерезиса)?

1 час назад, oldmao сказал:

Прерывание по фронту и считаем период между прерываниями.

  Я бы запустил таймер на единицу времени (1сек например) и пока таймер не переполнится считал бы прерывания. Затем обнуление счетчика и обратно таймер. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
oldmao    1 216

Зачем вам гистерезис? :wall:

Компаратор напряжения нужен! Для селекции по амплитуде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Hadson    1
3 часа назад, oldmao сказал:

Компаратор напряжения нужен! Для селекции по амплитуде.

Я это и мел в виду. Возможно мы с Вами понятие "гистерезис" несколько разно трактуем. Когда я говорил "гистерезис" я имел в виду некую зону "нечувствительности" в которой переключение компаратором уровней ТТЛ не происходит.

Capture.JPG

Верно? Или я все-таки ошибаюсь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
oldmao    1 216

Ну здесь он как бы и не нужен,  достаточно засечь самый большой импульс положительной полярности. Хотя, исходя из реального сигнала, возможно и гистерезис лишним не будет. Это всё экспериментальным путём путём выясняется...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас