MultiWii

kedrikov

Тока без обид, это так для примера написал 😃😃 я был просто в шоке 😃

Ну за 8 месяцев битвы с вием есть у меня чем похвастаться.Он наконец то полетел:)😃😃 и жпс с баро заработал давольно адекватно .

www.youtube.com/watch?v=BZi6AiFfXxg

Но после смены АКБ режим HOLD заглючило ,при его активации коптер висел 3-4 сек а потом улетал куда ему вздумается причем давольно активно (с хорошим ускорением) .Попытки перезапуска системы никчему не приводили.Подкинул модуль gps к компу для просмотра настроек в MiniGPSб, все настройки на своих местах.Вобщем анамалия какаято…

omegapraim

на видео чотко видно что коптер управляет вашей рукой с передатчиком)))))), летает хорошо стабильно. я сейчас тож закончу большой коптер с ЖПС и прочими плюшками

soliada

Приветствую.Опишу очень странный а может быть и мистический)))глюк.
Подключил к мультивию с мозгами на 2560Меге ЖПС,провери в гуи вроде данные бегут что то показывает,не стал разбираться поставил режим удержания позиции и решил испытать…
Вроде работало,держало где то в радиусе 5-7метров…
Теперь,коптер все время возвращается на это место…даже без модуля ЖПС и при выключенном режиме удержания позиции…Реально можно выпустить км за два от этого места и он туда вернется…
Как теперь выключить ХЗ.Думаю наверное только перепрошивкой…А главное не понятно что и как настраивать.ПИДы крутил по разном,результат один и тот же.С другой стороны приятно,не потеряется)))

Да,по удержанию по высоте…Если летать в штиль,то держит практически на одной высоте,плюс минус см 30,чисто субъективно…В ветер не держит вообще.Спецом пробовал снимать данные чисто с барометра.В герметичном контейнере с микроскопическим отверстием для сообщения с атмосферой
при порывах ветра происходит резкая смена давления…

omegapraim

ну все можешь налаживать производстве электронных почтовых голубей)))))))

DVE
kedrikov:

Но после смены АКБ режим HOLD заглючило ,при его активации коптер висел 3-4 сек а потом улетал куда ему вздумается причем давольно активно (с хорошим ускорением) .Попытки перезапуска системы никчему не приводили.

Такое было на Кролике, типичные симптомы неправильной работы компаса, попробуйте перекалибровать. Если компас показывает наоборот, вместо возврата в точку, квадрик наоборот, будет улетать с ускорением (нетрудно догадаться почему).

HATUUL

В 2.1 появилась строка с поправкой на Магнитное склонение .

    /* Get your magnetic decliniation from here : 
       Convert the degree+minutes into decimal degree by ==> degree+minutes*(1/60)
       Note the sign on declination it could be negative or positive (WEST or EAST) */
    //#define MAG_DECLINIATION  3.96f              //For Budapest Hungary.
    #define MAG_DECLINIATION  0.0f

Не забывайте выставлять.

lenz

Приветствую всех. Так я и не смог решить свою проблему.
НА мультивии непонятный глюк, с чем связано я уже в упор не понимаю… Если настраивать и калибровать мультивии на батарее 2S все вроде отлично можно даже летать. Но скажем так летает немного тяжеловато, для обучения по сути самое то. Скорость не большая, все по минимуму. Как только ставлю батарею 3S слетают напрочь настройки горизонта. Бэк был импульсный отдельный, думал в нем проблема, запитал от бэка регуляторов, там стоит 7805. Уже вроде не должно быть помех. Проблема не ушла, она осталась… ЛОгики не наблюдаю никакой… На батарее 3S коптер свечкой уходит в небо… за пару секунд метров 10 набирает… о том чтобы висеть на высоте метр даже слов нет… висим на высоте метров 10… Сами понимаете не реально такое… Никто не сталкивался? Прошивки перепробовал уже все какие только можно… разницы принципиальной абсолютно нет…

Или хотя бы может подскажете как сделать так чтобы на батарее 3S коптер оставался хотя бы на высоте метр. Коптер с гудлака

soliada

Приветствую. Эх,поспешил с заявлениями про аномальность ))))Все оказалось проще.Выяснилось,что мой ЖПС модуль выдает данные даже при отключенном минусе,плюс и тх рх не отключал по причине возможного замыкания.С постоянно включенным режимом возврата-удержания тоже все просто,сопля между выводами на плате,вследствие чего одним переключателем управлялось двумя каналами…
Радует,что все прекрасно работает со 100% повторяемостью и довольно высокой точностью.

DVE
lenz:

На батарее 3S коптер свечкой уходит в небо… за пару секунд метров 10 набирает… о том чтобы висеть на высоте метр даже слов нет…

Попробуйте другие винты с меньшей тягой, видимо эти для 3S великоваты.

Олег24

Я подключил сонар и GPS через “I2C переходник” на Tiny 2313 работает… сонара в IMU так и нет…

kamigvik

Можно подробней о “I2C переходник” на Tiny 2313

Олег24
kamigvik:

Можно подробней о “I2C переходник” на Tiny 2313

www.multiwii.com/forum/viewtopic.php?f=8&t=1549&st… Там немного дальше схема. Делается платка с 2313 к ней сонар HC-SR04( Trig Eho ), GPS ( RX TX ) и OpticalFlow и вся эта плата подключается по I2C к вию. вчера сделал работает.

kamigvik
Олег24:

вчера сделал работает

С какой версией прошивки

Олег24
kamigvik:

С какой версией прошивки

с 2.1 сонар и GPS . лучше брать 4313

soliada

Здравстуйте.Есть вопрос касаемо режимов работы ЖПСа.В конфинге есть строчка в разделе ЖПС что то вроде ,не сбрасывания координат при арминге,Вроде в описании сказано что точка настраивается при калибровке гироскопа.
Собственно может кто настраивал и знает как правильно это сделать?
У меня что то так и не получилось.Может эта функция и не работает?

photocanon
lenz:

Если настраивать и калибровать мультивии на батарее 2S все вроде отлично можно даже летать. Но скажем так летает немного тяжеловато, для обучения по сути самое то. Скорость не большая, все по минимуму. Как только ставлю батарею 3S слетают напрочь настройки горизонта.

Был глюк с горизонтом, обязательно замерить напряжения на меге в точке референса и напряжении питания датчиков, если оно изменилось даже на 1% горизонт уйдет! Решение проблемы переработать всю цепь питания ардуины если плата покупная.

kedrikov

Всем привет
Пришел барометр MS5611 . Платка allinone на ней установлен баро BMP085 я его выпаял.На проволках подцепил новый баро по схеме .В скетче выставил следующее и залил

/*************************** independent sensors ********************************/
/* leave it commented if you already checked a specific board above */
/* I2C gyroscope */
//#define WMP
#define ITG3200
//#define L3G4200D
//#define MPU6050 //combo + ACC

/* I2C accelerometer */
//#define NUNCHUCK // if you want to use the nunckuk connected to a WMP
//#define MMA7455
//#define ADXL345
//#define BMA020
#define BMA180
//#define NUNCHACK // if you want to use the nunckuk as a standalone I2C ACC without WMP
//#define LIS3LV02
//#define LSM303DLx_ACC

/* I2C barometer */
//#define BMP085
#define MS561101BA

/* I2C magnetometer */
//#define HMC5843
#define HMC5883
//#define AK8975
//#define MAG3110

В гуи баро заработал но отпал аксел и посыпались ошибки по I2c
С контактом CSB игрался на массу и + не помогло

Даташиты BMP085 MS5611

soliada

Как вариант,что то отпаялось или наоборот спаялось не правильно во время выпайки баро.
Скорее всего акселерометр.
Если выпаивалось феном,то такое возможно,а если этот фен был строительный,то вероятней всего.

kedrikov

Да не с пайкой там все ок и фен специальный для этих дел.Проблема решина в def.h прописываем новый баро и его адрес в настройках Allione и пин CSB кидаем на +3.3

#if defined(ALLINONE)
#define ITG3200
#define BMA180
#define MS561101BA
#define HMC5883
#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = -X; accADC[PITCH] = -Y; accADC[YAW] = Z;}
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = Y; gyroADC[PITCH] = -X; gyroADC[YAW] = -Z;}
#define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = X; magADC[PITCH] = Y; magADC[YAW] = -Z;}
#define BMA180_ADDRESS 0x41
#define MS561101BA_ADDRESS 0x76

#endif

dROb

Товарищи, помогите пожалуйста вписать i2c акселерометр LIS302DLTR. Собсно добился правильной инициализации, сам датчик работает, но выдаёт данные в каких то странных размерностях (т.е. например отклоняю на угол 10градусов - а на экране квадрик вращается на весь оборот). Не понимаю логику этих двух команд (украдено у другого i2c датчика):

i2c_getSixRawADC(BMA180_ADDRESS,0x02);

ACC_ORIENTATION( ((rawADC[1]<<8) | rawADC[0])/16 ,
                   ((rawADC[3]<<8) | rawADC[2])/16 ,
                   ((rawADC[5]<<8) | rawADC[4])/16 );

вот данные из даташита по поводу чтения искомых данных:

Name       Type       Address    Comment
--          r            28             Not Used
OutX        r            29             output
--          r           2A             Not Used
OutY        r            2B             output
--          r           2C             Not Used
OutZ        r            2D             output

Также, подскажите, какой самый правильный способ отлаживать этот Мультивий? Например требуется получить через serial вывод сырых данных от датчика

mataor
dROb:

Не понимаю логику этих двух команд (украдено у другого i2c датчика):

тут все просто:
i2c_getSixRawADC получает 3 16-ти битных значения по и2с начиная с регистра 0х02 из устройства с адресом BMA180_ADDRESS
собственно тебе нужно создать свою процедурку, скопировать туда код из этой и переделать на свое (там не особо много нужно переделок)

вторая функция, а вернее макрос рассовывает полученные данные в массив данных акселя

а по отладке - чем не нравятся стандартных 4 дебага? разрешаеш DEBUG в конфиге и просто где нужно вывести данные помещаеш их в debug[0…3] соответственно