ArduCopter Mega: порт на обычную Arduino (тестим)
Привет всем. Люди скажите пжлста, кто подружил В8 с компасом? Уж я его и так и сяк настраивал, но что то аппарат с ним какой то неадекватный… то его на север разворачивает, то несет куда то… то носом при полете рыскает, вообщем нервный аппарат с ним (правда и пайлот из меня можно сказать никакой). Компас отключаешь, совершенно другой агрегат получается, я со своим хреновым опытом пилотирования поднимаю его просто ручкой газа, плавно поднимается, не надо подруливать, вообщем нормальный плавный агрегат… Пиды стоковые. Может в прошивке что то не допилено? Все руки не дойдут доделать ардукоптер посмотреть как у оригинала компас работает. Может у кого есть какие нить мысли в этом направлении?
Кто нить может ткнуть чем нибудь, где в скетче МегаПирата найти вычисление напряжения\тока от сенсора? В настройках есть объявление переменных и значения по умолчанию, а как вычисляются эти значения х.з! Очень нужно подправить код под сенсор от Спаркфана. В Вие настроил, а в МП никак не найду.
А там же вроде в планере подбирается. Configuration - Hardware setup - enable battery monitor и тд
В планнере, это одно. С сенсора подается на Ардуиновы ноги данные с датчика. Их нужно преобразовать в реальные напряжение и ток. Типа
vrav = analogRead(pin_num);
irav = analogRead(pin_num);
vbat = vrav/12.99 // Это коэффициент для расчета реального напояжения на батарее для моего датчика
ibat = irav/7.4 //тоже для тока
В результате получаем напряжение и ток батареи в реальном времени. Полезная вещь, если использовать регули в режиме Никель Кадмиевых батарей. Не отсекает по напряжентию, но без контроля можно угробить батарею переразрядом.
где в скетче МегаПирата найти вычисление напряжения\тока от сенсора
Макрос вычисления тока и напряжения находится в 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)
Макрос вычисления тока и напряжения находится в 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)
Спасибо!
Сегодня гонял коптера в комнате. Тесновато для такой бандуры, все же почти 2 кг взлетный вес. Но с Мегапиратом взлетает уверенно. И даже висит вполне терпимо, хоть и рыскает слегка. Но удержать можно. Почему то стартуют сначала нижние моторы. Но не критично, верхние стартуют хоть и позже, но обороты набирают синхронно. Это все в стаб моде. В акро не рискнул поднимать в помещении. Кстати, при разряде батареи коптер стремится завалиться влево и на хвост. Хотя регули калибровал и по отдельности и вместе(по рецепту из этого форума) и в планнере тоже. Никаких отличий не заметил. В субботу поеду на природу с коптером, попробую поднять.
Если в Планере все каналы (Радио-сенсор) работают адекватно, арминг проходит и справа(где полосочки моторов) все двигается соответственно - можно пробовать “взлетать”(без винтов пока);
Вот и хотелось бы понять - правильно ли работает радио. Ибо стартовать моторы я так и не могу (арминг). Регуляторы пищать перестали после перезаливки прошивки. Но не стартуют и не калибруются по инструкции с rcwiki. Вот видео записал - не знаю, удастся ли его сюда поместить.
На всякий случай дам и ссылку на Youtube ( youtube.com/watch?v=OjKZ5E6r-uU )
www.youtube.com/watch?v=OjKZ5E6r-uU
Кто что может подсказать после просмотра этого ролика?
При просмотре в терминале по команде test -> radio я вижу, что в минимуме каналы показывают по нулям. А вот в графическом представлении до нулей явно не доходит. Или это у всех так? Ну и главный вопрос на данный момент - правильно ли каналы подключены?
У меня была подобная фигня. Решил так: идем в планер - configuratiоn. Находим слева следующие строки: RC1_max, RC1_min, RC1_trim. Дальше идем flight data - raw sensor - radio двигаем стики в крайние положения и записываем их значения. Теперь возвращаемся к RC1_max, RC1_min, RC1_trim и выставляем для первого стика мах мин и среднее значения. Проделываем процедуру для остальных каналов и пробуем армед двигатели.
Кто что может подсказать после просмотра этого ролика?
имхо YAW это 4 канал, а не 2 - стоит проверить подпаянность каналов
должно быть 3 канал в минимуме (газ), 4 канал в аксимуме (yaw) - тогда моторы заведутся
У меня моторы стартуют только в Акро моде. Троттл вниз до минимума Яв в право на несколько секунд. Насчет каналов на приемнике и на Ардуине. Троттл перый канал на Мегапирате и третий на приемнике.
1 на приемнике Елерон (ролл)
2 Элеватор(питч)
3 Троттл
4 Руддер (Яв)
5 Гиро (тумблер)
6
7 Аукс1
8 Аукс2
Это справедливо для Турнеджи 9 каналки. Это Футабовский стандарт.
В Мегапирате Троттл на первом канале, ролл второй, питч третий. Остальные совпадают. Олег ака Себириан переделал библиотеки мгапирата под стандартную распиновку приемника, но тогда нужно использовать его вариант библиотек.
имхо 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
A8 Roll CH1
A9 Pitch CH2
A10 Throttle CH3
A11 Yaw CH4
в новой прошивке, а в старой вроде газ на A8 был и дальше roll pitch yaw шел
в GUI соотвественно (у меня во всяком случае), чтобы завелиь моторы Radio 3 в минимуме, Radio 4 в максимуме
Что самое интересное, в скетче Megapirate 2_0_31 в defaines.h то же самое прописано, но у меня каналы подключены, как в Вие, и все работает!
Код:
A8 Roll CH1
A9 Pitch CH2
A10 Throttle CH3
A11 Yaw CH4
У меня так. И все работает
OFF Ближе к ночи собрались ярые коптеристы 😃 (после полетов 😉 )
Попробую по совету tusik’а подстроить параметры каналов, ну и по Вашей подсказке поменяю местами эти два канала - и так и так будем искать варианты работы. Летать охота 😉)
Огромное спасибо всем ответившим и неравнодушным!!!
😉)
Я его ЗАВЕЛ и доволен как слон. Без винтов, разумеется, пока еще настраивать буду, так что не подлетывал. Но лед-то тронулся, господа присяжные заседатели! Так что принимайте новенького!!!
Ура!!!
UPD.
вот только (как и писал несколькими страницами ранее) подвисает то ли планер, то ли сам скетч в ардуине… 😭( Сейчас аккумулятор сел, стоит на щарядке, так что я пока от USB запитал и приемник тоже и вот в такой связке у меня появились изменения в показаниях моторов - из чего я и сделал вывод о том, что удалось завестись. Раньше они (как это можно видеть на ролике с радио-тестированием) стояли мертво. Теперь реагируют на стики передатчика - на газ, на наклоны. Но через непродолжительное время показания перестают обновляться. Завтра с заряженным аком проверю - сам по себе “мозг” прододжает при этом функционировать или нет. То есть это просто потеря связи с компьютером, или что-то более глобальное.
А сейчас - спать!
Новый мегапланер для мегапиратов …googlecode.com/…/MegaPiratePlanner.zip
Но через непродолжительное время показания перестают обновляться. Завтра с заряженным аком проверю - сам по себе “мозг” прододжает при этом функционировать или нет. То есть это просто потеря связи с компьютером, или что-то более глобальное.
Шайтан!!!
Сегодня утром перед поездкой на работу не удержался - проверил-таки без компьютера. Виснет!!!
😭(
Симптомы:
включился, завелся, подлетел на пол-метра (предварительно привязал его к 7-килограмовой гантеле 😉) Затем я понизил обороты, коптер приземлился, но выключать я его не стал.А секунд через 10 он перестал реагировать на команды с пульта. Причем так как винты вращались где-то на треть газа, то подойти и выдернуть провод из аккумулятора я не решился. Так и ждал, пока акум сядет (слава Богу он у меня старенький и всего на 1600мА).
Выводы:
- буду пробовать другие версии прошивки, чтобы понять в прошивке ли дело или в моем железе
- обязательно поставлю выключатель питания борта в самом доступном и безопасном месте - например в центре защитного колпака сверху 😉)
- обязательно поставлю выключатель питания борта в самом доступном и безопасном месте - например в центре защитного колпака сверху 😉)
А каким тумблером? Не каждый выдержит токи порядка 20-40A…
Если отпаять плату с датчиками будет зависать? Если нет, то проблема с шиной i2c в плате с датчиками… может нужно понизить питание до 3.3V
А секунд через 10 он перестал реагировать
А приемник - передатчик нормально работают? Выключить - включить передатчик, когда завис
мегапланер для мегапиратов
А в чем прелесть, по сравнению с обычным планером, кроме надписи мегапират?
А в чем прелесть, по сравнению с обычным планером, кроме надписи мегапират?
Точно не хуже