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

Coreglider

Приём по юсарту я использую в прерываниях, передачу - через DMA.

dmaInitStr.DMA_BufferSize=4; //неважно
dmaInitStr.DMA_DIR=DMA_DIR_PeripheralDST;
dmaInitStr.DMA_M2M=DMA_M2M_Disable;
dmaInitStr.DMA_MemoryBaseAddr=(u32)commTxBuffer;
dmaInitStr.DMA_MemoryDataSize=DMA_MemoryDataSize_Byte;
dmaInitStr.DMA_MemoryInc=DMA_MemoryInc_Enable;
dmaInitStr.DMA_Mode=DMA_Mode_Normal;
dmaInitStr.DMA_PeripheralBaseAddr=(uint32_t) &(COMM_USART->DR);
dmaInitStr.DMA_PeripheralDataSize=DMA_PeripheralDataSize_Byte;
dmaInitStr.DMA_PeripheralInc=DMA_PeripheralInc_Disable;
dmaInitStr.DMA_Priority=DMA_Priority_Medium;
DMA_Init(COMM_DMA_CHANNEL,&dmaInitStr);
void sendCommInterface(unsigned short num)
{
if(DMA_GetCurrDataCounter(COMM_DMA_CHANNEL) ==0){
DMA_SetCurrDataCounter(COMM_DMA_CHANNEL,num);
DMA_Cmd(COMM_DMA_CHANNEL,ENABLE); }
}

Но, после отправки посылки через дма надо проверять флаг USART_SR_TC
чтобы удостовериться что данные точно ушли, ибо конец передачи дма не означает конец передачи данных, и запись новых данных приводит к потерям.

Sir_Alex

Очередная реклама 10DOF свалилась на почту, мот кому то будет интересно:

Dear Aleksey,
Wanted to take the opportunity to introduce Sensoplex’s 10 axis Motion Tracking Sensor + Bluetooth Low Energy Module.

It includes the latest Invensense 9 axis MPU9250 (accel+gyro+compass) + a pressure sensor, CPU + 128K Flash + RF link (BTLE). It also includes a micro USB for Li-ion Battery charging and a connector for embedded applications. The internal DMP (digital motion processor) and on board CPU perform sensor fusion and provide the raw or fused data through the connector or RF link to the rest of the system.

The module can be viewed as a technology platform or a stand-alone product which can be custom modified to your requirements.
Different software loads can enable simple motion tracking or customized applications.
It is offered in several standard flavors including 10/9/7 and 6 axis initially (pressure sense optional).

Samples and Evaluation boards available Aug 14th2013.
Single quantity pricing is $99.00 (100K < $20.00)
Development kits options are

  • $649 (full version – 3 modules + 2 adapter cards + cable and software)
  • $399 (2 modules, 1 adapter board + cable and software)
    Let us know if we can assist you.

Подробнее можно узнать у них на сайте. ИМХО, Dev кит должны чуть ли не бесплатно отдавать…

SergDoc

вот злосчастный кодятник: github.com/SergDoc/…/drv_uart.c
и точно не знаю, то-ли буфер переполняется, то-ли ещё что, сейчас проверить не могу 😦
работает с затычкой:

void uartWrite( uint8_t ch)
{
	  while (DMA_GetCmdStatus(DMA2_Stream7) != DISABLE) { // тормозилка :(
			};
    txBuffer[txBufferHead] = ch;


    txBufferHead = (txBufferHead + 1) % UART_BUFFER_SIZE;




    // if DMA wasn't enabled, fire it up
    if (!(DMA2_Stream7->CR & 1))
        uartTxDMA();
}

естественно с тормозом 😦

Sir_Alex:

Подробнее можно узнать у них на сайте

А хде ? что за контора?

mataor

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

SergDoc
Sir_Alex:

Дык написано жеж, Sensoplex:

а мне по названию одни матрасы сыпапались 😃

Gapey
Sir_Alex:

Дык написано жеж, Sensoplex: www.sensoplex.com

неслабо ребятки хотят , 500% прибыли … а главное зачто ???
к блютузному процу прицепили MPU и BARO … и все … математики как я понял пока нет …
да и плат на 9250 пока нет … те платы что на фото датчик стоит LGA24 , а должен быть LGA16 , и барометра невидно …
такчто на фото скорее всего SP-6BN а не SP-10BN , а вот SP-10B вполне реально существует , только там MPU6xxx + компас + baro скорее всего bmp180 …
с учетом того что с плат кроме USB и блютуза ничего не выведено оно неочень интересно для коптерной тематики …

SergDoc
mataor:

блин таки решил занятся SD карточкой…

ну мне ещё верхняя плата не приехала, так что и даже ещё не заморачивался с карточкой…

Gapey:

оно неочень интересно для коптерной тематики …

я пдф-ки посмотрел - хрень какая-то 😦

Gapey
SergDoc:

я пдф-ки посмотрел - хрень какая-то

если в качестве полетного контроллера использовать какойнибудь гуглафон , гуглаплеер или Raspberry то эту хрень можно будет использовать в качестве датчиков … только тогда нада думать еще одну плату , какминимум для управления моторами …

Sir_Alex
Gapey:

да и плат на 9250 пока нет … те платы что на фото датчик стоит LGA24 , а должен быть LGA16 , и барометра невидно …

Так в прессрелизе и написано, что в продажу поступи тока 14 августа.
Да, я то же согласен, что для нас неудачная девайсина. Все таки сейчас рулят готовые контроллеры, а не Arduino + IMU

mataor

так, натолкнулся случайно, думаю есть смылс оставить ссылку тут
(PDF) Preface
что это такое - здоровенный (325 стр.) талмут с теорией, реализацией и практикой ИНС гиро+аксель+компас+баро+ЖПС с кучей соответствующих расчетов, графиками и кодом.
кстати с калманом.

SergDoc

тоска заела - хочется собрать обратно свою старую добрую трёху, за одно 8-й таймер потестить(сервы), а то только на столе проверял, да и складная она у меня, но блин и квадрик разбирать не хочу - вот и маюсь 😦

okan_vitaliy
SergDoc:

тоска заела - хочется собрать обратно свою старую добрую трёху, за одно 8-й таймер потестить(сервы), а то только на столе проверял, да и складная она у меня, но блин и квадрик разбирать не хочу - вот и маюсь 😦

Надо действовать Сергей, а то китайцы нас сделают.

SergDoc

В общем компактность победила - собираю трёху старую 😃
коробка с мосхом встала как влитая… движки с регулями перекину за вечер…

я кстати на днях забыл включить angle - и летал в акро - заметил только когда крен дал практически градусов под 70 - тогда только обратил внимание на переключатель - пока от mpu только тащусь 😃

mataor

по просьбе маховика еще выложу здесь:

mahowik

Тоже нарвался на сайтец www.mdpi.com/journal/sensors
Просто кладезь свежих изысканий и научных работ!
Вот парочка примеров:
www.mdpi.com/1424-8220/13/8/9549
www.mdpi.com/1424-8220/12/12/17372
www.mdpi.com/1424-8220/12/9/11638
www.mdpi.com/1424-8220/10/10/9424

www.mdpi.com/search?q=INS&journal=sensors&volume=&…

вот только похоже старость уж понять все в деталях 😃, либо заново много и долго учиться…

закинь в ветку плз, пока я забанен…

okan_vitaliy

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

mataor

😉 при пропадании сигнала нужен возврат домой а не отключение движков…

П.С. сегодня буду тестить в полете GPS/GLONASS мегамодуль омегапрайма, вернее платку я сам разводил по всем правилам + компас на ней…
позавчера тестил на улице сам модуль, кол-во используемых спутников доходило до 23шт.
патч антенна 35х35мм, платка 70х70мм

okan_vitaliy
mataor:

😉 при пропадании сигнала нужен возврат домой а не отключение движков…

Это как посмотреть. У меня главный критерий - безопасность полётов для окружающих. А файлсейф с возвратом домой такого могут начудить, что лучше и не думать о последствиях. У меня на мультивие 2.2 около 100 часов налёту и ниразу проблем не было и вот случилось, причем аппарат был буквально в 50 метрах от меня.

SergDoc

Надо логи куда-нибудь писать, или флешку или sd… полночи трёху собирал, теперь на работе сижу как болван 😃

Gapey

какраз при пропадании сигнала возврат домой предпочтительнее , чем автоматическое падение на голову стоящего под коптером …
при отказе датчиков , мотора (если это не гекса/окта) , питания можно сразу падать , ибо вернуться всеравно неполучится , так хоть не придется работать газонокосилкой …
почасти индикации , то её имеет смысл делать бортовыми огнями , чтобы в полете было сразу видно что нетак …
а после падения мозгом об асфальт смотреть на индикацию смысла оч мало … нужно логи писать в сЪёмную NVRAM , ака чёрный ящик …

mataor
okan_vitaliy:

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

угумсь, только вот что будет если в момент срабатывания фейлсейва под аппаратом что-нить или даже кто-нить будет находится?