2026-10-02
Портативный одноканальный кардиограф на ESP32
С просмотром ЭКГ на дисплее и в браузере
Кардиограф регистрирует электрическую активность сердца и отображает её в виде электрокардиограммы — ЭКГ, позволяющей изучать сердечный ритм и форму отдельных сокращений.
Портативный одноканальный прибор делает наблюдение удобнее: его можно носить с собой и использовать без громоздкого оборудования.
Компактность, автономное питание и простота подключения подходят для домашних наблюдений и знакомства с электрокардиографией.
Представленный кардиограф построен на микроконтроллере ESP32 и модуле AD8232.
Он регистрирует ЭКГ в одном отведении и в реальном времени выводит её на встроенный дисплей, а через Wi-Fi — на компьютер, смартфон, планшет или телевизор с совместимым браузером.
Прибор создаёт собственную беспроводную сеть: доступ в интернет, установка специальных приложений и ввод паролей не требуются, а выбор операционной системы не имеет значения.
В браузере дополнительно рассчитываются частота сердечных сокращений — пульс, и оценочная длительность комплекса QRS.
Предусмотрены фильтрация сигнала, индикация отключения электродов, остановка отображения для рассмотрения выбранного фрагмента и показ уровня заряда аккумулятора.
Одного заряда хватает примерно на 24 часа непрерывной работы.
В качестве электродов используются многоразовые медицинские зажимы, которые легко устанавливаются и снимаются, позволяя быстро подготовить прибор и приступить к регистрации ЭКГ.
Такое решение удобно для регулярных кратковременных измерений и не требует одноразовых клеевых электродов, упрощая использование прибора и сокращая затраты на расходные материалы.
Схемотехника прибора
Основу прибора составляют модуль регистрации ЭКГ AD8232 (P1) и плата микроконтроллера ESP32 (U1). Электрический сигнал снимается двумя измерительными электродами, подключёнными к входам RA и LA. Третий электрод, соединённый с выводом RL, помогает подавлять синфазные помехи и стабилизировать сигнал. Модуль AD8232 усиливает и фильтрует слабую разность потенциалов между измерительными электродами, после чего аналоговый сигнал с его выхода OUTPUT поступает на вход GPIO34 встроенного аналого-цифрового преобразователя ESP32.
Микроконтроллер преобразует сигнал в последовательность цифровых отсчётов и выполняет дополнительную программную фильтрацию. Выводы LO− и LO+ модуля AD8232 подключены соответственно к GPIO32 и GPIO33 и позволяют программе обнаруживать отключение измерительных электродов. Обработанная кардиограмма отображается на OLED-дисплее U2 с диагональю 1,54 дюйма, который соединён с ESP32 по интерфейсу I²C: линия SDA подключена к GPIO23, а SCL — к GPIO22. Кнопка KEY1, подключённая к GPIO25, служит для управления режимом отображения кардиограммы: нажатие на кнопку останавливает или снова запускает кардиограмму на экране.
Одновременно ESP32 создаёт собственную сеть Wi-Fi и обслуживает встроенную веб-страницу. После подключения к этой сети пользователь открывает страницу прибора в браузере и наблюдает ЭКГ на экране внешнего устройства. Расчёт частоты сердечных сокращений и оценочной длительности комплекса QRS выполняется в браузере по полученным отсчётам. Таким образом, встроенный дисплей обеспечивает автономный просмотр, а веб-интерфейс позволяет рассматривать кардиограмму на более крупном экране.
|
Рис. 1 Принципиальная схема портативного одноканального кардиографа на ESP32
|
Питание обеспечивает аккумуляторный модуль U4, формирующий выходное напряжение 5 В (на выводе 2) и выполняющий зарядку литиевого аккумулятора (на схеме не показан). От его выхода питаются плата ESP32 и отдельный стабилизатор U3 типа L78L33, который формирует напряжение 3,3 В для модуля AD8232. Конденсатор C1 ёмкостью 22 мкФ сглаживает колебания напряжения на выходе этого стабилизатора. OLED-дисплей получает питание от вывода 3V3 платы ESP32. Выключатель SW1 разрывает общий провод питания и служит для включения и выключения прибора.
Для контроля заряда напряжение аккумулятора подаётся через резистивный делитель R1–R2 на аналоговый вход GPIO35. Резистор R1 номиналом 330 кОм соединён с плюсом аккумулятора, а R2 номиналом 100 кОм — с общим проводом. Расчётный коэффициент делителя составляет 4,3. В программе дополнительно используется калибровочный коэффициент, уточняемый по фактическому напряжению аккумулятора. Показания усредняются за 10 секунд, после чего напряжение пересчитывается в оценочный остаток заряда и выводится на экраны в процентах.
Вариант исполнения прибора
Конструкция прибора допускает выбор собственного корпуса и компоновки модулей в соответствии с доступными деталями и удобством использования.
При этом плату ESP32 (U1) и чувствительный модуль регистрации ЭКГ AD8232 (P1) рекомендуется размещать как можно дальше друг от друга, чтобы уменьшить влияние помех от микроконтроллера и его радиомодуля на измеряемый сигнал.
Модули следует надёжно закрепить внутри корпуса, исключив их смещение и случайное замыкание контактов. Провода от электродов желательно делать короткими и прокладывать вдали от модуля питания, антенны ESP32 и цифровых линий дисплея. Перегородка между отсеками помогает организовать монтаж, но сама по себе, если она выполнена из пластика, не является экраном от электрических помех.
Дисплей и кнопку управления удобно разместить на верхней панели, а выключатель питания и разъём электродов — на доступных боковых стенках корпуса. Необходимо также предусмотреть доступ к разъёмам зарядки и прошивки. В области антенны ESP32 следует избегать металлических деталей и размещения аккумулятора вплотную к антенне, чтобы не ухудшать качество связи по Wi-Fi.
Рис. 2 Размещение модулей внутри корпуса в авторском варианте исполнения прибора. Вид снизу
|
Рис. 3 Работающий прибор. Вид сверху
|
В авторском варианте модули U1–U3 и P1 размещены в левой части корпуса, а модуль питания U4 — в правой (рисунок 2-3).
Отсеки разделены перегородкой, которая служит конструктивным элементом для размещения и крепления узлов прибора.
Разрабатывать специальную печатную плату для этого прибора необязательно: небольшое количество соединений позволяет собрать его на макетной плате с паяным монтажом. При размещении модулей следует сохранять расстояние между ESP32 и AD8232, а сигнальные соединения выполнять по возможности короткими. Такой вариант упрощает сборку и позволяет легко адаптировать компоновку под выбранный корпус.
Элементная база
В качестве микроконтроллерного модуля U1 используется плата ESP32-DEVKITC на базе ESP32-WROOM-32D.
Его внешний вид представлен на рисунке 4.
При выборе другой платы необходимо проверить наличие и расположение всех используемых в схеме выводов.
Модуль P1 на микросхеме AD8232 предназначен для регистрации ЭКГ и должен иметь выводы OUTPUT, LO+, LO−, а также подключения электродов RA, LA и RL. Питание модуля 3,3 вольта.
Его внешний вид представлен на рисунке 5.
В качестве дисплея U2 используется OLED-дисплей с разрешением 128×64 пикселя, контроллером SSD1309 и четырёхконтактным интерфейсом интерфейсом I²C.
В авторском варианте установлен дисплей диагональю 1,54 дюйма. Его внешний вид представлен на рисунке 6.
Можно использовать дисплей другой диагонали с тем же разрешением, контроллером, интерфейсом и совместимым питанием 3,3 В.
Аккумуляторный модуль U4 обеспечивает зарядку двух литиевых аккумуляторов 18650 и формирует выходное напряжение 5 В для питания прибора.
Его внешний вид, и подключение в соответствии со схемой, подробно показано на рисунке 7.
В магазине Aliexpress его можно найти по таким атрибутам: 15W 18650 Lithium Battery Charger Module Step Up Booster. Нужно выбрать модуль на выходное напряжение 5 вольт.
Там же можно найти вариант модуля, рассчитанного на один аккумулятор.
Он также подходит, но при выборе замены необходимо проверить назначение его выводов, совместимость с аккумулятором и возможность питания нагрузки от аккумулятора при отключённом USB.
Примечание. Для уменьшения расхода заряда можно выпаять постоянно светящийся светодиод модуля U4, указывающий на наличие установленных аккумуляторов.
Перед выпаиванием отключите USB и извлеките аккумуляторы.
Стабилизатор U3 типа L78L33 обеспечивает питание модуля AD8232 напряжением 3,3 В.
Последующий за ним электролитический конденсатор C1 сглаживает выбросы стабилизатора. Он должен быть рассчитан на напряжение не ниже 10 В.
Его марка может быть любой.
Выключатель SW1 и кнопка KEY1 выбираются исходя из конструкции корпуса и удобства использования. SW1 должен быть с фиксацией положения, а KEY1 — без фиксации, с нормально разомкнутыми контактами.
Программа и прошивка
Программа объединяет регистрацию сигнала, управление дисплеем и передачу данных в браузер. Она контролирует подключение измерительных электродов и отображает состояние прибора, позволяя отличить отсутствие контакта от нормальной регистрации ЭКГ. Режим STOP останавливает обновление графика, чтобы пользователь мог спокойно рассмотреть выбранный фрагмент. Веб-страница хранится непосредственно во flash-памяти ESP32 и загружается с самого прибора, поэтому для просмотра кардиограммы не нужны интернет и отдельное приложение. Дополнительно программа измеряет напряжение аккумулятора и сглаживает показания уровня заряда, уменьшая колебания индикатора.
В программе используется двухъядерная архитектура ESP32: высокоприоритетная задача выборки сигнала ЭКГ закреплена за ядром 1, а системные задачи Wi-Fi выполняются на ядре 0. Такое распределение уменьшает влияние сетевой активности на регулярность получения отсчётов и помогает сохранять стабильный темп регистрации кардиограммы при передаче данных в браузер.
Для улучшения читаемости кардиограммы в программе применяется цифровая фильтрация сигнала. Фильтр высоких частот уменьшает медленный дрейф базовой линии, а фильтр низких частот подавляет высокочастотный шум. Режекторная фильтрация ослабляет помехи от электросети. Фильтры реализованы в виде биквадратных звеньев IIR, которые требуют небольшого объёма вычислений и позволяют обрабатывать сигнал в реальном времени. Такая обработка облегчает просмотр ЭКГ и выделение комплексов QRS для расчёта дополнительных параметров.
Программа загружается в ESP32 в виде готовой прошивки, которая содержит как код работы прибора, так и веб-страницу для просмотра ЭКГ. Установка выполняется через USB с помощью программы-прошивщика и не требует от читателя навыков программирования. Инструкцию по прошивке можно посмотреть здесь, а код для прошивки — скачать ниже.
Программа или код прошивки (открыть)
Этот вариант предусматривает загрузку кода в редактор, а код прошивки — в программу-прошивальщик.
Для скачивания файлов необходимо авторизоваться и оплатить абонемент на месяц или на год, а затем обновить эту страницу. Если вы ещё не зарегистрированы, то сделайте это прямо сейчас!
Альтернативный вариант - оплатить подписку на нa Boosty, после чего сообщить об оплате на e-mail.
Настройка схемы
Правильно собранный прибор с соответствующей прошивкой не требует настройки. Проверку его работоспособности рекомендуется выполнить в следующем порядке.
1. Проверка микроконтроллера и Wi-Fi. После прошивки подайте питание на плату ESP32. В списке доступных беспроводных сетей должна появиться сеть MADRA-ECG-MONITOR. Подключитесь к ней и откройте в браузере адрес http://192.168.4.1 — должна загрузиться страница прибора с областью графика ЭКГ. Автоматическое открытие страницы не требуется. Эта проверка выполняется даже без подключения остальных узлов схемы; без модуля AD8232 отображаемый сигнал не является ЭКГ.
2. Проверка собранного прибора. Подайте питание на всю схему: на дисплее должны появиться индикаторы состояния и график, а на модуле P1 — загореться светодиод питания. Перед подключением электродов обязательно отключите USB-кабель и переведите прибор на питание от аккумулятора. Вставьте разъём кабеля электродов в модуль P1 и установите электроды на теле согласно инструкции по эксплуатации. При хорошем контакте индикация отключения электродов LO! должна смениться на OK. Расслабьте руки и сохраняйте неподвижность: после завершения переходных процессов на дисплее и в браузере должна появиться устойчивая кардиограмма.
Инструкция по эксплуатации
Перед измерением расположите кардиограф и сядьте сами на расстоянии не менее 1 метра от включённых бытовых электроприборов, особенно от компьютера и монитора.
Это помогает уменьшить электромагнитные наводки и снизить уровень помех на ЭКГ.
Отключите USB-кабель и включите прибор для работы от аккумулятора.
Подключите электроды: красный — к правой руке, зелёный — к левой, жёлтый — к любому пальцу или другому участку кожи, обеспечивающему надёжный контакт.
Во время регистрации ЭКГ примите удобное положение, расслабьте руки и сохраняйте неподвижность.
Кардиограмму можно наблюдать на встроенном дисплее или в браузере устройства, подключённого к сети Wi-Fi прибора.
В первые секунды после установки электродов сигнал может быть нестабильным из-за установления контакта с кожей и переходных процессов в фильтрах. Расслабьте руки и сохраняйте неподвижность: при хорошем контакте кардиограмма становится устойчивой и чёткой. Обычно стабилизация занимает не более 10 секунд.
Устанавливать электроды и проводить измерения разрешается только при отключённом USB-кабеле и питании от аккумулятора.
Это обязательное требование безопасности, которое также уменьшает поступление сетевых помех через USB-подключение.
Перед подключением USB для зарядки или прошивки снимите все электроды.
Подробный порядок работы приведён на отдельной странице «Инструкция по эксплуатации».








