Столкнулся с тем, что сильно лезли помехи 50Гц если ИК датчик прикасается или очень близко к веку или глазу. Поменял частоту АЦП с 24Гц до 25Гц помех стало меньше, за счет того что период их стал значительно выше. Самые большие помехи были у частот оцифровки отличных от 25Гц или 50Гц, это например при 35Гц. Это было какое-то биение. Например, для частоты АЦП 26Гц(24) помеха была 2Гц, для 26 -2, 27-4, 28-6,29-8, 30-10, ... 40-10, 41-9, 42-8, 43 -7, 44-6, 45-5, 46-4, 47-3, 48-2,49-1. В общем от помехи 50Гц и ее гармоник можно было бы избавиться более высокой частотой дискретизации и последующим применением цифрового фильтра, но я так не стал делать из-за того что при оцифровке не на 25Гц, а на пример на 100-200Гц значительно бы выросло потребление подсветки. Напоминаю, подсветка импульсная синхронно с АЦП работает на частоте 25Гц, потребляет 0.17mA в максимальной засветке 500мкс, ток измерял мультиметром. Такое большое время стало из-за того что я выкинул из схемы полевой транзистор для запитывания ИК подсветки и поставил резистор 100 Ом это на светодиоде 17mA при напряжении питания 3в. С полевым транзистором и резистором 39-62 Ома, максимальная подсветка длилась 150мкс. Общий ток потребления не замерял, но думаю, он был такой же, выкинул полевик для упрощения схемы, раньше я хотел подсвечивать короткими импульсами 1-30мкс по 100mA но на практике получился короткий интервал регулирования, 30мкс, и ступеньки от регулятора были сильно заметны, теперь у регулятора интервал подсветки от 1 до 500мкс, и ступеньки регулирования практически не видны. Регулировать яркость нужно из-за того что голова на подушке двигается и меняется положение маски и датчика относительно глаза. Вот на картинке ниже, третий график сверху и есть время подсветки.
на этой картинке видно 4 фазы быстрых движений глаз, фильтр пропускающий 0.7-10Гц.
Так что можно пробовать включать подбуживание, отключение мигания и вибрации сделал от легкого движения головы или постукивания по маске. Алгоритм отключения подбуживания движением глаз пока не дописал. Мало памяти оказалось в выбранном микроконтроллере, пишу на границе 80% приходится постоянно все алгоритмы оптимизировать, чтобы все влезло, ну и лишнее не добавлять. хотя 30 цифровых фильтров не помешали бы внутри микроконтроллера и выбирать какой нужно, пока внутри только 2 цифровых фильтра. Остальные 30 во внешней программе по ней подбираю какой лучше. И потом его заливаю в микроконтроллер. Данные на картинке записывал по USB кабелю именно для того чтобы подобрать потом нужный фильтр. Потому что во внутреннюю память все что выше на графиках просто бы не влезло. Внутренняя память хранит данные глаза и акселерометра от частоты 5Гц, а по USB кабелю 25Гц. Но кабель не простой, а без линии 5В, и еще с гальванической развязкой (EL200-4). Иначе светят светодиоды зарядного устройства, что является дополнительной защитой от того чтобы не спали с кабелем USB, потому что я против того чтобы кто-то заряжал литиевый аккумулятор находящийся поблизости от глаза во время сна, защитный терморезистор я конечно поставил, но все равно отношусь к литиевым аккумуляторам подозрительно.
Это устройство гальванической развязки USB (EL200-4), и кабель от него до Ремдетектора на содержит линии питания +5В. Все это для безопастности человека. Такое подключение мне было нужно для того чтобы записать сырой сигнал с АЦП и потом подобрать оптимальные цифровые фильтры нижних и высоких частот.
Энергопотребление: ВЫКЛ: 30-31мкА; ВКЛ без USB, подсветка 1мкс: 2.36мА; ВКЛ без USB, подсветка 500мкс: 2.52мА; ВКЛ c USB, подсветка 1мкс: 9.21мА; ВКЛ c USB, подсветка 500мкс: 9.36мА;