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

SergDoc
oleg70:

Зато какой ФВЧ получается

лучше LC, фильтра не знаю )))

SergDoc

Олег, кстати пока вспомнил - то же удержание высоты или позиции - не важно…
двойное интегрирование даёт ошибку очень большую, но из первого интегрирывания мы получаем скорость - корректируем её дифференцированием пути с датчика (GPS…Baro) потом можно и ещё раз интегрировать? и ещё раз поправить?
а вот адаптивность этой схемы не скажу ))) кто-то (пальцем показывать не буду mahowik) сам не догадываясь того или скорей зная, создал адаптивный фильтр на базе альфа-бета…

rual
SergDoc:

двойное интегрирование даёт ошибку очень большую, но из первого интегрирывания мы получаем скорость - корректируем её дифференцированием пути с датчика (GPS…Baro) потом можно и ещё раз интегрировать? и ещё раз поправить?

Я так и делаю, проблема в том, что коэффициенты трудно подобрать. Получаются минимум 2 контура коррекции, а по хорошему ещё и аксель надо корректировать.

oleg70
SergDoc:

корректируем её дифференцированием пути с датчика

Корень зла - шум акселя…, барометром скорректировать наверно можно, но он тоже - “не подарок”, как равно и GPS…
Наверняка решение какое нибуть есть…, надо работать (экспериментировать) с этим., у меня пока не получилось…

SergDoc:

аналоговые датчики

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

alexeykozin

для всего бывают пределы разумного.
ну понятно есть сфера применения мелколеты.
самый маленький жпс приемник уже больше будет)

SergDoc
alexeykozin:

ну понятно есть сфера применения мелколеты.

тенденция однако мало-мало )))

rual
oleg70:

Корень зла - шум акселя…, барометром скорректировать наверно можно, но он тоже - “не подарок”, как равно и GPS…
Наверняка решение какое нибуть есть…, надо работать (экспериментировать) с этим

И то и то надо просто фильтрануть ФНЧ и просуммировать, а вот веса того и другого придется поподбирать )))

oleg70:

кстати не обязательно сразу аналог оцифровывать… те же ПИДы / фильтры можно реализовать на аналоговых узлах, точность/быстродействие будет непревзойденным…

Совершенно против! Система получится “деревянной” - плохо управляемой, повторяемой, “плавающей”, и огромных размеров (по сравнению с нынешними полётниками).

oleg70:

но это уже смена всей концепции

Это вообще 2 шага назад. Я понимаю дедов, которые всё в механике и аналоговой электронике делали, так как у них другого не было. СТМ32 пока вполне справляется по быстродействию.
Нафига создавать себе проблемы с аналогом, когда просто нужно освоить цифровую фильтрацию? Но это если знать что делать в аналоге ) А если нет? Прикиньте изготовление 200 макеток с конденсаторами и резюками на каждое испытание (в основном недачное)? )))

alexeykozin:

самый маленький жпс приемник уже больше будет)

А вот и нет )))

SergDoc
rual:

А вот и нет )))

речь шла о самодостаточном модуле с питателем и антенной на борту…

oleg70
rual:

Это вообще 2 шага назад.

Все “минусы” очевидны…,не спорю…, но есть один жирный плюс - точность и быстродействие,
это примерно как в аудио технике - MP3 и ламповый/транзисторный звуковой тракт.

oleg70

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

mataor

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

также стоит присмотреться к новому, активно рекламируемому/обсуждаемому режиму OneShot

djdron
mataor:

т.е. по хорошему, при записи значений желательно остановить таймер, обнулить его, и запустить с новым текущим значением.

так делать нельзя

rual:

Нафига создавать себе проблемы с аналогом, когда просто нужно освоить цифровую фильтрацию? Но это если знать что делать в аналоге ) А если нет?

вот можно по этой схемке сделать аналоговую стабилизацию ))) elm-chan.org/works/vlp/report_e.html

oleg70
mataor:

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

Хорошо (😃), тогда какова частота “тот же самый основной цикл” у разных платформ ?

mataor

вий, в зависимости от платформы (ардуино, хмега, стм и проч порты) и навесов (баро, компас, ЖПС и проч доп периферия добавляют) от 1500мкс до 5000мкс (660Гц - 200Гц)
алексмос подвес 700-850мкс (как то с ним списывался)
по ардупилоту - не в курсе
остальные тем более хз

SergDoc

Арду работает на АВР - 100Гц на остальных платформах, 400 Гц…
в Вий с родным пидом выше 400 подымать не стоит, заманаешся интегральную составляющую подбирать (пид сделан на основе самого цикла, т.е. временная составляющая там присутствует косвенно)…
помнится пресловутый контроллер от Билла Несбита вообще на 50Гц цикл крутит…

Drinker

Всем привет. Дринкер сошел с ума. Идея когда х86 проц будет летать близка как никогда. Итак. Едисон 2-х ядерный атом х86 вот он.

Код, обратите внимание - переменные типа дабл…
double x,y,z,w;
long cnt,i;

void setup() {
Serial.begin(115200);
}

void loop() {
cnt = millis();

x = 0.0;
y = x;
w = 0.0;

Serial.println(“Start”);
for(i = 0; i < 10000000; i++)
{
z = sqrtf((x*x)+ (y*y));
x += 0.01;
w += z;
y += 1.0;
}

Serial.println(millis() - cnt);
Serial.print(“x=”); Serial.print(x);
Serial.print(" y="); Serial.println(y);
}

время цикла в мс:
Start
1908
x=100000.00 y=10000000.00
Start
1906
x=100000.00 y=10000000.00
Start
1903
x=100000.00 y=10000000.00

Какой нафиг стм32?
Да, мало пвм, 4 штуки, но кто отменял и2ц? Завтра водружаю со-процессор на 32ф4, который опросит сенсоры и организует ин-оут…

strizhmax
Drinker:

Дринкер сошел с ума

Откуда дровишки?

Drinker

ессно из кетая. А вот штаты ссуко не прислали…

alexeykozin

на эдисоне надо на опенцв раскладывать картинку и делать контроллер навигации - автоматизированной ориентации
данные по необходимой коррекции полета передавать на типовой полетник.
а не писать все с нуля

Drinker
alexeykozin:

на эдисоне надо

Кто сказал что надо? Главное - с даблами есть высокая скорость. А это, поверьте ой как важно в матричных вычислениях и интеграции. И памяти завались. И ви-фи опять-же. Теперь можно развернуццо не на шутку.