Фотоплетизмограф

Тема в разделе 'Другие интересные разработки', создана пользователем EVIL_USER, 16 янв 2011.

  1. EVIL_USER

    EVIL_USER Модератор Staff Member

    Некоторое время назад, мной был добыт сей замечательный датчик.
    [​IMG]
    Узрев его на диале, я вспомнил как на диплом городил нечто несусветное из светодиодов, стёрок и резиночки для денег, и решил взять поиграться. Этот правда, в отличие от моего самодельного, не может измерять содержание кислорода в крови, за то фотоплетизмограмму должен снимать на ура.

    Заказал, получил, изнасиловал им звуковуху. (Подал питание на излучатель с USB, приёмник сунул в разъём микрофона, повесил прищепку на ухо, записал, срезал фильтром всё, что больше 10Гц).

    [attachment=2:2gvcrlz9]pulse.PNG[/attachment:2gvcrlz9]

    Замечательно.

    Далее по плану прикрутить его к ардуине.
    Если в итоге получится достаточно доставляющий девайс, может быть пересажу его на восьмую мегу и "сделаю красиво".

    Для начала, датчик был прикручен к ардуине самым тупым способом, при помощи пары резисторов. В общем-то всё бы ничего, фотодиод на изменение засветки реагирует, комп график рисует...
    [attachment=1:2gvcrlz9]photopletizmograph1.PNG[/attachment:2gvcrlz9]

    Однако, чтобы заснять эту картинку, мне пришлось хлопать прищепкой датчика.
    А полезный сигнал колеблется в столь узких пределах, что наглухо убивается шумом младших разрядов АЦП.
    [attachment=0:2gvcrlz9]photopletizmograph2.PNG[/attachment:2gvcrlz9]

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

    Собственно вопрос к товарищам, шарящим в аналоговой технике (а то у меня с ней как-то туго):
    На чём делать? Операционник ставить, или хватит транзистора?
    В идеале, прошу набросать схемку.

    Условия:
    Питание 5В.
    Датчик - фотодиод. Сопротивление в рабочем режиме порядка сотни килоом.
    АЦП - 10 бит, опорное напряжение 5В или 1,1В. Можно подать и любое другое до 5В, но не хотелось бы.
    Сигнал - амплитуда полезной переменной части получится порядка нескольких миливольт. Частоты выше десятка герц можно срубать нафиг фильтром, чтобы наводки не мешались. С линейностью можно не заморачиваться.

    Собственно, как я это вижу. Выделяем переменную составляющую сигнала, режем частоты и усиливаем, чтобы хорошо легло в АЦП. (Или лучше сначала усилить, потом фильтровать?)
     

    Вложения:

  2. svic

    svic Пользователь

    Ну, если уж микрофонник звуковушки справился, то не так уж всё и страшно. Думаю, что хватит одного NE 5532. На первой половинке собрать активный ФНЧ, на второй УПТ для получения нужной амплитуды. Схему влёт не нацарапать, тут по месту подгонять надо. С транзюками проблем больше может вылезти.
     
  3. gml

    gml Пользователь

    Для подобных целей используются инструментальные усилители.
     
  4. enclis

    enclis Пользователь

    R2R операционник в трансимпедансном включение, ну а потом уже по выбору и ситуации: ФВЧ, ФНЧ.
     
  5. GOA

    GOA Новичок

    А не проще активный ФНЧ с большим ку в первом каскаде? Меня почему заинтересовал такой вопрос....у меня есть такая же "приблуда", она от электроники тренажера
    Вот например в этой схеме можно попробовать так сделать. Удобно тем, что можно сразу настроить на нужный диапазон, усилить, изменить добротность...
    Питать можно через DC-DC 5В-15В преобразователем для монтажа на плату
     

    Вложения:

    • 1.jpg
      1.jpg
      Размер файла:
      87,6 КБ
      Просмотров:
      1.495
  6. EVIL_USER

    EVIL_USER Модератор Staff Member

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

    GOA, Вот уж нафиг с питанием извращаться, не хотет. У меня есть замечательные 5В из USB. И даже замечательные 3,3В из встроенного в FT232 стабилизатора. Хотелось бы обойтись ими.

    Да, по идее, это датчик для тренажёра. Там он считает только ЧСС, так что там несколько проще. Вся плетизмограмма упрощается до квадратных импульсов и меряется расстояние между фронтами, оно соответствует RR интервалам.

    Кстати, в датчике нет нихрена, одна оптопара. Взял только из-за удобной прищепки.
    [​IMG]
    Так что, желающие могут не запариваться с заказом, а сделать датчик из говна и палок (старой шариковой мыши например).

    Я вообще надеялся обойтись чем-нибудь совсем элементарным. Типа один кондюк на входе для выделения переменной составляющей, потом RC цепочка чтобы отфильтровать хлам и потом, чем-то то, что сталось, усилить (один каскад на транзисторе, или один операционник).
    В принципе, если криво ляжет на АЦП, не страшно, главное чтобы хотя-бы пара десятков (лучше конечно сотен) шагов дискретизации амплитуда была, там уже посмотрим. Очень многое можно поправить программно.

    В дипломе у меня вообще тупо один светодиод висел в хитром режиме, получился тормозной, но дофигаразрядный АЦП, и фильтр программный, и блин работало же. Плюс там ещё данные снимались на двух длинах волн и считалось содержание кислорода, ЧСС, RR-интервалы в лог писались для дальнейшего анализа. Но заводилось всё это через раз с пинка :) . На защиту хватило и ладно. Сейчас хочу что-нибудь немного по цивильнее сделать.
     
  7. EVIL_USER

    EVIL_USER Модератор Staff Member

    Что-то у меня походу болезнь какая-то.
    Что ни ковыряю, всё равно оно у меня в итоге пульс считать начинает)

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

    Началось всё с того, что один товарисч рассказал мне что видел интересную софтину под андройд. Зажимаешь пальцем камеру и она считает пульс.
    Сегодня, в ожидании, едущего из кетая девайса с андройдом на борту, искал под него софт и наткнулся на ту самую софтину.
    http://www.youtube.com/watch?v=gsW2P3Sc ... re=related (На видео правда яблофон, но это не важно).

    Попробовал камеру своего мобильника. И правда, даже на глаз видно как мерцает в такт сердцу.
    Ну а дальше я уже дело техники.

    В результате некоторого гугления, было обнаружено, что я не один такой наркоман, более того, был даже обнаружен готовый код на моём любимом процессинге.
    http://lukeloeffler.com/2009/web-cam-he ... e-monitor/
    Правда товарищ там какую-то неведомую фигню нагородил, но после некоторого допиливания...

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

    [attachment=1:2evel2wl]webcampletizmograph_2.PNG[/attachment:2evel2wl]
    [attachment=0:2evel2wl]webcampletizmograph.PNG[/attachment:2evel2wl]

    Планируется:
    *вывести график в основное окно (пока просто циферки в консоль падают)
    *добавить сглаживание (а то фпс низкий, график не красивый получается)
    *добавить определение RR интервалов
    *добавить рассчёт ЧСС
    *добавить запись всего ценного в лог, для возможности последующего анализа.
    *прикрутить анализ вариабельности сердечного ритма (если настроение будет, ибо там шаманство)

    ЗЫ: опять пришлось делать под унылыми виндами, ибо пингвинячий процессинг ни в какую не дружил с вебкой. ненависть.
     

    Вложения:

  8. EVIL_USER

    EVIL_USER Модератор Staff Member

    Продолжаем насиловать вебку.
    Собственно, реализовано практически всё, что задумывалось, но требуется ещё некоторая доработка.
    График конечно сгладился, но хреново.
    RR интервалы ловятся ненадёжно. Часто пропускает зубцы. Реже видит их там, где не нужно.
    В результате то завышает, то занижает ЧСС, но в целом, мне понравилось.
    Уже юзабельно, а после некоторого допиливания будет вполне годная вещь.

    [attachment=0:18g7gqeq]webcampletizmograph_FULL_1.0.PNG[/attachment:18g7gqeq]

    ToDo:
    * Более злой фильтр
    * Более стабильный алгоритм анализа
    * Внешняя прога для анализа вариабельности сердечного ритма по логам, записанным данным творением
     
  9. NewsViewer

    NewsViewer Новичок

    EVIL_USER, подскажите, пожалуйста, как подключается этот замечательный датчик? На какие контакты джека подается 5В, GND и с какого снимается сигнал? Хотя, по GND, наверное, понятно - общий он и в Африке общий. А вот как насчет +5В и OUT?
    Спасибо!
     
  10. EVIL_USER

    EVIL_USER Модератор Staff Member

    Да я как-то уже не помню, давно это было.
    Собственно внутри обычная оптопара, так что всё что нужно легко вызванивается.

    Только 5В на него подавать категорически нельзя, надо давить резистором, там просто ИК светодиод в подсветке, которому надо порядка 1,5В.
     

Поделиться этой страницей