CRIUS ALL IN ONE PRO Flight Controller

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

ckv
mataor:

если так необходимо иметь в виртуальных процентах - определяете еще одну переменную -> обычная математика

Ну так я ж и спрашиваю - как сделать отдельную переменную и формулу, и поставлять всё это на вывод для MinimOSD
понимаю что 10 bit не уменьшить) некорректно выразился

mataor

для начала разберитесь забирает ли минимосд с мультивия значение РССИ? и в каком виде? а по математике, самое простое что приходит на ум: значение = rssi/7 😛

ckv
mataor:

rssi/7

сделал rssi = (rssiRaw / 8) /2.8; При 100% RSSI в MWC 255, похоже на 8 бит.
Вспоминаю математику и программирование)

mataor

в поддержку маховика…
вчера и сегодня облетывал недавно собранную треху, тестил удержание по ЖПС
погодка шикарная, ветра нет, штиль…
сегодня знакомый заснял на телефон, камера конечно фиговая + темнота, но оценить можно.
Собственно удержание по ЖПС включаю на 1.20.
Также можно заценить удержание высоты и стабильность.
напомню конфиг:
рама по мотивам шведа, диаметр 550мм
поворотный узел с тягой, серва аналог пластик 5$, имеет небольшой люфт
моторки передние аеолиан 2830 750кв небалансированные, задний саннискай 2216 800кв
пропеллеры 11х4.7 клон апс балансированы на скорую руку
передний левый луч просверлен криво, так что стоит немного под углом к горизонту
при арминге и до взлета лучи колбасит от вибраций на 2-3мм в стороны
вес трехи 650г + батарея зиппи компакт 5000мА/ч (380? вроде грамм)
ЖПС нео-6м, видит 9 спутников при текущем полете, по предыдущим тестам в статике за полчаса может спокойно ездить в круге 20м диаметром
П.С. висел на расстоянии от земли чуть больше метра.

www.youtube.com/watch?v=rwCpzhGC924

возврат домой почти идеально, удержание в точке тоже оч хорошо, отвисел для пробы 14 мин чисто на удержании, а вот с проверкой фейлсейва вчера казус вышел - приемыш родной турниговский + ппмсум на 2313, вроде все проверил, настроил, попробовал возврат домой, отлетаю подальше и выключаю питание передатчика и треха резко выключает движки и падает за забором в овраг с высоты 20м… иду туда - не видно где аппарат, включаю передатчик и слышу пищание из густого куста травы 1+м высотой и 1,5х2м размерами, рядом утрамбованная площадка, кусты и овраг, короче вышла посадка очччень мягкая. как оказалось фейлсейв на 2313 после переподключения питания тупит…

mataor

забыл вчера добавить - пиды стандартные.

Profspb

Пробежался по всей теме, но что то так нигде и не увидел как работать с выводами А0…А5 для светодиодов. Ткните мордой меня если кто знает! А то мы тут затеяли маленькую платку делаем на МК для подсветки светодиодами через ключи и разными режимами для 4х и 6и лучевых апаратов. Самое главное добавляем туда изменение режима при разряде батарейки. Т.к. пищалку от 50м уже не слышно! (особенно если уровень шума повышенный). Может тогда и не надо будет ее делать!

1filth1

а можно ли прикрутить к этому контроллеру модуль nrf24l01 для передачи телеметрии ?

1filth1

просто насколько я понял мой модуль либо Rx либо Tx… или я не понимаю чегото))) сейчас юзаю APC-220 v3 но на значительных расстояниях теряет пакеты, да и скорость линка оставляет желать лучшего)

blind_oracle

Вряд-ли, сейчас делают обычно трансиверы. По крайней мере те, на которые я дал ссылку работают отлично в обе стороны. Линк сделал 57600, вполне рабочая скорость.

1filth1

ясно, Спасибо) буду экспериментировать)

serenya

Если не ошибаюсь то нрф модули модули вообще spi и без глубокого ковыряния кода не обойтись.

1filth1

воооот… именно об этом я и говорю)

blind_oracle
1filth1:

воооот… именно об этом я и говорю)

Если SPI, то только через какой-нибудь конвертер, типа второй ардуины нано и простейшей программки.

mataor

вопрос - а нахрена ее использовать при мизерной дальности? комплект 3ДР с ХК + блютуз самое оптимальное решение, и по деньгам и без геммороя, и на компе и на телефоне…

Profspb:

но что то так нигде и не увидел как работать с выводами А0…А5 для светодиодов

а в чем сложность? определил пин как выход, дефайн для удобства вкл/выкл сделал и пользуйся в свое удовольствие. в def.h отлично все видно как нужно делать.

1filth1
mataor:

вопрос - а нахрена ее использовать при мизерной дальности

да просто есть таких 2 модуля) на квадрике стоит блютуз и АРС220 уже) думал просто приаттачить и потестировать такой модуль

Profspb
mataor:

а в чем сложность? определил пин как выход, дефайн для удобства вкл/выкл сделал и пользуйся в свое удовольствие. в def.h отлично все видно как нужно делать.

Сложность в том, что у нас несколько алгоритмов мигания, и контроль напряжения меняющий эти алгоритмы.

mataor
Profspb:

Сложность в том, что у нас несколько алгоритмов мигания, и контроль напряжения меняющий эти алгоритмы.

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

yuriks
mataor:

а в чем сложность? определил пин как выход, дефайн для удобства вкл/выкл сделал и пользуйся в свое удовольствие. в def.h отлично все видно как нужно делать.

видать не всем видно 😦, как продублировать штатные светики АВС, бо под крышкой не видно, хочу наружу вывести.

mataor

блин это вообще банально:

/**************************  all the Mega types  ***********************************/
#if defined(MEGA)
  #define LEDPIN_PINMODE             pinMode (13, OUTPUT);pinMode (30, OUTPUT);
  #define LEDPIN_TOGGLE              PINB  |= (1<<7); PINC  |= (1<<7);
  #define LEDPIN_ON                      PORTB |= (1<<7); PORTC |= (1<<7);
  #define LEDPIN_OFF                     PORTB &= ~(1<<7);PORTC &= ~(1<<7);

   #define POWERPIN_PINMODE        pinMode (37, OUTPUT);
    #define POWERPIN_ON                PORTC |= 1<<0;
    #define POWERPIN_OFF               PORTC &= ~(1<<0);

  #define STABLEPIN_PINMODE          pinMode (31, OUTPUT);
  #define STABLEPIN_ON                   PORTC |= 1<<6;
  #define STABLEPIN_OFF                 PORTC &= ~(1<<6);

после каждой строчки дублируем ее на нужную ногу и все.
собственно тут как раз уже есть дубляж ледпина на 2 ноги - 13-ю и 30-ю, делаем по подобию