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

rual
oleg70:

Поставил себе Coocox, взял плату DiscoveryF3, файлы CMSIS под F303 вроде скачал, вроде уложил куда надо… начинаю “Build”- дает ошибки о необъявленных типах и т.п.

Кокос вроде как 303й ещё не знает, посему и не видит типы. Возможно это как-то настраивается, но я с ним не работал. Для начала возмите кейл или иар (или то с чем работали), возмите демо-проект, настройте библиотеки и откомпильте.
фирменная дока и необходимые файлы на Ф3:
www.st.com/web/catalog/mmc/FM141/…/PF253447#
общая статья на Русском языке по структуре проектов, настройке сред для дискавери, верно для любых демо плат :
www.terraelectronica.ru/…/NE_2011_2_13-22.pdf

вот ещё для иар we.easyelectronics.ru/…/stm32-vldiscovery-moy-vari…

SergDoc
mataor:

проверьте инициализацию акселя в МПУ:

у меня ЛСМ, а интересовали шумы и разница в показаниях с МПУ, а так как разницы не увидел особой, значит не датчик виноват, а я что-то неправильно делаю…

SergDoc

Обьясню немного мои претензии к акселю, на прошлом контроллере дискретность расчёта по гирам была 2.6 градуса, и естественно летать можно было только с акселем (ADXL345) что тоже не ахти, но аппарат (светлая ему память) горизонт держал отменно - по руддеру немного крутило, что не удивительно, а теперь у меня картина в точности до на оборот 😦

rual
SergDoc:

летать можно было только с акселем (ADXL345)

а ты попробуй АДХЛЬ сбоку на платке прикрути, вот тут всё станет ясно.

SergDoc

самое мелкое что есть куда аксель запаять можно платки 50Х50, в данной конфигурации никуда не влезет, надо будет - о точно выпилю из старого вместе с куском платы 😃 всё равно он дохлый (контроллер) гиры покалечены, проц снят, буду пробовать…

mataor
SergDoc:

аксель стоит как вкопаный, а у меня цыфирки бегают

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

SergDoc

Может из-за этого кривого разворота у меня данные пляшут

static void LSM330ACCAlign(int16_t *accelData) {
    int16_t temp[2];
    temp[0] = accelData[0];
     temp[1] = accelData[1];

 // official direction is RPY
   accelData[0] = temp[1]/4;
   accelData[1] = -temp[0]/4;
   accelData[2] = accelData[2]/4; }

хотя не должны…

может сделать так:

static void LSM330ACCRead(int16_t *accelData)
{
    uint8_t buf[6];
    int16_t temp[2];

    i2cRead(LSM330ACC_ADDRESS, LSM330_OUT_X_L_A +0x80, 6, buf);
    temp[0] = (buf[1] << 8) | buf[0];
    temp[1] = (buf[3] << 8) | buf[2];
    accelData[2]  = ((buf[5] << 8) | buf[4])/4;

    accelData[0] = temp[1]/4;
    accelData[1] = -temp[0]/4;


}

static void LSM330ACCAlign(int16_t *accelData)
{

}
oleg70
DVE:

У меня тоже Coocox, выложите архив проекта.

Я так понимаю - что CooCox не работает с чипами которых он не знает (у меня F303) ?
Попробовал создать проект для F107, а потом подсунул (заменил) файлы в папке проекта на файлы от F303-го… -получилась фигня 😦
Туплю???

oleg70

Если Iar скачать с ограничением в 32Кб, хватит на такие поделки как ИМУ ???

DVE

У меня есть версия IAR 5.30, которая шла в комплекте на CD с отладочной платой, если интересно, пишите в ЛС, скину для “попробовать”.
Правда так и не удалось запустить ее с ST-LINK, пробовал и так и так, плюнул на шаманство, взял Coocox который заработал сразу “из коробки” без каких-либо проблем (правда платы с F103 и F407, так что тут проще).

SergDoc
oleg70:

с ограничением в 32Кб, хватит на такие поделки как ИМУ ???

Ну на весь (почти) Wii хватит…

SergDoc

изучаю тоже CooCox, попытался перетащить проект пока безрезультатно - ковыряюсь…

SergDoc

Накатило что-то…
Реинкарнация мелкоплаты, а может просто бзик?
Мне нравится мелкоплата, но в том состоянии в котором она сейчас - ну как-то не айс 😃
С учётом ошибок и общих веяний, а так же того, что у меня имеется в наличии и с чем более-менее разобрался, получается нечто…
Это не означает что я прекратил попытки сделать контроллер на F4, но пока не могу им заняться 😦
в общем схема (набросок) в архиве:

mahowik

как то совсем давно не заходил почитать фишки-феньки OpenPilot, а тут вон чего! Там и калман и инс по акселю с кореекцией по гпс… Никто не пробовал?

  • External GPS is used for positioning and speed and to correct the data from accelerometers based on motion trajectory models.
  • Extended Kalman filter (EKF 13-16 states) to pull together data from more than 10 sensors (3 gyros, accelerometers, 3 3-axis magnetic compass, barometer, GPS coordinates, GPS speed).
  • Positioning, orientation, and velocity in real time based on data from all the sensors, even at a loss of GPS signal (dead reckoning).
  • User selectable stabilization algorithms (outdoors, using GPS and magnetic compass; indoors without using GPS and possibly magnetic compass; simplified for testing and tuning).

wiki.openpilot.org/display/…/OpenPilot+Overview#Op…

SergDoc

Это не это, короче на F103-м т.е. CC3D всё по старому (ковыряюсь никак до ума не доведу - флешки здоровой нету), а вот в Revo да там все вкусности эти есть… но контроллера нет…
Всё что там писано - это август 10-го года…

SergDoc

а может вия такого приобрести, а то ведь и правда ни разу ничего покупного не пробовал, даже КУК-и сам паял, почему такой? да просто, полетать и разобрать, а из неё и датчик MPU 6050 и микруха с кварцем (PPM нормальный забадяжить), и USB разъём, ну много чего интересного получается 😃

DVE

Лучше уж Naze32 тогда, атмега это шаг назад 😃

SergDoc
DVE:

Лучше уж Naze32 тогда

у меня две платы на F103 (одна с LSM330 - мелкоплата, вторая с MPU6000 - по мотивам CC3D - ещё не запущена), ещё и купить одну? да меня жаба задушит 😃

soliada

О,как раз дней пять назад там заказал.Пока молчек,на письма о вопросе как идет процесс не отвечают.
Вроде в письме присланном после оплаты написано,что если через 10 дней не алё,то пишите,разберемся.
У меня к вам вопрос.Гербер проекта у вас программа выдает с тем расширением что требуют в требованиях к проекту?
У меня все файлы получаются с расширением GBR,а там вроде как другие расширения…