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

tusik

Сергей, а на твою плату прошивка от итальянцев (VBRAIN) ставится?

Drinker
rual:

фигня,

Например ф103 практически не замечает расчеты альт но формула какая-то странная, скобок дофига. Ф3 вроде с фпу? Компилятор вообще использует его?

rual
Drinker:

формула какая-то странная,

Какая есть, стырена с драйвера МС5611 ПХ4 )))

Drinker:

скобок дофига

Одни можно убрать, но проблема не в них, а в самом вычислении функции pow. Пробовал тупо заменить формулу на одну функцию pow с двумя переменными. Результат тот же…

Drinker:

Ф3 вроде с фпу? Компилятор вообще использует его?

есть, использует на все 100%.

В целом решил проблему костылём с вызовом обработчика прерывания с более низким приоритетом, но походу назревает использование РТОС…

SergDoc
tusik:

Сергей, а на твою плату прошивка от итальянцев (VBRAIN) ставится?

А зачем? тот же арду только через мапл засунут - конечно можно, но там гимора больше, я как-то ковырял, пока с портами разберёшся - они потипу ардуино обозначены…
Хотел порадовать что второй птенец вылупился, ан нет - компас не запустился - чёт мне везёт на них, завтра перепаяю… третий в течении недели соберу…
Платы почти одинаковы всё равно, у него только ещё ULN2003 на плате, я не стал ставить - ну его, можно i2c-LED цеплять или туже ULN-ку повесить на свободные GPIO только подальше от платы… ну и естественно интерейсы у нас разные, возмоно ориентация датчиков…
Андрей, скинте свой почтовик - вышлю документацию…
сын букву Ж съел - только кулаком нажымается 😦

omegapraim

Привет, чисто совет не по теме. Попробуй для сборки использовать BGA пасту вот такую в ту субботу купил и очень доволен, трудозатраты на сборку сократились почти в 2а раза (контакты лудить вообще не нужно перед пайкой чипов) просто мажешь в пропорции на дорожки и паста сама распределится по ножкам в момент нагрева феном. А самое вкусное это то что она с безотмывочным флюсом и остатков флюса вообще не остается. Собрал с помощью нее два приемника и был приятно удивлен легкостью работы и качеством пайки.

Drinker

Руал, сдорофф!

rual:

есть, использует на все 100%.

Я не знаю, что ты используешь для кодинга, но у меня в модуле math есть два определения pow:
extern double pow _PARAMS((double, double));
extern float powf _PARAMS((float, float));

Первая явно не юзает фпу.
Пробуй powf();

синусов-косинусов и прочих это тоже касается.

rual
Drinker:

Руал, сдорофф!

Сдорофф, Дринкер!

Drinker:

Я не знаю, что ты используешь для кодинга

Использую кейл

Drinker:

но у меня в модуле math есть два определения pow:
extern double pow _PARAMS((double, double));
extern float powf _PARAMS((float, float));

Drinker:

Первая явно не юзает фпу.

Отчего так думаешь? Тоже думал над этим, так глубоко исполнение функции не трассировал. Теоретически дубль можно реализовать несколькими заходами через FPU.

Drinker
rual:

Отчего так думаешь?

Делал контрольный пример. На даблах один и тотже код выполнялся 44 сек, на флоатах - 4сек. При отключении фпу на флоатах тоже около 40 сек.

SergDoc
omegapraim:

Попробуй

мне до ближайшего радиорынка 200км и там нету 😦
ничё всё ОК второй птенец с утра был запущен 😃

ДЛЯ ТЕХ КТО В ТЕМЕ !!! Некоторые изменения: R41=47K, R40=10K !!! - делитель на батарейку если чё…

Drinker:

На даблах один и тотже код выполнялся 44 сек

блин чё приехали обратно к X86 что-ли? в 32-х битном проце, опять всё грузим в АЛУ по 8 бит - только отсюда такие тормоза могут быть?

Drinker
SergDoc:

блин чё приехали обратно к X86 что-ли? в 32-х битном проце, опять всё грузим в АЛУ по 8 бит - только отсюда такие тормоза могут быть?

Сдорофф! Ты о чём? Кто куда че грузит?

SergDoc

ну переменные двойной точности 64-бит правильно? так если бы мы (проц) напрямую работали с 32-х битными переменными - т.е. в регистр бахали сразу 32 бита - то и 64 за 2 раза влезло бы, а так получается по 8 бит в регистр то естественно что 32 и 64 разница офигенная будет…

Drinker
SergDoc:

ну переменные двойной точности 64-бит правильно? так если бы мы (проц) напрямую работали с 32-х битными переменными - т.е. в регистр бахали сразу 32 бита - то и 64 за 2 раза влезло бы, а так получается по 8 бит в регистр то естественно что 32 и 64 разница офигенная будет…

Ёпрст, БЕЗ фпу даблы и флоаты примерно одинаковы по скорости, как только фпу используется - сразу разница в 10 раз.

SergDoc

Дык я про что - получается в ФПУ данные медленно отправляются…
Доделаю то, что обещал(ещё одна платка), тоже присоединюсь к кодятничеству 😃

Drinker
SergDoc:

Дык я про что - получается в ФПУ данные медленно отправляются…

Сергей…Ты чего? ФПУ стм32ф4 НЕ РАБОТАЕТ с даблами, столько синглы. Все даблы софтово обрабатываются.

SergDoc
Drinker:

ФПУ стм32ф4 НЕ РАБОТАЕТ с даблами

так я о чём и толкую - это плохо 😦, у нас помоему “твоя моя не понимает” 😃
а на сколько нужны переменные с двойной точностью - применимо к барометру?

Drinker
SergDoc:

так я о чём и толкую - это плохо ,

Ну так-то да, плохо. Да и фиг с ними - синглов достаточно.

rual
Drinker:

На даблах один и тотже код выполнялся 44 сек, на флоатах - 4сек. При отключении фпу на флоатах тоже около 40 сек.

мда… скорей всего дело в этом, у меня вся коррекция горизонта за 46 мксек выполняется, а там перемножение 8ми матриц 4х4…

SergDoc:

а на сколько нужны переменные с двойной точностью - применимо к барометру?

эта хз, надо проналитить…

Drinker:

Да и фиг с ними - синглов достаточно.

6й знак давления в мБар сколько высоты даёт?

По большому счёту у меня там инерциалка, т.е. влиять должно только на точность удержания. На болтанку больше влияет качество фильтра и вибрации.

rual

Трассернул, дубль действительно делается без сопроцессора… Буду пробовать с одинарной точностью.

Sir_Alex

Ах ха ха, пока мы тут пытаемся сделать STM32F4… Дидроновцы уже обсуждают, куда дальше идти ))))) VR Brain то же вроде имеют уже более мощный контроллер…

Если я правильно понял, все катится к Linux подобным решениям и соответствующим процессорам. Уже сейчас делают порт (не дидроновцы, хотя HAL под Linux какой то уже есть) под BeagleBone Black, да и вроде под RPi то же.

В общем, с нашими ресурсами(временными, материальными), плестись нам в хвосте паровоза )))

oleg70
Sir_Alex:

Если я правильно понял, все катится к Linux подобным решениям

Не понятно только (мне): ЧТО это даст…, в смысле какая функциональная нагрузка будет на систему (?).,
типа “все остальное” уже и на F4 работает и он не справляется…

djdron

И зачем там BeagleBone?))) Там столько всего лишнего, в том числе и линукс, если только камеру хотят прикрутить к нему или еще какие-нибудь датчики, и мп3 плеер)).