STM32. Медицинское применение. Тонометр.

Одним из интересных профилей применения современного МК, безусловно, является медицина. И спектр приборов здезь достаточно широк — начиная от простых градусников, где можно применить простой STM8L с ЖК экраном, заканчивая навороченными кардио-мониторами, измерителями ЭКГ, холтерами с возможностями дистанционного сбора и отправки информации по эйзернет или беспроводно с коек пациентов прямо в кабинет глав-врачу. С такими задачами вполне может справиться МК STM32. Тем более, эта серия сейчас пополнилась еще и новым F4 :).



Введение.

Сегодня «золотым стандартом» измерения артериального давления принято считать метод «тонов Н. С. Короткова», признанный Всемирной Организацией Здравоохранения. Однако не следует забывать, что это косвенный метод измерения кровяного давления. Безусловно, измерение АД происходит с некоторой погрешностью, определяемой упругостью стенок артерии и мягких тканей, амплитудой и формой пульсовой волны и другими факторами, индивидуальными для каждого человека. Если отказаться от округлений и точно использовать цену деления манометра, то мы увидим разницу между соседними измерениями и при пользовании механическим прибором. Считывание показаний манометра на слух также выполняется с некоторой ошибкой, зависящей от индивидуальных особенностей человека — быстроты реакции, наличия навыков и т. д. В итоге погрешность ручных тонометров складывается из трёх составляющих: самого метода, точности манометра и ошибки определения момента считывания показаний. Реально её величина может составлять до 15 мм рт. ст.! На результаты измерений влияет также скорость нагнетания воздуха в манжету, скорость стравливания и величина давления, создаваемого в манжете. Если прибавить ещё и естественные колебания артериального давления, то разница между двумя соседними измерениями может быть ещё большей.
Электронный тонометр, в принципе, должен был быть лишен всех этих недостатков, т.к. измерение тонов происходит с помощью самой-же манжеты, а обработка осуществляется с помощью ряда запатентованных алгоритмов и методик. Однако, практика показывает, что в ряде случаев электронный тонометр дает устойчивое расхождение с показаниями ручного тонометра. Как следствие — на сегодняшний день у людей сложилось стойкое мнение — «электронные тонометры врут — лучше врача со ртутным измерителем давления никто не измерит!» Опыты показали, что большая погрешность измерения вызвана исключительно неумением рядового обывателя пользоваться данным прибором, а именно, правильно одевать манжету. Правильно одетая манжета — залог получения хорошей огибающей тонов Короткова и успешного нахождения характерных точек на огибающей.

Где копать.

Литературы по методике нахождения АД по огибающей тонов в интернете достаточно много. У Freescale есть даже хороший аппноут, где популярно разжовано, как измерять тоны Короткова в манжете. Но! Как именно анализировать полученную огибающую — информации нету. Каждый производитель тонометров лепит по-своему, хотя общая методика просматривается четко. Достаточно зайти на freepatentsonline.com и набрать в поиске non invasive blood pressure, и Вы получите достаточно информации чтобы написать заготовку тонометра. Но! Дальше-хуже. Экстрасистолы, артефакты, и другие страшные слова…

TODO
Если желание написать свой тонометр всё-же не отпало, то приступим.

Что потребуется для измерителя АД:
1) STM32 VL Discovery;
2) Датчик давления MPXV5050GP (модель взята из Freescale BPM Application Note, в Вашем случае м.б. другая модель);
3) Усилок LM358 (лучше, конечно, взять рейл-ту-рейловый);
4) Какой-нибудь индикатор — на чем показывать давление;
5) Помпа с моторчиком от китайского тонометра или груша от бабушкиного тонометра;
6) Если все-таки Вы взяли помпу с моторчиком из тонометра, Вам понадобится клапан медленного стравливания из того же тонометра;
7) Аварийный клапан (по вкусу);
8) Манжета;
9) SD карточка с картоприемником (или microSD с адаптером, к которому не жалко подпаяться).


Рис.1 — Схема подключения кишков «классическая»

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



Рис.2 — Схема измерительного каскада

Сигнал с датчика давления состоит из «биений» и постоянной составляющей давления в манжете. Т.о. на канал ADC1 мы подаем медленно стравливаемое давление в манжете, операционным усилителем вылавливаем переменную составляющую тонов Короткова и подаем их на канал ADC2.



Рис.3 — Постоянная составляющая



Рис.4 — тоны Короткова (SBP — систолическое давление, DBP — диастолическое давление, MBP — среднее артериальное давление)


Рис.5 — Информация, записанная на SD карту в ходе измерения.

На Рис.5 видно:
— стравливание у меня ступенчатое;
— Тоны Короткова (пулсации давления в манжете) записываюся полностью
— на лету вычисляется огибающая тонов.

Почему именно ступеньки? Дело в том, что при ступенчатом стравливании мы получаем кучу бонусов по измерению. Например, мы можем измерять два тона за одну ступень значения давления в манжете, т.о. фильтруя экстра систолы. Либо, при проблемности полученной огибающей, докачать до интересующего нас участка и померить тоны на нем повторно. Можно вообще реализовать измерение на восходящем участке давления в манжете:
1) Закрыть клапан;
2) Сделать донакачку на 50 единиц;
3) Померить тоны Короткова;
4) На пункт 2, пока не промеряем всю огибающую, иначе на пункт 5;
5) Произвести вычисления SBP, DBP, исходя из параметров огибающей
6) Вывести результат.


Рис.6 — Обработанная огибающая, постоянная составляющая и результаты измерения (Ряд 2 — верхнее давление, Ряд 3 — нижнее)

Немного видяшек. Прибор, к которому подключен разрабатываемый тонометр — «симулятор человека с заданным артериальным давлением». Давление можно выбирать из пресетов. Затем прибор имитирует сердцебиения, а тонометр измеряет огибающую. На втором видео (Part 2) я прогнал тонометр по всем основным режимам симулятора. При гипертонии алгоритм делает донакачку, всё как положено! :)

Автор статьи: Иван Анатольевич Кузнецов. Любое копирование и распространение материала только с разрешения автора.



  • +3
  • 07 ноября 2011, 18:29
  • yakuzaa

Комментарии (43)

RSS свернуть / развернуть
Помнится, что на формуме кто-то разрывался доказывая что АРМ в медицине не используют и использовать нельзя. А тут бац и АРМ))
0
  • avatar
  • a9d
  • 07 ноября 2011, 19:15
Ну почему же, у freescale K50 например заявлен для медицинского применения, там есть соответствующая аппаратная поддержка, например контроллер ЖКИ обнаруживает битые сегменты, дабы избежать ошибок при снятии показаний. Ну да в данном случае это не так важно, прибор же никто сертифицировать не собирается.
0
Да на форуме утверждали, что у АРМов эрата страшная.
0
Отличная статья, спасибо! А код проекта не даете?
0
yakuzaa, ты молодец!

Сейчас я обдумываю платформу для марафонцев (потому как сам бегаю) сбора данных о показателях тела (чсс, ад, темп, может даже кардиограмма, но сложно) и паралельный сбор данных о местности: экология (концентрация газов, качество дороги/тропинки по тому как ступня ложится), загрузка маршрутов в OpenStreetMap для создания карт тропинок и дорожек и тп. Что нашел интересного из датчиков: Nike+iPod. Автор хака будет часы для приема сигнала делать, связался уже с ним для деталей. Еще есть полезный сайт, чтобы увидеть, какие девайсы для любителей-спортсменов бывают и адекватные мнения пользователей о них.
Думал использовать Андроид и приблуду к нему через USB (например, на MAX3421E или родный в МК), но телефоны с ним тяжелые, >90гр, хотя клево бы смотрелась возможность «потыкать» в руку чтобы посмотреть, где ты на карте сейчас, твои показатели, куда бежать (как пипбой).

Еще это направление тесно связано с биометрической индефикацией. Люди не будут покупать «ошейники» (устройства RFID), хотя обывателям можно промыть мозги про террористов и как же удобно без кошельков и пластиковых карт (как в Японии). А вот поднести к сканеру ладонь, чтобы показать рисунок вен в ИК — с превеликим удовольствием сделает любой (самый надежный и безопасный метод сейчас).

Может знаете статьи про разработку устройств для медицины/спорта? И есть ли в сообществе (около)медики? А то Привес (анатомия) поднадоел уже.
0
*с биометрической идентификацией
0
паралельный сбор данных о местности: экология (концентрация газов, качество дороги/тропинки по тому как ступня ложится)
А так же давление, влажность, температура… и вообще использовать человеков в качестве передвижных метеостанций — это правильно :)

А вот поднести к сканеру ладонь, чтобы показать рисунок вен в ИК
А разве он уникален для каждого человека? И чем это лучше «провести по сканеру пальцем, чтобы считать отпечаток»
+1
Отпечаток пальца легко подделать. В разрушителях легенд показывалось как с помощью фоторезиста, текстолита и силикона можно изготовить отпечаток пальца.
0
Помню эту серию, ага :)
0
59 выпуск. Там еще обман ик и инфра датчиков движения.
0
А не там ли был обман УЗ датчиков при помощи мехового костюма? :)
0
Там была попытка. Он не сработал. Зато обычное покрывало сработало.
0
Наоборот ))
0
Я недавно эту серию смотрел.
Сработало покрывало, медленная ходьба, пожарный костюм. Соответственно для разных датчиков. А и еще силикатное стекло.
0
Так ультразвук «обошелся» обычным белым покрывалом (и очень медленным передвижением). Речь ведь о нем. А ик обманули пожарником и стеклом. Или не так?
0
Именно так.
Покрывало хорошо поглощает ультразвук, вызывая минимальное отражение. Этого отражения не хватает для преодоления порога срабатывания.
0
А почему тогда цыпленок не прокатил?
0
а хз. Они не говорили.
0
Вот-вот, метеостанции. Но это трудно измерить, тк человек потеет, грееца и бежит.

Статья. Как раз вчера меня забанили на хабре, и слава богу — «джинсы» поесть я смогу и в другом месте.
0
Ну не обязательно же датчик прямо к его потеющему и греющемуся телу прилеплять? Быстрое движение тоже проблема только для слоупочных датчиков. У того-же sht21 должно хватить скорости, чтобы замерять температуру и влажность при беге.

Ссылка ведет… ведет… да никуда она не ведет. 403
0
habrahabr.ru/blogs/infosecurity/126144/
+1
А прогноз погоды можно самому рассчитывать. Буду делать WRF EMS под CentOS 6.0, отпишусь, если получится (хотя это не профильно будет, наверное)

Только метеоданные на уровне 2 метра бесполезны, важнее получить данные по высоте. Мое закрытое на сейчас развитие проекта (классика: деньги и закон; на хабре публиция «убита», хе-хе)
0
Да, уникален. Один из самых надежных и подделать трудно
0
telegamochka делает примерно такую же штуку. Знакомы? Или это вы и есть под другим ником?
А у меня есть идеи по мониторингу с передачей данных по GPRS. Пока делаю анемометр на модуле SIM900B
Пожалуйста, накидайте ссылок по датчикам экологических показателей. Особенно интересует концентрация газов и пыли в воздухе.
0
… у всех вышеописанных методов есть один большой недостаток — дискретные измерения. Если я не ошибаюсь то медики не рекомендуют измерять давление больше чем раз (или два) в час. А давление имеет привычку очень быстро подскакивать. Если и делать тонометр с использованием манжеты и помпы, то тогда уж лучше по методу Penaz'a, который позволяет измерять непрерывно (24/24) артериальное давление, правда где взять манжету используемую в этом методе(на пальцы) понатия не имею.
0
… хотя получилось здорово
0
Отличный проект!
По теме — интересно, реально ли сделать из доступных компонентов (на том же STM32) измеритель пульса в виде браслета? Видел проекты с надеванием ИК-датчика на палец, но тут нужно «перманентное» измерение в течении длительного периода. Интересно — будет ли работать такой же алгоритм как с пальцем (с ИК-просветом сосудов) на запястье?
0
Есть еще схема не с просветом с отражением. Думаю тут стоит попробовать её. Я себе делал ради лулзов пульсометр на палец с просветом.
0
На каких элементах (из чего)?
0
Сверхъяркий белый светодиод и какой-то фоторезистор.

Когда собирал — видел в инете несколько схем как-раз на отражение. Загуглите.
0
измерителями ЭКГ

Гыгыг)) Электрокардиографами штоле?
0
Медленное стравливание, такая лажа — бывает хрен усидишь. Руку начинает сводить, а вы говорите ступенчатое стравливание дает много преимуществ…
0
А кто в курсе, каким образом снимаются результаты пульса в такого рода девайсах: www.finland-watch.ru/category/pulsmonitor/?
0
  • avatar
  • DVF
  • 13 ноября 2011, 13:01
стр 13
0
Не-не-не. Ремешок одевают для съема кардиограммы, а на той же странице есть такие строки:
ПРИМЕЧАНИЕ: Кардиопередатчики со значком IND совместимы
с большинством тренировочного оборудования с индукционными
датчиками частоты сердцебиения.
Может в этом кроется метод? Вряд ли в измерении импеданса, как в случае с ремешком на груди?
0
ну тог и пульс там же, оно же ЧСС
0
Не думаю. Ремешок можно одевать, а можно и не одевать — пульс в любом случае сосчитает, кажись. Жалко не у кого из практикующих спросить.
0
Народ сейчас вот пишу диплом по разработке тонометра. В вышеприведённой статье какой алгоритм вычисления используется? Строится гистограмма распределения давления и смотрится наибольшая разность между ступеньками чтобы вычислить верхнее и нижнее давление? Нашёл книгу Барановский А. Л. Кардиомониторы. Аппаратура непрерывного контроля ЭКГ. 1993. Там есть 4 алгоритма, но в интернете лежит только один djvu файл размером 5 мб., в котором страницы с алгоритмами вырезаны. Может кто знает какие либо алгоритмы. Буду очень признателен. Также у кого какие мысли, как подсчитать частоту пульса? Надо наверное использовать БПФ преобразование чтобы перейти в частотную область?
0
… а по какому принципу работает ваш тонометр?
0
мой по осциоллометрическому методу. Кстати насчёт ЧП — где то читал что берется сначала производная, и затем сигнал сглаживается. По идее взятие производной (дифференцирование сигнала) это тоже один из способов фильтрации. Вопрос: таи ли нужно брать производную для детектирования пиков и замера между ними частоты? Последующее сглаживание используется для удалёние синфазной помехи если прибор работает от сети 50 Гц? Кто что думает по этому поводу?
0
В вышеприведённой статье какой алгоритм вычисления используется? Строится гистограмма распределения давления и смотрится наибольшая разность между ступеньками чтобы вычислить верхнее и нижнее давление?
… можно сделать проще:

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

1. нагнетаете в манжету воздух
2. после этого начинаете малыми дозами спускать воздух из манжеты и одновременно записывать данные вашего датчика в буфер. Делаете несколько замеров для большей точности.
3. после чего весь воздух вышел, начать анализировать данные в буфере.

Все что вам нужно это алгоритм детектирования пиков. Но как подметил автор данной статьи «каждый производитель тонометров лепит по-своему».

Для вдохновения можете просмотреть Open Source ECG Analysis Software, хотя код предназначен для ЕКГ, механизмы детектирования пиков схожи.
0
Для вдохновения можете просмотреть Open Source ECG Analysis Software, хотя код предназначен для ЕКГ, механизмы детектирования пиков схожи.

Спасибо за ссылку. Буду смотреть коды. Насколько я понял при снятии ЭКГ данные не особо сглаживаются или вообще не сглаживаются, т.к врач потом смотрит распечатку электроэнцефалограммы. В тонометрах же сглаживание проводить нужно, т.к сигнал в последующем обрабатывается с помощью микроконтроллера. Существует несколько популярных методов сглаживания, это скользящее среднение, медианное сглаживание, гаусово сглаживание и т.п. Я только не могу определить, какой из методов легче реализуется, какой точнее, какой быстрее. Может кто знает литературу где приведены данные методы? Был бы очень прищнателен.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.