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

Covax

Попискивают регули значит не сделал калибровку ру аппаратуры terminal-> setup radio (кнопка наверху консоли) и всеми стиками и переключателем mode покрутить пощелкать.

SavosRU
Covax:

Попискивают регули значит не сделал калибровку ру аппаратуры terminal-> setup radio (кнопка наверху консоли) и всеми стиками и переключателем mode покрутить пощелкать.

Сергей, в том-то и беда, что сделал! Причем именно не только при первичной настройке (когда мастер сам просит передатчик поюзать, потом спрашивает про компас, про сонар и так далее), но и через терминал setup->radio
😭(

Вот увидел там же еще команду setup->motor (или это глюки были уже в 4 часа ночи?), но разбираться с этим уже не стал и завалился спать. Приеду сегодня с работы и продолжу изыскания… Но если мне эта команда не привиделась, а реально существует, то чтобы она могла такое делать? Никто не знает?

Кстати, никто из Москвы не желает приехать в гости? Кофе-пиво попить и заодно с коптером разобраться бы…
Жена с дочкой в отъезде - никто не помешает! 😉) Метро “Бунинская Аллея”, если что…

Sir_Alex

Как вариант, посмотрите в планере, правильно ли у вас подключен приемник, т.е. Roll, Pitch, Yaw, Throttle должны адекватно реагировать на стики. Может у вас просто перепутаны какие то каналы и Throttle на пульте, воспринимается как Yaw…

avvic
SavosRU:

никто из Москвы не желает приехать в гости?

А кондиционер есть?😃

SavosRU

Как вариант, посмотрите в планере, правильно ли у вас подключен приемник, т.е. Roll, Pitch, Yaw, Throttle должны адекватно реагировать на стики.

Ну вот вечером и гляну. Хотя перепроверял ведь, но мало ли - поздно уже было, мог, уставши, что-то проглядеть…

avvic:

А кондиционер есть?

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

UPD.
Но мы так от темы отойдем далеко. Если кто-то сможет подъехать и есть вопросы - в личку. Тут нет необходимости засорять ветку.

SavosRU
Sir_Alex:

Лично я, от приемника подключил только сигнальный провод и питание к Arduino. Питание самой Arduino идет от одного из ESC - т.е. от одного из них подключен средний проводок и подан на вход питания +5В.

Именно на +5V или на VCC???
Просто я с ардуиной работал раньше неоднократно (Duemilanove и Nano) и там +5V был ВЫХОД из ардуины для питаниях устройств типа того же сонара или небольшой сервы, а вовсе не вход по питанию.
При подключении от ESC’a землю его и ардуины соединяете? Нет необходимости объединять вообще все “земли” на одну общую шину?

Covax

На счет +5V : Выход это он для всех, а для нас коптероводов он вход 😃) Так как это выход с внутреннего стабилизатора дальше на электронику, а если уже есть 5V то зачем еще внутренний пытать 😃

Sir_Alex
SavosRU:

Именно на +5V или на VCC???

У меня Arduino MEGA 2560, Смотрите раздел Power, я подаю на +5В, т.к. выход от BEC’a - уже стабилизированные +5В.

SavosRU:

При подключении от ESC’a землю его и ардуины соединяете? Нет необходимости объединять вообще все “земли” на одну общую шину?

Я на собственном шилде, сделал трехконтактные разъемы для подключения ESC, что бы ничего не паять и не менять (Т.к. это мой первый коптер, то я решил все сделать на разъемах, что бы было просто все модули). Поэтому все земли оказались на плате соединены, а питание взято с одного из ESC.

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 в максимуме