ArduCopter Mega: порт на обычную Arduino (тестим)

Alex27111972

Привет всем. Люди скажите пжлста, кто подружил В8 с компасом? Уж я его и так и сяк настраивал, но что то аппарат с ним какой то неадекватный… то его на север разворачивает, то несет куда то… то носом при полете рыскает, вообщем нервный аппарат с ним (правда и пайлот из меня можно сказать никакой). Компас отключаешь, совершенно другой агрегат получается, я со своим хреновым опытом пилотирования поднимаю его просто ручкой газа, плавно поднимается, не надо подруливать, вообщем нормальный плавный агрегат… Пиды стоковые. Может в прошивке что то не допилено? Все руки не дойдут доделать ардукоптер посмотреть как у оригинала компас работает. Может у кого есть какие нить мысли в этом направлении?

Alex_from_Israel

Кто нить может ткнуть чем нибудь, где в скетче МегаПирата найти вычисление напряжения\тока от сенсора? В настройках есть объявление переменных и значения по умолчанию, а как вычисляются эти значения х.з! Очень нужно подправить код под сенсор от Спаркфана. В Вие настроил, а в МП никак не найду.

tusik

А там же вроде в планере подбирается. Configuration - Hardware setup - enable battery monitor и тд

Alex_from_Israel

В планнере, это одно. С сенсора подается на Ардуиновы ноги данные с датчика. Их нужно преобразовать в реальные напряжение и ток. Типа

vrav = analogRead(pin_num);
irav = analogRead(pin_num);
vbat = vrav/12.99 // Это коэффициент для расчета реального напояжения на батарее для моего датчика
ibat = irav/7.4 //тоже для тока

В результате получаем напряжение и ток батареи в реальном времени. Полезная вещь, если использовать регули в режиме Никель Кадмиевых батарей. Не отсекает по напряжентию, но без контроля можно угробить батарею переразрядом.

Sir_Alex
Alex_from_Israel:

где в скетче МегаПирата найти вычисление напряжения\тока от сенсора

Макрос вычисления тока и напряжения находится в defines.h

#define BATTERY_VOLTAGE(x) (x*(INPUT_VOLTAGE/1024.0))*VOLT_DIV_RATIO
#define CURRENT_AMPS(x) ((x*(INPUT_VOLTAGE/1024.0))-CURR_AMPS_OFFSET)*CURR_AMP_PER_VOLT 

А чтение значений и вычисление, находится в модуле sensors.pde, строка 89, функция void read_battery(void)

Alex_from_Israel
Sir_Alex:

Макрос вычисления тока и напряжения находится в defines.h

#define BATTERY_VOLTAGE(x) (x*(INPUT_VOLTAGE/1024.0))*VOLT_DIV_RATIO
#define CURRENT_AMPS(x) ((x*(INPUT_VOLTAGE/1024.0))-CURR_AMPS_OFFSET)*CURR_AMP_PER_VOLT 

А чтение значений и вычисление, находится в модуле sensors.pde, строка 89, функция void read_battery(void)

Спасибо!

Alex_from_Israel

Сегодня гонял коптера в комнате. Тесновато для такой бандуры, все же почти 2 кг взлетный вес. Но с Мегапиратом взлетает уверенно. И даже висит вполне терпимо, хоть и рыскает слегка. Но удержать можно. Почему то стартуют сначала нижние моторы. Но не критично, верхние стартуют хоть и позже, но обороты набирают синхронно. Это все в стаб моде. В акро не рискнул поднимать в помещении. Кстати, при разряде батареи коптер стремится завалиться влево и на хвост. Хотя регули калибровал и по отдельности и вместе(по рецепту из этого форума) и в планнере тоже. Никаких отличий не заметил. В субботу поеду на природу с коптером, попробую поднять.

SavosRU
zvuk_Irkutsk:

Если в Планере все каналы (Радио-сенсор) работают адекватно, арминг проходит и справа(где полосочки моторов) все двигается соответственно - можно пробовать “взлетать”(без винтов пока);

Вот и хотелось бы понять - правильно ли работает радио. Ибо стартовать моторы я так и не могу (арминг). Регуляторы пищать перестали после перезаливки прошивки. Но не стартуют и не калибруются по инструкции с rcwiki. Вот видео записал - не знаю, удастся ли его сюда поместить.
На всякий случай дам и ссылку на Youtube ( youtube.com/watch?v=OjKZ5E6r-uU )

www.youtube.com/watch?v=OjKZ5E6r-uU

Кто что может подсказать после просмотра этого ролика?

При просмотре в терминале по команде test -> radio я вижу, что в минимуме каналы показывают по нулям. А вот в графическом представлении до нулей явно не доходит. Или это у всех так? Ну и главный вопрос на данный момент - правильно ли каналы подключены?

tusik

У меня была подобная фигня. Решил так: идем в планер - configuratiоn. Находим слева следующие строки: RC1_max, RC1_min, RC1_trim. Дальше идем flight data - raw sensor - radio двигаем стики в крайние положения и записываем их значения. Теперь возвращаемся к RC1_max, RC1_min, RC1_trim и выставляем для первого стика мах мин и среднее значения. Проделываем процедуру для остальных каналов и пробуем армед двигатели.

SovGVD
SavosRU:

Кто что может подсказать после просмотра этого ролика?

имхо YAW это 4 канал, а не 2 - стоит проверить подпаянность каналов
должно быть 3 канал в минимуме (газ), 4 канал в аксимуме (yaw) - тогда моторы заведутся

Alex_from_Israel

У меня моторы стартуют только в Акро моде. Троттл вниз до минимума Яв в право на несколько секунд. Насчет каналов на приемнике и на Ардуине. Троттл перый канал на Мегапирате и третий на приемнике.
1 на приемнике Елерон (ролл)
2 Элеватор(питч)
3 Троттл
4 Руддер (Яв)
5 Гиро (тумблер)
6
7 Аукс1
8 Аукс2

Это справедливо для Турнеджи 9 каналки. Это Футабовский стандарт.

В Мегапирате Троттл на первом канале, ролл второй, питч третий. Остальные совпадают. Олег ака Себириан переделал библиотеки мгапирата под стандартную распиновку приемника, но тогда нужно использовать его вариант библиотек.

SavosRU
SovGVD:

имхо YAW это 4 канал, а не 2 -

Ну тут неоднократно упоминалось, что файлик “release_notes.txt” - это как Отче Наш…
А в нем написано:

RC channels:
===
A8 Roll
A9 Pitch
A10 Throttle
A11 Yaw

То есть действительно похоже на четвертый. Но при этом не сказано на каком канале это у приемника. Я предположил, что YAW - это канал руля направления, а THROTTLE - это канал газа. Вот, возможно, я решил неправильно… Но в любом случае тогда выходит, что “арминг”, то есть левая ручка на пульте вниз и вправо - это значит, что и канал throttle и канал yaw убираются в минимум, так? И если я их перепутал местами - они все-равно будут убраны в минимум, верно? А “арминга” как не было, так и нет…

Попробую по совету tusik’а подстроить параметры каналов, ну и по Вашей подсказке поменяю местами эти два канала - и так и так будем искать варианты работы. Летать охота 😉)

Насчет варианта от Олега - так я именно его прошивку B8 и пытаюсь использовать. Еще подсказывали, что можно его же прошивку B8_BV (для блэквортекса) использовать с ардуиной, если плата AllInOne, а не ffimu. Если не получится с B8 - буду пробовать B8_BV

SovGVD
A8	Roll		CH1
A9	Pitch		CH2
A10	Throttle	CH3
A11	Yaw		CH4

в новой прошивке, а в старой вроде газ на A8 был и дальше roll pitch yaw шел
в GUI соотвественно (у меня во всяком случае), чтобы завелиь моторы Radio 3 в минимуме, Radio 4 в максимуме

Alex_from_Israel

Что самое интересное, в скетче Megapirate 2_0_31 в defaines.h то же самое прописано, но у меня каналы подключены, как в Вие, и все работает!

tusik
SovGVD:

Код:
A8 Roll CH1
A9 Pitch CH2
A10 Throttle CH3
A11 Yaw CH4

У меня так. И все работает

OFF Ближе к ночи собрались ярые коптеристы 😃 (после полетов 😉 )

SavosRU
SavosRU:

Попробую по совету tusik’а подстроить параметры каналов, ну и по Вашей подсказке поменяю местами эти два канала - и так и так будем искать варианты работы. Летать охота 😉)

Огромное спасибо всем ответившим и неравнодушным!!!
😉)
Я его ЗАВЕЛ и доволен как слон. Без винтов, разумеется, пока еще настраивать буду, так что не подлетывал. Но лед-то тронулся, господа присяжные заседатели! Так что принимайте новенького!!!

Ура!!!

UPD.
вот только (как и писал несколькими страницами ранее) подвисает то ли планер, то ли сам скетч в ардуине… 😭( Сейчас аккумулятор сел, стоит на щарядке, так что я пока от USB запитал и приемник тоже и вот в такой связке у меня появились изменения в показаниях моторов - из чего я и сделал вывод о том, что удалось завестись. Раньше они (как это можно видеть на ролике с радио-тестированием) стояли мертво. Теперь реагируют на стики передатчика - на газ, на наклоны. Но через непродолжительное время показания перестают обновляться. Завтра с заряженным аком проверю - сам по себе “мозг” прододжает при этом функционировать или нет. То есть это просто потеря связи с компьютером, или что-то более глобальное.

А сейчас - спать!

SavosRU
SavosRU:

Но через непродолжительное время показания перестают обновляться. Завтра с заряженным аком проверю - сам по себе “мозг” прододжает при этом функционировать или нет. То есть это просто потеря связи с компьютером, или что-то более глобальное.

Шайтан!!!
Сегодня утром перед поездкой на работу не удержался - проверил-таки без компьютера. Виснет!!!
😭(
Симптомы:
включился, завелся, подлетел на пол-метра (предварительно привязал его к 7-килограмовой гантеле 😉) Затем я понизил обороты, коптер приземлился, но выключать я его не стал.А секунд через 10 он перестал реагировать на команды с пульта. Причем так как винты вращались где-то на треть газа, то подойти и выдернуть провод из аккумулятора я не решился. Так и ждал, пока акум сядет (слава Богу он у меня старенький и всего на 1600мА).

Выводы:

  • буду пробовать другие версии прошивки, чтобы понять в прошивке ли дело или в моем железе
  • обязательно поставлю выключатель питания борта в самом доступном и безопасном месте - например в центре защитного колпака сверху 😉)
Covax
SavosRU:
  • обязательно поставлю выключатель питания борта в самом доступном и безопасном месте - например в центре защитного колпака сверху 😉)

А каким тумблером? Не каждый выдержит токи порядка 20-40A…

Если отпаять плату с датчиками будет зависать? Если нет, то проблема с шиной i2c в плате с датчиками… может нужно понизить питание до 3.3V

tusik
SavosRU:

А секунд через 10 он перестал реагировать

А приемник - передатчик нормально работают? Выключить - включить передатчик, когда завис

Covax:

мегапланер для мегапиратов

А в чем прелесть, по сравнению с обычным планером, кроме надписи мегапират?

Covax
tusik:

А в чем прелесть, по сравнению с обычным планером, кроме надписи мегапират?

Точно не хуже