CRIUS ALL IN ONE PRO Flight Controller

Taatarenkoff
Raider:

Правильно-ли я понимаю: мне нужно записать #define MAG_DECLINIATION 7.21f

минуты только забыли перевести в градусы. 7°21’ = 7+21/60 = 7+0.35 = 7.35

kren-DEL
Taatarenkoff:

минуты только забыли перевести в градусы. 7°21’ = 7+21/60 = 7+0.35 = 7.35

в описании, кажется, сказано, что просто надо переписать градусы и минуты и вставить, да и разница в 0,1 будет незначительна:)

Taatarenkoff
kren-DEL:

в описании, кажется, сказано, что просто надо переписать градусы и минуты и вставить, да и разница в 0,1 будет незначительна

Ага))) Как 2 локтя по карте))) Между 2 соседними городами 0.06 выходит

/* Get your magnetic decliniation from here : magnetic-declination.com
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.

devv
Taatarenkoff:

Между 2 соседними городами 0.06 выходит

Это же не означает, что коптер полетит при RTL в соседний город 😃

RTemka

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

Olegsi

примерно на 53 странице этой темы поднимался вопрос о подключении внешнего компаса на АИО 1-ой версии.
пришли к единому выводу: резать дорожку и комментировать пару строк в коде, (ничего не пропустил?).
прошу выложить фото, эскиз или подробное описание, что именно нужно резать, какую дорожку, если фото и были, то уже их нет, не работающие ссылки на них…

serenya
Mihbay:

теперь у меня этот выход подцеплен под 3 аукс, и по нему я управляю наклоном камеры, с крутелки на пульте,

Это Вы output.ino правили? На днях тоже так пытался сделать на аух1, хотел управление камерой explorer hd сделать, не получилось почему-то. А сейчас нечайно наткнулся на Ваш пост, может секрет есть какой?

GrafSher
Olegsi:

примерно на 53 странице этой темы поднимался вопрос о подключении внешнего компаса на АИО 1-ой версии.
пришли к единому выводу: резать дорожку и комментировать пару строк в коде, (ничего не пропустил?).
прошу выложить фото, эскиз или подробное описание, что именно нужно резать, какую дорожку, если фото и были, то уже их нет, не работающие ссылки на них…

Вот накопал в своих записях:

Эту дорожку надо резать на AIOP первой версии. (2 красных крестика около белой стрелки)

Для второй версии надо перерезать перемычки SJ2 и SJ3

далее в скетче def.h найти условие “#if defined(CRIUS_AIO_PRO_V1)”
и в его теле строку “#define MPU6050_I2C_AUX_MASTER // MAG connected to the AUX I2C bus of MPU6050” заремить
вот так:
#if defined(CRIUS_AIO_PRO_V1)
#define MPU6050
#define HMC5883
#define MS561101BA
#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 MPU6050_I2C_AUX_MASTER // MAG connected to the AUX I2C bus of MPU6050
#undef INTERNAL_I2C_PULLUPS
#define I2C_SPEED 400000L //400kHz fast mode
//servo pins on AIO board is at pins 44,45,46, then release pins 33,34,35 for other usage
//eg. pin 33 on AIO can be used for LEDFLASHER output
#define SERVO_1_PINMODE pinMode(44,OUTPUT); // TILT_PITCH
#define SERVO_1_PIN_HIGH PORTL |= 1<<5;
#define SERVO_1_PIN_LOW PORTL &= ~(1<<5);
#define SERVO_2_PINMODE pinMode(45,OUTPUT); // TILT_ROLL
#define SERVO_2_PIN_HIGH PORTL |= 1<<4;
#define SERVO_2_PIN_LOW PORTL &= ~(1<<4);
#define SERVO_3_PINMODE pinMode(46,OUTPUT); // CAM TRIG
#define SERVO_3_PIN_HIGH PORTL |= 1<<3;
#define SERVO_3_PIN_LOW PORTL &= ~(1<<3);
#endif

GrafSher
Olegsi:

переспрошу на всякий случай
рядом с трехугольником, показывающем, где перед у платы, красным маркером 2 места реза? 2 дорожки резать?

Да. На самом деле достаточно перерезать только одну. Ту, что идет на первую ножку чипа компаса. Это линия SCL.

serenya

Нужно просто обратиться к документации на компас и определить на какую ногу идет сигнал который советуют резать на 53 странице, извините, сам посмотреть не могу с планшета.

Посмотрел что там в посте, где-то ошибка т.к. 1й вывод не sda а scl у микросхемы, а sda это 16 вывод к которому судя по всему дорожка как раз идет по обратной стороне платы т.к. к первому выводу идет по верхней стороне.

GrafSher
serenya:

Посмотрел что там в посте, где-то ошибка т.к. 1й вывод не sda а scl у микросхемы, а sda это 16 вывод к которому судя по всему дорожка как раз идет по обратной стороне платы т.к. к первому выводу идет по верхней стороне.

Я думаю что это не важно.

alexspy2

А какой внешний компас можно использовать? Вот этот как banned link ?

GrafSher
alexspy2:

А какой внешний компас можно использовать?

А вот буквально парой страниц назад мы тут и обсуждали какой…

Braun

Подскажите из-за чего квадрокоптер может гулять по высоте 2-3 метра? Относительно места агрегат более менее стоит, а по высоту иногда проваливается.
плата AIOP, прошивка базовая маховий
сонара нет, гпс нет

serenya

Из-за того что в базовой маховии отключен барометр и удержание высоты никак не реализовано.

Mihbay
serenya:

Это Вы output.ino правили? На днях тоже так пытался сделать на аух1, хотел управление камерой explorer hd сделать, не получилось почему-то. А сейчас нечайно наткнулся на Ваш пост, может секрет есть какой?

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

/****************                    Cam trigger Sevo                ******************/
/*
  #if defined(CAMTRIG)
    static uint8_t camCycle = 0;
    static uint8_t camState = 0;
    static uint32_t camTime = 0;
    if (camCycle==1) {
      if (camState == 0) {
        servo[2] = CAM_SERVO_HIGH;
        camState = 1;
        camTime = millis();
      } else if (camState == 1) {
       if ( (millis() - camTime) > CAM_TIME_HIGH ) {
         servo[2] = CAM_SERVO_LOW;
         camState = 2;
         camTime = millis();
       }
      } else { //camState ==2
       if ( (millis() - camTime) > CAM_TIME_LOW ) {
         camState = 0;
         camCycle = 0;
       }
      }
    }
    if (rcOptions[BOXCAMTRIG]) camCycle=1;
  #endif
*/

  #if defined(CAMTRIG)
     servo[2]  = rcData[AUX3];
  #endif

таким образом выбрав в гуи camtrig вы назначаете его на любой аукс которым будете управлять

serenya
Mihbay:

таким образом выбрав в гуи camtrig вы назначаете его на любой аукс которым будете управлять

Я тоже так подумал, но что-то не срослось, надо попробовать еще раз. А вообще решил забить на это т.к. хотел это сделать только потому что у меня приемник стоит фрискин с СРРМ, а недавно прочитал что при СРРМ все равно каналы 5-8 продолжают работают в обычном режиме параллельно с СРРМ, но еще не проверял это.

Mihbay
serenya:

а недавно прочитал что при СРРМ все равно каналы 5-8 продолжают работают в обычном режиме параллельно с СРРМ, но еще не проверял это.

Даааа??? вот это новость)

serenya
Mihbay:

Даааа??? вот это новость)

Могу ошибаться я, мог ошибаться то кто писал то что я читал, надо проверить.

p.s. Скорее всего ошибаюсь, посмотрел манулалы на приемники, нигде такого не нашел. Но все-же от чего-то отложилось в голове такое.

pnm

Целый день провозился, результат нулевой.
Прошивка маховии 3.1
Проблема в Minim OSD, не получает данные с serial 3. Просто перестала работать. Заказал новую, такая же проблема. При загрузке не выводит даже версию контроллера. Пробывал менять скорость на OSD и на AIOP все тоже самое. Пробывал подключать к Serial 0, где работает Bluetooth, нет данных от контроллера. Чистил EEprom и заливал прошивки заново в OSD и в AIOP.
Что может быть?