В статье рассмотрен электронный шагомер, измеряющий число шагов, пройденное расстояние, скорость движения и число сжигаемых калорий, выполненный на основе трехосного акселерометра ADXL345.
Н. Жао
Шагомеры пользуются большим спросом среди людей, активно занимающихся физкультурой и спортом. До последнего времени в качестве шагомеров для подсчета числа шагов использовались механические приборы маятникового или шарикового типа. Они содержали детектор шагов и простой механический счетчик.
Современные электронные шагомеры строятся с использованием твердотельных инерциальных сенсоров, выполненных по MEMS- технологии. Эти сенсоры позволяют более точно фиксировать число шагов, кроме того, они имеют меньшие габариты, вес и стоимость по сравнению с механическими аналогами и могут встраиваться в плейеры и мобильные телефоны. Для построения электронных шагомеров могут быть использованы миниатюрные трехосные акселерометры компании Analog Devices типа ADXL335, ADXL345 и ADXL346.
В статье рассматривается электронный шагомер, выполненный на основе акселерометра ADXL345 и позволяющий кроме числа шагов измерять пройденное расстояние, скорость движения и, как результат, число сгоревших калорий.
Акселерометр ADXL345 содержит FIFO-память на 32 слова, что позволяет разгрузить процессор при обработке считываемых с его выхода данных. Его разрешение составляет 13 бит, а величина ЕМР – 4 мg, что позволяет измерять число шагов даже при очень медленном движении с ускорением не более 55 мg, при этом сохраняется приемлемая точность подсчета числа шагов и измерения других параметров.
Акселерометр ADXL345 позволяет измерять ускорение в трех направлениях: горизонтальном, вертикальном и боковом, рис. 1. Для обеспечения высокой точности измерения нет необходимости специально ориентировать шагомер, построенный на основе такого акселерометра.
Рассмотрим подробнее отдельные элементы ходьбы. На рис. 2 представлены отдельные стадии одного шага, а также показано, какие ускорения действуют на каждой из этих стадий.
На рис. 3 приведена типовая диаграмма ускорений бегущего человека по каждой из осей X, Y, Z акселерометра ADXL345. Из диаграммы следует, что изменение ускорения по одной из осей имеет существенно большую величину, чем изменение этого параметра по двум другим осям. Это значит, что независимо от положения шагомера в пространстве для надежной регистрации шагов будет использована ось с наибольшим пиковым значением ускорения.

Рис. 1. Направление осей ускорений бегущего человека

Рис. 2. Диаграмма стадий шага идущего человека

Рис. 3. Диаграмма ускорений бегущего человека
Для сглаживания сигналов на выходе акселерометра используется цифровой фильтр, рис. 4.

Рис. 4. Структура цифрового фильтра
Результаты фильтрации сигналов акселерометра по оси с наибольшим изменением ускорения приведены на рис. 5. В шагомере происходит обновление результатов (текущих значений максимумов и минимумов сигналов) через каждые 50 выборок. Уровень (макс.+мин.)/2 является динамическим пороговым уровнем. В течение 50 выборок этот порог используется для определения события: был ли или не был сделан очередной шаг. Функциональная схема принятия решения о том, произошло или нет ожидаемое событие, приведена на рис. 6. Она содержит линейный сдвиговый регистр и узел, задающий динамический пороговый уровень. Линейный сдвиговый регистр включает два регистра, один из которых хранит новую выборку данных (sample_new), другой – предыдущую (samp- le_old). Данные из регистра sample_new сменяют данные в регистре sample_old только в том случае, если измеренное ускорение превышает заданный динамический порог. Это свидетельствует о регистрации выполненного пешеходом шага. Счетчик шагов регистрирует число шагов в соответствии с числом сдвигов в сдвиговом регистре, причем для измерения и регистрации используется та ось акселерометра, по которой изменение ускорения имеет наибольшее значение. Отметим, что на шагомер могут воздействовать ложные вибрации, которые регистрируются как шаги. Для исключения влияния ложных вибраций в алгоритм регистрации числа шагов введены ограничения в виде интервального окна с длительностью от 0.2 с (период шагов бегущего человека) до 2 с (период шагов идущего человека). Акселерометр ADXL345 обеспечивает организацию считывания данных в режиме заданного интервального окна. Обработка данных может быть выполнена микроконтроллером ADuC7024 в соответствии с алгоритмом, подробно описанным в полном тексте статьи N. Zhao. После подсчета числа шагов N согласно приведенному ниже уравнению может быть определена длина пройденной дистанции S.

Рис. 5. Данные на выходе акселерометра

Рис. 6. Функциональная схема принятия решений при регистрации шагов идущего человека
S = N •Δ S,
где ΔS -длина шага.
Отметим, что длина шага зависит от скорости бега или ходьбы и роста пешехода. Чем выше пешеход и чем быстрее он движется, тем больше длина его шага. Спроектированный шагомер обновляет данные о количестве шагов, длине пройденной дистанции, скорости движения и сожженных калориях каждые две секунды. В табл. 1 приведены эксперимен тальные зависимости для определения пройденной дистанции в зависимости от скорости движения и роста пешехода.
Таблица 1. Экспериментальные зависимости пройденной дистанции от скорости движения и роста пешехода
| Число шагов за 2 с | Длина пройденной дистанции, |
| 0…2 | рост/5 |
| 2…3 | рост/4 |
| 3…4 | рост/3 |
| 4…5 | рост/2 |
| 5…6 | рост/1.2 |
| 6…8 | рост |
| более 8 | 1.2 рост |
* К – коэффициент.
Частота выборки шагомера составляет 50 Гц. Для разгрузки процессора ИМС акселерометра ADXL345 содержит встроенную FIFO-память. Как уже отмечалось, максимальная скорость человека составляет 5 шагов в секунду. Таким образом, данные шагомера должны обновляться не чаще, чем каждые 0.2 с, т.е. микроконтроллер может работать в режиме прерывания с минимальным интервалом прерывания 0.2 с.
Для определения скорости движения пешехода V может быть использовано следующее выражение:
V = (N •ΔS)/t.
Электронный шагомер кроме основных функций может вычислять число калорий, сгоревших во время ходьбы пешехода. Конечно, этот результат носит приблизительный характер, т.к. для точного вычисления числа сгоревших калорий необходимо знать не только параметры движения, но и учитывать вес пешехода, интенсивность метаболизма и т.п. Обычно для таких вычислений используют типовые экспериментальные зависимости, приведенные в табл. 2.
Таблица 2. Число сгоревших калорий в зависимости от скорости движения пешехода
| Скорость движения, км/ч | Число сгоревших калорий на 1 кг веса, ккал/час |
| 8 | 10 |
| 12 | 15 |
| 16 | 20 |
| 20 | 25 |

Рис. 7. Упрощенная схема включения акселерометра ADXL345 в электронном шагомере
Упрощенная схема включения цифрового акселерометра ADXL345 для реализации функций шагомера приведена на рис. 7. В ка честве микроконтроллера использована ИМС ADuC7024. Для обработки данных может быть использован ПК, в который пользователь предварительно вводит значения своего веса и роста.
ВЫВОДЫ
- Электронные шагомеры, выполненные на основе акселерометра типа ADXL345, позволяют не только определять число шагов, скорость и длину пройденного пути, но и число калорий, сгоревших за время бега или ходьбы пешехода.
- Акселерометр ADXL345 имеет миниатюрные размеры и может работать в энергосберегающем режиме. При построении электронного шагомера на его основе напряжение питания может составлять не более 1.7 В.