Карманный кардиограф с SD картой на Pic16

Рассматривается простой кардиограф, умещающийся в кармане и обеспечивающий регистрацию электрокардиограммы (частоты пульса), температуры и положения тела человека. Эти параметры запоминаются на карте памяти micro SD, откуда в последствии могут быть переписаны на персональный компьютер (ПК) и при помощи специальной программы отображены в виде графиков (привязанных к времени и дате съемки) для детального изучения.

Устройство разрабатывалось для изучения поведения человека во сне, но может быть также полезно спортсменам и медикам. Начинающих радиолюбителей заинтересует схема регистрации биотоков (когда источником сигнала становится человеческое тело) и пример применения широко распространенных карт памяти SD для сохранения разнородной информации.

Принципиальная схема кардиографа приведена на рис. 1.

Принципиальная схема кардиографа

Рис 1 — Принципиальная схема простого кардиографа

На элементах DA1, DA2, DA3 собран усилитель кардиосигнала. Это обычный УНЧ с дифференциальным входом и высоким входным сопротивлением [1]. К входам усилителя E+ и E- подключается пара электродов, закрепленных на теле в области сердца для съема исходного кардиосигнала. Элементы DA1.1 и DA1.2 работают как повторители, обеспечивающие высокое входное сопротивление. Инструментальный усилитель [2] DA3 усиливает сигнал примерно в 6 раз (коэффициент задается резистором R4) перед подачей на АЦП микроконтроллера DD1.

Помимо полезного сигнала биологического происхождения на электродах E+ и E- присутствуют синфазные помехи (прежде всего 50 Гц от осветительной сети), амплитуда которых в тысячи раз превышает полезный сигнал. Для их подавления используется «активная земля» [3]: на теле закрепляется третий электрод E0, на который с выхода DA2.1 в противофазе подаётся синфазная составляющая входного сигнала. Её выделение выполняет сумматор на R1 и R2, а DA2.1 – усиление и инверсию. Благодаря такой своеобразной отрицательной обратной связи величина синфазных помех резко снижается, и далее они эффективно подавляются DA3. Для формирования опорного напряжения (средней точки) для ОУ DA2.1 и DA3 используются элементы R6, R7, С1, С2, DA2.2.

Для измерения температуры и положения тела к микроконтроллеру DD1 по двухпроводному интерфейсу I2C подключены интегральные датчики температуры ВК1 и ускорения ВК2. Спецификация шины I2C реализуется программно. Резисторы R8 и R10 служат нагрузками линий интерфейса. Резисторы R9, R11, также как R5, R12, R14, R15 защищают выводы микроконтроллера и периферии от перегрузок при сбоях МК (в отлаженное устройство их можно не устанавливать).

Питание акселерометра BK2 осуществляется через диод VD1, который снижает напряжение питания BK2 на 0.7 в, чтобы напряжение «свежезаряженного» Ni-MH аккумулятора GB1 (4.2 в) не превышало паспортного значения для BK2 MMA7455LT (3.6 в). Положение тела определяется по проекции силы тяжести на оси чувствительности BK2, что например позволяет четко различить следующие положения тела: стоя, лежа на спине, на животе, на левом или на правом боку. По изменению ускорения фиксируется двигательная активность.

Функционирование устройства как единого целого осуществляется под управлением микроконтроллера DD1. Сразу после подачи питания устройство работает в режиме записи: DD1 выполняет периодический опрос датчиков BK1 и BK2, измерение частоты на входе CCP1 и оцифровку кардиосигнала. Объединенный информационный поток записывается в файл на карту памяти micro SD (разъем X1), а также выдаётся в ПК по интерфейсу RS-232 (разъем X2) для контроля и визуализации. Командой с компьютера можно остановить запись и перевести устройство в режим скачивания сохраненных файлов.

Сохранение информации осуществляется на карте памяти micro SD [4, 5], которая подключается через разъем X1. В процессе работы карта может потреблять до 100 мА (в импульсе), создавая мощные помехи по питанию, поэтому она запитана от источника GB1 напрямую, а остальная схема через RC — фильтр R16 C5.

От использования стандартной файловой системы FAT на карте SD пришлось отказаться: она не устойчива к внезапному исчезновению питания, а памяти МК не достаточно для буферизации поступающих в реальном времени данных. Разработан альтернативный формат хранения информации. Запись на карту осуществляется последовательно, сектор за сектором. Четырехбайтный номер первого свободного сектора EmptyPos, в который должна осуществляться запись новых данных, хранится в EEPROM микроконтроллера. После записи очередного сектора номер EmptyPos инкрементируется.

В каждом секторе SD-карты (размером 512 байт) наряду с полезными данными сохраняется сигнатура и 4-байтный номер первого сектора файла. Таким образом, хотя данные на карту пишутся строго последовательно, они структурированы в виде файлов, рис. 2. Логика получения списка всех файлов реализуется программой на персональном компьютере; при этом предпринимаются дополнительные меры по контролю и коррекции ошибок.

Механизм последовательной записи файлов на SD-карту

Рис 2 — Механизм последовательной записи файлов на SD-карту

Вместо привычных операций форматирования (при установке новой SD-карты) и удаления файлов (при исчерпании объема карты) пользователем выполняется операция установки EmptyPos на начальный сектор с номером 65536. Первые 65536 секторов карты не используются ради сохранения существующей на карте «настоящей» файловой системы.

Устройство соединяется с компьютером по интерфейсу RS-232 через разъем X2. Резистор R13 ограничивает ток через вывод RX МК в условиях, когда напряжение входного сигнала выше напряжения питания МК. Сигналы на разъёме X2 имеют уровни TTL, поэтому непосредственно подключать компьютер к разъему X2 нельзя! Следует использовать готовый переходник USB-COM от сотового телефона (обычно такие переходники имеют уровни TTL) или изготовить такой переходник самостоятельно на базе микросхемы FT232R по типовой схеме [6]. В крайнем случаем можно собрать преобразователь уровней в TTL на микросхеме MAX232 или по схеме на рис. 3. Через разъем X2 (контакты 5 и 8) может также осуществляться зарядка аккумулятора GB1.

Скорость обмена устройства с компьютером фиксированная: 57600 бод. Только для ускорения переписывания файлов с SD — карты в ПК скорость может быть повышена до 460800, 806400 или 921600 бод (если компьютер их поддерживает). Выдача данных при этом осуществляется МК программно на вывод RC0 (а выход TX отключается).

Простой преобразователь ТТЛ – RS-232

Рис. 3 — Простой преобразователь ТТЛ – RS-232

Для работы с устройством разработана специальная программа для ПК (файл программы EKG_SD_2010.exe прилагается), которая позволяет визуализировать кардиограмму и показания датчиков во время записи, считывать с SD-карты список файлов и копировать нужные на компьютер, сохранять кардиосигнал в стандартном формате WAVE PCM, обрабатывать записи с целью выделения R-зубцов [1] и расчета частоты пульса, визуализировать и сохранять в унифицированном формате полученные временные зависимости. Более подробно работа с программой описана в прилагаемом «руководстве оператора» EKG_SD_2010.doc.

МК DD1 измеряется частоту сигнала на выводе 13, что можно использовать для подключения к устройству дополнительных датчиков. Частота сигнала не должна превышать 8 КГц (относительная погрешность измерения не хуже 10-6, период измерения ~ 0.25 сек).

Детали и конструкция. В качестве DA1 и DA2 можно применять любые ОУ широкого применения, работоспособные в диапазоне питающих напряжений от 2.7 до 4.2 в. Инструментальный усилитель DA3 заменим обычным ОУ, включенным по схеме на рис. 4. Однако при этом желательно подобрать близкими сопротивления резисторов R18 и R19, R20 и R21 (а также R1 и R2).

Для микроконтроллера DD1 должна быть предусмотрена панелька. В него следует занести программу из прилагаемого файла EKG_SD_Pic.hex («фьюзы» хранятся внутри прошивки).

Функциональная замена DA3 AD623

Рис. 4 — Функциональная замена DA3 AD623

Устройство может работать без SD — карты или датчиков BK1 и BK2 с соответствующим снижением функциональности. Это позволяет начинающим радиолюбителям упрощать устройство по своему усмотрению без необходимости изменения прошивки DD1 или программ для компьютера. Например, если надо только наблюдать биотоки в реальном времени, а запись на SD-карту не требуется, то карту (как и дополнительные датчики) можно не устанавливать.

В качестве разъема X1 для подключения micro SD-карты используется переходник micro SD ® SD (они продаются вместе с micro SD картами). Контакты переходника аккуратно лудят, после чего подсоединяют к схеме короткими проводками МГТФ-0.05. На рис. 5 показана нумерация и обозначения контрактов для макро SD — карты (т.е. переходника). Желательно применять карты SD class 4 и выше (из-за малого объема памяти МК максимальная задержка записи одного сектора должна быть меньше 40 мс). Поддерживаются карты HC (ёмкостью ³ 4 Гб).

Нумерация контактов обычной SD-карты (переходника)

Рис. 5 — Нумерация контактов обычной SD-карты (переходника)

Разъем X2 – типа DB9F или более миниатюрный (подходящий к применяемому переходнику COM-USB).

Датчик температуры BK1 фиксируется на теле пластырем, а к основной схеме подключается 4-мя свитыми в жгут проводами МГТФ-0.05 длиной до 50 см.

Монтаж акселерометра BK2 MMA7455LT (размерами 3´5´1 мм) требует определенной ловкости. Проше всего приклеить датчик к плате контактами вверх и подпаять к схеме проволочками 0.1 мм. Конденсаторы С3, С4 должны стоять в непосредственной близости от ВК2. По задумке датчик должен сохранять достаточно постоянное положение относительно торса (или другой выбранной части тела). Чтобы достичь этого, BK2 можно расположить либо в корпусе кардиографа, либо сделать выносным, подключив к основной схеме проводами также как BK1.

Электроды E+, E-, E0 – металлические кружки Æ 10 мм из титана, которые закрепляются в области сердца пластырем. Для экспериментов можно использовать мелкие монеты – но от длительного контакта с телом они начинают ржаветь! Подключаются электроды неэкранированными проводами МГТФ-0.05 (по возможности провода к E+ и E- следует скрутить, а вокруг обвить провод к E0).

Электрод E0 крепится в любом месте (например, приблизительно между E+ и E-). В медицине используют специальные схемы расположения электродов на теле и соответствующие методики анализа кардиограмм [1, 7]. Однако для определения частоты пульса электроды E+ и E- можно располагать в области сердца достаточно произвольно, лишь бы наблюдались достаточно четкие импульсы положительной полярности (как на рис. 6). Кардиосигнал также можно снимать с рук, но импульсы при этом слабее (и их автоматическое выделение затруднительно).

Пример исходного кардиосигнала

Рис. 6 — Пример исходного кардиосигнала

Питается устройство от аккумулятора на 3.6 в. Потребляемый ток зависит от SD-карты и в среднем составляет 20-30 мА. Емкость GB1 более 400 мА/час выбирается исходя из требуемого времени записи (8 — 12 часов). Следует отметить, что напряжение свежего аккумулятора доходит до 4.2 в, превышая установленный предел для SD-карты (3.6 в). Однако практика показала, что они повышенное напряжение выдерживают.

Налаживание. Цифровая часть схемы в налаживании не нуждается. После инициализации SD-карты через 1-2 сек от включения SA1 на выходе TX DD1 должен появиться сигнал передачи потока данных в ПК. Если теперь соединить ПК к устройством и выбрать в программе EKG_SD_2010.exe правильный COM-порт, на экране должны отображаться состояние записи, номер сектора EmptyPos, показания датчиков BK1, BK2 и график оцифрованного кардиосигнала. Далее следует нажать кнопку «СТОП» и выполнить «форматирование». Успех выполнения этих операции свидетельствует о корректной связи устройства с ПК. Нажатием кнопки «Инициализация» проверяется, правильно ли устройство опознаёт SD-карту.

Пока электроды E+, E-, E0 никуда не подключены, исправный усилитель кардиосигнала должен «ловить» (а компьютер отображать) сигнал помехи 50 Гц от сети. При замыкании между собой E+, E-, E0, амплитуда помехи должна резко уменьшаться, причем на выводе 6 DA3 должна быть примерно половина питающего напряжения.

Далее электроды E+, E-, E0 крепят к телу и пытаются засечь импульсы, коррелированные с ударами сердца. При проблемах следует обеспечить увлажнение кожи в месте контакта с электродом и варьировать их положение в поисках лучшего сигнала. Можно также увеличить усиление DA3, уменьшив сопротивление R4.

Фотография собранного кардиографа без акселерометра

Фотография собранного кардиографа

Рекомендуемая литература (можно скачать на сайте нашей кафедры)

1. Барановский А.Л. Аппаратура непрерывного контроля ЭКГ. М.: Радио и связь, 1993. – 248 с.
2. Авербух В. Инструментальные усилители. Схемотехника, 2001. – № 1. – С. 26.
3. Гордейчук А.П. Система «активной земли» в электрокардиографах. – Петербургский журнал электроники, 2005. – №2. – C. 37.
4. http://www.sdcard.org/developers/tech/sdcard/pls/Simplified_Physical_Layer_Spec.pdf
5. Терехин Ю. Музыкальный звонок с картой MMC. Радио, 2009. ­– №9. – С. 24-27.
6. http://www.ftdichip.com/Documents/DataSheets/DS_FT232R.pdf
7. Сизенцева Г.П. — Методическое пособие по электрокардиографии (в помощь медицинской сестре). – М.: Издательство НЦССХ им. Бакулева РАМН, 1998. – 68 с.

Скачать исходники, прошивки, ПО и др. файлы к проекту вы можете ниже:

Список компонентов: Скачать

Файлы проекта: Скачать

Оригинал статьи тут: http://cxem.net/medic/medic24.php
admin
Author: admin