Hadson

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

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

Hadson    1

Всем привет!

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

amp.jpg

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

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

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

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

 

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

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


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

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

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

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


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

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

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

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

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

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

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


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

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

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

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


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

Найдите миллионы труднодоступных

электронных компонентов

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

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

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

Capture.JPG

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

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


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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


  • Сообщения

    • Приветствую!
      Раздумывал, возможно ли создать сабж, так и не придумал. Суть: есть двужильный кабель некоторой длины, по нему 220 из розетки. По длине кабеля расположены симисторы со схемой управления(не суть какой). Есть одна нагрузка(нагреватель, например). Возможна ли схема включения этих симисторов, чтобы нагрузка была подключена к 220 при включении любого из симисторов по длине кабеля при том(это важно), что не известно, где по кабелю 0 а где фаза? У меня без использования реле, которое и будет фактически схемой ИЛИ, ничего другого не получалось придумать.
    • берем кусок пластика, вставляет три медные проволки  и пишем маркером сверху FCH4760 , в оригинале от больше 10$ а так напишем, 0.5$.  - важно что дешево,!!!
    • Нужна помощь, у меня стоит proteus 8.7 sp3 (естественно пиратский, в некомерческих целях, сами понимайте таких денег на покупку лицензии нет), есть библиотека свободных футпринтов SnapEDA, так вот возникает справедливый вопрос, есть какая нибудь софтина, которая поддерживает конвертацию snapeda файлов в футпринты именно для весрий ниже 8.8? Просто 8.8 в свободном доступе нет Если уж возможности нет, то где достать футпринты с моделями для транзистора s8050 j3y (smd) и для светодиодов 5630/5730 (smd)
    • Есть 3 пары плат заводских,кому в Беларуси нужны то пишите в лс или звоните 375292295454
    • @Texel Ffhjj Сам понял что написал? Если есть вопросы,скачай инструкцию и почитай там все расписано.
    • Подскажите, если вопрос не в цене диода и не в его габаритах, какие больше подходят для питания цапа? MBR1060 или 1N5822? Оба шотки, но один более мощный (обратный ток 0,1 миллиампер при т=25 гр), другой менее мощный (обратный ток 2 миллиампера при т=25 гр). Иль это уже неважно при таких низких значениях?
    • Защита работает по току четко! устанавливается почти от 0  Проверил осциллографом-ничего не звенит,все ровненько,только вот после восстановления кз на выходе возникает бросок напряжение почти равный напряжению на коллекторе регулирующего транзистора 21 вольт,длительность около 120 мксек теперь можно и в корпус...