Создание собственной системы стабилизации

SergDoc
Drinker:

открываю ветку ириса и сремся там.

Я коптер расчехлил 😃

rual
soliada:

Вопрос. Может кто нибудь из товарищей разработчиков помоч с кодом для www.st.com/web/catalog/sense_...C1449/PF253884
этого вышеупомянутого датчика.С акселем вроде понятно что и как читать,а вот с компасом так и не могу въехать что к чему,тупо не понимаю что вообще с него надо читать…Если поможете,будут данные в Виевских попугаях.

Вот родной СТшный код, надо только функции работы с I2C свои подставить.
Сама инициализация вот так выглядит

void Accel_Config(void)
{
  LSM303DLHCAcc_InitTypeDef LSM303DLHCAcc_InitStructure;
  LSM303DLHCAcc_FilterConfigTypeDef LSM303DLHCFilter_InitStructure;

   /* Fill the accelerometer structure */
#if	1
	LSM303DLHCAcc_InitStructure.AccOutput_DataRate = LSM303DLHC_ODR_50_HZ;
	#else
	LSM303DLHCAcc_InitStructure.AccOutput_DataRate = LSM303DLHC_ODR_400_HZ;
#endif
	LSM303DLHCAcc_InitStructure.Power_Mode = LSM303DLHC_NORMAL_MODE;
  LSM303DLHCAcc_InitStructure.Axes_Enable= LSM303DLHC_AXES_ENABLE;
  LSM303DLHCAcc_InitStructure.AccFull_Scale = LSM303DLHC_FULLSCALE_8G;
  LSM303DLHCAcc_InitStructure.BlockData_Update = LSM303DLHC_BlockUpdate_Continous;
  LSM303DLHCAcc_InitStructure.Endianness=LSM303DLHC_BLE_LSB;
  LSM303DLHCAcc_InitStructure.High_Resolution=LSM303DLHC_HR_ENABLE;
  /* Configure the accelerometer main parameters */
  LSM303DLHC_AccInit(&LSM303DLHCAcc_InitStructure);

  /* Fill the accelerometer LPF structure */
  LSM303DLHCFilter_InitStructure.HighPassFilter_Mode_Selection =LSM303DLHC_HPM_REF_SIGNAL;
  LSM303DLHCFilter_InitStructure.HighPassFilter_CutOff_Frequency = LSM303DLHC_HPFCF_64
																																		+LSM303DLHC_HIGHPASSFILTER_ENABLE;
  LSM303DLHCFilter_InitStructure.HighPassFilter_AOI1 = LSM303DLHC_HPF_AOI1_DISABLE;
  LSM303DLHCFilter_InitStructure.HighPassFilter_AOI2 = LSM303DLHC_HPF_AOI2_DISABLE;

  /* Configure the accelerometer LPF main parameters */
  LSM303DLHC_AccFilterConfig(&LSM303DLHCFilter_InitStructure);
	/* Âêëþ÷èì ôîðìèðîâàíèå çàïðîñîâ íàîáñëóæèâàíèå */
	LSM303DLHC_AccIT1Config(LSM303DLHC_IT1_DRY1,ENABLE);
}

Подменять на Ардушные вот эти функции
/* Read CTRL_REG3 register */
LSM303DLHC_Read(ACC_I2C_ADDRESS, LSM303DLHC_CTRL_REG3_A, &tmpval, 1 );

/* Write value to MEMS CTRL_REG3 register */
LSM303DLHC_Write(ACC_I2C_ADDRESS, LSM303DLHC_CTRL_REG3_A, &tmpval);

STM32F3_Discovery.rar

SergDoc

Ну пока ждём кино про iris от мистера Drinkera, свежачёкс: тест сервы на F4BY_V0, ну про ПО помоему понятно 😃

Да и техника безопасности не нарушена, серва запитана от USB регуляторы не запитаны 😃
Спасибо Sir Alex за помощь в калибровке этого чуда!!!

SergDoc

Ну что у меня вроде всё откалибровано, настроено, можно пробовать взлетать, но чё-то очкую 😃
блин как в первый раз всёравно 😃

SergDoc

F4BY_V0 предполётный тест, в одной руке держал фотик, так что звиняйте - замешкался с батарейкой 😃

чёта звук отстаёт 😦

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

Да всё по научному моторы так же как в Арду 1.2.4 серва 7

RaJa
Sir_Alex:

Да ладно, зачем же вы IRIS купили непонятный с которым возможно придется заниматся секасом? Купили бы DJI, все равно же не важно сколько стоит…

Многие люди не могут выложить 200 бачей только за контроллер, а например 75-80, вполне.

Во-первых, с DJI тоже придется повозиться, если только у вас не примитивный случай мелкого квадрика или платформа тоже от DJI.
Причем из-за закрытости могут быть такие проблемы которые крайне сложно устранить, как например, А2 время от времени тупо не хочет работать с примениками PPM и S-Bus от Orange, Rmilec, Rockwell Dualband.

soliada:

Истино революционного,наверное уже ничего. Революция будет если это будет летать из коробки без секаса,бубнов и прочей атрибутики.
Если будет возможность еще и менять настройки,а лучше конечно без этого,то интерфейс должен быть понятен даже примату.Если смотреть в будущее,то постепенно приходит эра пользователей,которые в большинстве своем даже не будут читать инструкцию и тем более разбираться как это работает.А Вы тут кол-во светодиодов обсуждаете,на них смотреть-то никто не будет,тем более понимать о чем они вообще мигают)))Время когда надо было “допиливать напильником” кончается,скоро такие продукты будут вообще не востребованы,как не печально.
Картинка с камеры на планшете с возможностью тыкнуть пальцем в точку куда должно лететь-предел того что будет необходимо подавляющему большенству пользователей.
Если этого достигнуть,и цена будет приемлемой,то бабло польется рекой)))

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

SergDoc:

скорей потребителей 😦 этакая разновидность амёб - с хотелкой и ложноножками, хотелка захотела, ложноножки схватили 😦 в подтверждение айпонты всякие без кнопок, где в красивые картинки можно щупальцами тыкать 😃

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

SergDoc

Сегодня уже не взлечу - темнеет далеко от дома не отойдёшь, а во дворе полно детей (погода хорошая) - рисковать не хочу, мало ли что.
Так что у мистера Drinkera есть ещё время для создания нормальной темы про iris 😃 в прошлой я даже написать ничего гадкого не успел, скорей всего благородный Covax пристрелил её за не содержательный контент дабы не мучалась… незачёт в общем…

SergDoc

Щас чё-то подумалось, через шим-транзистор-матюгальник, можно ж не только трулюлюкать, можно пару фраз вызубрить 😃 типа Armed или пипец - падаем 😃

Alexey_1811

Через DAC нормальный звук получается, а используя ДМА мы вообще не тратим ресурсы.

SergDoc

Так вот чёт такое подозрение, что либо я не умею готовить DMA либо где-то бяко, ибо процессорное время на него тратится порядком 😦 ладно поживём - увидим…

SergDoc

На улице дождик, 3D-Fix-а нет, снимать тоже было некому, руки трясутся - но любопытство и упрямство вещи такие…
И вот что я хочу сообщить: Плюйте тому в рожу кто говорит что Арду плохо летает!!! Эта зараза летит, можно сказать из коробки!!! откалибровал радио, откалибровал датчики - и вот, мягкий отрыв от земли и мы на СТОКОВЫХ пидах висим как прибитые к небу, немного дрейфуем по ветру (проверял пока только в стабе), мягко без дёрганий, на быстром спуске расколбаса не заметил 😃
Как это всё прикручено: мосх жестко к раме на пластиковых стойках, на одном пропе бабочка почти в полсантиметра, и это всё преспокойно летает!!! Слов нет, дабы передать все ощущения - одни мысли, которые по этическим соображениям выкладывать не стоит…
Ну и оговорюсь, Огромная заслуга в том, что я сегодня поднял в воздух это чудо, прнадлежит Александру Rual, он сделал основной порт на мою плату, я только слегка допилил под свои нужды, так же спасибо Алексею Sir Alex, что помог разобраться в тонкостях Арду 😃
Ну что, заряжаю батарейки и ищу человека способного держать камеру в руках 😃
Ну и немного дёгтя: ещё очень много работы предстоит: запустить(подправить) АЦП, запустить пищалку, и кучу всякой дребедени сделать переделать, но это уже на новой плате, старая, как не прискорбно, выполнила свою функцию, теперь дело за доработанным железом…

soliada
soliada:

Может кто нибудь из товарищей разработчиков помоч с кодом для www.st.com/web/catalog/sense_...C1449/PF253884

Сам спросил-сам более менее разобрался.С МультиВием вроде работает.Нужна помощь зала))) Есть табличка Acceleration data rate configuration
где на выбор есть множество вариантов частоты чтения. 0т 3.125Гц до 1600Гц. Какую лучше выбрать?
Так же есть табличка Accelerometer anti-alias filter bandwidth с частотами 733,194,362,50Гц, здесь что выбрать?
Ну и собственно Acceleration full-scale selection с вариантами от 2g до 16g,как я понимаю 16g самый чувствительный вариант?
С компасом что-то не догоняю.Адрес у него точно такой же как и у акселерометра,т.е 2 датчика имеют один и тот же адрес,а различаются только регистры.Как в этом случае быть?

SergDoc

Ставь 1600 733 8g с адресом по барабану если регистры разные, читаешь/пишешь всё равно адрес->регистр, должно переварится 😃

soliada

Ок.Если получится,вечером выложу результаты испытаний в Виевских попугаях из ГУИ. А может в качестве вибростенда применить мобильник?Честно говоря неохота морочиться с моторами и пропеллерами.

SergDoc

Дождик, ветерок (видно как коптер постоянно сносит в одну сторону), Fix-a нет, но в одном месте свербило 😃
Я не задовался целью создать мегаблокбастер, просто тестовое видео. К сожалению самого интересного человек не заснял - я немного обнаглел и летал влево-вправо с резкими разворотами и к себе подлетал, ну да ладно.
В одном месте видно - слегка приложил коптер, хотел посмотреть быстрый спуск да не расчитал слегка (не один коптер не пострадал)
Вобщем смотрим обсуждаем:

mahowik
SergDoc:

Плюйте тому в рожу кто говорит что Арду плохо летает!!! Эта зараза летит, можно сказать из коробки!!!

плевок принят! 😃
не вру! на моем конфиге пират 3.0.x не полетел толком, точнее его носило как в ураган, как по высоте так и по горизонту, еле удерживал… уже писал как то об этом N страниц назад… вероятно вибрации… моторы не калибрую никогда, пропы с большего на отвертке, рама джидай клон…
потом залил свою прошиву и стабильность вернулась… не сочтите за рекламу…

SergDoc

Гиры на 42Гц ставил? а то там чёрти что по умолчанию, и ещё если у тебя AIO довольно старый, то может по акселю какая беда - там жеж куча ревизий было.
Я как и описывал выше - аппарат видавший виды, пропы с бабочкой, балансировал так-же ножиком канцелярским на отвёртке поскрёб и всё (один вообще не трогал - махнул рукой, так сойдёт)…
Ощущения чесно скажу - ну нереальны, аппарат чётко слушается каждого движения - с какой-то можно сказать грациозностью, развороты поразили точностью, на том-же baseflight для разворота намного больше пространства надо, имеются завалы в стороны, а тут как на шпинделе каком провернулся и усё, тормозить полёт тоже приятно 😃 и это моторы ровнентко так жужжат - как будто и не пытаются компенсировать что-то даже нестрашно к себе подлетать, короче я был поражен всем этим. Выпадет погода - попробую удержание позиции и высоты… Повторюсь, пиды стоковые, на этой раме впринципе нонсенс - короткие лучи (дабы в сумку влазить) 11 пропы (перекрывают больше чем 2/3 луча)…

mahowik
SergDoc:

Гиры на 42Гц ставил?

так там же СирАлексом уже все прописано что надо, т.е. либо 20 либо 42 гц нч фильтр…
ну и потом надо помнить что у тебя всеж F4, т.е. алгоритмика пашет без провалов по таймингам в лупе…

SergDoc

Вполне, но зараза в пиках до 45гр греется, да Алексей писал что тормоза на авр бывают 😦

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

mahowik
SergDoc:

Вполне, но зараза в пиках до 45гр греется

ну так этож фигня! что такое 45 град для чипов, т.е. полупроводников… т.е. считай холодный… 😃
или для stm32 это уже много? лень в даташит лезть 😃