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

Sir_Alex
Alex27111972:

Люди подскажите, а кто нить настроил Турнигу на переключение режимов через миксы?

Я настроил… тока все равно не пользуюсь 😃
Вы когда делаете radio setup, вы то же все режимы переключаете (что бы min/max отразился)? У вас 6й канал должен 3 или 6 положений отщелкать. После этого, можно на следующей страничке в планере, назначить режимы на соответствующие позиции 6го канала. По умолчанию, все режимы - STABILIZE.

Alex27111972
Sir_Alex:

вы то же все режимы переключаете

до этого даже еще не дошел, делаю например первый микс, там нужно подобрать значение, ставлю на бум, в CLI делаю тест радио или пвм, реакции на переключение абсолютно никакой… если не трудно, Алексей выложи пжлста все поля первого микса хотябы, и напиши пжлста, если делал еще какие то настройка помимо миксов.

SovGVD

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

Sir_Alex
Alex27111972:

до этого даже еще не дошел, делаю например первый микс

А без этого и не будет работать. Вот статья, с описанием, как настраивать Только обратите внимание, там описан процесс, когда аппа работает в самолетном режиме! В вертолетном, так же можно настроить, но названия каналов будут другие и значения надо по другому настраивать (я методом тыка делал, пока не переключил в самолетный режим).
Контролировать правильность микширования, можно прямо на аппе (пункт Display - в меню аппы). Переключая левый нижний переключатель на аппе (5й канал), мы выбираем одину из двух групп режимов, по 3 режима в каждой. А конкретный режим уже выбирается трехпозиционным переключателем. В итоге, у вас на 6м канале, должны отразится все 6 режимов (щелкая тумблерами).
После этого, надо сделать калибровку радио в планере (radio setup) и переключить все шесть режимов, ну и потом, можно назначить на каждое положение переключателей, свой режим (как я уже говорил, на всех позициях, по умолчанию, стоит один режим - Stabilize).

SovGVD:

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

Это только мне показалось, что на графике, у тебя не нулевые показания сонара? Есть в csv показания сонара и баро, что бы построить такие же графики?

SovGVD
Sir_Alex:

Это только мне показалось, что на графике, у тебя не нулевые показания сонара? Есть в csv показания сонара и баро, что бы построить такие же графики?

на первом графике нулевые (в посте с одним графиком), это test.csv из архива dl.dropbox.com/u/1638929/tmp/barosonartest.zip
дальше всякие вариации на тему “не выводить нулевые значения”, как итоге ноль просто сметился к некоторому другому значению (помойму 13 или 12)
значения в файлах в сантиметрах, первое значение баро, второе сонар

pashteton

все победил я свой 5883. оказалось, что взял аксель на платке от аиркама, а он там мультиплексор перемычкой включил по оси Х.
а я неделю софт ковырял, не мог понять почему погрешность 20 градусов на 45. Зато теперь погрешность 1 град. на 45.

tusik

Отлетал сегодня два пака. Попробовал лойтер и ртл. Лойтер работает точно. Коптер летает в круге метра 4. Но по высоте прыгает как мячик с амплитудой метра полтора. Ртл проверил случайно. Квадрик летал метрах в 10 от меня, я что-то делал вслепую с пультом, гляжу, а квадр что дурной прет на меня, в метре от земли и на стики не реагирует. Пока думал в какую сторону отпрыгивать, вспомнил что крутил и выключил ртл. Так, что ртл - работает.

SovGVD

в комментах на diydrones писали, чтобы не прыгал по высоте, надо какой то throttle уменьшить в настройках
барометр кстаии закрыт? писали что паралон на него и под колпак
code.google.com/p/arducopter/wiki/AC2Assembly

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 - это что за значение?