ArduCopter Mega: порт на обычную Arduino (тестим)
Так есть на пирате файл сейв или нет? Сегодня пешкотестом проверил дальность действия своей Турниги. В городе со вкюченым ФПВ передатчиком (ХК 900 Мгц, 0,8 Вт) дальность 100м, с выключенным ФПВ - 200м. Хочется летать дальше, метров на 800-1000 по камере. Надо что-то менять. Первое, что приходит на ум - разнести на коптере приемник и передатчик. Но на коптере не так уж много места, чтоб это сделать. Второе - стандартный ВЧ модуль заменить на фрскай. Третье - чет думать с антенами. Ну и хочется, чтоб после потери сигнала включался РТЛ.
200 метров в городе это имхо не плохо для 2.4ггц (считай wifi)… но надо на поле проверять имхо
а кстатии как фпв на 0.9ггц влияет на аппу на 2.4ггц
зы: хкшная 6 каналка на 300 метров пробивала у меня, пока коптер не попал в какую то аномалию, когда отрубилось видеи и управление сразу и всё рухнуло на дерево =)
хкшная 6 каналка на 300 метров пробивала
Я на такой сейчас летаю. А Турнигу взял на “вырост”. Выбор режимов, подсветка, авто трим и тд. Кстати, приемник в тесте был ХК.
а кстатии как фпв на 0.9ггц влияет на аппу на 2.4ггц
Я ж написал, в два раза 😃
вкюченым ФПВ передатчиком (ХК 900 Мгц, 0,8 Вт) дальность 100м, с выключенным ФПВ - 200м
Так с файл сейв что?
Товарищ Слон в вообще не рекомендует летать с частотой РУ выше, чем видео. www.1slon.ru/faq.php?cat_id=4
Я ж написал, в два раза
я имел в виду с точки зрения физики - 2 разные частоты то - одна сотовых сетей, другая wifi сетей - не думал что они как то могут влиять друг на друга
файл сейв что?
нету =) кстатии в мультивие то вроде он есть - может от туда код передернуть? попробую на досуге, если до сих пор не реализовано
Слон в вообще не рекомендует летать с частотой РУ выше, чем видео
и где найти дешевую РУ ниже 0.9ггц, или дешевое видео выше 2.4ггц - тем более если память не изменяет, то чем выше частота, тем больше подвержен канал помехам в виде препятствий (железобетонные здания например =)))
не думал что они как то могут влиять друг на друга
Если бы были чистые частоты - тогда да, а тут, судя по всему, срач идет почти по всему спектру. Где-то на форуме читал, что даже сервы дергаются при включении передатчика. В пешкотесте после ста ментов небыло прямой видимости. Были гаражи деревья. Но с включеным передатчиком ФПВ управление пропало до них.
посмотрел чего есть в multiwii
алгоритм Failsafe: постоянно плюсуем failsafe (внтури заведомо известного по времени блока), в либе работы с аппой обнуляем счетчик failsafe, если на газу есть прерывание/сигнал, когда счетчик доходит до определенного значения (мы же знаем сколько по времени уже нет сигнала) - врубаем дефолтный код - типа RTL
#if defined(FAILSAFE)
if (mask & 1<<THROTTLEPIN) { // If pulse present on THROTTLE pin (independent from ardu version), clear FailSafe counter - added by MIS
if(failsafeCnt > 20) failsafeCnt -= 20; else failsafeCnt = 0; }
#endif
аппы: spectrum и sbus (хз че такое)
в общем думаю стоит код передрать =)
А ППМ_СУМ этот код будет видеть? А то я свой коптер перевел. Вместо шести проводов - один. Спасибо Сэру Алексу 😃
Извиняюсь за повтор, хочу уточнить: этот приемник поддерживает ppm_sum?
Извиняюсь за повтор, хочу уточнить: этот приемник поддерживает ppm_sum?
Да, а вот 8 канальный - нет.
А ППМ_СУМ этот код будет видеть? А то я свой коптер перевел. Вместо шести проводов - один. Спасибо Сэру Алексу
Если я правильно понимаю, то Failsafe не будет работать в мегапирате. Т.к. переделанная библиотека APM_RC не говорит основному коду, идет сигнал от приемника или нет. Если допилить код, то будет работать.
этот приемник поддерживает ppm_sum?
Да. Уменя такой работает. На разъеме БАТ сигнал.
то Failsafe не будет работать в мегапирате
Обидно, конечно…
переделанная библиотека APM_RC не говорит основному коду, идет сигнал от приемника или нет
дык вот я и предлагаю это строку добавить… APM_RC вроде почти 1 к 1 передернута с мультивия, хотя могу ошибаться =)
код работы с газом в вие:
if (mask & 1<<0)
if (!(pin & 1<<0)) {
dTime = cTime-edgeTime[0]; if (900<dTime && dTime<2200) rcValue[0] = dTime;
} else edgeTime[0] = cTime;
код работы с газом в пирате:
if (mask & 1<<0)
if (!(pin & 1<<0)) {
dTime = cTime-edgeTime[0]; if (1600<dTime && dTime<4400) rcPinValue[0] = dTime>>1;
} else edgeTime[0] = cTime;
код работы с фейлсейфом в мультивие (THROTTLEPIN=0)
if (mask & 1<<0) { // If pulse present on THROTTLE pin (independent from ardu version), clear FailSafe counter - added by MIS
if(failsafeCnt > 20) failsafeCnt -= 20; else failsafeCnt = 0; }
между основным кодом и библиотекой одно пространство имен? или надо как то хитро задавать?, например в массив значений добавить еще знаечение флаг fail или не fail =)
т.е. имхо что-то вроде
rcPinValue[FAILINDEX]++; // где то постоянно плюсовать
...
// внутри ISR(PCINT2_vect)
if (mask & 1<<0)
if (!(pin & 1<<0)) {
dTime = cTime-edgeTime[0]; if (1600<dTime && dTime<4400) {rcPinValue[0] = dTime>>1;rcPinValue[FAILINDEX] = 0;}
} else edgeTime[0] = cTime;
а уже внтури основного кода смотреть (или чего там вместо readRawRC надо)
if (readRawRC(FAILINDEX)>FAILDELAY) WARNING_ПЫЩ_ПЫЩЬ_АЛЯРМ
У кого нибудь уже есть живой MS5611 баро? Я нашкодил версию с его поддержкой, надо бы потестить.
Кстати, автор FreeIMU, возможно сможет мне выделить один из прототипов новой платки с MS5611 и новым сенсором MPU-6050. Фишка в том, что просчет координат делается прямо в датчике Ж)
уже есть живой MS5611 баро?
Заказал, жду. Надеюсь, в начале декабря подключу.
просчет координат делается прямо в датчике
Ардуинке будет легче дышать.
Я закопался с двуплатным Пиратом, косяк на косяке.
привет пираты! 😃
добавил “симпл” мод к вию rcopen.com/forum/f123/topic221574/3677
Т.к. ардукод не подсматривал 😃, скажите в какой момент запоминается азимут в этом моде? В момент включения двигателей или вклучения самого мода?
Если в момент включения двигателей, то можно использовать мод как хэээлп. К примеру, если зарулился… врубил симпл мод и точно зная где нос, можно спастись от крэша…
Плюс второго варианта (текущая имплеметация) в том что, то что можно изменить азимут в полете… Залетел за голову, развернул как надо, перещелкнул тумблер и “псевдо нос” смотрит куда надо…
Полетал сегодня в акро моде. Хапнул адреналинчику. Как в нем летают? Включил на высоте метров 10 и еле поймал в стаб моде в метре от земли. Ощущения, как если бы в руку дали двухметровую палку, а на верхний конец поставили коптер и заставили держать равновесие 😃 . Но за то при включении стаб мода коптер сам железно стал в горизонт. Правда летал в акро с замерзшими руками. Может в тепле и по-проще будет, весной попробую еще раз 😃
Полетал сегодня в акро моде. Хапнул адреналинчику. Как в нем летают?
ПИДы помягче поставь и не так страшно будет 😃
В вие вообще с высоким “Д” (не классик и отвечет за скорость реакции системы) легко летать. Но в пирате это не поможет, там “Д” другой 😃
привет пираты! 😃
скажите в какой момент запоминается азимут в этом моде? В момент включения двигателей или вклучения самого мода?
Если не ошибаюсь - в момент первого включения мода.
Т.к. ардукод не подсматривал , скажите в какой момент запоминается азимут в этом моде? В момент включения двигателей или вклучения самого мода?
В момент активации двигателей (Arming)
Ну как это, в момент включения мода должно быть, иначе нафиг такой симпл мод не нужен.
Ну как это, в момент включения мода должно быть, иначе нафиг такой симпл мод не нужен.
Это надо Jason Short’у писать. Я написал как оно сейчас есть, функция init_simple_bearing выполняется при арминге моторов.