10DOF L3G4200D+ADXL345+HMC5883L+BMP085 Nine Axis IMU Module

sulaex

народ, помогите, моск в разнос уже пошел %)

купил датчики
www.goodluckbuy.com/index.php?target=products&prod…
допер только до того, что бы акселю адрес сменить (при условии в конфиге прописывания каждого датчика по отдельности, какую конфигурацию/название платы выставлять, я так и не допер)
кто подключил эту платку нормально, разжуйте пожалуйста, что где править для нормальной работы оного девайса?

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

по форуму рылся, но в этих дебрях только и всего, что нашел про смену адреса акселя, да и калибровку компаса

Chester_kz

По опыту MultiWii. У меня было что уроверь выравнивался в горизонт при наклоне когда не совпадали оси гироскопа и акселя. По гуи настраивал чтоб при повороте в ту или иную сторону значения по осям совпадали в том числе и инкремент декримент.
Под чем настраиваите? Мультиви пират или что?

Covax

Да, и чего не работает то как надо, распиши.

sulaex
Chester_kz:

По опыту MultiWii. У меня было что уроверь выравнивался в горизонт при наклоне когда не совпадали оси гироскопа и акселя. По гуи настраивал чтоб при повороте в ту или иную сторону значения по осям совпадали в том числе и инкремент декримент.
Под чем настраиваите? Мультиви пират или что?

да, я то же с этим сталкивался (да же другим этот совет давал), датчики расположены правильно, ща еще раз подыму даташит и перепроверю
мультивий конфиг 20

Covax:

Да, и чего не работает то как надо, распиши.

Chester_kz

Примострелся к видео. Возможно я с глазами не дружу но в самом начале при вовороте на право у гироскопа сильно менятся питч а у акселя ролл. Ведь так быть не должно?

sulaex
Chester_kz:

Примострелся к видео. Возможно я с глазами не дружу но в самом начале при вовороте на право у гироскопа сильно менятся питч а у акселя ролл. Ведь так быть не должно?

да по мне так вообще не должно быть как на видео 😃
задрипаные датчики с распила ито себя адекватней ведут, облетаны на ура…

Chester_kz

Да дело не в дачиках а в том как их на плату припояли. А ориентацию всегда можно поменять в прошивке. Как я и писал добейтесь, сменой ориентации, того чтобы при повороте лево право менялось тока ролл и гиры и акселя. Муторное дело но сделать можно.

SovGVD

судя по видео

  1. поменять местами оси в код
  2. посмотреть на поведение датчиков после этого

Как должны быть ориентированы оси датчиков
Чтобы определить корректность расположения осей датчиков проделайте следующее:
Наклоните коптер вправо (левая сторона вверх):

  • MAG_ROLL, ACC_ROLL и GYRO_ROLL растут
  • MAG_Z и ACC_Z уменьшаются

Наклоните коптер вперед (хвост вверх):

  • MAG_PITCH, ACC_PITCH и GYRO_PITCH растут
  • MAG_Z и ACC_Z уменьшаются

Вращайте коптер по часовой стрелке (YAW):

  • GYRO_YAW растет

Коптер стоит на месте (горизонтально):

  • MAG_Z положительное ; ACC_Z положительное
sulaex
SovGVD:
  1. посмотреть на поведение датчиков после этого

не разобрать показания при наклоне, скачет безбожно

по даташиту все датчики нормально стоят

компас

гиры

аксель

RA4ASN

Для 1.9:

#define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  = X; accADC[PITCH]  = -Y; accADC[YAW] = Z;}
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = X; gyroADC[PITCH] = Y; gyroADC[YAW] = Z;}
#define MAG_ORIENTATION(X, Y, Z)  {magADC[ROLL]  = -X; magADC[PITCH]  = -Y; magADC[YAW]  = Z;}
#define ADXL345_ADDRESS 0xA6
sulaex

всем спасибо, настроил на 2.0:

//if you want to change to orientation of individual sensor
#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = Y; accADC[PITCH] = -X; accADC[YAW] = Z;}
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = X; gyroADC[PITCH] = Y; gyroADC[YAW] = -Z;}
#define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = -Y; magADC[PITCH] = X; magADC[YAW] = -Z;}

#define ADXL345_ADDRESS 0xA6