CRIUS ALL IN ONE PRO Flight Controller

kostya-tin

Вчера наконец то руки дошли, что бы приклеять паралон на бародатчик платы. я совсем не ожидал такого эффекта. если раньше удержание высоты работало в пределах 50-100 см, то с паралоном эти колебания сократились до 10-15 см и это на порывистом ветру. прошивка обычная MultiWii 2.2 (даже не пердставляю, как тогда высоту удерживает прошивка Маховика)

mahowik
kostya-tin:

прошивка обычная MultiWii 2.2 (даже не пердставляю, как тогда высоту удерживает прошивка Маховика)

Уже как то писал, что в офиц. MultiWii 2.2, одна из моих первых простых версий удержания высоты, до момента пока я не отделился и не начал вести свою ветку…
Точность удержания это не все, где важны также:

  • стабильность алгоритма при смене температуры (калибровка Z оси акселя в полете). Особенно актуально зимой.
  • устранение влияния воздушной подушки. Для плавного взлета/посадки без прыжков.
  • правильная регулировка высоты (стиком от центра задается вертикальная скорость, а не газ). Позволяет взлет и посадку прямо в althold-е, т.е. весь полет возможен прямо althold от начала до конца. Я сейчас только так и летаю, ибо удобно и легко…
  • автокалибровка газа висения и его корректировка в процессе полета
  • стандартизация упр-я высотой вне зависимости от конфига/коптера, где середина - это висение, крайние положения +/-N метров - вертикальная скорость.

И многое многое другое 😃 подробности в темах дневника…

п.с. а 10-15см результат вполне достойный, но скорее всего будет очень зависеть от стабильности давления, т.е. от погоды, т.к. в офиц. MultiWii 2.2 версии по акселю считается только скорость, но не высота…

kostya-tin

Александр, я имел в виду, чно на вашей прошивке квадрик вообще себя будет вести как прибитый по высоте (наверно). Ведь не даром эта прошивка в почете у многих пользователей данного форума. а то что в 2.2 удержание высоты по большей степени по барометру - это было заметно. на относительно ровной поверхности под квадриком он от ветра и от его порывов особо не прыгал. а вот при подлете к небольшой возвышености земли с подветренной стороны квадрик начинал “проваливаться”. видать возвышеность по ветру за обой создает пониженое давление, и, когда квадрик оказывается в этой области, мозг воспринимает это как повышение высоты и мозг дает команду на снижение

Sir_Alex
DVE:

На ХК тоже написано 2.0 уже давно.

Все знают, что на заборах то же кое что пишут, но там этого нет 😉

HK v2 <> RCTimer v2
RCT v2 - по сравнению с другими платами, имеет dataflash (память для полетных логов). Дополнительный вывод для PPM_SUM (с более точным измерением длительности импульса). Множество свободных ног процессора выведено для возможности подключения разных девайсов (пины 32-37, PG1-PG5). На v1, выводы под датчик тока, светодиоды - А0-А5, на плате v2 вывели все A0-A7.
Плюс у RCT v2 легко отключить компас (если надо будет внешний поставить).

RicLab
crand:

Он подходит к плате AIOP? И возможность им пользоваться есть?

Подходит. Только провода от порта AIOP припаять к проводу блютуз модуля.

mahowik
kostya-tin:

я имел в виду, чно на вашей прошивке квадрик вообще себя будет вести как прибитый по высоте (наверно)

оч. много факторов которые могут влиять на качество стабилизации… главный пожалуй это вибрации, которые доходят/видны полетному контроллеру… я особо не парюсь с балансировкой винтов (на отвертке на глазок 😃) и не делаю балансировку движков (10-тибаксовые рстаймеры), плата на капроновых/пластиковых стойках… в итоге субъективно +/-20…30 см точность удержания… меня устраивает 😃

mataor
mahowik:

я особо не парюсь с балансировкой винтов (на отвертке на глазок ) и не делаю балансировку движков (10-тибаксовые рстаймеры)

подтверждаю… хоть балансировка и по хорошему нужна (все таки лучше летать будет + ресурс подшипников моторов будет больше), но вот после гексы собрал себе еще и треху, моторки говеные аеолиан 2830 с ебея (подделка) и пропеллеры клон апс отбалансированные на скорую руку - на земле при арминге видно как лучи все три дрожжат довольно сильно (2-3мм гуляют) а летает оч даже норм. сенсоры на 3-м этаже этажерки из контроллера, жпс, датчиков и антенны ЖПС, сидят на 1 слое скотча двустороннего.

MrHot

Доброго времени всем… Может кто знает как проверить барометр ?..
Каким образом, на столе, при настройке системы Megapirate 2.8 R3 (без подъёма в воздух мультироторной платформы) убедиться в работе барометреческого датчика который уже впаян на плату (barometric pressure sensor) ?

Смотел вот такое вот видео. У меня так же стоят на месте указатели высоты когда плату дёргаешь - шевелишь.

[Полез в детальные логи (спойлер)]

Думал что тут найду информацию с барометра, но что-то ALT - ничего не говорит, что это за ALT… Это с GPS или с сонара или с барометра… ?

На всякий… привожу *.h - ник с настройками. Но там вроде и настраивать нечего. Всего одна строка про барометр.

// -*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*-
#ifndef __ARDUCOPTER_APMCONFIG_H__
#define __ARDUCOPTER_APMCONFIG_H__
// Example config file. Take a look at config.h. Any term define there can be overridden by defining it here.

// Select your sensor board
#define PIRATES_SENSOR_BOARD PIRATES_CRIUS_AIO_PRO_V1
/*
    PIRATES_ALLINONE
    PIRATES_FFIMU
    PIRATES_FREEIMU
    PIRATES_BLACKVORTEX
    PIRATES_FREEIMU_4                     // New FreeIMU 0.4.1 with MPU6000, MS5611 and 5883L
    PIRATES_DROTEK_10DOF_MPU         // MPU6000, MS5611 and 5883L
    PIRATES_CRIUS_AIO_PRO_V1    // Crius AllInOne Pro v1(1.1)
    PIRATES_CRIUS_AIO_PRO_V2    // Crius AllInOne Pro v2
*/

// RC configuration

// PPM_SUM(CPPM) Signal processing
#define SERIAL_PPM SERIAL_PPM_DISABLED
/*
    SERIAL_PPM_DISABLED
    SERIAL_PPM_ENABLED                // For all boards, PPM_SUM pin is A8
    SERIAL_PPM_ENABLED_PL1   // Use for CRIUS AIOP Pro v2,
*/

#define TX_CHANNEL_SET    TX_mwi
/*
    TX_set1                            //Graupner/Spektrum                                                PITCH,YAW,THROTTLE,ROLL,AUX1,AUX2,CAMPITCH,CAMROLL
    TX_standard                    //standard  PPM layout Robbe/Hitec/Sanwa    ROLL,PITCH,THROTTLE,YAW,MODE,AUX2,CAMPITCH,CAMROLL
    TX_set2                            //some Hitec/Sanwa/others                                    PITCH,ROLL,THROTTLE,YAW,AUX1,AUX2,CAMPITCH,CAMROLL
    TX_mwi                            //MultiWii layout                                                    ROLL,THROTTLE,PITCH,YAW,AUX1,AUX2,CAMPITCH,CAMROLL
*/

// Select your baro sensor
#define CONFIG_BARO AP_BARO_MS5611_I2C
/*
    AP_BARO_BMP085_PIRATES
    AP_BARO_MS5611_I2C
*/

// Warning: COPTER_LEDS is not compatible with LED_SEQUENCER, so enable only one option
//#define COPTER_LEDS ENABLED     // New feature coming from ArduCopter
//#define LED_SEQUENCER ENABLED   // Old Oleg's LED Sequencer, see leds.pde for more info

#define MAX_SONAR_RANGE 200

// This OSD works on the Serial1 port
#define OSD_PROTOCOL OSD_PROTOCOL_NONE
/*
    OSD_PROTOCOL_NONE
    OSD_PROTOCOL_SYBERIAN
    OSD_PROTOCOL_REMZIBI  // Read more at: 
    OSD_PROTOCOL_FRSKY        // FrSky Telemetry protocol
*/

// For BlackVortex, just set PIRATES_SENSOR_BOARD as PIRATES_BLACKVORTEX, GPS will be selected automatically
#define GPS_PROTOCOL GPS_PROTOCOL_NONE
/*
    GPS_PROTOCOL_NONE     without GPS
    GPS_PROTOCOL_NMEA
    GPS_PROTOCOL_SIRF
    GPS_PROTOCOL_UBLOX     <<< Select this for UBLOX LEA-6 (CRIUS GPS boards and others)
    GPS_PROTOCOL_MTK16
    GPS_PROTOCOL_BLACKVORTEX
    GPS_PROTOCOL_AUTO    auto select GPS
*/

#define SERIAL0_BAUD             115200    // Console port
#define SERIAL2_BAUD             38400    // GPS port
#define SERIAL3_BAUD             57600    // Telemetry (MAVLINK) port

// New in 2.0.43, but unused in MegairateNG
// MPNG: Piezo uses AN5 pin in ArduCopter, we uses AN5 for CLI switch
#define PIEZO    DISABLED
#define PIEZO_LOW_VOLTAGE    DISABLED
#define PIEZO_ARMING        DISABLED

#define FRAME_CONFIG QUAD_FRAME
/*
    QUAD_FRAME
    TRI_FRAME
    HEXA_FRAME
    Y6_FRAME
    OCTA_FRAME
    OCTA_QUAD_FRAME
    HELI_FRAME
*/

#define FRAME_ORIENTATION X_FRAME
/*
    PLUS_FRAME
    X_FRAME
    V_FRAME
*/

# define CH7_OPTION        CH7_DO_NOTHING
/*
    CH7_DO_NOTHING
    CH7_SET_HOVER
    CH7_FLIP
    CH7_SIMPLE_MODE
    CH7_RTL
    CH7_AUTO_TRIM
    CH7_ADC_FILTER (experimental)
    CH7_SAVE_WP
     CH7_MULTI_MODE
 */

//#define TOY_EDF    ENABLED
//#define TOY_MIXER TOY_LOOKUP_TABLE

//#define RATE_ROLL_I     0.18
//#define RATE_PITCH_I    0.18
//#define MOTORS_JD880
//#define MOTORS_JD850


// agmatthews USERHOOKS
// the choice of function names is up to the user and does not have to match these
// uncomment these hooks and ensure there is a matching function un your "UserCode.pde" file
//#define USERHOOK_FASTLOOP userhook_FastLoop();
#define USERHOOK_50HZLOOP userhook_50Hz();
//#define USERHOOK_MEDIUMLOOP userhook_MediumLoop();
//#define USERHOOK_SLOWLOOP userhook_SlowLoop();
//#define USERHOOK_SUPERSLOWLOOP userhook_SuperSlowLoop();
#define USERHOOK_INIT userhook_init();

// the choice of includeed variables file (*.h) is up to the user and does not have to match this one
// Ensure the defined file exists and is in the arducopter directory
#define USERHOOK_VARIABLES "UserVariables.h"

// to enable, set to 1
// to disable, set to 0
//#define AUTO_THROTTLE_HOLD 1

#if PIRATES_SENSOR_BOARD == PIRATES_CRIUS_AIO_PRO_V2
    #define LOGGING_ENABLED        ENABLED
#else
    #define LOGGING_ENABLED        DISABLED
#endif

// Custom channel config - Expert Use Only.
// this for defining your own MOT_n to CH_n mapping.
// Overrides defaults (for APM1 or APM2) found in config_channels.h
// MOT_n variables are used by the Frame mixing code. You must define
// MOT_1 through MOT_m where m is the number of motors on your frame.
// CH_n variables are used for RC output. These can be CH_1 through CH_8,
// and CH_10 or CH_12.
// Sample channel config. Must define all MOT_ channels used by
// your FRAME_TYPE.
// #define CONFIG_CHANNELS CHANNEL_CONFIG_CUSTOM
// #define MOT_1 CH_6
// #define MOT_2 CH_3
// #define MOT_3 CH_2
// #define MOT_4 CH_5
// #define MOT_5 CH_1
// #define MOT_6 CH_4
// #define MOT_7 CH_7
// #define MOT_8 CH_8


// ************** EXPERIMENTAL FEATURES *****************

// Alt hold with accelerometer
#define ACCEL_ALT_HOLD 0        // disabled by default, work in progress

#define INERTIAL_NAV DISABLED

#if INERTIAL_NAV == ENABLED
    #define ALT_HOLD_P            3
    #define ALT_HOLD_I            0
    #define ALT_HOLD_IMAX        300

    // RATE control
    #define THROTTLE_P            5        //
    #define THROTTLE_I            0.4        //
    #define THROTTLE_D            0.0        //

    #define LOITER_P            0.50
    #define LOITER_I            0.0
    #define LOITER_RATE_P        5        //
    #define LOITER_RATE_I        0.1        // Wind control
    #define LOITER_RATE_D        0.0        // try 2 or 3 for LOITER_RATE 1
#endif

// Enabling this will use the GPS lat/long coordinate to get the compass declination
//#define AUTOMATIC_DECLINATION ENABLED

//#define CLI_ENABLED DISABLED

//#define FAILSAFE

#endif //__ARDUCOPTER_APMCONFIG_H__

Контроллер : “Multiwii and Megapirate AIO Flight Controller w/FTDI (ATmega 2560) V2.0” с хобби кинга. Сделал первичную настройку, отдал команды в терминале setup; levels…
Калибровки прошли. Но они не для баро как-бы…
Что-то туплю блин…
Когда до сонара доберусь - тоже самое… Не понять где смотреть…
Ведь по-сути есть три источника высоты. Заранее спасибо.

kostya-tin
UserM:

Для платы AIOP появилась симпатишная коробочка.

интересно, как такая поробочка подойдет к плате v2 с RCTimer? а вообще - думаю заказать, т.к. цена более гуманна, чем коробочка с Goodluckbuy

UserM

По моему расположение разъёмов у V1 и V2 RCTimer одинаковое, наверно должна подходить. Я заказал, но у меня HK клон V1.

АлександрSWON

Друзья, вчера были опробованы немного скореектированные настройки на AIO, прошивка рс2, Вообщем 6 вспышек диода и спутниках, и взлет, 2 минуты полетов, включаю P hold, держит супер, 2 метра дрейф, но функция возврат домой вызывает опасения, взлетает на 10 метров, разворот в сторону дома, ( давольно таки уверенно все это делает) и начинает полет, и тут он пролетает точку, и сходит с ума, начинаются провалы по высоте, траектории полетов хаотичны, и толкового возврата нет…в чем может быть причина…
С платы отвел вибрации( и резиночки от СД, и скотч,) компас калибровал, но в районе газа висения есть небольшие откланения… ну уже весь мозг истоптал как еше можно с этим побороться…

Sir_Alex
UserM:

По моему расположение разъёмов у V1 и V2 RCTimer одинаковое, наверно должна подходить. Я заказал, но у меня HK клон V1.

Разъемы почти одинаковые, пару штук шире чем у V1. Напильник думаю поможет.

gonza34

Собрал свой первый квадрик на AIOP v2 с РЦТаймера и движках оттуда же. Прошивка мультивий. Полетал немного и решил убрал плату и приемник в какой-нить бокс от пыли, летящей от винтов. Все уместилось в круглую коробку от компактов. НО теперь после арма движков, даю совсем немного газа и двигатели начинают сами по себе менять обороты - как бы подгазовывать. Режим в мультивии включен Angle. Почему коптер стал подгазовывать? Вибрации или что то с самой платой AIOP ?

UserM

Вибрации, возможно возник какой то резонанс.

ShtormZ

Добрый день, уважаемое сообщество!
Возникла проблема с сабжем:

  • все подключил, настроил, откалибровал
  • подключил моторы, проверил подключение, вращение.
    Датчики не скачут, в общем - ВСЕ ОК.
    Однако, как только ставлю пропеллеры и начинается фигня.
    При включении газа при просмотре утилиты с состоянием моторов:
    мотор M1 - на минимуме
    моторы М2-М4 - скачат хаотически вврех вниз.
    Визуально - моторы вращяются с разной скоростью.
    По раме - вибрации
    При попытке поднятия - квад вращается вокруг оси влево, хотя уровень держит.
    Уменьшил пиды - толку нет, все то же, только меньше вибраций… 😮

Сетап:
Рама ATG квад
AIOP от Crius фирменный, MultiWii 2.2
GPS ublox
Bluetooth
ESC SimonK
Моторы NTM 750 на 4S
BEC отдельный
В стандарте - включен Horizon режим и баро
Из доп настроек в MultiWii:
#define MPU6050_LPF_42HZ

Пробовал ставить HK KK 2.0 - все летает прекрасно, никаких вибраций - взлетело сразу и без настроек PIDов.

В чем дело - не пойму 😃

devv

что было ?
расскажите
пригодится другим

ckv

В каких единицах отображаются показания индикатора RSSI в DEV версии MultiWiiConf ?

mataor:

в попугаях, а конкретно - разрядность ацп 1024 на 5в, в итоге например 3в = 615 (в реальности будет другое)

В общем, неделю убил на фильтр ссылку на который давал в постах выше, всё оказалось просто - был нерабочий проводок с HK который я подпаивал (тупо не обжат в разъеме, вот что значит не иметь мультиметра под рукой!)

Сейчас показания RSSI в MWConf обрели смысл))))

Итак, при показаниях на FLD-02 соответственно, уровни RSSI и показания RSSI в % в MinimOSD были следующие:

100 шкала FLD (передатчик около приемника) - 700 RSSI MWC, 100% MinimOSD
45 шкала FLD (первый warning на FLD-02) - 350 RSSI MWC, 95 % MinimOSD
42 шкала FLD (второй warning на FLD-02) 285 RSSI MWC, 92 % MinimOSD
40 шкала FLD приема нет (на DR8-II Plus мигает красный LED) 34 (шум), 10% MinimOSD

Вопрос к уважаемому Александру Mahowik:

В RC3 есть дефайн:
static uint16_t rssi; // range: [0;1023]

каким образом и где можно этот range сузить до 700-285 ?
либо в каком месте можно математически описать зависимость величин RSSI которые я описал для вывода на MinimOSD для представления в виде от 0 до 100%

Не силен в Arduino, заранее спасибо!

mataor
ckv:

каким образом и где можно этот range сузить до 700-285 ?

а смысл? 1023 - это просто макс значение АЦП.
если так необходимо иметь в виртуальных процентах - определяете еще одну переменную -> обычная математика