Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Детектор свободного падения


Модуль акселерометров поддерживает три различных чипа. В зависимости от установленного чипа применяются различные настройки.
Значение параметра -1 означает использовать значения по умолчанию. В скобках указано актуальное значение.

Доступные значения и используемые единицы зависят от используемого типа акселерометра.

Тип акселерометра можно увидеть командой GET /cli state imu::


Общее описание назначения параметров:

...

o6dths - orientation in 6 dimensions threshold. Порог ускорения либо угол, по которому генерируется значение текущей ориентации.

filt - filter option. Используется для отладки.


ISM303DAC

Code Block
[/imu/ibase] imu base:
  odr=-1(400HzHR) fs=-1(2g) wuths=-1(100) wudur=-1(5) idledur=-1(5000) o6dths=-1(50deg) ffths=-1(200) ffdur=-1(75) filt=-1(internal) (Set 0*)

wuths - mg, multiples by 1*lsb

wudur - ms, multiples by 1*odr

o6dths - 80deg (1), 70deg (2), 60deg (3), 50deg (4)

ffths - free fall threshold. Порог ускорения для генерации события “свободное падение”., mg, internally aligned in row [156, 219, 250, 313, 344, 406, 469, 500]

ffdur - free fall duration. Длительность либо количество отсчетов в течении которого ускорение остается ниже ffths по всем осям и генерируется событие “свободное падение”.filt - filter option. Используется для отладки., ms, multiples by 1*odr

Code Block
[/imu/iext] imu ext:
  slpmode=-1(enabled) slpdur=-1(3000) clkmode=-1(disabled) clkths=-1(400) clkdur=-1(560) clkshock=-1(60) clkquite=-1(30) (Set 0*)

slpmode - sleep mode. Включение (1) / выключение (0) режима сна акселерометра.

slpdur - sleep duration. Таймаут, если в течении которого небыло активности, акселерометр переходит в режим sleep (odr=12Hz), ms, internally aligned by 512*odr.

clkmode - click mode. Режим работы функции “click“"click". Выключено (1), одинарный (2), двойной (3).

clkths - click threshold. Порог ускорения для определения "щелчка", mg, internally aligned by 2*lsb (lsb=31.25mg with default 2g full scale).

clkdur - click whole duration, ms, multiples by 32*odr.

clkshock - click shock duration, ms, multiples by 8*odr.

clkquite - click quite duration, ms, multiples by 4*odr.


ISM303DACLSM303AGR / LIS3DH

Code Block
[/imu/ibase] imu base:
  odr=-1(400HzHRo25Hz) fs=-1(2gs2g) wuths=-1(10032) wudur=-1(5400) idledur=-1(5000) o6dths=-1(50deg1600) ffths=-1(200320) ffdur=-1(753) filt=-1(internalstrong) (Set 0*)

wuths - mg, internally aligned by 1*lsb (lsb=16mg with default 2g full scale).

wudur - ms, internally aligned by 1*odr

o6dths - mg, internally aligned by 1*lsb

ffths - не используется

ffdur - не используется


Парсет не используется.

Code Block
[/imu/iext] imu ext:
  slpmode=-1

...

 slpdur=-1

...

 clkmode=-1

...

 clkths=-1

...

 clkdur=-1

...

 clkshock=-1

...

 clkquite=-1

...

 (Set 0*)

LSM303AGR / LIS3DH

...


Начиная с прошивки 3.8.0 исправлены ошибки и изменены настройки поумолчанию:

Настройки по умолчанию (новая метка либо сброшена конфигурация):

ISM303DAC:

...

odr=-1(

...

50HzLP)

...

fs=-1(

...

2g)

...

wuths=-1(

...

100)

...

wudur=-1(

...

30)

...

idledur=-1(5000)

...

o6dths=-1(

...

50deg)

...

ffths=-1(

...

510)

...

ffdur=-1(

...

350)

...

filt=-1(

...

internal)

...

(Set

...

0*) - настройка датчика свободного падения на 2 метра (эмпирически).

ffdur=700 - настройка датчика свободного падения на 5 метров (эмпирически)

...

.


Начиная с прошивки 3.13.0 обновлен алгоритм детектирования событий "свободного падения" и изменены настройки поумолчанию:

LSM303AGR / LIS3DH:

Парсет не используется.

...

[/imu/

...

ibase] ibase:

odr=-1

...

(o25Hz) fs=-1

...

(s2g) wuths=-1

...

(32) wudur=-1

...

(400) idledur=-1

...

(5000) o6dths=-1

...

(400) ffths=0 ffdur=0 filt=-1

...

(strong) (Set

...

0*)Список доступных значений

настройки детектора свободного падения расположены в парсетах:

imu ?[/imu/ffacc] :  test= off glow=9 gspike=18 ghigh=15 tmin=60 p=80 ambigmax=2 exithold=40 iirtau=50

[/imu/imuffimp] imu pars Usage: [<name1>=<val1> [<name2>=<val2>]...]
odr: enum: o01Hz o10Hz o25Hz o50Hz o100Hz o200Hz o400Hz o1620Hz o5367Hz
ths: uint:
mot: uint:
idle: uint:
hpf: enum: aggres strong medium light fs: enum: s2g s4g s8g s16g
o6dths: uint:
ffths: uint:
ffcnt: uint:
Параметры:
fs - selects full scale of sensor
odr - accelerometer measure datarate
ths - motion detector threshold (mg). Actually represented in lsb values for current full scale: s2g s4g s8g s16g == 16, 31, 63, 125 mg.
THS=16..31 mean 1lsb for 2g scale = 16mg. THS=32..47 mean 2lsb for 2g scale = 32mg.
mot - motion detector time (ms). Time of motion that should be continuously applied to sensor to generate motion event. It actually depends and aligned on datarate: o01Hz o10Hz o25Hz o50Hz o100Hz o200Hz o400Hz o1620Hz o5367Hz == 1000, 100, 40, 20, 10, 5, 2.5, 0.617, 0.19 1lsb in ms
odridle - motion detector idle time (ms). Actually time of motion event absence. Generate device's still event. hpf - high pass filter tuning. The actual values depends on data rate like: :  impths=13 impwin=100 impmin=1

[/imu/ffcorr] :  ffto=50 imp2norm=20 imp2val=5 val2norm=5 ff2impwin=50 imp2valwin=20 ffdurmin=3 ffdurmax=300 (Set 0*)

[/bar/ffbar] :  enable= off incths=200 iirtau=200


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

node/ctl#CritSens=on - включает критическое поведение сенсоров (по умолчанию off)

После активации этой настройки критический сенсор (свободное падение) будет транслироваться до события отмены.

Отмена (отключение) этого события произойдет после установки метки на зарядку.