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

Sir_Alex
SavosRU:

Вот про подключение-то и будет основной мой вопрос. На каждом канале приемника воткнут 3-х контактный разъем от удлинителя сервопривода. При этом только один сигнальный провод из каждой тройки идет на соответствующую ногу ардуины (2, 3, 5,6 - как по rcwiki). С канала газа также на +5V и “землю” запитаны плюс и минус (от одного из регулей, но я пробовал и от самой ардуины брать “землю” и 5V - результат тот же). Теперь про ESC-ки. Все плюсы силовые замкнуты в кольцо, от него идет провод на плюс аккумулятора, все граунды силовые также замкнуты в другое кольцо, от него идет провод на минус аккумулятора. А вот с “тонкими проводами” опять же непонятка: сигнальные провода идут на соответствующие ноги ардуины (А8,А9,А10 и А11), а что делать с плюсами и минусами на тонких проводах

Если у вас подключено действительно как написано, то у вас перепутаны вход с выходом. ESC надо подключить к D2, D3, D5, D6. Приемник надо подключить к A8, A9, A10, A11, A12.
Лично я, от приемника подключил только сигнальный провод и питание к Arduino. Питание самой Arduino идет от одного из ESC - т.е. от одного из них подключен средний проводок и подан на вход питания +5В.

zvuk_Irkutsk

Калибруйте от приемника:

  • Все сигнальные провода в кучу и на приемник на канал газа. От одного из ВЕС регулей подвести к приемнику питание и минус. Калибруете.
  • Подключаем все по указанной схеме на ардуину. Питание приемника лучше взять с +5 ардуины. Подключаем ЮСБ.
  • Если в Планере все каналы (Радио-сенсор) работают адекватно, арминг проходит и справа(где полосочки моторов) все двигается соответственно - можно пробовать “взлетать”(без винтов пока);
  • Регули могут попискивать если нет сигнала с ардуины (у меня регули с РЦтайма пищали) до того, как сделаешь арминг или после того как сделаешь дисарминг.
SavosRU
Sir_Alex:

Если у вас подключено действительно как написано, то у вас перепутаны вход с выходом. ESC надо подключить к D2, D3, D5, D6. Приемник надо подключить к A8, A9, A10, A11, A12.

Нет, я сам ошибся - подключено так, как у Вас написано. Извините за неточность…

Регули могут попискивать если нет сигнала с ардуины (у меня регули с РЦтайма пищали) до того, как сделаешь арминг или после того как сделаешь дисарминг.

Да, регули именно РЦтаймовские. Про арминг не слышал (пропустил?) - это что такое???

UPD.
Ступил… Это Вы про “включение” двигателей левой рукояткой на приемнике (вниз-и-вправо)?
Пробовал… ничего не происходит… Продолжают попискивать…И моторы не крутятся.

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) - тогда моторы заведутся