Skip to content

4. Калибровка сенсоров

greytm87 edited this page Nov 18, 2016 · 14 revisions

Accelerometer calibration is mandatory if inertial position estimation is used. Современные датчики акселерометра являются точными, но они требуют калибровки, если мы хотим получить точные данные. Sensors might be biased, gains on different axis might be different. Advanced 6-point calibration takes care of all irregularities sensor might have.

Use this video as guidance LINK YOUTUBE

Этапы калибровки акселерометра

Обратите внимание, что, в отличие от cleanflight, iNav не делает калибровку по уровню для калибровки акселерометра! Смотрите раздел "Калибровка уровня" ниже.

Примечание: Если полетный контроллер установлен под другим углом или вверх ногами, сделайте этапы калибровки с полетным контроллером так, как показано на фотографии, not the quad (в противном случае калибровка не будет работать корректно).

  1. Подключите полетный контроллер к программному обеспечению "Configurator", выберите вкладку "Setup".
  2. Установите полетный контроллер (поз 1) и нажмите кнопку "Calibrate Accelerometer". Расширенная калибровка активируется и запишет 1-ю точку данных.
  3. Поверните полетный контроллер во все стороны в последовательности (поз 2-6): в верх ногами, на правую сторону, нос вверх, на левую сторону, нос вниз. Нажимайте кнопку "Calibrate Accelerometer" для каждой позиции. Усовершенствованный алгоритм калибровки будет записывать с 2-ой и по 6-ю точку данных.
  4. После того, как все 6 позиций были выполнены, усовершенствованная калибровка вычислит необходимое смещения и сохранить их в EEPROM. Калибровка акселерометра выполнена.
  5. Используйте CLI для проверки accgain_x, accgain_y и accgain_z параметры НЕ ДОЛЖНЫ БЫТЬ 4096. Если это так, то алгоритм не сходится, калибровка не удалась, необходимо повторить калибровку акселерометра заново.

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

Level calibration

Accelerometer calibration does not record leveled aircraft. For level flight and navigation features to work you need to trim the firmware to level flight using "Board Alignment" on the "Configuration" tab. The readings should show close to 0.0 on all axis when the aircraft is laying flat.

NOTE! If using CLI to set up board alignment unlike in Cleanflight firmware board alignment angles are set in degrees*10, so if you need to trim your board 1.5 degrees you should enter "15".

Compass calibration

Performing the calibration

Calibrate with flight battery powering up the aircraft.

Press "Calibrate Magnetometer" button. You have 30 seconds to hold the copter in the air and rotate it so that each side (front, back, left, right, top and bottom) points down towards the earth. However the algorithm is smart enough to calculate the proper calibration values even if you simply wave the copter in the air for 30 seconds after pressing "Calibrate Magnetometer" button.

Verifying that compass is calibrated properly

Connect the copter to Cleanflight Configurator and observe the attitude values on the "Setup" screen (values of Heading, Pitch and Roll). Point your copter's nose North and verify that heading is reading 0 deg. Tilt the copter 30 degrees forward, right, left and back while observing the Heading value. Value of 0 deg shouldn't change more than several degrees. Repeat the process with copter's nose pointing East (heading=90 deg), South (heading=180 deg), West (heading=270 deg).

If the value is incorrect when copter is level, you likely don't have align_mag CLI variable set to proper compass alignment value. If heading value is correct when copter is level but drifts when you tilt the copter, then your should re-calibrate the compass.

Also, remember to set magnetic declination to a proper value on the "Configuration" screen. The magnetic declination of your specific location can be found here: www.magnetic-declination.com

If your magnetic declination readings are e.g. +3° 34' , the value entered in the iNav configurator is 3.34 (3,34 in some locales). In the CLI, the same effect would be set mag_declination = 334. For west declination, use a minus value, e.g. for 1° 32' W, set mag_declination = -132. In all cases (both CLI and GUI), the least significant digits are minutes, not decimal degrees.

In iNav 1.2, on non-F1 targets, one can use an automatic declination setting, which is more than accurate enough for iNav. set inav_auto_mag_decl = ON.

Backup and restore the settings

To avoid going through full calibration after resetting the configuration new CLI settings are introduced to get and set accelerometer offsets and gains: acczero_x, acczero_y, acczero_z, accgain_x, accgain_y, accgain_z.

Clone this wiki locally