ArduCopter Mega: порт на обычную Arduino (тестим)
Как вариант, посмотрите в планере, правильно ли у вас подключен приемник, т.е. Roll, Pitch, Yaw, Throttle должны адекватно реагировать на стики.
Ну вот вечером и гляну. Хотя перепроверял ведь, но мало ли - поздно уже было, мог, уставши, что-то проглядеть…
А кондиционер есть?
Нет, но квартира с окнами на две стороны дома - продувается естественным образом и вполне себе не жарко.
Плюс замечательный вид из окна на коттеджный поселок и дальше лес до горизонта - соответственно свежий воздух, кислород и так далее, что немаловажно при жаре.
UPD.
Но мы так от темы отойдем далеко. Если кто-то сможет подъехать и есть вопросы - в личку. Тут нет необходимости засорять ветку.
Лично я, от приемника подключил только сигнальный провод и питание к Arduino. Питание самой Arduino идет от одного из ESC - т.е. от одного из них подключен средний проводок и подан на вход питания +5В.
Именно на +5V или на VCC???
Просто я с ардуиной работал раньше неоднократно (Duemilanove и Nano) и там +5V был ВЫХОД из ардуины для питаниях устройств типа того же сонара или небольшой сервы, а вовсе не вход по питанию.
При подключении от ESC’a землю его и ардуины соединяете? Нет необходимости объединять вообще все “земли” на одну общую шину?
На счет +5V : Выход это он для всех, а для нас коптероводов он вход 😃) Так как это выход с внутреннего стабилизатора дальше на электронику, а если уже есть 5V то зачем еще внутренний пытать 😃
Именно на +5V или на VCC???
У меня Arduino MEGA 2560, Смотрите раздел Power, я подаю на +5В, т.к. выход от BEC’a - уже стабилизированные +5В.
При подключении от ESC’a землю его и ардуины соединяете? Нет необходимости объединять вообще все “земли” на одну общую шину?
Я на собственном шилде, сделал трехконтактные разъемы для подключения ESC, что бы ничего не паять и не менять (Т.к. это мой первый коптер, то я решил все сделать на разъемах, что бы было просто все модули). Поэтому все земли оказались на плате соединены, а питание взято с одного из ESC.
Привет всем. Люди скажите пжлста, кто подружил В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