- Слушай, а какой у тебя должен быть пульс во время пробежки? - Ну не знаю - 150 ударов.
- Да? Почему у меня 840? — 840 в минуту?! - Что, тебе приходилось считать по минутам что ли? - Ваше мнение? - Ну я просто считал, пока не сбился со счёта.
Так что, ладно, пошёл пересчитывать.
(фильм «День выборов») Почти точно о китайском пульсометре.
Как говорится, если хочешь, чтобы что-то было сделано хорошо, сделай это сам.
А если устройство работает не так, как ожидалось, то, возможно, его можно улучшить?
Многие люди, увлекающиеся спортом, контролируют частоту пульса во время тренировки.
Для этого используются пульсометры.
В задачу данной статьи не входит рассмотрение всех их типов, но одними из наиболее надежных и проверенных являются нагрудные датчики пульса, которые получают электрические сигналы от сердца.
В связи с резко возросшей физической активностью приобрел монитор Частота сердцебиения Кито 2809. Пульс хороший, но возникла необходимость относительно точного измерения интервалов RR. Пульсометр поддерживает два протокола: ANT+ и BLE. По характеристикам оба они, помимо самой частоты сердечных сокращений, передают длительность интервалов RR. Что такое интервалы RR Интервал RR — временной интервал между зубцами R на КГ сердца.
Размер интервалов RR не постоянен, а варьируется.
Это называется вариабельностью сердечного ритма.
Анализируя вариабельность, можно сделать выводы о состоянии спортсмена и наличии перетренированности (см.
статью Александра Вертышева «Анализ записи интервалов RR» в журнале «Лыжный спорт»).
Также проводятся исследования по определению аэробных и анаэробных порогов.
Для записи данных с обоих каналов под ваши нужды было написано Android-приложение с журналом данных в текстовых файлах.
В качестве более-менее адекватного эталона был взят аналоговый пульсометр, посылающий сигнал на частоте 5,3 кГц, подключенный через ардуино напрямую к ПК.
Первое сравнение немного огорчило.
«Прибор» выдавал 4-5 несуществующих за один реальный удар сердца (синий график показывает обилие точек).
Пульс, даже с учетом возможного усреднения, не очень точен.
Об измерении интервалов RR речи вообще не идет. Общение с производителем не принесло никаких результатов.
Кроме нескольких видео, попыток убедить меня, что все в порядке, и фразы: «Данные о пульсе KYTO2809 точны!», я от них ничего не получил.
Тут мой взгляд упал на коробку отверток.
Открыв корпус, я обнаружил чип nRF51422.
Зная, что для этих МК есть SDK, я решил попробовать его перепрошить.
Программа нужна самая простая: с усилителя электрических сигналов сердца (черная капля на фото) сигнал поступает на вход МК, а дальше дело техники, ловим импульсы через прерывания, измеряем время между ними и выводить все это через BLE и ANT+.
Все просто, но видимо что-то пошло не так с китайскими программистами.
Эти чипы программируются через SWD. Родная прошивка была защищена от чтения.
Поэтому, не долго думая, была выполнена команда «format c:» «--eraseall».
На плате даже отображаются соответствующие контакты.
Вход усилителя электрического сигнала сердца P0.07. Распиновка самого модуля BLE следующая (сверху вниз):
- Земля
- ВДД
- P0.30
- Р0.00
- P0.01
- P0.02
- P0.03
- P0.04
- P0.05
- P0.06
- P0.07
- P0.08
Чип достаточно старый и SDK для него тоже устаревший, версии 10. С их помощью были подняты BLE-сервисы на пульсометре: Информация об устройстве, Обслуживание батареи, Частота пульса.
Добавлен профиль HeartRate для ANT+.
Мы измеряем интервалы RR с помощью таймера и отправляем данные в профили BLE и ANT+.
Для экономии заряда батареи при отсутствии внешних раздражителей (в течение 5 секунд) переводите пульсометр в спящий режим.
При появлении импульса (перебоев на входе) МК просыпается.
При прошивке от производителя Kyto2809 постоянно передавал рекламные пакеты по BLE, т.е.
при использовании только канала ANT+ BLE продолжал отправлять пакеты и разряжать батарею.
Я ограничил время рекламы 5 минутами, что должно положительно сказаться на эффективности.
Тесты показали, что для параметра «Расчетный пульс» лучше ввести фильтрацию (отбрасывать заведомо недостоверные данные, т.е.
частоту пульса ниже 30 и выше 240) и усреднение по значению скользящего среднего.
Окончательное сравнение с аналоговым пульсометром приведено ниже.
Различия в измерениях интервалов RR составляют 0-2 мс, что вполне приемлемо.
Среди полезных функций добавлена возможность обновления прошивки по ОТА (оригинальное название DFU OTA).
Теперь, установив ОТА-загрузчик, вы легко сможете обновить прошивку, если захотите что-то изменить в коде.
Прошивка производится со смартфона с помощью фирменной утилиты nRFConnect. Также, если не ошибаюсь, в вашем Android-приложении можно поддерживать ОТА, для этого есть библиотеки.
К сожалению, чтобы загрузить загрузчик в память, нужно подключаться через SWD, потому что.
ОТА производителем изначально не предусмотрено.
Порядок прошивки:
- мы шьем SoftDevice310 , это стек BLE и ANT+ от Nordic;
- прошейте Kyto_DFU_bootloader.hex (корпус можно собрать);
- через nRFConnect заливаем готовый пакет kyto_hr_dfu.zip
Также есть прошивки без ОТА (KytoHR.hex).
Теги: #Программирование микроконтроллеров #Сделай сам или Сделай сам #Гаджеты #прошивка #прошивка #Kyto2809
-
Все В Порядке, Мы Падаем
19 Oct, 24 -
Привет, Ка! Почему Вы Не Нашли Этот Баг?
19 Oct, 24 -
Группа Пользователей Honeywell, 2010 Г.
19 Oct, 24 -
Новый Мобильный Яндекс
19 Oct, 24 -
О Плеерах И Качестве Ipod
19 Oct, 24