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

SovGVD
blind_oracle:

т.к. под винду уже давно всё искаробки компилится

если бы… в 3х виндах мучал БК подвес, не заливалось, и в 2х виндах мучал 3.0.1, так же не заливалось… пару правок и 3 команды в Linux и всё залилось (но еще надо проверить работает ли)

pilot01:

Глеб спасибо за наводку! буду на OS x пробывать, а то задалбался кирпичный Toshiba с WinXP тоскать =)

а я надеюсь что на toshiba ac100 заведется (хотя в прошлый раз там добавили directx или чето типа того и всё спортилось, вся надежда что каким то чудом directx будет транслироваться в opengles, если надо), чтобы не таскать x86 махину, живущую пару минут =)

@ Sir Alex nekaka.com/d/SPtLoKIYvU (заменить файлики в mk), после чего сборка для unix машин:

  1. в папке ArduCopter написать make configure - создастся файлик config.mk в “корне” сборки, там надо будет поменять (а может и не надо, далее явно указывается под какую железку собирать) HAL_BOARD ?= HAL_BOARD_MPNG и выставить порт, куда заливать
  2. в папке ArduCopter написать make mpng
  3. подключить коптер и написать make upload
    сенсоры работают, GPS видится, на аппу реагирует (думаю если бы собралось не верно, то тут точно был бы затык), еще не летал
Sir_Alex

Вот вы мне скажите, почему из под Винды не заливается прошивка, а из под Linux’а - да???

Глеб, ты можешь попробовать залить HEX полученный в винде, на линухе?

SovGVD
Sir_Alex:

Глеб, ты можешь попробовать залить HEX полученный в винде, на линухе?

могу (avrdude вроде входит в arduino ide?) попробовать, но вечерком, отпишусь что вышло… или хочешь тебе скину этот hex-ик (гекса, multiwii-шный вариант для приемника)?

pilot01
SovGVD:

если бы… в 3х виндах мучал БК подвес, не заливалось, и в 2х виндах мучал 3.0.1, так же не заливалось… пару правок и 3 команды в Linux и всё залилось (но еще надо проверить работает ли)

а я надеюсь что на toshiba ac100 заведется (хотя в прошлый раз там добавили directx или чето типа того и всё спортилось, вся надежда что каким то чудом directx будет транслироваться в opengles, если надо), чтобы не таскать x86 махину, живущую пару минут =)

@ Sir Alex nekaka.com/d/SPtLoKIYvU (заменить файлики в mk), после чего сборка для unix машин:

  1. в папке ArduCopter написать make configure - создастся файлик config.mk в “корне” сборки, там надо будет поменять (а может и не надо, далее явно указывается под какую железку собирать) HAL_BOARD ?= HAL_BOARD_MPNG и выставить порт, куда заливать
  2. в папке ArduCopter написать make mpng
  3. подключить коптер и написать make upload
    сенсоры работают, GPS видится, на аппу реагирует (думаю если бы собралось не верно, то тут точно был бы затык), еще не летал

Вроде как работает, а если нет то установить sudo apt-get install mono-runtime libmono-system-windows-forms4.0-cil libmono-system-core4.0-cil
тикет 22

Олег24

После замены загрузчика в плате все льется и летает отменно …

SovGVD
Олег24:

После замены загрузчика в плате все льется и летает отменно …

для замены загрузчика нужен программатор или еще одна адруинка + перебрать коптер и чуток попаять, надеюсь это можно решить программно в Windows

pilot01:

Вроде как работает

на ac100 проблема в ARM архитектуре и отсуствии opengl (gles только), поэтому ни новые планеры, ни qgroundcontrol работать не хотели на нем
а mono в убунте вроде по умолчанию со всеми нужностями стоит (или стоял, т.к. встроенный плеер жаждил этой фигни)

Sir_Alex
SovGVD:

на ac100 проблема в ARM архитектуре и отсуствии opengl (gles только)

В конфиге планера можно принудительно отключить OpenGL и оставить только GDI+.

pilot01
Олег24:

После замены загрузчика в плате все льется и летает отменно …

было бы интересно узнать: какой аппарат? вес ? настройки PID’ов ?

SovGVD
Sir_Alex:

Глеб, ты можешь попробовать залить HEX полученный в винде, на линухе?

Попробовал (правда через виртуалку, но через неё же черезз IDE не заливалось ничего)


C:\Users\user\Downloads\ardupilot-mpng-3.0.1-R1\arduino-ardupilot-ide\hardware\tools\avr\bin>avrdude.exe -C "C:\Users\user\Downloads\ardupilot-mpng-3.0.1-R1\arduino-ardupilot-ide\hardware\tools\avr\etc\avrdude.conf" -c stk500v2 -p atmega2560 -P COM3 -b115200 -U flash:w:C:\ArduCopter.hex:i

И дальше залилось точно так же как в линухе


avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.04s

avrdude.exe: Device signature = 0x1e9801
avrdude.exe: NOTE: FLASH memory has been specified, an erase cycle will be performed
             To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: reading input file "C:\ArduCopter.hex"
avrdude.exe: writing flash (209916 bytes):

Writing | ################################################## | 100% 39.71s

avrdude.exe: 209916 bytes of flash written
avrdude.exe: verifying flash memory against C:\ArduCopter.hex:
avrdude.exe: load data flash data from input file C:\ArduCopter.hex:
avrdude.exe: input file C:\ArduCopter.hex contains 209916 bytes
avrdude.exe: reading on-chip flash data:

Reading | ################################################## | 100% 43.93s

avrdude.exe: verifying ...
avrdude.exe: 209916 bytes of flash verified

avrdude.exe: safemode: Fuses OK

avrdude.exe done.  Thank you.
serjok

AIO v1 прошился 3.0.1, Arduino 1.0.3 подтверждает загрузку программы в контроллер. Если не отключать кабель от компа, то диоды попеременно начинают мигать, говоря о том, что все хорошо. Стоит запитаться от аккума или просто передернуть кабель - диоды перестают мигать вообще. И соответственно контроллер ни одна прога конфигуратор не видит. Буду пока летать на 2.8r3. Заливается без проблем и все работает. Надеюсь, скоро все проблемы будут решены.

Олег24
pilot01:

было бы интересно узнать: какой аппарат? вес ? настройки PID’ов ?

Рама banned link
Моторы banned link
пропы banned link
регули banned link перешитые

вес около килограмма с батареей 3000

PID стоковые немного убавил Rate P

SovGVD
Sir_Alex:

Подвес должен работать на D11,12 пинах

D11, D12 пины каким RC соотвествуют во вкладке с настройкой подвеса?

ReM

Полетал сегодня с новой прошивкой. Сравним с 2.9.1.
Altitude hold - работает также, очень хорошо.
Loiter - также. Т.е. c точностью GPS. Я думал будет лучше, ведь используется ACC…
Circle - тоже работает, но несколько иначе. Надо попробовать увеличить скорость.
Guided - тоже нормально.
RTL - не повернулся передом в точку RTL, но прилетел “домой”… Видимо такая установка по дефолту, надо поменять…
Auto - маршрут выполнил нормально только летит медленнее (те же 4m/s установленно). Правда в одном месте летел дугой почемуто (2 раза также), хотя с 2.9.1 не замечал такого. Скорость смотрел - не больше 3m/s. 3DR Radio у меня…
Вроде всё хорошо, но вот думаю: а что нового? 😃

Sir_Alex
SovGVD:

D11, D12 пины каким RC соотвествуют во вкладке с настройкой подвеса?

RC10, RC11 соответственно.

ReM:

Вроде всё хорошо, но вот думаю: а что нового?

Тута написано: diydrones.ning.com/…/arducopter-3-0-1-released

ReM
Sir_Alex:

Это я читал… Потому и ждал…
Особенно интересно было:

Inertial Navigation for Loiter and Auto meaning much more accurate control
3D navigation controller follows straight lines in all dimensions between waypoints

Но не заметил этого. Хотя… есть что настраивать…

Sir_Alex
Олег24:

После замены загрузчика в плате все льется и летает отменно …

В общем, проблема действительно оказалась в загрузчике! Некоторые платы поставляются со старым Ардуиновским загрузчиком, в котором есть бага. Из за этой баги, если в тексте прошивки втречается три восклицательных знака, то бутлоадер переходит в интерактивный режим (командная строка).
В итоге, если в прошивке встретится !!! - капец, она не загружается. Я просто фшоке!

Сомневающиеся, могут попробовать залить вот такой скетч:


void setup(void)
{
  Serial.println("!!!");
}

void loop(void)
{
;
}

Теперь вернемся к своим слонам MPNG. При компиляции, в конце прошивки, какраз появляются те самые !!!, но фишка в том, что в коде нет такой последовательности символов (как в примере), ее генерит компилятор (видимо какие то команды у него так получаются). В итоге прошивка и не заливается.

Теперь, что делать:

  1. Заменить бутлодырь с помощью AVR-ISP программатора - Это самый правильный путь, но конечно для тех у кого есть программатор.
  2. Достаточно внести небольшие изменения в код прошивки, что бы у компилятора не получились три вопроса подряд. Я сейчас делаю версию R2 где можно будет это просто сделать.
  3. Еще есть вариант, перезалить бутлодырь средствами avrdude, но это надо манипулировать фьюзами, что бы разрешить запись в область памяти бутлодыря - в общем, путь небезопасный.
ReM:

3D navigation controller follows straight lines in all dimensions between waypoints

Вроде как в 3.x версии собирались сделать алгоритм облета точек - L1. Видимо это и есть оно. Во всяком случае, библиотека для L1 в арде появилась, но я не знаю, задействована она или нет.
По идее, она дает более правильный алгоритм облета точек.

rstzero
Sir_Alex:

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

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

SovGVD
Sir_Alex:

RC10, RC11 соответственно.

да, вроде работает =)
Подлетнул на гексе в комнате (размер гексы увеличился, а в комнате стало побольше мебели, летать не возможно уже):

  • в планере все отлично калибруется: аксель, компас (в прошлый разы всегда врал чуток, сейчас четко показывает) и даже FS тестируется отлично
  • на дефолтных пидах гекса (20-22L, 11", рама ATG 700-AL) не дергалась и показалось что вернулась старая резвость и четкость удержания горизонта, но надо на улице смотреть
  • прошивку собирал и заливал в Ubuntu на crius aiop v1 без перешития бутлодера (кстати можно сделать сервис сбора прошивки и какой нибудь GUI для avdude написать, будет дружелюбнее)

Если погода не подведет, пойду в поле вечерком.

@SirAlex, можешь эту строчку пояснить: Warning #4: loiter turns does not maintain altitude. This bug will be fixed in AC-3.0.2. - никак не осознаю чего с высотой в лоитере.

зы: сперва хотел написать что на гексе не работают 2 мотора, потом понял что дефайн не раскоментил

SovGVD
UserM:

Дык, вроде как есть.

много кнопок и полей для ввода, дружелюбно это когда выбрал параметры своего коптера (в данном случае тип платы, тип рамы и тип с распиновкой приемника) и нажал одну кнопку

UserM

Вас не верно понял, я о GUI программаторе, а Вы о GUI конфигуратре )).