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

tusik
SovGVD:

надо какой то throttle уменьшить

А какой?

SovGVD:

барометр кстаии закрыт?

Нет. Он под колпаком, думаю не надо. Или надо?

SovGVD

как я понял надо залепить его, а колпак уже дело второе

tusik:

А какой?

в code.google.com/p/arducopter/wiki/AC2_Tweaks написано:

My alt hold above 10 feet is only about 1-2m accurate: That’s actually the best you can achieve. The baro sensor is sensitive to light and wind. Use a felt cover to protect it from wind and make sure you don’t glue the hole and seal it up.

My copter increasingly swings up and down in alt hold. It eventually get’s down to the ground: Your THROTTLE_P is too high or low. You don’t need a lot of P to do alt hold. Think of how much you move the throttle to hold alt perfectly. Not much! That’s what you need P to do. I will ramp up as your battery goes lower to make up the difference.

типа P у Altitude hold покрутить надо чтоли
а вообще если 1-2 метра прыгает, то это уже шикарно =)

tusik

Попробую поменять. Завтра поеду по работе в поля, там ртл более детально испытаю, ну и лойтер заодно.

Musgravehill
SovGVD:

на первом графике нулевые (в посте с одним графиком), это test.csv

Глеб, я поиграл в Екселе.
narod.ru/disk/25148613001/bobtest.zip.html
Посмотри, пожалуйста. Я сделал 2 фильтра: рекурсивный 1 и 4 порядков (вычисления = умножение и сложение!). Коэффициент, который можно задать руками, выделен желтым. Остальные коэффициенты рассчитываются по формуле автоматически. Фомулы я вбил рядом. На графиках сразу видно влияние. Вообще, рекурсивный фильтр 1 порядка - очень простой и быстрый, по графику видно, что он подходит.

SovGVD

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

Ar2r

SovGVD и я методом научного тыка допилили функцию фильтра сонара.

обновили файлы
\libraries\AP_ADC\AP_ADC_ADS7844.cpp
и
\ArduCopterMega\test.pde

через CLI - test - altitude будут отображаться показания барометра и сонара в одной строке.

test4-fix_sonar.rarsonar_baro_fix1.rar

tusik
Ar2r:

SovGVD и я методом научного тыка допилили функцию фильтра сонара

То есть все будет работать? Можно заливать и на испытания?

SovGVD

можно залить и потестить, я пока снова не могу… или ночью или завтро вечером, но график выглядит очень адекватным

tusik

Щас попробую. А во это надо?

//#define BARO_TO_SONAR_VALUE 500

Сам себе отвечу - надо

Глеб, чего он ругается?

AP_ADC\old AP_ADC_ADS7844.cpp.o: In function `i2c_init’:
C:\arduino-0022\libraries\AP_ADC/old AP_ADC_ADS7844.cpp:74: multiple definition of `s_filter_index’
AP_ADC\AP_ADC_ADS7844.cpp.o:C:\arduino-0022\libraries\AP_ADC/AP_ADC_ADS7844.cpp:74: first defined here
AP_ADC\old AP_ADC_ADS7844.cpp.o: In function `i2c_init’:
C:\arduino-0022\libraries\AP_ADC/old AP_ADC_ADS7844.cpp:74: multiple definition of `s_filter’
AP_ADC\AP_ADC_ADS7844.cpp.o:C:\arduino-0022\libraries\AP_ADC/AP_ADC_ADS7844.cpp:74: first defined here
c:/arduino-0022/hardware/tools/avr/bin/…/lib/gcc/avr/4.3.2/…/…/…/…/avr/bin/ld.exe: Warning: size of symbol `s_filter’ changed from 12 in AP_ADC\AP_ADC_ADS7844.cpp.o to 8 in AP_ADC\old AP_ADC_ADS7844.cpp.o

Все, разобрался 😃 Глядишь, так и кодить скоро начну😁

SovGVD

лучше не оставлять старые версии кода/файлов и НИКОГДА не использовать пробелы и точки в названиях

tusik
SovGVD:

лучше не оставлять старые версии кода/файлов

Есть нюанс. Подымаю коптер до 130см начинаю медленно опускать вниз, показания через 10 см становятся равными 17см и не меняются. Чтобы начало опять показывать надо резко взмахнуть коптером.

tusik:

BARO_TO_SONAR_VALUE 500

500 - это что за значение?

SovGVD

BARO_TO_SONAR_VALUE актуально для полета - это высота в см (для барометра) при котором в код высоты подмешивается сонар
учитывая “точность” барометра и нашег сонара (до 200см), лучше ставить 300, максимум 400 - иначе прыжки неизбежны, а то и вообще краш об землю с размаха

tusik
SovGVD:

это высота в см (для барометра)

А откуда она берет 0? (я, например, нахожусь на втором этаже 7 м). Или 0 берется при включении?

SovGVD

для барометра ноль считается от места старта

LeonVS

Решил и я попробовать прошивку новомодную 😃 Попробовал залить вылазить ошибко… Что за директорию он найти не может?
ArduCopterMega.cpp:59:39: error: Wire.h: No such file or directory

SovGVD

он не может найти стандартную библиотеку, которая должна быть в arduino ide, т.е. или удалил её или версия старая

tusik
LeonVS:

Что за директорию

В новых библиотеках этой папки нет. Надо брать из стандартной установки.

tusik:

17см и не меняются.

Зависания происходят при снижении, про подъеме или движению в горизонт - все нармально

SovGVD

у меня чистая arduino-0022, я каждый раз её распаковываю и туда заливаю новые библиотеки, не удаляя те что есть

tusik

Чет не пойму как сонар не работает 😦 Глеб, а можно где нибудь увеличить частоту опроса сонара? Над диваном, кстати, не работает. А как будет над травой?

Romb89

Залил в 2.0.40 версию возможность подключения GPS к i2c шине. Работает только с Ublox модулем, который стоит на AllInOne2.

  1. Прописываем в APM_Config.h:
    #define GPS_PROTOCOL GPS_PROTOCOL_UBLOX_I2C
  2. НЕ подключаем gps через tx-rx
  3. Тестим

Последняя версия планера нормально работает с 2.0.40?

SovGVD
Romb89:

Последняя версия планера нормально работает с 2.0.40?

хз… тестить GPS лучше в CLI (test-rawgps и test-gps)