Простейший энцефалограф ЭЭГ — EasyEEG

В головном мозгу человека находится огромное количество информации в миллиардах нейронных связях. Передача информации ведется с выработкой электрического импульса, а значит существует принципиальная возможность получить к ней доступ. Для этого существует метод, называемый электроэнцефалография (ЭЭГ).

Навигация по проекту:
1. Назначение системы
2. Анализ известных решений
3. Концепция разработки ЭЭГ
4. Электроды ЭЭГ
5. Принципиальная схема ЭЭГ
6. Программа микроконтроллера Ардуино
7. Программа обработки и анализа ЭЭГ на ЭВМ
8. Видео презентация

Назначение ЭЭГ системы Easy EEG

Применение полученной информации может быть различным:
— диагностика нарушений в головном мозгу определение функционального состояния человека (сон, бодрствование, наркоз и т.п.)
— «чтение мыслей» или нейрокомпьютерный интерфейс для управления техникой силой мысли
— воздействие на мозг при помощи биологической обратной связи (человек получает информацию о состоянии его мозга в реальном времени через визуальные или аудио образы, поэтому может научиться его корректировать)
Но есть одно «но»: приборы ЭЭГ стоят очень дорого и не доступны обычному человеку. Поэтому есть один вариант — сделать такой прибор самому. Благо, что это вполне реально!

Анализ известных решений

Посмотрев в интернет, можно наткнуться на целый ряд проектов энцефалографов ЭЭГ для самостоятельной сборки. Их условно можно поделить на такие подходы:
— взять готовый гаджет типа «кошачьи ушки» с чипом NeuroSky и подключиться к его сигналу через компьютер. Получится довольно качественная и удобная система, но по цене очень дорогая и цена ошибки высока.
— взять готовую отладочную плату на интегральном чипе типа ADS1299 и на её основе собрать ЭЭГ. Быстро, качественно, но очень дорого.
— собрать свой усилитель ЭЭГ на дискретных элементах, подключить некий интерфейс к ПК (даже есть вариант с аудио интерфейсом). Например, есть целая группа вариантов на проекте OpenEEG. Здесь придется паять и отлаживать довольно сложные схемы вручную. Стоимость будет чуть ниже, качество и удобство тоже. Порог вхождения тут самый высокий.
В итоге реально для того, чтобы широкому кругу энтузиастов попробовать исследовать мозг решений практически нет.

Концепция разработки ЭЭГ системы

Целью данного проекта является создание концепции такой системы, которая обладает минимально необходимой аппаратной частью и способная получить сигнал ЭЭГ для последующего использования.
Конечно тут не идет речь о сигнале клинического качества,
главным критерием является наличие в нем информации об активности головного мозга.

Сигнал ЭЭГ является одним из самых сложных биоэлектрических сигналов человека для регистрации. Чтобы достичь поставленной цели нужно учесть все факторы, влияющие на качество этого сигнала:

  1. Малая амплитуда сигнала требует больших усилений, а в этом случае характеристики схемы ухудшаются. Чтобы не делать каскады усилителей нужно понизить опорное напряжение АЦП и тем самым снизить требуемый коэффициент усиления.
  2. Для выделения сигнала необходимо сбалансировать дифференциальный усилитель. Для создания сбалансированного дифференциального каскада требуется качественная сборка и подобранные элементы. С этим у многих могут быть проблемы, поэтому тут лучше всего использовать готовый модуль инструментального усилителя AD620, который рекомендован для медицинской электроники. Модуль собирается на китайских заводах и имеет вполне достойное качество (скорее всего лучше, чем собранный вручную). Стоит не дорого. Ранее в статье о возможности регистрации ЭЭГ на модуле AD620 было показано, что он способен получить информацию о мозговой активности даже без дополнительных аппаратных фильтров!
  3. Высокочастотные помехи сильно искажают сигнал. Если отбросить частоты выше 30 Гц, которые не изучены и поэтому малоинформативны, то удастся убрать большинство мешающих помех (в том числе 50 Гц). Для этой цели можно использовать простейший пассивный фильтр низких частот на RC цепочке.
  4. Гармонические помехи могут попасть по цепи питания, если ПК питается от сети и прибор с ним гальванически соединен проводом. Кроме того, в этом случае существует риск поражения мозга электрическим током! Выходов тут может быть два: использовать изолятор USB в качестве отдельного модуля или подключать к ноутбуку или планшету, питаемому от батареи. Третьим вариантом является передача по Bluetooth. Использование Bluetooth пока не рассматриваю, т.к. радиочастотные помехи тут будут лишними.
  5. В качестве цифровой части можно использовать плату Ардуино. Там на контроллере ATMEGA328 находится 10 битный АЦП. Это не много, т.к. если сигнал будет слабым, то он его амплитуда плохо передастся. Поэтому нужно настроить модуль усилителя так, чтобы сигнал покрывал как можно больше диапазона АЦП. Как это сделать описано в статье о настройке модуля AD620 для сигнала ЭКГ.
  6. Без хороших аппаратных фильтров сигнал будет все же искажен, поэтому большое внимание нужно уделить цифровой фильтрации.
  7. Еще одним звеном в концепции ЭЭГ системы будет выделение частотных диапазонов не по абсолютным, а по относительным значениям. Т.е. амплитуду той или иной частоты нужно делить на сумму всех амплитуд. Это даст не чувствительность к разным уровням сигнала.

Электроды и электродная система ЭЭГ

Электроды должны обладать минимальным переходным сопротивлением и отсутствием явления поляризации. Для этого принято использовать серебро или хлорид серебра (AgGl). Из этого материала изготавливают электроды для холтеровского ЭКГ и специализированные ЭЭГ электроды.

Для повышения уровня сигнала применена униполярная система электродов ЭЭГ.

Положения электродов ЭЭГ EasyEEG
Электродная система Easy EEG ЭЭГ (униполярный вариант)
Простейший энцефалограф ЭЭГ - EasyEEG
Мокрые ЭЭГ электроды MSCcap и специальный шлем
Простейший энцефалограф ЭЭГ - EasyEEG
Электроды для холтеровского ЭКГ

Принципиальная схема ЭЭГ EasyEEG

Для реализации системы доступно две версии: с проводным и беспроводным соединением (Bluetooth).

Здесь показаны принципиальные схемы соединения всех модулей.

Простейший энцефалограф ЭЭГ - EasyEEG
Схема EasyEEG версии 1.0
Простейший энцефалограф ЭЭГ - EasyEEG
Схема EasyEEG BT версии 1.0

Номиналы RC фильтра рассчитаны под частоту 32 Гц (R=3.3 кОм, С = 1.5 мкФ). Если есть желание расширить диапазон регистрации, то можно подобрать другой резистор согласно формуле: R = 1/(2*3.14*f*C), где С = 1.5 мкФ, f — максимальная частота пропускания сигнала, Гц.
К слову, для полной частоты ЭЭГ 150 Гц резистор нужно взять в районе 700 Ом.

Порядок подключения по Bluetooth подробно описан в статье.

Программа для микроконтроллера Ардуино

Была выбрана частота дискретизации 200 Гц и скорость передачи на ПК 115200 бит/сек.
Для тестирования и настройки сигнала в мониторе порта, выбирайте protocol 0, а для работы с прилагаемой программой на ПК protocol 1.

// Программа контроллера Arduino для проекта EasyEEG
// Версия прошивки 0.1
// Совместимость с аппаратной платформой: v.1.0 EasyEEG, EasyEEG BT
// (c) Roman Isakov, 2021
// (c) LabData.ru
// Объявление внешних подключений
#define protocol 0  // Протокол передачи: 0 - монитор порта, 1 - внешняя программа
#define analogInPin  A0  // Разъем для подключения аналоговой части
#define Ts  5          // Период дискретизации сигнала (мс)  (200 Гц)
// Объявление переменных
int sensorValue = 0;         // Результат измерения
float t = 0;              // Время записи
uint32_t ms_old = 0;
// Процедура инициализации
void setup() {
  Serial.begin(9600);          // Настройка скорости передачи на ПК (бод)
  pinMode( analogInPin, INPUT );// Настройка вдода аналоговой части
  analogReference(INTERNAL);    // Внутренний источник опорного напряжения 1.1 В
  ms_old = millis();
}
// Главный цикл работы
void loop() {
  uint32_t ms = millis();
  uint32_t delta = ms-ms_old;
  if (delta >= Ts){
    sensorValue = analogRead(analogInPin); // Провести АЦП  
    ms_old = millis();
    if (protocol) Serial.print('$'); // Отправить начало посылки в ПК
    Serial.print(sensorValue, DEC); // Отправить результат измерения в ПК
    if (protocol) Serial.print(';');  // Отправить конец посылки в ПК
    Serial.println();
  }
}

Программа обработки и анализа ЭЭГ на ЭВМ

Для работы с сигналом ЭЭГ можно воспользоваться демо программой здесь или создать свою на любом языке программирования. Об особенностях соединения Ардуино и ПК можно посмотреть обучающую статью на сайте.

Скачать

Простейший энцефалограф ЭЭГ - EasyEEG

Программа EasyEEG Win32-64 v.1.1
+ прошивка Ардуино
(актуальная версия)

Добавлена функция БОС-тренинга, добавлены частотные диапазоны ЭЭГ

Поддержка платформ: EasyEEG v.1 и EasyEEG BT v.1

Простейший энцефалограф ЭЭГ - EasyEEG

Программа EasyEEG Win32-64 v.1.0
+ прошивка Ардуино

Поддержка платформ: EasyEEG v.1 и EasyEEG BT v.1

Простейший энцефалограф ЭЭГ - EasyEEG

Программа EasyEEG Win32-64 v.0 (официально устарела)

Видео презентации

Версия 0

Версия 1

Функция биологической обратной связи по ЭЭГ

Проект будет развиваться, поэтому следите за обновлениями в группе ВК и на канале YouTube.

(c) Роман Исаков, 2021