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

Ar2r
Musgravehill:

Я читал на ДийДрон про этb Ublox и MediaTek MT3329. Их надо конфигурировать.

У меня MediaTek MT3329 GPS 10Hz - с пол пинка все работает. Ничего не менял. Просто выставлял протокол MTK16. Скорость 38400 прописана. Попробуйте указать протокол MTK16 😃 Авось заведется 😃

LeonVS

Вечерком попробую, но чую не фига не заведется 😦 Надо вклячить в код команду инициализации…

Aven

А разве производительности шины i2c нехватает для GPS ?

LeonVS

В общем докладаю 😃
протокол MTK16 - ГПС не запустился…

#define GPS_PROTOCOL GPS_PROTOCOL_NMEA
#define SERIAL2_BAUD 9600

ГПС пашет 😃

Alex_from_Israel

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

LeonVS

В планере заходим в конфигурацию, далее в сетап, далее ардукоптер2, там кнопка “левел”, ставим коптер как надо и жмакаем, аксель откалиброван.

Alex_from_Israel

Пробовал. После этого на экране горизонт уходит на 35 градусов вправо. У меня Y6 кофигурация, а там квадрик нарисован. Может поэтому? В КЛИ моде через кабель ЮСБ все калибруется. После переключения портов и скорости на радиолинк настройки сбиваются и больше не калибруются. Может где то чего не прсекаю?

Застряли где то 3 посылки. Заказал новую камеру для FPN, батарейку и ваттметр. Все идут, уже 3 неделю. Батарейку через швейцарскую почту отправили, и тракер не помогает. Остальное уже в стране, но до почтового отделения никак не дойдет. Хоть сонар заработал, как надо и то хорошо. Регули странно настраиваются… Все включается и пищит по мануалу, а оказывается, что моторы по разному тормоз включают. Придется опять по отдельности калибровать.

LeonVS

Нда, на Y6 по отдельности не айс 😃 Почему выбрали именно эту схему? Почему не гексу 😃?

Alex_from_Israel

А фиг его знает, почему… Понравилась эта схема. Сначала треху собрал, замучился серву укрощать, дергалась, как припадочная. На Вие еще. Так и поехало. Потом попробую другие рамы, а сейчас уже все готово с этой. Прицеплю ЖПС и поеду на природу. Полетать среди римских развалин на берегу моря… Романтика!

LeonVS

У меня рекс 450 на шкафу стоит, на него бы приатачить было бы интересно, мега маневренную хню собрать можно было бы 😃 Правда подения подороже бы выходили 😃

Alex_from_Israel

У меня аж 2 таких клона пылятся. Один переделаный флайбарлесс. Но вот зациклился на коптере. Вертолет всю эту электронику, что понавешана на коптер просто не поднимет.

Вот если бы механику с этих 2 присобачить на раму типа двухроторного Хьюи… Видел такого в рекламном ролике Исраел Аэроспейс Индастриз. Классно летает и по пропорциям точно 2 ротора от 450 верта.

LeonVS

Ну как экспериментальный вариант, полетит не полетит наверно интересно, но как платформа для фпв… 😃
А летал здесь кто нибудь на Б8_39 прошивке? Для вортекса вроде как она последняя, на сколько слышал, хвалят ее, лойт в ней работает или нет? Залил сегодня, компасс в ней конечно себя ведет гораздо лучше нежели в 40NG…

Alex_from_Israel

У меня Вортекса нет, так, что ничего не могу сказать. Но на 39 прошивке у меня стабильно держался, без пируэтов. На улице не проверял, как раз вышел из строя один мотор, а я грешил на прошивку и начал пробовать более поздние. Сейчас Сонар работает, принцип его работы уяснил, попробую снова 39 прошивку с новым кодом сонара.

LeonVS

К стати какие преимущества у Y6 перед обычным трикоптером? Ну отказоустойчивость эт понятно, а что еще?

SovGVD

не повротного механизма, который геморой тот еще + грузоподъемность

Alex_from_Israel

Поворотный механизм меня и вдохновил перейти на Y6. Насчет грузоподъемности. Прет сильно. Даже слишком. Пришлось шаманить с экспонентами на передатчике, пока добился плавной работы на висении. Но энергопотребление очень высокое. У меня 2 разъема для батарей. Но и с параллельной работой 2х5000маЧ очень быстро просаживается питание. Посде чего устойчивость резко падает. Батарейки меньше 30С не подходят. Жду новую батарею 5000 х 45С. Если будет нормально, то закажу несколько Нанотехов 5-8 амперчасов. С таким количеством моторов не поэкономиш на батарейках. Зато не нужно загружать дополнительно и так тяжелый и устойчивый, когда батарейка еще не сдыхает. Даже в комнате на собственных турбулентностях не особо болтается.

LeonVS

Не чего се у тебя бомболет 😃
SovGVD - почему в НГ прошивке компас себя как то не адекватно ведет? Поменялись алгоритмы обработки?
Попробую сегодня полетать на 39, а потом на НГ, интересно сравнить 😃

SovGVD

в НГ вроде как нормально себя ведет - народ то летает 😉 может компас другой?
если неверно показывает, то лучше не пробовать летать - любая штука с навигацией краш или вообще потеря коптера

Sir_Alex

У кого нибудь, планер показывает высоту? У меня почему то показывает только alt_err, а alt всегда по нулям???
Кстати, 68 планер у меня не захотел работать с нашей прошивкой, так что не обновляйтесь. Для нас, на данный момент, рабочий планер - 66.

LeonVS

Показывает то он показывает, но как то слишком “текуче” повернул по оси, показания сперва проскочат потом вернуться и тд тп, в 39_б8 этого эффекта нет…
В общем облетал 39_Б8, стабилизация держит отлично, рулится приятно, но при включении лойт, квадрик набросился на меня 😃 Ощущение что он дал резко ручку на себя, ели увернулся, минус два пропа… Есть предположения из за чего?

Alex_from_Israel
LeonVS:

Показывает то он показывает, но как то слишком “текуче” повернул по оси, показания сперва проскочат потом вернуться и тд тп, в 39_б8 этого эффекта нет…
В общем облетал 39_Б8, стабилизация держит отлично, рулится приятно, но при включении лойт, квадрик набросился на меня 😃 Ощущение что он дал резко ручку на себя, ели увернулся, минус два пропа… Есть предположения из за чего?

Наверное обиделся, что последнюю прошивку у него отобрали? У меня тоже иногда появляется смутные подозрения, что у мозгов коптера прорезается интеллект. На уровне обидчивого дебила с суицидальными наклонностями.

LeonVS
Alex_from_Israel:

Наверное обиделся, что последнюю прошивку у него отобрали? У меня тоже иногда появляется смутные подозрения, что у мозгов коптера прорезается интеллект. На уровне обидчивого дебила с суицидальными наклонностями.

Гы 😃)) Точно подметил 😃
В общем опять с полей, убавил пиды у лойта, адекватности прибавилось, радует уже то что на пиды вообще реагирует 😃 Правда ветер поднялся, что адекватности в полете не прибавило… Но убиться об стену квадрик уже не пытается 😃 Вылезла другая трабла… Ощущение что не хватает скорости отработки контролеров… При рулении в лойте слишком заваливается, ощущение что не хватает резкости в выравнивании, если же прибавляешь пиды в стабилизации, начинает колбасить… У кого как настроены реги? Включен ли тормоз? Какие тайминги и тд тп?

Sir_Alex:

Выпустил новую тестовую версию Test8

Эт радует, но так как ко мне сонар еще только едет для меня пока не актуально 😦 Как доедет, бум тестить 😃

Musgravehill

Глеб и Алексей Харланов, подскажите, пожалуйста:

APM_BMP085.h
#define TEMP_FILTER_SIZE 16
#define PRESS_FILTER_SIZE 8 - используется в APM_BMP085.cpp


void APM_BMP085_Class::ReadPress()
{
	// filter
	_press_filter[_press_index++] = RawPress;

	if(_press_index >= PRESS_FILTER_SIZE)
		_press_index = 0;

	RawPress = 0;
	// sum our filter
	for(uint8_t i = 0; i < PRESS_FILTER_SIZE; i++){
		RawPress += _press_filter[i];
	}

	// grab result
	RawPress /= PRESS_FILTER_SIZE;

APM_BMP085.cpp
// We read one time Temperature (state=1) and then 4 times Pressure (states 2-5) - тут считывается 4 раза давление
uint8_t APM_BMP085_Class::Read()

// We read one time Temperature (state = 1) and then 4 times Pressure (states 2-5) - и тут считывается 4 раза давление
uint8_t APM_BMP085_HIL_Class::Read()
Где потом используется результат этих функций? там происходит деление на 4, усреднение?

------------------------------------------------------------
В APM_BMP085.cpp сделал как в даташите на ВМР085: Не работает! Начинается дрейф.


// Pressure calculations
	b6 = b5 - 4000;
	x1 = (b2 * (b6 * b6 >> 12)) >> 11;
	x2 = ac2 * b6 >> 11;
	x3 = x1 + x2;
	b3 = ((((int32_t) ac1 * 4 + x3)<<oss)+2)/4 ;  
	x1 = ac3 * b6 >> 13;
	x2 = (b1 * (b6 * b6 >> 12)) >> 16;
	x3 = ((x1 + x2) + 2) >> 2;
	b4 = (ac4 * (uint32_t) (x3 + 32768)) >> 15;
	b7 = ((uint32_t) RawPress - b3) * (50000 >> oss);
	p = (b7 < 0x80000000) ? ((b7 * 2) / b4) : ((b7 / b4) * 2);

	x1 = (p >> 8) * (p >> 8);
	x1 = (x1 * 3038) >> 16;
	x2 = (-7357 * p) >> 16;
	Press = p + ((x1 + x2 + 3791) >> 4);

И лог высоты из Терминала. Чаще всего шум укладывается в диапазон ± 17см, что очень похоже на даташит.


Baro: 0cm, Sonar: 0cm
Baro: 8cm, Sonar: 0cm
Baro: 17cm, Sonar: 0cm
Baro: 26cm, Sonar: 0cm
Baro: 17cm, Sonar: 0cm
Baro: 8cm, Sonar: 0cm
Baro: 8cm, Sonar: 0cm
Baro: -8cm, Sonar: 0cm
Baro: -8cm, Sonar: 0cm
Baro: 0cm, Sonar: 0cm
Baro: 0cm, Sonar: 0cm
Baro: 0cm, Sonar: 0cm
Baro: 8cm, Sonar: 0cm
Baro: 17cm, Sonar: 0cm
Baro: 26cm, Sonar: 0cm
Baro: -8cm, Sonar: 0cm