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

Sir_Alex
SovGVD:

щас бы понять почему сонар себя ведет по разному - не хочется делать 2…3…10 вариантов кода

  1. Разные датчики (ревизии разные)
  2. Где то косяк в коде
  3. Влияние каких то сторонних факторов, на показание датчиков. Например ноги коптера попадают в зону сонара, вот он и ловит отражения от них. Ну или например, Ардуина неправильно замеряет время отклика (это скорее п.2)

P.S. Я попробую вечером свой сонар.

ligor73

щас бы понять почему сонар себя ведет по разному - не хочется делать 2…3…10 вариантов кода

SovGVD
Во общем получается такая ерунда.
Это был сонар скорее всего версии1.
Сейчас попробовал поставить версию2 как у тебя.
И показания стали как у тебя.
Вот так.

И вот что интересно версия2 у меня на В8 не запустилась, а вот версия1 показывала отлично.

SovGVD

ну тогда буду делать для версии2, так как первой у меня просто нет - как разработает, попробую дефайн добавить, для версии1 (если много народу такого)

ligor73
SovGVD:

ну тогда буду делать для версии2, так как первой у меня просто нет - как разработает, попробую дефайн добавить, для версии1 (если много народу такого)

Отсюда www.goodluckbuy.com/ultrasoni...ce-sensor.html могут прислат как V1 так и V2, сам уже столкнулся.

Covax

Пишут в соседнем форуме про мегапират на самик:
ВООБЩЕМ - У КОГО ПРОБЛЕМЫ С КОНЕКТОМ АРС 220 И ПРАНЕРА:
в штатном переходнике на ЮСБ косяк! Пин SET (крайний) при програмировании модуля на данном контакте должен быть ноль (низкий уровень) а при нормальной работе высокий! так вот при подключении АРС 220 к планеру на данный пин поступает низкий уровень (скорей всего винда так управляет СОМ портом…) и модуль вместо коннекта переходит в режим програмирования… Я, вняв советам добрых людей, отсоединил (обрезал на модуле) данный пин и все заработало!!!
короче теперь коннект происходит где-то сек 2-4, пробовал на трех версиях Планера. Ввиду того, что времени во время обеда в обрез - проверил соединение не долго - 10 минут разрывов связи небыло, данные передавались четко. при разрыве связи (специально выключил коннект) и подключении повторно связь наладилась почти мгновенно!

SovGVD

очередной тест: dl.dropbox.com/…/arducoptermega_2-0-39_for_arduino…
для сонара второй версии вроде бы всё поправил + добавил (а ведь не хотел ничего дописывать) фильтр, как добавлен для барометра, пока видно только в CLI->test->sonar (иногда сонар фигню показыает, а этот фильтр как раз сгладит баги, но при этом будет задержка в определении высоты (небольшая), по сравнению с голыми данными), если понравится - добавлю внутрь кода, чтобы высота через фильтр шла
в /libraries/AP_ADC/AP_ADC_ADS7844.cpp можно выбрать сонар
#define DYPME007 (работает так себе, смотрите ниже)
или
#define DYPME007v2

для тех у кого первая версия сонара - на предыдущей версии rcopen.com/forum/f123/topic232641/2238 - запишите расстоние (например линейкой померить), например 10см, 30 см, 70см, 1м и показания последнего значения в cli-test-sonar, тогда обновлю и добавлю этот сонар

upd: имхо пора заводить гуглокод, предлагаю название jaacam (Just Another ArduCopter ArduinoMega)

Musgravehill
SovGVD:

щас бы понять почему сонар себя ведет по разному

Глеб, наши DYP измеряют время прохождения эха = от генерации пачки УЗ импульсов до их приема после отражения. Дьявол кроется в каким-то мелочах. Функция измерения времени не глючит при малых\больших значениях (сигнал тут же пришел \не пришел вообще)?

LeonVS

У меня на Б1 были траблы, залил коптерную версию, вчера весь вечер тестил летал, все тип топ, конектится сразу и без гемора…

SovGVD
Musgravehill:

наши DYP измеряют время прохождения эха

это то понятно, только не пойму почему первая версия отдает положительные значения времени, а вторая версия отрицательные (переполнение значения чтоли)
но в итоге вторая версия сейчас у меня показывает довольно точно высоту - хоть вместо линейки исползуй =)

а вот еще вопросец, у меня в cli-test-altitude барометр показываетс высоту и имхо сильно прыгают значения (±50см):

Baro: 0cm
Baro: 17cm
Baro: 25cm
Baro: 25cm
Baro: 34cm
Baro: 34cm
Baro: 17cm
Baro: 8cm
Baro: 0cm
Baro: -8cm
Baro: -8cm
Baro: 8cm
Baro: 17cm
Baro: 34cm
Baro: 43cm
Baro: 43cm
Baro: 43cm
Baro: 34cm
Baro: 34cm
Baro: 25cm
Baro: 25cm
Baro: 25cm
Baro: 17cm
Baro: 25cm
Baro: 25cm
Baro: 34cm
Baro: 34cm
Baro: 34cm
Baro: 43cm
Baro: 51cm
Baro: 51cm

это у всех так? =)

Sir_Alex
SovGVD:

upd: имхо пора заводить гуглокод, предлагаю название jaacam (Just Another ArduCopter ArduinoMega)

Да собственно, по моему все равно как назовешь, главное как полетит! 😃

Musgravehill
SovGVD:

а вот еще вопросец, у меня в cli-test-altitude барометр показываетс высоту и имхо сильно прыгают значения (±50см):

У меня поменьше (если не ошибаюсь), но прыгает. Я тогда удивился, но это же сырье raw, потом оно фильтруется и сглаживается.

Глеб, по сонару - он millis использует? Я в ардуине находил косяк в измерении времени, если пауза большая, то функция выплевывает 0 или нулл, не помню…

SovGVD
Musgravehill:

по сонару - он millis использует?

кажется нет - тут лучше к Олегу вопрос, но в обработке (библиотека датчиков и еще немного в APM_RC закралось) milis нету

Sir_Alex:

все равно как назовешь

ну тогда пока остановлюсь на jaacam, может кто чего еще предложит?

Sir_Alex
Musgravehill:

У меня поменьше (если не ошибаюсь), но прыгает. Я тогда удивился, но это же сырье raw, потом оно фильтруется и сглаживается.

Если бы показания баро были точнее, то никакой сонар бы не понадобился. А так, скачки в пределах ±50см - это норма, ИМХО.

Musgravehill:

Глеб, по сонару - он millis использует? Я в ардуине находил косяк в измерении времени, если пауза большая, то функция выплевывает 0 или нулл, не помню…

Не использует. Там прерывание измеряет время эхо и потом оно пересчитывается в сантиметры.
SovGVD, Я смотрю, либа mavlink’a (из 2.0.39) сильно изменена по сравнению с твоей, не будет ли проблем с работой последнего планера?

Covax
Sir_Alex:

Если бы показания баро были точнее, то никакой сонар бы не понадобился. А так, скачки в пределах ±50см - это норма, ИМХО.

А видели сделали новую FF IMU с новым барометром MS5611, у которого точность 10-15см 😉 viacopter.eu в сенсорах

ligor73

Информация для SovGVD
Поможет чем или нет не знаю.
В чистой тестовой3 прошивке сонар первой ревизии в CLI->test->sonar работает замечательно.

tusik
Sir_Alex:

либа mavlink’a (из 2.0.39) сильно изменена по сравнению с твоей, не будет ли проблем с работой последнего планера

Версия Глеба гораздо быстрее коннектится, чем предыдущие, с последними планерами. Проверял на 60-64 версиях

Sir_Alex
tusik:

Версия Глеба гораздо быстрее коннектится, чем предыдущие, с последними планерами. Проверял на 60-64 версиях

Это не в версии Глеба, а в 2.0.39 ArduCoptera. В отличии от 2.0.38, пока идет инициализация датчиков и GPS, Mavlink уже может подключатся.

Covax
SovGVD:

upd: имхо пора заводить гуглокод, предлагаю название jaacam (Just Another ArduCopter ArduinoMega)

ArduMega отличное название, какой в попу jaacam? 😃)

tusik
Sir_Alex:

Это не в версии Глеба, а в 2.0.39 ArduCoptera

Да какая разница. Главное, что быстрее

Залил ТЕСТ. Сонар не работает. Пишет: 150см, 150filtered (just demo).
Мой ГПС тоже не работает

SovGVD
Sir_Alex:

либа mavlink’a (из 2.0.39) сильно изменена по сравнению с твоей

либу маквлинка никак не трогал

ligor73:

В чистой тестовой3 прошивке сонар первой ревизии в CLI->test->sonar работает замечательно.

тогда оставлб код Олега там =)

Covax:

ArduMega отличное название

и как оно отражает то что это коптер или хотя бы клон коптера?.. ArduCopter->ArduPirates->MegaPirates… тогда можно MegaPiratesNG (next generation блин), в общем надо чтобы как то отличалось, чтобы народ не путался где и что

tusik:

Залил ТЕСТ. Сонар не работает. Пишет: 150см, 150filtered (just demo).

попробуй тест3 версию+тест сонара, если циферки не меняются вообще (cli-test-sonar), то имхо что-то с самим сонаром (он щелчки издает?) или его подключением

tusik:

Мой ГПС тоже не работает

плохо =( надо бы узнать у кого то что именно там за гпс, я пока не читал ветку про G-OSD, но имхо там че нить наверняка написано про скорость и протокол

Covax
SovGVD:

MegaPiratesNG

ТАк и назови, а то мы еще полгода будем название придумывать 😃)