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

Sir_Alex

Вчера взял осциллограф поюзать и вот что я обнаружил:

  • Рабочий цикл в MPNG около 170Hz (Судя по импульсам InstantPWM на моторах).
  • Стандартный приемник от Турниги, перестает выдавать сигнал, при потере связи (я думал что значения остаются на месте, а оказалось это код себя так ведет). Планирую Фэйлсейв восстановить.

По горячим следам выпустил новую прошивку 2.4.1 R2 В ней я добавил правку в коде InstantPWM от Олега (Syberian), вроде как должно убрать дерганье PWM сигнала (хотя я не заметил особой разницы на осциллографе). Так же теперь работает FastPWM 400Hz (точнее частоту можно задать в Планере, параметр RC_SPEED) (По умолчанию остался InstantPWM). Ну и после долгих баданий, я таки вроде бы поправил работу своего GPS с протоколом MTK16 (бинарный протокол).

Кстати, я себе еще заказал новые радиомодули FrSky. У них есть CPPM выход (PPM SUM) который у нас плохо работает, так что скоро будет его поддержка.

P.S. Тут команда АС вовсю допиливает новые фичи. Из того что приглянулось: Будет автонастройка магнитного склонения по GPS в момент получения 3D Fix’a (если GPS нету, можно будет по старинке указать в планере). Так же встраивают поддержку Кватерионов (Quaternions), я так понимаю вместо DCM алгоритма (по оба варианта присутствуют в коде)

Sir_Alex

Вчера проапгрейдил MPNG до актуального состояния AC. Выпустил тестовый билд 2.4.2 R1. Но это промежуточный релиз, т.к. на днях ожидается выход AC 2.5

В 2.4.2, основной цикл переехал на 100Гц, теперь я даже не знаю, нужен ли InstantPWM, может лучше включить обычный PWM например на 200Гц по умолчанию? Как думаете, обычные регули (не 400Гц), какую частоту нормально переваривают?

Еще попробовал включить Кватерионы вместо DCM. С большего что то работает, но все показатели (Pitch,Roll,Yaw) дергаются, прямо в планере видно как горизонт подергивается. Плюс при наклоне, уплывает Yaw (видимо нет или не работает компенсация), короче, пока не работает алгоритм.

zkarust

Добрый день всем.
Хочу поделиться опытом реализации failsafe на HK TR6A V2.
На приемнике канал BAT имеет 2.9В при наличии связи и 3.3В при отсутствии.
Канал ВАТ подключил к A7.

Код модуля usercode (в примере ACRO mode потому что без GPS)

void userhook_50Hz()
{
// put your 50Hz code here
int val2 = 0;
long valm = 0;

valm == 0;
for (int i=0; i <= 100; i++)
{
val2 = analogRead(A7);
valm = valm + val2;
}
valm = valm / 100;

if (valm > 680)
{
set_mode(ACRO);
//do_ACRO();
}

}

RA4ASN
RA4ASN:

Извиняюсь за повтор, хочу уточнить: этот приемник поддерживает ppm_sum?

Sir_Alex:

Да, а вот 8 канальный - нет.

На поверку выяснилось, что ppm сигнала на bat разъеме нет. СС его не обнаружил; за неимением осциллографа (в пути) взял наушники, треска нет.

zkarust:

Хочу поделиться опытом реализации failsafe на HK TR6A V2.
На приемнике канал BAT имеет 2.9В при наличии связи и 3.3В при отсутствии.

А разве нельзя взять отвод от светодиода, ведь он то однозначно показывает, есть прием от передатчика или нет?

Sir_Alex
RA4ASN:

На поверку выяснилось, что ppm сигнала на bat разъеме нет. СС его не обнаружил; за неимением осциллографа (в пути) взял наушники, треска нет.

Где то тут уже писали, что в новой прошивке этого приемника, уже убрали PPM.

RA4ASN:

А разве нельзя взять отвод от светодиода, ведь он то однозначно показывает, есть прием от передатчика или нет?

Да не нужно это все. Приемник просто перестает выдавать сигнал по всем линиям. Это легко определить, как нибудь я это реализую в пирате.

zkarust
RA4ASN:

На поверку выяснилось, что ppm сигнала на bat разъеме нет. СС его не обнаружил; за неимением осциллографа (в пути) взял наушники, треска нет.

А разве нельзя взять отвод от светодиода, ведь он то однозначно показывает, есть прием от передатчика или нет?

Так и собирался поступить. Разобрал - стал мерить напряжения, понял, что можно обойтись без дополнительной пайки.

Sir_Alex
Uvis:

Добрый день!
Подскажите, с таким набором датчиков 10DOF L3G4200D+ADXL345+HMC5883L+BMP085 Nine Axis IMU Module проблем не будет?Вроде по отдельности все поддерживаются, не в Пирате так в МультиВии…

В пирате поддерживается только HMC5883L и BMP085

alex_f73
Sir_Alex:

В пирате поддерживается только HMC5883L и BMP085

А в Wiki написано, что поддерживается плата FreeIMU v0.4 там вроде MS5611 Baro

Sir_Alex
alex_f73:

А в Wiki написано, что поддерживается плата FreeIMU v0.4 там вроде MS5611 Baro

имелись ввиду датчики из указанной платы.

Uvis

Тоесть ITG3200 - гироскоп BMA180 - акселерометр - других вариантов нету?

SovGVD
Uvis:

других вариантов нету?

никто не мешает добавить поддержку других датчиков, у меня в прошлом году на L3G4200D + BMA020 летало, код довольно легко копирнуть из multiwii, только коэфициенты деления подправлять надо чтобы в GUI правильно реагировал на отклонения (тут почти методом тыка под конкретные датчики)

Sir_Alex

Может у кого то есть идея: Я тут заметил, что при подключении питания к ардуине, как правило не запускается компас и GPS. Если сделать Reset, то все датчики запускаются как положено. Вроде как времени им предостаточно чтобы выполнить инициализацию, тем не менее что то идет не так.
И еще, как временно отключить фичу “Reset при подключении USB (COM порта)”?

SovGVD
Sir_Alex:

И еще, как временно отключить фичу “Reset при подключении USB (COM порта)”?

на сидуино есть переключатель M/A - он вроде как отрубает возможность резета

Sir_Alex:

Если сделать Reset, то все датчики запускаются как положено.

как вариант - при холодном старте (хз как его распознать, но может как раз по датчикам) делать reset

Ustas69

Наконец-то пришла мне All in one! Так получилось, что три месяца пришлось ждать! На плате есть перемычки, подскажите, как с ними обращаться? И еще: MS5611 поддерживается? И где взять распиновку или даташит?

Sir_Alex
Ustas69:

И еще: MS5611 поддерживается?

Поддерживается, но с датчиками FreeIMU 0.4.1, В теории и на AllInOne должен работать, но я не могу проверить.

tusik

Поймал странный глюк. Прошивка 2.4.1. Неделю назад летал в комнате - все нормально. Вчера подлетнул - на взлете кувырок, минус проп. Сегодня подличился по ЮСБ. Горизонт в норме, все датчики в порядке. Подключаюсь по АРС-220. Горизонт сбит, компас крутит. Далаю ресет ардуине. Все ок. Подключаю по ЮСБ - ок. Подключаю по АРС-220. Все ок. У кого- нибудь такое было? И что это?

SovGVD

имхо стоит запретить взлет, если горизонт сбит более чем на 5-10* или есть вибрации сильные

Sir_Alex

Такс, проблемы с компасом и GPS я пофиксил. Выпущена новая версия MPNG 2.5.1 R3

Я так же настоятельно рекомендую чистить EEPROM при каждом обновлении прошивки, т.к. дефолтные PIDы меняются в каждой прошивке, но автоматом они не заливаются в eeprom (Иногда они все же заливаются, если добавляются новые параметры). Это чревато всяческими проблемами, от осцилляций до непонятных переключений режимов.

SovGVD

кстатии собрался строить Y6 (вообще гексу хотел, но больно здоровая машинка), и вроде кто-то писал что моторы неправильно работают, это пофиксено? хз? или мне просто приснилось? =)

Sir_Alex
SovGVD:

и вроде кто-то писал что моторы неправильно работают, это пофиксено?

Что то такое проскакивало на BlackVortex’ах, видимо есть расхождения с их документацией. В любом случае, думаю ты сможешь проверить правильность подключения моторов 😃