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

mahowik
DVE:

После STM на AVR смотреть неохота

да ладно! 😃 Если низкоуровневых вещей не касаться, то и там и там С++ по сути. Флопсов да, конечно побольше в стм-ке. Настроил вот матрицу поворота акселя по трем осям в глоб. систему координат gps. Думал AVR-ка удавится от 6-ти sin/cos-в и кучки float перемножений. Фига! 😃 С библиотечными sin/cos всего 900-1100мкс, с апроксимационными 700-800мкс, а с табличными так вообще 500-600мкс. Так что жить AVR-ке еще долго 😉, на том же вие к примеру, т.к. atmega2560 имеет 256кб флеша на борту, а прошива вийная со всеми феньками сейчас тянет всего на 40кб…

DVE:

Но весь прикол st-link - в совершенно прозрачном процессе отладки, поставил точку останова и она сработала, а через hex, это все совсем не то
Купите stm32F4Discovery, цена вопроса-то смешная, судя по ссылке около 15$ (у нас тут подороже конечно).

по ценам, если с доставкой и налогами, то примерно в 2 раза дороже выходит… а купил уже пару мес. назад, сперва F4, потом F3 (т.к. сенсоры на борту сразу для поиграться), где только время на все взять? 😃
серьезно, вопрос всем, где вы берете время? есть возможность прямо на работе ковыряться? (хехе… сейчас загадим Сергею темку! 😈)

DVE:

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

что на STM32F4DISCOVERY что на STM32F3DISCOVERY, и там и там ST-LINK на борту…

SergDoc:

а что оно делает?

Ну главная фишка - это сам проект для F3 под Coocox, т.к. в списке чипов при создании проекта нет F30x…
а так это офиц. STM32F3DISCOVERY демка. После загрузки моргает светодиодами по кругу. Далее жмем User батон/кнопу запускается демка ДУС. Еще раз раз жмем, запускается демка магнетометра… вроде так…

Razek
SergDoc:

Показать картинки (1) Йоо-хооу собрал!!!

Так под какой проц то собрал?

DVE
mahowik:

да ладно! 😃 Если низкоуровневых вещей не касаться, то и там и там С++ по сути. Флопсов да, конечно побольше в стм-ке.

Да я не про флопсы даже, просто у stm как-то все удобнее. Памяти больше, флеша больше, отладка и заливка одним кликом, IDE удобная, все гораздо приятнее получается.
На AVR всякие мелкие вещи делать прикольно, DIP-корпус рулит 😃

mahowik:

серьезно, вопрос всем, где вы берете время? есть возможность прямо на работе ковыряться?

Вечером, 1-2 часа перед сном можно на всякие развлечения потратить… 😃
Правда глобальных целей не ставлю, изучаю STM чисто для себя.

SergDoc
Razek:

Так под какой проц то собрал?

под F4, пока родное от AeroQad который F4

Razek
SergDoc:

под F4, пока родное от AeroQad который F4

Странно что тогда такой квест получился

SergDoc
mahowik:

хехе… сейчас загадим Сергею темку!

Я думал это ты не спишь 😃 , у меня получается т.к. я с ноутом выгнан на кухню, то в обед, ну и вечером после 8-ми поковыряться, ну а просто потрещать можно и на работе 😃

Razek:

Странно что тогда такой квест получился

наверно как-то можно библиотеки скомпилить автоматически, но я ещё толком не разобрался как делать makefile…
проекту нужны скомпилированые библиотеки libcs3_stm32_high_density.a, libcs4_stm32_high_density.a и Libmaple.a которых в проекте не было… ну это и к лучшему ибо libmaple.a мне точно под свою плату переделывать…

rual
mahowik:

Так что жить AVR-ке еще долго

Ну это да! Живее всех живых! 😁 Вию ещё долго на АВРе телепаться.
А я 1.5 года назад, когда решил заняться автопилотом, пересилил себя и полез в СТМ32. Хоть это и затянуло получение результата, но получил опыт и “утоптанную поляну” для продолжения разработок.
Чем лучше СТМ:

  1. Быстрее.
  2. Удобней в разработке ПО (“толстая” встроеная арифметика, работа с длиными данными).
  3. На пару голов выше перифирия (ПДП, векторные прерывания и т.п.).
  4. Доступные и удобные средства разработки (платы Discovery, JTAG).
  5. Дешевле АВР.
mahowik:

по ценам, если с доставкой и налогами, то примерно в 2 раза дороже выходит…

Мне 3 платы Ф3 обошлись с доставкой (а она дорогая, транспортной компанией) от официалов в РФ в 2000 руб (~$60).

mahowik:

Серьезно, вопрос всем, где вы берете время? есть возможность прямо на работе ковыряться?

У меня времени на работе больше, чем дома:), с утра пока всех развезёшь, вечером соберёшь . Потому и брал дисковери, что можно иметь несколько макетов для разработки: 1-летает, 2-для разработки дома, 3-для разработки на работе.

Razek
mahowik:

серьезно, вопрос всем, где вы берете время?

Времени мало очень, а то что есть съедает какая-то мелочевка, то подвес пилить то раму восстанавливать то глюки от куда-то сыпятся, давеча потратил 2 вечера на поиски глюка с датчиком тока, хотел добится от него прецизионности, он все врал безбожно, в итоге оказалось что опорное напряжение у него 5.6 вольт а не 5, а его гнал регуль у которого в обвязке висел резистор на 204 когда по расчетам должно было быть 240.

Вообще это ты поделись тайными знаниями где ты время находишь на релизы собственных бранчей вия =)

oleg70

Подскажите, кто знает, зачем у STM несколько питающих (VDD) и “земляных” ног, c каждой стороны ?
На AVR-e делал запитку с любых удобных, но не уверен что прав… Не могу нигде найти инфу по этому поводу.
(плату почти развел, а тут затык…)

SergDoc

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

Razek
oleg70:

STM несколько питающих (VDD) и “земляных” ног, c каждой стороны

Да и на каждую пару желательно вешать кондеи

mahowik
rual:

Вию ещё долго на АВРе телепаться.

так и будет… хотя если учесть, сколько клонов вокруг (в том числе и на стм32), то вий уже давно переехал 😃
кстати, ради ознакомления, (опять 😃) советую посмотреть на проект от ziss_dm (от вия там давно ничего не осталось, еали кого пугает сам вий 😃)… там HAL реализован для AfroFlight32, STM32f3Discovery и ардуинки

rual:

Чем лучше СТМ:

читал пару обзорных статей по стм32… тут споров нет…

rual:

Мне 3 платы Ф3 обошлись с доставкой

тоже самое по сути… что то более 20 енотов за штуку вышло…

rual:

У меня времени на работе больше, чем дома

иногда так же, но начальник за спиной сидит и каждый раз когда открываю Notepad++, пописать че нить, то на стреме постоянно ))

rual:

1-летает

кстати, ты давно видео не выкладывал на ф3… если не пропустил, то было только видео первого подлета на ф3 и тогда коптер по горизонту вроде как гулял… сейчас стабильно все?

Razek:

Вообще это ты поделись тайными знаниями где ты время находишь на релизы собственных бранчей вия =)

вот на них пока все время и уходит, как “урванное” рабочее, так и свободное домашнее + еще дебильный саппорт дофига времени тянет… а по сути от “монетизации” хобби одни убытки получились, как моральные, так и материальные… писал в RC1 ветке как-то…

mahowik
DVE:

отладка и заливка одним кликом, IDE удобная, все гораздо приятнее получается

чет я уже потерялся во всех этих IDE… 😃
У кого работает/настроен полноценный дебаггер под stm32f3discovery/stm32f4discovery? т.е. под какую IDE и какой бубен для этого надо? 😃

rual
mahowik:

кстати, ты давно видео не выкладывал на ф3… если не пропустил, то было только видео первого подлета на ф3 и тогда коптер по горизонту вроде как гулял… сейчас стабильно все?

Да показать особо нечего, переделал корректор ИНС как у Тома Пикке, code.google.com/p/…/ahrs_simple_quaternion.c
неплохой алгоритм, вся математика алгебраически оптимизирована, можешь на АВР попробовать. Нужно подбирать коэффициенты. Счас горизонт лучше, но из-за наличия интегральной составляющей присутствует медленная раскачка.
Видио с отскоком от стен не делал, на работе в узком коридоре (когда все датчики “держаться” за стены) пролетел нормально, но снять было некому, пульт отпустить боялся:) а дома коридор широкий, после “отскока” от одной стены успевает разогнаться и не успевает затормозить у другой, поцарапал стены, поругался с женой:) Сделал вывод что нужен датчик скорости для граничения оной в межстенном пространстве. Гдето видел OpticFlow за 50 баксов и не могу вспонить где:( Вобщем кризис, пока голова не работает, работаю руками -собрал леталку для улицы, теперь у меня две штуки на Ф3. Буду ГПС прикручивать, нашел математику нужно проверять.

Geniok
mahowik:

серьезно, вопрос всем, где вы берете время? есть возможность прямо на работе ковыряться? (хехе… сейчас загадим Сергею темку! 😈)

Вечерком, после работы пару часов. Да и то бывает не каждый день. Ну и выходные изредка.

DVE
mahowik:

У кого работает/настроен полноценный дебаггер под stm32f3discovery/stm32f4discovery? т.е. под какую IDE и какой бубен для этого надо? 😃

Coocox работает с f4 из коробки, ничего допиливать не надо. С f3 не пробовал.

Geniok
oleg70:

Подскажите, кто знает, зачем у STM несколько питающих (VDD) и “земляных” ног, c каждой стороны ?
На AVR-e делал запитку с любых удобных, но не уверен что прав… Не могу нигде найти инфу по этому поводу.
(плату почти развел, а тут затык…)

Есть небольшая статья по этому поводу вот тут: easyelectronics.ru/podklyuchenie-mikrokontrollera-…

Там правда АВР, но сути особо не меняет.

mahowik:

чет я уже потерялся во всех этих IDE… 😃
У кого работает/настроен полноценный дебаггер под stm32f3discovery/stm32f4discovery? т.е. под какую IDE и какой бубен для этого надо? 😃

Нравится IAR в этом плане. Как писалка кода не очень, в основном использую или Notepad++ или VisualStudio+VisualAssist. Зато как отладчик полностью устраивает.

Все работает из коробки, новый проект создается за 2-3 минуты.

Просьба будт ко всем, может у кого завалялась библиотека для мат вычислений на АРМ? Что-то типа arm_math.h , arm_math.c
Желательно для камня Ф4, но если для других есть, отказываться не буду…

Заранее спасибо!

SergDoc
Geniok:

Что-то типа arm_math.h , arm_math.c
Желательно для камня Ф4, но если для других есть, отказываться не буду…

у меня только wirish_math из maple выдрано…
в библиотеках CMSIS точно есть arm_math.h если что тоже есть…

Народ мне тут на ухо нашептали, грамотные программеры меня поправя если что не так, по прерываниям, первое что надо сделать в прерывании - это запретить все прерывания, какие бы там они не были по иерархии - пускай ждут, второе прерывания должны быть только на те действия, которые не требуют отлагательств, ну типа мы падаем- пошли все нафиг со своими командами с радио, а прерывания типа пришли данные с акселя и срочно выполнять - то думаю ненадо - это и в “глобальном” модуле отследить один бит можно, чем тратить кучу тактов на выполнение прерывания, а потом ещё кучу тактов на возвращение?

arm_math.rar

mahowik
Geniok:

Просьба будт ко всем, может у кого завалялась библиотека для мат вычислений на АРМ? Что-то типа arm_math.h , arm_math.c
Желательно для камня Ф4, но если для других есть, отказываться не буду…

в этом архивчике с экзамплами www.st.com/web/en/catalog/tools/PF257904

или вот code.google.com/p/mwc-ng/source/…/arm_math.h

RaJa
mahowik:

чет я уже потерялся во всех этих IDE… 😃
У кого работает/настроен полноценный дебаггер под stm32f3discovery/stm32f4discovery? т.е. под какую IDE и какой бубен для этого надо? 😃

У меня вроде все работает по CooCox. Дебаггеров парочка - встроенный ST-LinkV2 и CooLinkEx

mahowik
RaJa:

У меня вроде все работает по CooCox

stm32f3discovery или stm32f4discovery?
CooCox поддерживает f4 из коробки (уже подтвердили выше)… если у вас получилось с stm32f3discovery, то расскажите плз. как… у меня не пашет…