Главная Материалы Новости Форум Поддержать сайт     

Кардиограф на основе Arduino своими руками


       В настоящее время имеет место бурное развитие разнообразной медицинской техники. В том числе техники и технологий исследования организма. Идея достаточна очевидна. Мы отслеживаем при помощи приборов всевозможные характеристики организма, например, биотоки, биопотенциалы сердца, мозга, мышц, других органов. В идеале человек должен быть обвешан датчиками не хуже новогодней ёлки. Далее применяя тот или иной вид лечения, от лекарств до всевозможных физических, умствтвенных, эмоциональных, дыхательных гимнастик, меняя режим труда и отдыха, питания и так далее, следим при помощи приборов за тем, на пользу или нет те или иные воздействия на организм.
       Всё это применяется не только для лечения, но и для развития физических, умственных способностей и тому подобное. Например, спортсмены, отслеживая биотоки мышц, делают выводы о пользе различных упражнений для данных мышц. Тот же принцип используется для тренировки сердечной мышцы при помощи электрокардиографов. Сейчас широко известны так называемые майнд-машины (см. здесь), где та или иная световая, звуковая, тактильная стимуляция призвана улучшать память, обучаемость, эмоциональный настрой человека и так далее. Для отслеживания эффективности майнд-машин применяют приборы для фиксирования энцефалограмм мозга – энцефалографы.
       Другая сфера применения указанных технологий – это, так называемые, детекторы лжи см., например, здесь.
       Приборы на основе энцефалографов в настоящее время так же применяются для управления техникой (например, компьютером) что называется "силой мысли" (см., например, здесь).

       Здесь выкладываются и обсуждаются материалы по самостоятельному изготовлению электрокардиографа и энцефалографа с минимальными затратами деталей и усилий. Изложение ведётся максимально простым языком, чтобы все эти устройства мог бы повторить и начинающий радиолюбитель даже ни разу в жизни не бравший в руки паяльник. В связи с этим здесь также выкладываются объяснения принципов работы тех или иных устройств с точки зрения практика.

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

       Начнём с наиболее простого – как сделать своими руками кардиограф. Далее разовьём данную схему до энцефалографа. Итак.

                                          Электрокардиограф

       Электрокардиограф (или кардиограф) состоит из двух частей – аналоговой и цифровой (см. рис.1). Аналоговая часть представляет собой всего лишь усилитель с коэффициентом усиления около 1000 – он усиливает изменяющуюся во времени разность потенциалов на теле человека (которая и есть в нашем случае, по сути, электрокардиограмма) примерно в 1000 раз. Далее усиленный сигнал поступает на цифровую часть, где сигнал оцифровывается (см. про то, что такое оцифровка здесь) и подаётся в цифровом виде на компьютер (у нас цифровой сигнал подаётся по радиоканалу блютуз – см. ниже).

Электрокардиограф
                                                            рис.1

В итоге компьютер при помощи специальной программы расшифровывает полученный от цифровой части (у нас она реализована на основе платы Arduino – см. ниже) цифровой сигнал и отрисовывает на экране монитора график электрокардиограммы (ЭКГ).

                                            Цифровая часть схемы

       Для упрощения изготовления прибора в качестве цифровой части возьмем плату типа Arduno (Ардуино) c блютузом на борту. Например, в качестве такой платы можно взять Iteaduino BT v1.1. Цена этого устройства около 1200 руб. (см., например, здесь). При этом особенность нашей системы в том, что цифровой сигнал будет передаваться на компьютер обязательно по каналу блютуз т.е. по радиоканалу. Таким образом, не будет никакой гальванической связи между компьютером и нашим прибором, а значит и телом пациента. Это обеспечивает отсутствие возможности попадания на тело пациента опасных напряжений, например, с корпуса компьютера, которые могут достигать до 110В (см., например, здесь). Поэтому ещё раз подчеркнём, в целях электробезопасности при подключении прибора к телу пациента сигнал на компьютер должен передаваться только по блютуз, эту возможность и предоставляет выбранная нами плата. Таким образом, тело пациента будет подключено к прибору, питаемому от 9В и никоем образом не связанным с источниками питания с опасным уровнем напряжения.
       В итоге разработка цифровой части сводится лишь к настройке канала блютуз нашей платы, "заливке" на плату соответствующей программы (скетча) – эта программа “объясняет” Arduino с какого разъёма плата будет читать сигнал (у нас с разъёма A0) чтобы оцифровать и в каком формате этот оцифрованный сигнал будет передаваться на компьютер. Ещё будет нужна компьютерная программа, которая читает и расшифровывает данные, поставляемые платой на компьютер – на один из его программных com-портов. В итоге в железе цифровая часть проекта у нас выглядит уже вот так:

Электрокардиограф на Arduino
                                                               рис.2

Также целесообразно подключать его аналоговую часть к Arduino через стабилитроны и диод Шоттки – вот так:

Кардиограф на Arduino
                                                               рис.3

Здесь диод Шоттки (BAT85) и стабилитроны (BZX55C2V4) – для защиты от неправильной полярности и превышения сигналом 5В на входе Arduino. Они нужны как минимум на этапе настройки схемы, когда можно перепутать плюс с минусом и т.д. и в итоге спалить достаточно недешёвую Arduino. Также эти диоды в данном проекте важны не только с этой точки зрения (см. ниже). Если кратко, то смысл этой защиты в следующем. Диод Шоттки (BAT85), если аналоговая часть схемы пытается подать между A0 и GND положительное напряжение, имеет сопротивление близкое к бесконечности, тогда на A0 и GND благополучно поступает это самое положительное напряжение (положительная разность потенциалов) от аналоговой части. Если же аналоговая часть попытается каким-то образом подать на A0 и GND отрицательное напряжение, то диод Шоттки превращается в закоротку – резистор с сопротивлением близким к нулю. В итоге весь ток течёт через диод Шоттки, а напряжение между A0 и GND стремится к нулю. Два последовательно включённых стабилитрона (BZX55C2V4) в данной схеме, если на них подано положительное напряжение, как и диод Шоттки имеют сопротивление близкое к бесконечности, но только если это напряжение в пределах 4.5В. Если же аналоговая часть схемы попытается каким-то образом подать на A0 и GND напряжение больше 4.5В, то эти два диода также превращаются в резисторы с малым сопротивлением – практически весь ток течёт через них и таким образом напряжение между точками A0 и GND не превышает 4.5В. Подробнее о защитных диодах также можно посмотреть здесь. Про настройку блютуза, "заливку" скетчей в Arduino и разных способах просмотра полученных данных на компьютере см. здесь. Таким образом, то, что заняло бы времени у начинающего радиолюбителя на изготовление и настройку цифровой части минимум от 1-2 месяцев у нас, благодаря использованию Arduino, занимает максимум 3-7 дней.

                                            Аналоговая часть схемы

       Теперь переходим к аналоговой части нашей схемы. Аналоговая часть строится


Обсудить на форуме


СЛЕДУЮЩАЯ СТРАНИЦА



                     Комментарии

Мария
09/09/13 16:20

Здравствуйте! Спасибо большое за информацию, которой Вы делитесь здесь. Я собираюсь сделать электроэнцефалограф, и нигде не могу найти Iteaduino BT V1.1 (ATmega 328). Скажите, можно ли вместо него использовать Iteaduino BT V1.0 (ATmega 328) или другие микроконтроллеры. И, если можно, то какие или чем это чревато. Заранее спасибо!


Константин
09/09/13 18:17

Здравствуйте, Мария! Сам я работал лишь с версией v1.1, однако, если посмотреть последний даташит на Iteaduino BT V1.0 ATmega 328 (ссылка на него такая: ftp://imall.iteadstudio.com/IM120411006_Iteaduino_BT/Documents/DS_IM120411006_Iteaduino_BT.pdf - эта ссылка также дана здесь в разделе про настройку Arduino), то в самом конце этого даташита дано, чем отличается Iteaduino BT v1.1 от Iteaduino BT v1.0. Там написано: Fix some description bug. Таким образом, как я понимаю, всё отличие сводится к исправлению ошибок в описании платы в даташите, а работают эти версии видимо одинаково. Кстати, на этой странице есть следующая ссылка на Интернет магазин: http://devicter.ru/goods/Iteaduino-BT-with-ATMega328P так вот, там продают именно Iteaduino BT V1.1 ATmega 328.


Мария
10/09/13 15:11

Спасибо огромное! Вы мне очень помогли! Если я разработаю на базе Вашего ЭЭГ что-нибудь стоящее для науки, то я буду обязана этим Вам))


Мария
10/09/13 16:00

Сайт, который Вы мне порекомендовали, я уже видела, но я живу в Москве, а представленные там товары - из Новорисибрска!)) Извините, ещё один вопрос: какой TL431 лучше выбирать: http://www.chipdip.ru/product/tl431acd/ http://www.chipdip.ru/product/tl431acdbzr/ http://www.chipdip.ru/product/tl431aclp-ti/ http://www.chipdip.ru/product/tl431clp/ http://www.chipdip.ru/product/tl431ilp/ http://www.chipdip.ru/product/tl431cpk/


Константин
10/09/13 20:37

Приятно, конечно, что информация на этом сайте полезна и востребована. Тем более для науки :-). Что касается TL431, то если будете собирать всё сначала на основе платы беспаечного монтажа (кстати, рекомендую начинать именно так), то без сомнения удобнее будет в корпусе TO92 – например, вот эта: http://www.chipdip.ru/product/tl431ilp/ Ну, а если сразу собираетесь паять, то могу сказать, что планарные элементы (там, где в ваших ссылках тип корпуса SO, SOT) – это довольно мелкие вещи (в даташите можете посмотреть размеры) и без соответствующего опыта паять их, например, обычным паяльником, довольно трудно (хотя, если почитать Интернет, потренироваться, то и это не такая уж большая проблема). Обычно это паяется при помощи паяльной станции. Так что и здесь рекомендую в корпусе TO92.


Сергей
24/01/14 18:03

А куда заводить \"О\" кабель ? В землю закопать ?


Константин
24/01/14 20:54

Здесь http://www.prointellekt.ru/EEG1.php вы ваш вопрос продублировали - там я и ответил.


earth_man
30/04/15 17:20

Здравствуйте Константин, спасибо большое за сайт. Я никогда прежде не занимался электроникой и познания мои в этой области стремятся к нулю. Скажите, насколько возможно создать то что вы предлагаете в вашей инструкции с нулевым багажом знаний по теме? Что посоветуете почитать чтобы более мягко и без стресса войти в тему и сделать ЭКГ, ЭЭГ самому?


Константин
30/04/15 18:44

Здравствуйте, earth_man! В принципе здесь достаточно уметь измерять напряжение и ток, в пределах школы знать про то как течёт ток, знать закон Ома, также желательно прочитать на этом сайте об усилителях, про оцифровку и согласование (я это и выложил здесь чтобы у начинающих был тот необходимый минимум, который достаточен для повторения данных устройств). Ну и конечно же придётся вооружиться терпением и начинать собирать схему не сразу всю, а по шагам: собрали блок питания, проверили то ли он выдаёт, что надо, потом собираем повторитель, проверяем так ли он работает как надо и т.д. Это позволяет не только минимизировать стресс, но и даже получать положительные эмоции так как вы будете двигаться от победе к победе. Данный элемент схемы заработал - победа и при этом осознание того, что вот теперь вы не только в теории, но и на практике знаете что нужно сделать чтобы заработал тот же повторитель или как правильно подключить усилитель, а значит если понадобится то сможете использовать эти знания не только для ЭКГ или ЭЭГ, но и для реализации каких-то своих схем и так далее. Ну и конечно же желательно всё это делать на основе платы беспаечного монтажа - это очень удобно особенно для начинающих.


earth_man
30/04/15 21:54

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


Ринат
16/01/16 1:34

Iteaduino BT v1.1. Интернет магазин: http://devicter.ru/goods/Iteaduino-BT-with-ATMega328P Я не смог найти. Может под другим имением, но и по картинке тоже нет.


Константин
16/01/16 9:35

Здравствуйте, Ринат! Да, посмотрел, тоже сейчас у них эту плату не обнаружил, хотя раньше покупал именно у них. Тут либо придётся искать данную плату в другом месте, либо можно купить стандартную Arduino, модуль блютуза HC-05 и подключить его к плате. В интернете есть как это сделать. Можно также в том же магазине http://devicter.ru/ купить Iteaduino IBoard V1.1 (ATmega 328) (http://devicter.ru/goods/Iteaduino-Iboard) и к ней блютуз или даже wi-fi модуль серии XBee (эта плата как раз их поддерживает). Серия XBee в этом магазине здесь: http://devicter.ru/catalog/BeeSeries


Ринат
16/01/16 20:53

Константин спасибо. Попробую поискать teaduino BT v1.1. Так как, схему придётся изменять, а я в первые в такие дебри лезу. Давно хотел иметь энцефалогрраф.


Анастасия
29/09/18 0:52

Здравствуйте, Константин. Посоветуйте, пожалуйста, где в Украине найти плату Iteaduino BT V1.1 ATmega 328.


Константин
29/09/18 12:44

Здравствуйте, Анастасия! Могу наверное только посоветовать, если нет возможности купить такую плату, то можно к обычной ардуине купить например блютуз модуль HC-05 и подружить их - в нтернете есть статьи по этому поводу. Можете вообще вместо блютуз модуля использовать wifi модуль - там так же всё очень просто подключается. Ещё вместо блютуз можно использовать различные ардуиновские радиомодули типа nRF24L01 или что-то подобное. Вообще вариантов масса как передавать сигнал с ардуино по радиоканалу - все эти разнообразные радиомодули стоят обычно копейки и очень легко подключаются к ардуино.


Светлана
18/01/21 20:24

Здравствуйте, пишу уже в 2021! Это устройство меня очень заинтересовало. Константин, не могли бы вы подсказать конкретнее, какие именно должны быть выходные параметры при сборке, как вы уже указывали выше в комментариях, по шагам. С питанием еще понятно, но далее повторителя догадаться уже сложнее. Буду благодарна за ответ и наставления!


Константин
20/01/21 8:16

Здравствуйте, Светлана! Повторитель по напряжению должен на выходе давать то же, что у него на входе. Если ещё что-то интересует, то задавайте конкретные вопросы - постараюсь ответить.


Светлана
27/03/21 18:32

Здравствуйте, Константин! Спаяла все элементы согласно схеме http://www.prointellekt.ru/EKG4.php Настроила все согласно интрукции, а по итогу вижу это: https://ibb.co/wsnQT14 Подскажите, пожалуйста, в чем может быть ошибка?


Константин
28/03/21 8:56

Здравствуйте, Светлана! Что при этом подключено к электродам? Пробовали замкнуть все электроды между собой и посмотреть что при этом будет?


Светлана
31/03/21 19:58

Здравствуйте! Вот что получается, если соединить все электроды между собой https://ibb.co/qyRb09p А вот что получается, если элетродв подключены к телу (два к рукам, земля к ноге) https://ibb.co/1Q2T6Hg Кажется разницы нет. В чем может быть ошибка?


Константин
02/04/21 7:48

Да, отличия я тут тоже не вижу. Когда замыкаете все 3 электрода, то должен быть сигнал постоянного уровня где-то на середине графика - где-то на уровне 500. У вас этого нет. По идее надо проверять последовательно все элементы. Могу посоветовать начать собирать схему постепенно. То есть сначала делаем блок питания, проверяем, затем повторитель на OP97, подключаем к блоку питания, проверяем нормально ли повторяет, затем подключаем к OP97 и питанию первый AD620, на его вход подаём, например, постоянное напряжение 0.1В (между -IN и +IN), тогда на выходе относительно нулевого провода должно быть 0.7В. Дальше подключаем второй AD620, причём выход первого AD620 сразу на +IN второго AD620 без всякого конденсатора 0.3 мкФ и без всякого резистора в 1МОм (т.е. пока что на этапе настройки ВЧ фильтра не будет). Далее подаём на вход первого усилителя постоянное напряжение 1мВ, тогда на выходе второго AD620 относительно нулевого провода будет около 1В. Если это получилось, то ставим ВЧ фильтр. И схема должна работать. Можно также, если есть возможность, попробовать подать на вход первого усилителя синусоиду с амплитудой где-то 0.5мВ, тогда на выходе второго усилителя должна быть синусоида с амплитудой 0.5В. Да, и при этом нулевой провод (референтный электрод) нужно подключить к минусовому электроду первого усилителя - это относится и к варианту, когда тестируем всё на синусоиде, и когда тестируем подавая на вход постоянный уровень.


Светлана
05/04/21 21:03

Константин, а есть возможность приобрести у вас работающую схему?


Константин
06/04/21 7:43

Нет, у меня никак. Но на али есть практически то же самое только не на AD620, а на AD8232: https://aliexpress.ru/item/32830624268.html?ws_ab_test=searchweb0_0, searchweb201602_1_10152_10151_10065_10344_10068_10342_10343_10340_10341_10543_10084_10083_ 10618_10307_10301_5711211_10313_10059_10534_100031_10103_10627_10626_10624_10623_10622_5722411_10621_ 10620_5711311_10125,searchweb201603_37, ppcSwitch_2&algo_expid=dbc6cb7f-d3d1-4177-adc7-5fdd0856368f-0&algo_pvid=dbc6cb7f-d3d1-4177-adc7-5fdd0856368f&priceBeautifyAB=0&sku_id=65018662316


Светлана
11/04/21 18:34

Здравствуйте! Подскажите, а что именно должен повторять ор97? Какой именно сигнал? Тот, что приходит на его третью ногу? Если можно, то пример с картинкой, графиком


Константин
13/04/21 7:39

Плюсовой вход повторителя, как видно из схемы, подключён к нулевой точке. Следовательно и на выходе повторителя тоже должен быть потенциал нулевой точки. Подробнее так же можно посмотреть здесь: http://www.prointellekt.ru/OU1.php




Представтесь (не менее 2-х символов):

Сообщение:

Далее функция антиспама.
Ответьте на вопрос:
Восемь умножить на сто будет равно? (введите числом):






Читаем книгу "Что людей объединяет или обо всём понемногу"

Что людей объединяет ...