Создание собственной системы стабилизации
хехе… сейчас загадим Сергею темку!
Я думал это ты не спишь 😃 , у меня получается т.к. я с ноутом выгнан на кухню, то в обед, ну и вечером после 8-ми поковыряться, ну а просто потрещать можно и на работе 😃
Странно что тогда такой квест получился
наверно как-то можно библиотеки скомпилить автоматически, но я ещё толком не разобрался как делать makefile…
проекту нужны скомпилированые библиотеки libcs3_stm32_high_density.a, libcs4_stm32_high_density.a и Libmaple.a которых в проекте не было… ну это и к лучшему ибо libmaple.a мне точно под свою плату переделывать…
Так что жить AVR-ке еще долго
Ну это да! Живее всех живых! 😁 Вию ещё долго на АВРе телепаться.
А я 1.5 года назад, когда решил заняться автопилотом, пересилил себя и полез в СТМ32. Хоть это и затянуло получение результата, но получил опыт и “утоптанную поляну” для продолжения разработок.
Чем лучше СТМ:
- Быстрее.
- Удобней в разработке ПО (“толстая” встроеная арифметика, работа с длиными данными).
- На пару голов выше перифирия (ПДП, векторные прерывания и т.п.).
- Доступные и удобные средства разработки (платы Discovery, JTAG).
- Дешевле АВР.
по ценам, если с доставкой и налогами, то примерно в 2 раза дороже выходит…
Мне 3 платы Ф3 обошлись с доставкой (а она дорогая, транспортной компанией) от официалов в РФ в 2000 руб (~$60).
Серьезно, вопрос всем, где вы берете время? есть возможность прямо на работе ковыряться?
У меня времени на работе больше, чем дома:), с утра пока всех развезёшь, вечером соберёшь . Потому и брал дисковери, что можно иметь несколько макетов для разработки: 1-летает, 2-для разработки дома, 3-для разработки на работе.
серьезно, вопрос всем, где вы берете время?
Времени мало очень, а то что есть съедает какая-то мелочевка, то подвес пилить то раму восстанавливать то глюки от куда-то сыпятся, давеча потратил 2 вечера на поиски глюка с датчиком тока, хотел добится от него прецизионности, он все врал безбожно, в итоге оказалось что опорное напряжение у него 5.6 вольт а не 5, а его гнал регуль у которого в обвязке висел резистор на 204 когда по расчетам должно было быть 240.
Вообще это ты поделись тайными знаниями где ты время находишь на релизы собственных бранчей вия =)
Подскажите, кто знает, зачем у STM несколько питающих (VDD) и “земляных” ног, c каждой стороны ?
На AVR-e делал запитку с любых удобных, но не уверен что прав… Не могу нигде найти инфу по этому поводу.
(плату почти развел, а тут затык…)
для распределения токов, а то дорожка питающаа через весь кристалл, как-то круто, больше входов одного питания - да даже нагрев кристалла меньше, плюс наводки по питанию, ну т.д.
STM несколько питающих (VDD) и “земляных” ног, c каждой стороны
Да и на каждую пару желательно вешать кондеи
Вию ещё долго на АВРе телепаться.
так и будет… хотя если учесть, сколько клонов вокруг (в том числе и на стм32), то вий уже давно переехал 😃
кстати, ради ознакомления, (опять 😃) советую посмотреть на проект от ziss_dm (от вия там давно ничего не осталось, еали кого пугает сам вий 😃)… там HAL реализован для AfroFlight32, STM32f3Discovery и ардуинки…
Чем лучше СТМ:
читал пару обзорных статей по стм32… тут споров нет…
Мне 3 платы Ф3 обошлись с доставкой
тоже самое по сути… что то более 20 енотов за штуку вышло…
У меня времени на работе больше, чем дома
иногда так же, но начальник за спиной сидит и каждый раз когда открываю Notepad++, пописать че нить, то на стреме постоянно ))
1-летает
кстати, ты давно видео не выкладывал на ф3… если не пропустил, то было только видео первого подлета на ф3 и тогда коптер по горизонту вроде как гулял… сейчас стабильно все?
Вообще это ты поделись тайными знаниями где ты время находишь на релизы собственных бранчей вия =)
вот на них пока все время и уходит, как “урванное” рабочее, так и свободное домашнее + еще дебильный саппорт дофига времени тянет… а по сути от “монетизации” хобби одни убытки получились, как моральные, так и материальные… писал в RC1 ветке как-то…
отладка и заливка одним кликом, IDE удобная, все гораздо приятнее получается
чет я уже потерялся во всех этих IDE… 😃
У кого работает/настроен полноценный дебаггер под stm32f3discovery/stm32f4discovery? т.е. под какую IDE и какой бубен для этого надо? 😃
кстати, ты давно видео не выкладывал на ф3… если не пропустил, то было только видео первого подлета на ф3 и тогда коптер по горизонту вроде как гулял… сейчас стабильно все?
Да показать особо нечего, переделал корректор ИНС как у Тома Пикке, code.google.com/p/…/ahrs_simple_quaternion.c
неплохой алгоритм, вся математика алгебраически оптимизирована, можешь на АВР попробовать. Нужно подбирать коэффициенты. Счас горизонт лучше, но из-за наличия интегральной составляющей присутствует медленная раскачка.
Видио с отскоком от стен не делал, на работе в узком коридоре (когда все датчики “держаться” за стены) пролетел нормально, но снять было некому, пульт отпустить боялся:) а дома коридор широкий, после “отскока” от одной стены успевает разогнаться и не успевает затормозить у другой, поцарапал стены, поругался с женой:) Сделал вывод что нужен датчик скорости для граничения оной в межстенном пространстве. Гдето видел OpticFlow за 50 баксов и не могу вспонить где:( Вобщем кризис, пока голова не работает, работаю руками -собрал леталку для улицы, теперь у меня две штуки на Ф3. Буду ГПС прикручивать, нашел математику нужно проверять.
серьезно, вопрос всем, где вы берете время? есть возможность прямо на работе ковыряться? (хехе… сейчас загадим Сергею темку! 😈)
Вечерком, после работы пару часов. Да и то бывает не каждый день. Ну и выходные изредка.
У кого работает/настроен полноценный дебаггер под stm32f3discovery/stm32f4discovery? т.е. под какую IDE и какой бубен для этого надо? 😃
Coocox работает с f4 из коробки, ничего допиливать не надо. С f3 не пробовал.
Подскажите, кто знает, зачем у STM несколько питающих (VDD) и “земляных” ног, c каждой стороны ?
На AVR-e делал запитку с любых удобных, но не уверен что прав… Не могу нигде найти инфу по этому поводу.
(плату почти развел, а тут затык…)
Есть небольшая статья по этому поводу вот тут: easyelectronics.ru/podklyuchenie-mikrokontrollera-…
Там правда АВР, но сути особо не меняет.
чет я уже потерялся во всех этих IDE… 😃
У кого работает/настроен полноценный дебаггер под stm32f3discovery/stm32f4discovery? т.е. под какую IDE и какой бубен для этого надо? 😃
Нравится IAR в этом плане. Как писалка кода не очень, в основном использую или Notepad++ или VisualStudio+VisualAssist. Зато как отладчик полностью устраивает.
Все работает из коробки, новый проект создается за 2-3 минуты.
Просьба будт ко всем, может у кого завалялась библиотека для мат вычислений на АРМ? Что-то типа arm_math.h , arm_math.c
Желательно для камня Ф4, но если для других есть, отказываться не буду…
Заранее спасибо!
Что-то типа arm_math.h , arm_math.c
Желательно для камня Ф4, но если для других есть, отказываться не буду…
у меня только wirish_math из maple выдрано…
в библиотеках CMSIS точно есть arm_math.h если что тоже есть…
Народ мне тут на ухо нашептали, грамотные программеры меня поправя если что не так, по прерываниям, первое что надо сделать в прерывании - это запретить все прерывания, какие бы там они не были по иерархии - пускай ждут, второе прерывания должны быть только на те действия, которые не требуют отлагательств, ну типа мы падаем- пошли все нафиг со своими командами с радио, а прерывания типа пришли данные с акселя и срочно выполнять - то думаю ненадо - это и в “глобальном” модуле отследить один бит можно, чем тратить кучу тактов на выполнение прерывания, а потом ещё кучу тактов на возвращение?
Просьба будт ко всем, может у кого завалялась библиотека для мат вычислений на АРМ? Что-то типа arm_math.h , arm_math.c
Желательно для камня Ф4, но если для других есть, отказываться не буду…
в этом архивчике с экзамплами www.st.com/web/en/catalog/tools/PF257904
чет я уже потерялся во всех этих IDE… 😃
У кого работает/настроен полноценный дебаггер под stm32f3discovery/stm32f4discovery? т.е. под какую IDE и какой бубен для этого надо? 😃
У меня вроде все работает по CooCox. Дебаггеров парочка - встроенный ST-LinkV2 и CooLinkEx
У меня вроде все работает по CooCox
stm32f3discovery или stm32f4discovery?
CooCox поддерживает f4 из коробки (уже подтвердили выше)… если у вас получилось с stm32f3discovery, то расскажите плз. как… у меня не пашет…
у меня только wirish_math из maple выдрано…
в библиотеках CMSIS точно есть arm_math.h если что тоже есть…Народ мне тут на ухо нашептали, грамотные программеры меня поправя если что не так, по прерываниям, первое что надо сделать в прерывании - это запретить все прерывания, какие бы там они не были по иерархии - пускай ждут, второе прерывания должны быть только на те действия, которые не требуют отлагательств, ну типа мы падаем- пошли все нафиг со своими командами с радио, а прерывания типа пришли данные с акселя и срочно выполнять - то думаю ненадо - это и в “глобальном” модуле отследить один бит можно, чем тратить кучу тактов на выполнение прерывания, а потом ещё кучу тактов на возвращение?
ну так по идее для того существует приоритет прерываний, чтобы их разделить на более важные менее.
Если я падаю, то не хотел бы терять управление стиками.
А опрос и обработка датчиков все равно идет не в прерываниях, а основном рабочем цикле. в прерывании просто ставим флаг, что новые данные пришли.
в прерывании просто ставим флаг, что новые данные пришли.
войти в прерывание (потратить такты) изменить бит, выйти из прерывания (потратить такты)?
Если я падаю, то не хотел бы терять управление стиками.
это я утрировано сказал…
Мне китайцы, что-то выслали на замену утеряных ИК датчиков, сегодня пойду забирать - посмотрю что…
войти в прерывание (потратить такты) изменить бит, выйти из прерывания (потратить такты)?
это я утрировано сказал…
Мне китайцы, что-то выслали на замену утеряных ИК датчиков, сегодня пойду забирать - посмотрю что…
а по другому как? постоянно проверять, пришли данные или нет? весеть в цикле ожидания, показанные не придут? тогда на весь цикл будет куча проверок.
что утрированно, я понял, просто пока сложно представить себе такую ситуацию, в которой мне надо было бы от чего-то отказываться.
нашел математику нужно проверять.
А поделитесь ссылкой на математику?
вот возмём простейший - ну да КУК - сидим курим в нопах, пока прерывания с радио не пришло, пришло - запустили основной цикл, а там и чтение гир и перерасчёт выходных шимов, вот чем нравятся аналоговые датчики - они всегда готовы…
если какое-либо прерывание выполняется, то надо обязательно запрещать остальные, придёт прерывание в прерывании, куда вернётся программа после? ей бабушка нашепчет? да билеберда получится, хорошо если в основной цикл, а скорей в прерывании и зациклится - шахид-коптер получится, камикадзе многороторный - только банзай кричать научить надо 😃