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

YAN=

Ну сколько про это писать можно.
Я еще на ВиКи писал. Нельзя, что-б было поралельное питание от контроллеров и от ЮСБ. Движки взбеситься могут. Винты СНИМАТЬ. Я уже пожертвовал рукой.

RA4ASN

Я это читал как бы 😃 , и специально для этого предусмотрел отключение +5В от регулей перемычкой, чтобы каждый раз не дергать разъемы. Когда цепляю usb, перемычку вынимаю. А движки включились когда коптер лежал на полу с отключенным usb. Это был однократный казус, уж хз от чего он произошел, после последующих перезапусков такой траблы не было.

SovGVD

в момент старта ардуины может внезапно податься сигнал (на долю секунды) регулям, они и крутанутся (могут на полную) - раза 3 пока только так было у меня, но ен приятно получить пропом по руке, хоть и не сильно

Sir_Alex

Кто нибудь, может объяснить, как вообще должен управляться YAW?
Я вчера попробовал разобраться в чем у нас проблема на 46й версии. Поставил коптер на пол (с отключенными моторами), подключил планер. Попробовал крутить с пульта влево/вправо, в результате 0 реакции… точнее, рекция есть только на servo_out (т.е. на выходе на моторы). Но если я правильно понимаю, мы с пульта должны задавать желаемый курс (т.е. мы изменяем ошибку по сравнению с текущим курсом), а мозги уже сами с помощью PID контроллеров подкручивают коптер в нужное направление. Однако, ошибка меняется только тогда, когда я коптер начинаю руками поварачивать отклоняя от заданного курса (тут как раз все правильно, он стабилизируется).
Может в этом вся загвоздка? Мы на пульте даем команду повернутся, сигнал идет на моторы и начиает поворачивать коптер, тут мозги видят, что коптер повернулся и начинаю его возвращать на прежний курс…

Кстати, YAW по компасу имеет приоритет. Если компаса нет, то курс проверяется по GPS при скорости более 3м/с (видимо для самолетов)
И еще, обратил внимание на то, что в исходниках есть эксперементальный код, удержания высоты по акселю 😃

SovGVD

насколько я помню там если стик отошел от центра (RC4_TRIM вроде), то напрямую поворачиваем (без учета направления), если стик снова в центре, то запоминаем текущее положение и держим его - тут главное чтобы YAW ось гиры и магнетометра совпадали, так как YAW гиры крутит сразу, а YAW магнетометра медленно доплывает - иначе выйдет что ось гиры (совсем плохо если еще и знак не тот) и ось магнетометра не совпадают и коптер “не понимает” кому верить
у меня такое было - отрубил магнетометр и стал нормально работать, врубая - дикая колбасня туда/сюда вплоть до переворотов

Sir_Alex
SovGVD:

тут главное чтобы YAW ось гиры и магнетометра совпадали, так как YAW гиры крутит сразу, а YAW магнетометра медленно доплывает - иначе выйдет что ось гиры (совсем плохо если еще и знак не тот) и ось магнетометра не совпадают и коптер “не понимает” кому верить

А как это проверить? Вроде магнетометр показывает верное направление, на повороты мозгов, реагирует адекватно…

SovGVD

хз как проверить, я тупо вырубил магнетометр и летал без него (но собственно кроме стабилайза ничего и не было)

  • в старом планере была нормальная стрелка heating (направление показывает), там было хорошо видно и если оси перепутаны, то сначало резко крутится в одну сторону, а потом доплывает в другую (или недолет/перелет, если кто-то из датчиков не те значения отдает или еще какая фигня)
Sir_Alex:

магнетометр показывает верное направление, на повороты мозгов, реагирует адекватно

перепроверь центр аппы, может он на границе и так как апа ± значение выдает мозги думаю: стоим на месте/рулит/стоим на месте/рулим и т.д.

или еще лучше попробовать заново перекалиброваться и убедится что рядом с магнетометром не идет силовых проводов/моторов и т.д.

Sir_Alex
SovGVD:

перепроверь центр аппы, может он на границе и так как апа ± значение выдает мозги думаю: стоим на месте/рулит/стоим на месте/рулим и т.д.

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

RA4ASN

Все забываю спросить: датчики обязательно размещать в геометрическом центре коптера или лишь важно направление соблюсти?

SovGVD
RA4ASN:

датчики обязательно размещать в геометрическом центре коптера

не обязательно, но желательно… как минимум надо чтобы по XY был в центре (± 2 см), по Z лучше если в плоскости винтов, но реально это мало кто соблюдает 😉

Sir_Alex:

не отключается слежение за YAW

вполне возможно

tusik

В ветке про ардукоптер вчера пмсали, что с 46 прошивкой были проблемы. Даже сняли с сайта и поменяли на 46вета.

Sir_Alex
tusik:

В ветке про ардукоптер вчера пмсали, что с 46 прошивкой были проблемы. Даже сняли с сайта и поменяли на 46вета.

Да, было дело… я только не понял, чем они отличались, т.к. в исходниках добавили только дополнительный PID контроллер на ALT_Hold и то не факт, что эти изменения попали в бету.

tusik
Sir_Alex:

в исходниках добавили только дополнительный PID контроллер

А народ говорил, что квадры сыпались как листья осенью 😃

paratozor

ребят, а как эти прошивки заливают? прошу сапогами сразу не пинать, я еще малость не в теме 😃 Освоил работу с планнером, но не до конца. В планнере жму кофигурацию, что-то откуда-то заливается, но контроля что и какая именно прошивка нет.

Sir_Alex
paratozor:

В планнере жму кофигурацию, что-то откуда-то заливается, но контроля что и какая именно прошивка нет.

Нам нельзя этой фичей пользоваться, т.к. загружается там оригинальная прошивка ArduCopter’a (которая несовместима с Arduino и датчиками AllInOne и FFIMU).
Схема такая:

  1. Качаете и распаковываете в любую папку Arduino IDE 0022 (запускаете хотя бы раз саму IDE, что бы прописались связи с файлами типа “*.pde”
  2. Качаете желаему прошивку отсюда code.google.com/p/megapirateng/downloads/list
  3. Распаковываете в любую папку. Копируете папку libraries в папку libraries Arduino IDE
  4. Заходите в папку ArduCopter и два раза кликаете на любом файле *.pde
  5. Указваете тип вашей платы Arduino и COM порт, на котром она подключена.
  6. Нажимаете кнопку (Скомпилировать и залить) (Она предпоследняя на панели кнопок)

Это в общих чертах. Обычно после скачивания прошивки, надо ее настроить под свою конфигурацию. Выбрать какое у вас управление (файл APM_RC.cpp), какая у вас плата дачиков (AP_ADC_ADS7844.cpp) и какие фичи у вас есть, в файле APM_Config.h

paratozor
Sir_Alex:

Нам нельзя этой фичей пользоваться, т.к. загружается там оригинальная прошивка ArduCopter’a

все понял, вопрос отпал, у меня-то ардукоптер… Пардон.

Alex_from_Israel

Ткните мордой лица, где в постах про ориентацию Аллинон написано, плз!

Sir_Alex
Alex_from_Israel:

Ткните мордой лица, где в постах про ориентацию Аллинон написано, плз!

rcwiki.ru/index.php/MegaPirates
AllInOne ориентируется, выводами слева от черепка (если смотреть сверху на AllInOne)

tusik

Отлетал два пака на 46 альфе. Из того что что сразубросилось в глаза: стал намного тупее по рудеру. Если раньше чуть двинешь стик и коптер уже крутит, то теперь стик надо двигать чуть ли не до половины. Алт-холд стал по-лучше. на стоковых пидах в 5 метрах от земли ходил сантиметров 70. А если поднастроить можно и в 30 вписаться. Ни РТЛ, ни лойтер не проверял. В целом впечатрения положительные.

YAN=
SovGVD:

в момент старта ардуины может внезапно податься сигнал (на долю секунды)

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

RA4ASN

Можно ли разместить в непосредственной близости (1-2см) антенны приемника 2,4ГГц и модуля APC220? Диапазоны разные, но не будет ли модем забивать входные каскады приемника? Хочу чтоб плата выглядела красиво, но чтобы и перекрестных помех не было )

tusik
RA4ASN:

Можно ли разместить в непосредственной близости

У меня две антены лежат в банке из-под СD. Правда одна лежит, а вторая стоит. Улетал метров на 250-300

iBat
RA4ASN:

Можно ли разместить в непосредственной близости (1-2см) антенны приемника 2,4ГГц и модуля APC220?

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

Chester_kz

Война в ГПС продолжается. Резетнул свой приемник (Holux 240) поставил 38400 где это тольво козможно. Результат следующий(фикса небыло проверял в здании):

AC 2.0.40 Beta] test
test] rawgps
Hit Enter to exit.

$GPGGA,000420.040,0000.0000,N,00000.0000,E,0,00,,0.0,M,0.0,M,,0000*41
$GPRMC,000420.040,V,0000.0000,N,00000.0000,E,,,160406,,,$GPGGA,000432.040,0000.0000,N,00000.0000,E,0,00,,0.0,M,0.0,M,,0000*42
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,3,1,12,20,00,000,,10,00,000,,25,00,000,,27,00,000,*79
$GPGSV,3,2,12,22,00,000,,07,00,000,,21,00,000,,24,00,000,*79
$GPGSV,3,3,12,16,00,000,,28,00,000,,26,00,000,,29,00,000,*78
$GPRMC,000432.040,V,0000.0000,N,00000.0000,E,,,160406,,,N*72
$GPVTG,,T,,M,,N,,K,N*2C
$GPGGA,000433.040,0000.0000,N,00000.0000,E,0,00,,0.0,M,0.0,M,,0000*43
$GPRMC,000433.040,V,0000.0000,N,00000.0000,E,,,160406,,,N*73
$GPVTG,,T,,M,,N,,K,N*2C
$GPGGA,000434.048,0000.0000,N,00000.0000,E,0,00,,0.0,M,0.0,M,,0000*4C
$GPRMC,000434.048,V,0000.0000,N,00000.0000,E,,,160406,,,N*7C
$GPVTG,,T,,M,,N,,K,N*2C
$GPGGA,000435.040,0000.0000,N,00000.0000,E,0,00,,0.0,Mtest]
test] gps
Hit Enter to exit.

GU*U?GUError reading com port
*U?GU*U?GU*U?.GU*U    ?GU
*U
?GU*U
?GU*U?.GU*U?GU*U?GError reading com port

Прошивка как видно 2.0.40. Планер 1.0.76. Показывает No Gps.
Смушает надпись “Error reading com port”. Это какой порт? Для телеметрии или гпс-ный…
Куда копать не пойму. Что посоветуете?

Musgravehill
Chester_kz:

Война в ГПС продолжается.

Вначале попробуйте отдельно маленькую библиотечку arduiniana.org/libraries/tinygps/ я с ней проверял модули. В папке есть 2 примера. По-моему, только NMEA. Для бинари и других не искал.

(если АТмега328, то можно добавить arduiniana.org/libraries/newsoftserial/ - чтобы повесить ГПС на виртуальный сом-порт d2 d3, например. А d0 d1 использовать для COM-USB как обычно.)