Оглавление:
- Шаг 1: Краткое описание
- Шаг 2: Источник питания LiPo - схемы, детали и сборка
- Шаг 3: приемник кадров и регистратор данных - схемы, детали и сборка
- Шаг 4: приемник HR - моделирование Spice
- Шаг 5: Программное обеспечение
- Шаг 6: Начальная настройка и тестирование
- Шаг 7: Использование - Анализ медицинских сигналов
Видео: Кардио-регистратор данных: 7 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Хотя в настоящее время доступно множество портативных устройств (смарт-браслеты, умные часы, смартфоны и т. Д.), Которые могут определять частоту сердечных сокращений (ЧСС) и выполнять анализ следов, системы на основе нагрудных ремней (например, та, что изображена в верхней части рисунка) все еще остаются широко распространены и используются, но не имеют возможности записывать и экспортировать результаты измерений.
В моем предыдущем учебном кардиосиме я представил симулятор нагрудного ремня (кардио), объясняя, что одним из моих следующих шагов была разработка регистратора данных сердечного ритма. Теперь я готов представить его в этом руководстве. Функция этого портативного устройства состоит в том, чтобы принимать сигнал ЧСС, отправляемый нагрудным ремнем (или симулятором Cardiosim) во время тренировки (тренировка / езда на велосипеде / бег и т. Д.), И записывать результаты на SD-карту, чтобы выполнить анализ производительности после тренировки (подробности см. в последней главе).
Устройство питается от системы перезаряжаемых аккумуляторов, включая цепь зарядки и регулятор повышения постоянного тока.
Со своего «склада» неиспользованного материала я выудил подходящий пластиковый корпус (135 мм x 45 мм x 20 мм) и адаптировал к нему компоновку схемы, чтобы она соответствовала друг другу, создав рабочий прототип, который удовлетворяет мои потребности (но реализация которого оставляет место для улучшение:-))
Шаг 1: Краткое описание
Пожалуйста, обратитесь к Шагу 1 инструкции Cardiosim для быстрого ознакомления с технологией LFMC (низкочастотной магнитной связи), используемой в таких устройствах.
Моим первым намерением было использовать модуль Sparkfun RMCM01 в качестве интерфейса приемника, но этот продукт больше не доступен (не говоря уже о том, что он в любом случае был довольно дорогим).
Однако, заглянув в Интернет, я нашел этот интересный учебник, в котором показаны некоторые альтернативные решения для замены RMCM01. Я выбрал 3-й вариант («Peter Borst Design», спасибо, Питер!), Достигнув отличного результата с использованием тех же компонентов L / C Cardiosim, но подключенных здесь как параллельный резонансный резервуар. Обнаруженный сигнал усиливается, «очищается», декодируется и направляется на микроконтроллер Arduino Pro Mini. Программа проверяет полученные импульсы, измеряет частоту сердечных сокращений (или, что лучше, интервал между двумя последовательными импульсами) и сохраняет все измеренные интервалы в текстовом файле ASCII (одна строка для каждого действительного импульса, 16 символов в каждом, включая интервал, временную метку и LF / CR). на карту microSD. Предполагая, что средняя ЧСС составляет 80 ударов в минуту, для часовой записи требуется всего лишь (4800 строк текста x 16 символов) = 76800/1024 = 75 Кбайт, поэтому даже дешевая SD-карта на 1 ГБ обеспечивает достаточную емкость записи.
Во время записи вы можете вставить линии маркеров, чтобы разделить график и отдельно оценить различные фазы сеанса.
Шаг 2: Источник питания LiPo - схемы, детали и сборка
Блок питания занимает нижнюю часть корпуса. За исключением триммера, ни один из компонентов не превышает 7 мм в высоту, что дает возможность установить приемник HR и схему микроконтроллера над источником питания.
Я использовал следующие детали:
- Аккумулятор LiPo 3,7 В (любой аккумулятор телефона можно утилизировать, пониженная емкость здесь не проблема)
- Модуль зарядки USB TP4056, купил здесь
- Повышающий преобразователь постоянного тока SX1308, купил здесь
- Макетная доска малая 40 х 30 мм
- Кабель с разъемом JST 2, 54мм 2-контактный, как этот
- (опционально) JST-разъем 2мм 2-контактный, как этот
-
(опционально) Кабель с разъемом JST 2мм 2-контактный, как этот
Использование последних двух пунктов зависит от батареи, которую вы будете использовать, и от того, как вы собираетесь подключить ее к модулю зарядного устройства. Я предлагаю 2-миллиметровый разъем JST, потому что многие батареи поставляются с уже подключенным кабелем и 2-миллиметровым штекером. Подойдет любое другое решение, если оно позволяет легко заменить батарею в случае необходимости. В любом случае будьте осторожны, чтобы не допустить короткого замыкания между полюсами батареи во время сборки.
Модуль TP4056 питается от порта micro USB и предназначен для зарядки литиевых аккумуляторов с использованием метода зарядки постоянным током / постоянным напряжением (CC / CV). Помимо безопасной зарядки литиевой батареи, модуль также обеспечивает необходимую защиту, требуемую литиевыми батареями.
SX1308 - это высокоэффективный повышающий регулируемый преобразователь постоянного тока в постоянный, который поддерживает постоянное выходное напряжение на уровне + 5 В при минимальном входном напряжении 3 В, что позволяет полностью использовать емкость аккумулятора. Перед подключением схемы микроконтроллера отрегулируйте выходное напряжение с помощью подстроечного регулятора на + 5В!
Общее потребление регистратора данных составляет около 20 мА, таким образом, даже использованный аккумулятор с остаточной емкостью 200 мАч (<20% от начальной емкости аккумулятора нового телефона) обеспечит запись в течение 10 часов. Единственным недостатком является то, что ток покоя SX1308 составляет около 2 мА, поэтому вам лучше отключить аккумулятор, если вы не используете регистратор данных в течение длительного времени.
Из-за небольшого размера оба модуля необходимо закрепить с помощью соединительных отверстий как для электрического, так и для механического соединения с макетной платой через короткие отрезки медного провода. Плата, в свою очередь, крепится к основанию корпуса винтом 3 мм x 15 мм (длины достаточно, чтобы тем же винтом закрепить схему микроконтроллера наверху). На плате находится 2-миллиметровый разъем JST для аккумулятора (доступен только в версии SMD, но, сложив контакты вертикально, вы можете «повернуть» его в версии PTH) и все провода согласно схемам. На всякий случай приклеил корпус разъема к плате, добившись хорошего торцевого уплотнения.
Аккумулятор размещается ровно в оставшейся части нижней части корпуса, а за ним находится второй винт 3 мм x 15 мм с вертикальной прокладкой 8 мм, чтобы избежать контакта между верхней частью аккумулятора (которая в любом случае изолирована) и нижней частью верхний контур.
Шаг 3: приемник кадров и регистратор данных - схемы, детали и сборка
Основная плата состоит из:
- Макетная доска 40мм х 120мм
- Индуктивность 39 мГн, я использовал BOURNS RLB0913-393K
- 2 x конденсатор 22 нФ
- Конденсатор 4,7 нФ
- Конденсатор 47нФ
- Конденсатор 39пФ
- Электролитический конденсатор 10uF / 25V
- Электролитический конденсатор 1uF / 50V
- 3 x резистор 10 кОм
- 2 x резистор 100 кОм
- 3 x резистор 1 кОм
- 4 x резистор 220R
- Резистор 1М
- Резистор 47К
- Резистор 22К
- Trimpot 50K
- Диод 1Н4148
- LED 3мм синий
- 2 x светодиода 3 мм зеленого цвета
- LED 3мм желтый
- LED 3мм красный
- Двойные малошумящие операционные усилители с JFET-входом TL072P
- Шестигранный инвертирующий триггер Шмитта 74HC14
- Разъем JST 2,54 мм 2-контактный, как этот
- 2 микропереключателя типа Alcoswitch
- Микроконтроллер Arduino Pro Mini, 16MHz 5V
- Модуль карты Micro SD SPI 5V от DFRobots
Резонансная частота параллельного резонансного резервуара, состоящего из L1 и C1, составляет около 5,4 кГц, что достаточно близко соответствует 5,3 кГц несущей магнитного поля передаваемого сигнала, чтобы преобразовать его в напряжение. Помните, что в большинстве случаев несущая модулируется на основе простого формата OOK (On-OFF Keying), где каждый импульс сердца переключает несущую на «ВКЛ» примерно на 10 мс. Обнаруженный сигнал очень слабый (типично синусоида 1 мВ на расстоянии 60-80 см от источника, при условии, что ось индуктивности правильно выровнена с магнитным полем), поэтому его необходимо тщательно усилить, чтобы избежать помех и подделки. обнаружения. Предлагаемая схема - результат моих усилий и многочасовых испытаний в различных условиях. Если вы хотите углубить этот аспект - и, возможно, улучшить его - взгляните на следующий шаг, иначе вы можете пропустить его.
Следующие ниже триггерные вентили Шмитта выполняют оцифровку и функцию обнаружения пика, восстанавливая исходный модулирующий сигнал, который направляется в Arduino Pro Mini.
Плата микроконтроллера Pro Mini идеально подходит для этого проекта, потому что кристалл на плате обеспечивает высокую точность измерений (которые важны с "медицинской" точки зрения, см. Последний шаг), и в то же время он свободен от любых других ненужное устройство, что приводит к низкому энергопотреблению. Единственный недостаток заключается в том, что для загрузки кода вам понадобится интерфейс FTDI для подключения Pro Mini к USB-порту вашего компьютера. Pro Mini подключается к:
- Переключатель S1: начать запись
- Переключатель S2: вставить маркер
- Синий светодиод: мигает при обнаружении действительного импульса
- Зеленый светодиод: запись началась
- Желтый светодиод: маркер вставлен (короткое мигание) / тайм-аут (фиксирован)
- Модуль карты MicroSD (через шину SPI)
В отличие от многих модулей SD-карт, которые работают с напряжением 3,3 В, модуль DFRobot работает с напряжением 5 В, поэтому переключателя уровня не требуется.
Что касается сборки, вы можете заметить, что я разделил макетную плату на две части, соединенные двумя небольшими «мостиками» из жесткого медного провода диаметром 1 мм. Это было необходимо, чтобы поднять модуль карты MicroSD на третий «строительный уровень» и совместить его с выемкой, которую я вырезал на корпусе, прямо над прорезью для порта USB. Кроме того, я вырезал три углубления на самой плате: одно для доступа к потенциометру преобразователя постоянного / постоянного тока, другое для доступа к разъему последовательной шины Arduino Pro Mini (установлено «лицевой стороной вниз»), а третье - для доступа к разъему последовательной шины. индуктивность.
Шаг 4: приемник HR - моделирование Spice
Начиная с конструкции Питера Борста, о которой я упоминал ранее, моей целью было попытаться максимально расширить диапазон обнаружения, в то же время ограничив чувствительность к помехам и генерации ложных импульсов.
Я решил изменить исходное решение с одним операционным усилителем, потому что оно оказалось слишком чувствительным к помехам, вероятно, из-за слишком большого значения резистора обратной связи 10 МОм, и разделить общее усиление на два этапа.
Оба каскада имеют коэффициент усиления по постоянному току G = 100, уменьшающийся примерно на 70 при 5,4 кГц, но с различным входным сопротивлением для оптимизации чувствительности.
Итак, предположим, что напряжение самого слабого сигнала, генерируемого резервуаром LC, составляет 1 мВ.
Если мы транспонируем всю схему приемника в среду Spice (я использую ADIsimPE), заменив параллельную схему LC синусоидальным генератором с тем же напряжением и частотой (5,4 кГц) и запустим моделирование, мы заметим, что выходное напряжение V1 с 1-го Усилитель все еще является синусоидальным (из-за масштабного коэффициента синусоида на входе незаметна), ti усилитель работает в линейной зоне. Но после второго этапа выходное напряжение V2 показывает, что мы достигли насыщения (Vhigh = Vcc-1.5V / Vlow = 1.5V). Фактически, семейство TL07x не предназначено для диапазона выходных сигналов Rail-to-Rail, но этого достаточно, чтобы с безопасным запасом превысить оба пороговых уровня триггерного затвора Шмитта и генерировать чистую прямоугольную волну (V3).
Шаг 5: Программное обеспечение
Из-за высокого усиления каскада приемника и несмотря на то, что каскад пикового детектора действует в основном как фильтр нижних частот, входной сигнал на выводе D3 Arduino Pro Mini все еще может сильно искажаться, и его необходимо предварительно обработать в цифровом виде. проверка достоверности на предмет ложных срабатываний. Код гарантирует выполнение двух условий, чтобы импульс считался действительным:
- Импульс должен длиться не менее 5 мсек.
- Минимально допустимый интервал между двумя последовательными импульсами составляет 100 мс (соответствует 600 ударов в минуту, что намного превышает предел тяжелой тахикардии!)
После подтверждения импульса интервал (в мс) от предыдущего измеряется и сохраняется на SD-карте в файле «datalog.txt» вместе с меткой времени в формате чч: мм: сс, где 00:00: 00 представляет время последнего сброса микроконтроллера. Если SD-карта отсутствует, загорается красный светодиод, указывающий на ошибку.
Новую трассу записи можно запустить / остановить с помощью переключателя Start / Stop S1, и она будет обозначена маркером «; Start» и «; Stop» соответственно в начале и в конце текстового файла.
Если импульс не обнаруживается в течение времени, превышающего 2400 мс (25 ударов в минуту), в файл помещается линия маркера «; Тайм-аут» и включается желтый светодиод D4.
Если во время записи нажат переключатель маркера S2, в файл записывается дополнительная линия маркера в формате «; MarkerNumber» с автоматическим увеличением номера маркера, начиная с 0, и кратковременно мигает желтый светодиод.
Прикрепил полный код Arduino.
Шаг 6: Начальная настройка и тестирование
Шаг 7: Использование - Анализ медицинских сигналов
Форма корпуса, которую я использовал, достаточно близка к корпусу смартфона, поэтому на рынке можно найти множество аксессуаров, чтобы носить его или устанавливать на тренировочном оборудовании. В частности, для велосипеда могу предложить универсальное крепление для смартфона под названием «Finn» производства австрийской компании Bike Citizens. Дешевый (15,00 евро) и простой в установке, он действительно универсален и, как вы можете видеть на картинке, идеально подходит также для Cardio Data Logger.
Самый простой способ использовать необработанные данные, записанные регистратором данных, - это нанести их на график с помощью стандартных программ для ПК (например, Excel). Сравнивая графики, полученные при повторении одного и того же упражнения, или анализируя корреляцию между вариациями ЧСС и физическими усилиями, вы можете оптимизировать дозировку сил во время занятия.
Но наибольший интерес представляет изучение ЧСС и, в частности, вариабельности ЧСС (ВСР) для медицинских целей. В отличие от дорожки ЭКГ, график ЧСС не содержит прямой информации о функционировании сердечной мышцы. Однако его анализ со статистической точки зрения позволяет получить другую информацию, представляющую клинический интерес.
Наиболее полным источником знаний о HRV является финская компания KUBIOS. На их сайте вы можете найти много информации о биомедицинских сигналах, и вы можете загрузить «KUBIOS HRV Standard», бесплатное программное обеспечение для анализа вариабельности сердечного ритма для некоммерческих исследований и личного использования. Этот инструмент не только позволяет строить графики из простого текстового файла (вы должны удалить временные метки), но также выполнять статистические и математические оценки (включая БПФ) и создавать невероятно подробный и ценный отчет, подобный тому, который прилагается ниже.
Помните, что только специализированный врач может решить, какие экзамены необходимы для занятий спортом на любом уровне, и оценить их результаты.
Это руководство было написано с единственной целью вызвать интерес и развлечься в применении электроники в здравоохранении.
Надеюсь, вам понравилось, комментарии приветствуются!
Рекомендуемые:
Автономный анемометр с регистрацией данных: 11 шагов (с изображениями)
Автономный анемометр с регистрацией данных: мне нравится собирать и анализировать данные. Я также люблю создавать электронные гаджеты. Год назад, когда я обнаружил продукты Arduino, я сразу подумал: «Я бы хотел собрать данные об окружающей среде». В Портленде, штат Орегон, был ветреный день, поэтому я
Двойной сервер данных температуры IoT: 12 шагов (с изображениями)
Сервер данных двойной температуры IoT: это моя первая попытка написать инструкции, поэтому, пожалуйста, не торопитесь! Если вы думаете, что это не так уж и плохо, тогда проголосуйте за меня в Первом Авторском Конкурсе. Это мой проект Lock-Down по удаленному мониторингу двух температур в теплице
Программа MicroPython: обновление данных о коронавирусной болезни (COVID-19) в режиме реального времени: 10 шагов (с изображениями)
Программа MicroPython: обновление данных о коронавирусной болезни (COVID-19) в режиме реального времени: за последние несколько недель количество подтвержденных случаев коронавирусной болезни (COVID 19) во всем мире превысило 100000, и Всемирная организация здравоохранения (ВОЗ) объявила Новая вспышка коронавирусной пневмонии станет глобальной пандемией. Я был очень
Автомобильный GPS-трекер с SMS-уведомлением и загрузкой данных Thingspeak, на основе Arduino, домашняя автоматизация: 5 шагов (с изображениями)
Автомобильный GPS-трекер с SMS-уведомлением и загрузкой данных Thingspeak, на основе Arduino, домашняя автоматизация: я сделал этот GPS-трекер в прошлом году, и, поскольку он хорошо работает, я публикую его сейчас на Instructable. Он подключен к разъему для аксессуаров в моем багажнике. GPS-трекер загружает данные о местоположении, скорости, направлении и измеренной температуре автомобиля через мобильный телефон
Раннее предупреждение Raspberry PI Runway Light с использованием картографических данных: 14 шагов (с изображениями)
Раннее предупреждение Raspberry PI Взлетно-посадочная полоса с использованием данных карты полета: эта лампа возникла по нескольким причинам: меня всегда интересовали самолеты, которые летают над головой, а летом по выходным часто летают довольно интересные. Хотя вы склонны слышать их только тогда, когда они уходят