Некоторое время назад, мной был добыт сей замечательный датчик. Узрев его на диале, я вспомнил как на диплом городил нечто несусветное из светодиодов, стёрок и резиночки для денег, и решил взять поиграться. Этот правда, в отличие от моего самодельного, не может измерять содержание кислорода в крови, за то фотоплетизмограмму должен снимать на ура. Заказал, получил, изнасиловал им звуковуху. (Подал питание на излучатель с 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В, но не хотелось бы. Сигнал - амплитуда полезной переменной части получится порядка нескольких миливольт. Частоты выше десятка герц можно срубать нафиг фильтром, чтобы наводки не мешались. С линейностью можно не заморачиваться. Собственно, как я это вижу. Выделяем переменную составляющую сигнала, режем частоты и усиливаем, чтобы хорошо легло в АЦП. (Или лучше сначала усилить, потом фильтровать?)
Ну, если уж микрофонник звуковушки справился, то не так уж всё и страшно. Думаю, что хватит одного NE 5532. На первой половинке собрать активный ФНЧ, на второй УПТ для получения нужной амплитуды. Схему влёт не нацарапать, тут по месту подгонять надо. С транзюками проблем больше может вылезти.
А не проще активный ФНЧ с большим ку в первом каскаде? Меня почему заинтересовал такой вопрос....у меня есть такая же "приблуда", она от электроники тренажера Вот например в этой схеме можно попробовать так сделать. Удобно тем, что можно сразу настроить на нужный диапазон, усилить, изменить добротность... Питать можно через DC-DC 5В-15В преобразователем для монтажа на плату
svic, Ну звуковуха не то чтобы сильно справилась. Чтобы получить такой красивый график мне пришлось основательно колдовать с фильтрами и усилением в аудишне, иначе там сплошной шум был. Всё это делалось уже на записи, фильтровать на лету не получилось. GOA, Вот уж нафиг с питанием извращаться, не хотет. У меня есть замечательные 5В из USB. И даже замечательные 3,3В из встроенного в FT232 стабилизатора. Хотелось бы обойтись ими. Да, по идее, это датчик для тренажёра. Там он считает только ЧСС, так что там несколько проще. Вся плетизмограмма упрощается до квадратных импульсов и меряется расстояние между фронтами, оно соответствует RR интервалам. Кстати, в датчике нет нихрена, одна оптопара. Взял только из-за удобной прищепки. Так что, желающие могут не запариваться с заказом, а сделать датчик из говна и палок (старой шариковой мыши например). Я вообще надеялся обойтись чем-нибудь совсем элементарным. Типа один кондюк на входе для выделения переменной составляющей, потом RC цепочка чтобы отфильтровать хлам и потом, чем-то то, что сталось, усилить (один каскад на транзисторе, или один операционник). В принципе, если криво ляжет на АЦП, не страшно, главное чтобы хотя-бы пара десятков (лучше конечно сотен) шагов дискретизации амплитуда была, там уже посмотрим. Очень многое можно поправить программно. В дипломе у меня вообще тупо один светодиод висел в хитром режиме, получился тормозной, но дофигаразрядный АЦП, и фильтр программный, и блин работало же. Плюс там ещё данные снимались на двух длинах волн и считалось содержание кислорода, ЧСС, RR-интервалы в лог писались для дальнейшего анализа. Но заводилось всё это через раз с пинка . На защиту хватило и ладно. Сейчас хочу что-нибудь немного по цивильнее сделать.
Что-то у меня походу болезнь какая-то. Что ни ковыряю, всё равно оно у меня в итоге пульс считать начинает) На данный момент выше описанный проект несколько отложен, за то сделал то же самое из вебки) Началось всё с того, что один товарисч рассказал мне что видел интересную софтину под андройд. Зажимаешь пальцем камеру и она считает пульс. Сегодня, в ожидании, едущего из кетая девайса с андройдом на борту, искал под него софт и наткнулся на ту самую софтину. 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 интервалов *добавить рассчёт ЧСС *добавить запись всего ценного в лог, для возможности последующего анализа. *прикрутить анализ вариабельности сердечного ритма (если настроение будет, ибо там шаманство) ЗЫ: опять пришлось делать под унылыми виндами, ибо пингвинячий процессинг ни в какую не дружил с вебкой. ненависть.
Продолжаем насиловать вебку. Собственно, реализовано практически всё, что задумывалось, но требуется ещё некоторая доработка. График конечно сгладился, но хреново. RR интервалы ловятся ненадёжно. Часто пропускает зубцы. Реже видит их там, где не нужно. В результате то завышает, то занижает ЧСС, но в целом, мне понравилось. Уже юзабельно, а после некоторого допиливания будет вполне годная вещь. [attachment=0:18g7gqeq]webcampletizmograph_FULL_1.0.PNG[/attachment:18g7gqeq] ToDo: * Более злой фильтр * Более стабильный алгоритм анализа * Внешняя прога для анализа вариабельности сердечного ритма по логам, записанным данным творением
EVIL_USER, подскажите, пожалуйста, как подключается этот замечательный датчик? На какие контакты джека подается 5В, GND и с какого снимается сигнал? Хотя, по GND, наверное, понятно - общий он и в Африке общий. А вот как насчет +5В и OUT? Спасибо!
Да я как-то уже не помню, давно это было. Собственно внутри обычная оптопара, так что всё что нужно легко вызванивается. Только 5В на него подавать категорически нельзя, надо давить резистором, там просто ИК светодиод в подсветке, которому надо порядка 1,5В.