flybrain. передатчик + приемник + автопилот. powered by stm32
Значит так … я решил освоить МК STM32 и начал с STM32F103C6T6A.
А что так торкнуло на подвиги ратные? Может съел чего не того? 😲
- двух акков по 1,2В не хватит.
- я не понял зачем тебе 2 гироскопа? Думаешь два будет лучше чем один? Или у тебя двойное резервирование на случай выхода одного из строя?
- 4 выход насколько я помню то ли адрес I2C фиксирует, то ли в сам режим I2C переключает выходной интерфейс. Я точно не помню, посмотри в ДШ
- Можешь обойтись и без С16 и С22. Работать оно будет гарантированно, только криво. А ты вообще в курсе зачем блокировочные кондеры ставят?
- STM32F103C6T6A по usb прошить без танцев с бубнами не получится. Хочешь заниматься девелопингом под stm32, покупай jtag отладчик.
Судя по вопросам мне кажется пока рановато за паяльник, может еще хотя бы недельку ДШ разные поизучать? Мне кажется основы можно можно на специализированных форумах поизучать. И необязательно доставлять удовольствие всей аудитории моделистов. На худой конец можно в личку спросить.
Я, кстати, знаю одного продвинутого перца. Он в МК знает ну ващщще усе! Не хочу вслух называть его имени. Но в личку я тебе скажу к кому обратиться.😒😒😒
Manamet, лучше прикупите недорогую evaluation board (хотя бы STM32F4Discovery) Избавитесь от фантомных проблем связанных с пайкой и прошивкой.
Заодно прошивальщик других плат будет. ну и ессно прошивать этого “бобика” сможете через USB.
Подключать дополнительные внешние микрухи или модули можно через штырьковый разъем.
ответы на простые вопросы можно найти на http://easyelectronics.ru
Так, мне нужна помощь зала для прояснения 3-х вопросов.
- Расскажите мне или ткните где найти и прочитать про то, как на стандартных аппаратурах FS событие обнаружить на приемнике. А так же, как это будет обнаруживаться для варианта sumppm
- Сколько каналов ждать в sumppm сигнале? Сколько их там вообще может быть? Тайминги такие же, как для дискретных ppm, то есть 1-2мс или бывают клинические случаи несоблюдения стандартов?
- Полярность фронтов в сумппм отрицательная всегда или отдельные производители считают, что они ровнее других и работают по положительным фронтам?
Собственно, все это нужно для завершения деталей прошивки по модулю сопрягалке. Я тестирую со своим пультом e-sky 4ch. У него sumppm отдает 8 каналов отрицательными фронтами на тренерском разъеме. Но как бы хочется понять общую обстановку по этому делу.
--------------
В субботу довелось проверить полезность АП в реале. Хотел протестить до куда рфм22 пробивает. Залетел на 2км и тут сдох акк ноутбука. Изображение пропало. Врубил возврат домой и перекрестившись стал ждать. Через пару минут скай прилетел у хозяину. Я доволен. 😁
Неудачной получилась проверка аварийной посадки. Поднял самолет на 500 метров вверх и вырубил пульт. Оно сказало FS, прилетело и начало кружиться и спускаться. нарезало порядка 6 кругов (горизонт кстати не перекосило без компенсации центробежки, как некоторые предполагали). Затем я понял, что надо прекращать снижение, оказалось, что центр кружения находится над автодорогой оживленной. Ну косяк понятен, буду вводить процедуру корректирующую центр кружения ближе к точке дома, а не где попало возле дома. В чистом поле в принципе по-фиг, дальше 100 метров оно не улетит, но в моем случае 100м уже попало в нехорошую зону.
Нарыл еще косяк с алгоритмом передачи тангажа от процедуры “удержания курса” к процедуре “вираж”. После этого останется заняться компасом и сделать его таки tilt compensated. На этом можно будет сказать, что в первом приближении борьба с навигатором окончена. Останется только один косяк - отсутствие воздушной скорости. Как только дифф. датчик ко мне приедет, займемся и этим. Ну, а пока останется риск провала при неблагоприятном попутном ветре.
ФС- выход сигнала за границы откалиброванного диапазона. Обычно так.
Сумм ппм я встречал как негативный, так и позитивный. Эксперт помоему как то сделал так, чтш понимает оба варианта, определяет сам автоматически. Лучше делать так конечно.
Количество канал чем больше, тем лучше 😃.
Я сейчас вытащил 12 каналов по сумм ппм. Наверно оптимально. Но вдруг кто на копиях полетит по фпв! 😃 им маловато будет.
ФС- выход сигнала за границы откалиброванного диапазона
В каких пределах? 10мкс может поставить? На каком канале? заранее заданном?
А как тогда оно FS положение серв устанавливает, если выходит за границы допустимого диапазона? Кстати выходит в большую или меньшую сторону?
Я сейчас вытащил 12 каналов по сумм ппм.
Как так, 12 каналов не поместится в 20мс период. Или у меня опять пробел в знаниях?
На каком канале? заранее заданном?
Обычно используют канал газа. Это самое удобное, поскольку регулятор калибрует свой нуль при подаче напряжения.
В каких пределах? 10мкс может поставить? На каком канале? заранее заданном?
Нет, это как критерий брать нельзя. Случайные импульсы идут со старых FM приемников.
На современных - либо ничего , либо последнее что было, либо запомненное как файлсейф.
Потому файлсейф понимать только по запрограммированной длительности канала , который под это и отдали ( или изгаляться с каналом газа).
Сообщение от SkyWorker
ФС- выход сигнала за границы откалиброванного диапазона
В каких пределах? 10мкс может поставить? На каком канале? заранее заданном?
В пределах откалиброванного, 10 мкс перебор, каналы настраивать лучше всего.
А как тогда оно FS положение серв устанавливает, если выходит за границы допустимого диапазона? Кстати выходит в большую или меньшую сторону?
FS в приемнике это просто установка одного и нескольких каналов в заранее запрограммированные или последние принятые значения…
Сообщение от SkyWorker
Я сейчас вытащил 12 каналов по сумм ппм.
Как так, 12 каналов не поместится в 20мс период. Или у меня опять пробел в знаниях?
Там по хитрому бывает, у разных апп по разному! Где то тут прикольные осцилограммки были от baychi, но это на передатчик. На приемники не уверен как они появляются.
К примеру. запоминаем ФС на приемнике с положением каналом газа нижнюю границу 1мс(-100%). Это и будет значения для определения ФС на приемнике. Подымаем тримами или другими настройками аппаратуры, границу на 10%. Это будет нуль для регулятора, при включении.
К примеру. запоминаем ФС на приемнике с положением каналом газа нижнюю границу 1мс(-100%). Это и будет значения для определения ФС на приемнике. Подымаем тримами или другими настройками аппаратуры, границу на 10%. Это будет нуль для регулятора, при включении.
Или наоборот: триммером или субтриммером вгоняем канал газа до -120%, например, сохраняем это положение в настройках апы как фс, затем возвращаем триммеры в 0. Все. Теперь если по каналу газа сигнал уйдет в этой диапазон, приемник поймет, что случился фс и даст команды всем сервпм встать в заданное положение. Ну а в нашем случае, АП перехвптит управление.
триммером или субтриммером вгоняем канал газа до -120%
Не все аппаратуры позволяют тримировать газ ниже 0(-100%). Но суть такая же.
Хорошо, поставлю вопрос так.
Достаточно ли будет, если я внедрю такую настройку:
- Задается канал приемника на котором анализируется состояние
- Если там раньше что-то было, а теперь пусто, значит FS
- Если там уход из зоны калибровки крайних положений, либо вверх, либо вниз, но не более чем (скажем) 30%, и повторяется хотя бы более 10 импульсов подряд и далее, значит FS
- если выходим из пункта 2 или 3 (длина импульса нормализовалась), значит передатчик вернулся на связь
Это исчерпывающий вариант?
Cortex - не дорогой
Ну, тут, возможно, засада. В эмбеддинг сообществе давно ходят мысли о том, что STM искусственно занизила цену чипов, чтоб выйти на рынок, и рано или поздно отобьёт своё. С атмелом ведь так же было (и есть). Сначала м48 стОила 20 рублёв и народ наклепал на них 100500 поделок. Сейчас оно стОит уже дороже ф100, но деваться некуда - не переделывать же проекты.
Меньше проводов и модулей - проще установить
Когда там будет один модуль, тогда да 😃
Не нужны специальные приспособления для обслуживания - проще пользоваться
Когда там блюпуп будет, тогда да 😃
Мощнее контроллер и больше памяти для ПО - приятнее и безопаснее летать
А вот это вообще к делу не относится. Недавно ковырял САУ от МИ-8, там 2кб внешней ПЗУ и 51-й камень на 2,5 МГц. И ведь летает уже лет 40… Да и на атмегах туева хуча живых проектов поднималась.
Хотя, несомненно, согласен, что когда чип есть, с такими ресурсами, глупо им не пользоваться.
родилось оно не случайно, а из нежелания на тот момент разгребать четный-нечетный полукадр. А так же по причине неясности сколь еще я скушаю оперативки. Чисто программным апгрейдом я могу увеличить разрешение по горизонтали в 1,5 раза и в 2 раза по вертикали. Увеличение по горизонтали более чем в 1,5 раза возможно, но не перебор ли это?
Кроме того надо принять во внимание следующее, что развертка белого буфера и черного идет аппаратно и одновременно. То есть их нужно иметь всегда 2 выделенных.
Вот и минус использования DMA как модулятора… А можно использовать 2 бита кодирования цвета и получить 2 оттенка серого (не считая Ч/Б), при этом заняв 256*192*2 = 98304 бит ОЗУ. То есть 13 кБайт всего. SRAM микросхемка на 16 ножек бывает минимум на мегабайт. И 133 МГц тактовой.
Это я сейчас с гордостью упоминаю ПЛИС 😃
А можно 3 бита, и иметь аж 9 цветов.
ПС. Кстати, сейчас вышли кисликсы с аппаратным контроллером DDR. Народ в буржунии уже VGA контроллеры на них лепит и мультики крутит. Ибо DDR уже где-то 512 Мбайт на камешек получается. И частоты там до гигагерца…
Понятно, что нафиг такие скорости не нужны, но меньше не бывает 😃
Не понимаю я, от куда берётся достоверная информация о векторе G, если он длительное время смещён за счёт центростремительного ускорения,
Ну так гироскопы то работают. Их уход позволяет им верить 1-2 минуты. Про секунды вообще не вопрос. Значит, если гиры показывают угол 10 градусов, то по акселю можно судить про ускорение,зная куда направлен вектор Жо и его примерный модуль.
Опять же, зная модуль Жо можно делать выводы, действуют ли на самик сейчас иные ускорения или нет.
Нет, аксель отбросится, компас его задавит. Кроме того достаточно выпрямить модель и тут же аксель включится и снимет дельту по крену.
То есть вектор состояния задан только через углы? Без скоростей?
Когда там будет один модуль, тогда да
у меня он один и есть в моей конфигурации.
Когда там блюпуп будет
Usb шнурок дешевле. Зачем нам синий зуб? По кой ляс? Настройки какие передать, не разбирая самолет? Так я и так их через передатчик могу передать.
То есть 13 кБайт всего
А у меня сколько памяти по вашему занято? Больше что-ли?
Минусов так и не увидел. При желании оттенки серого легко можно было получить посадив на пару корпусов элементарной логики. тогда будет и 4 оттенка и 9 и сколько угодно. Только я, вот хоть застрелите, не понимаю зачем оттенки серого на осд. Я и сейчас могу, ничего не меняя в схемотехнике чисто программно организовать черный, серый, белый. Тока нафига?
Это я сейчас с гордостью упоминаю ПЛИС…
Ибо DDR уже где-то 512 Мбайт на камешек получается
Сергей, не обижайтесь, но мне кажется ( как бы выразиться)…эээ…, может вам продали некачественные сигареты в супермаркете?😉
Без скоростей?
Вектор угловых скоростей всегда учитывается. Он на микротаймингах считается приоритетным и достоверным. Выводы о достоверности вектора G делаются на основании его текущего модуля. Чем дальше он от единицы, тем меньше ему доверия.
Зачем нам синий зуб?
Конфигурировать с пацанского ифона! 😃
А у меня сколько памяти по вашему занято? Больше что-ли?
Вы не врубантос. Я говорю о внешней памяти к ПЛИС. SRAM на мегабайт очень дешёвая, и быстрая.
Кстати, я давно вам говорил, что можно зарядить в ПЛИС бесплатное м0 ядро и всю математику поднять на нём. Будет МЕГА быстро. И компактней ф4 от STM 😃
При желании оттенки серого легко можно было получить посадив на пару корпусов элементарной логики.
А зачем нам логика, когда есть ПЛИС? 😃
Я и сейчас могу, ничего не меняя в схемотехнике чисто программно организовать черный, серый, белый. Тока нафига?
А обратную связь по чвету/яркости картинки под точкой сможете?
Нет. А значит и оттенки серого вам не нужны.
может вам продали некачественные сигареты в супермаркете?
Обоснуйте.
Вектор угловых скоростей всегда учитывается.
Не всегда. Например, в схеме пиро/гиро калман работает только по углам и вектор состояния фильтра задан ТОЛЬКО через углы. Скорость учитывается уже после калмана.
Вообще, калмана можно записать в 100500 формах.
можно зарядить в ПЛИС бесплатное м0 ядро и всю математику поднять на нём. Будет МЕГА быстро.
М3 с branch prediction и 2 уровнями кеша на 2 циклоне вывозит максимум 50 мипс - это при цене сборки ПЛИС+конфигуряшка ок. 700р. Если добавить аппаратный флоат, то будет 16 мфлопс, мерял. Какой к лешему М0? Так, быстренькая атмега… Вот если на этой же расшивке потом ASIC сделать - тогда да, прирост производилки значительный, в разы. А так все на вентилях съедается.
Вообще, циклон 5 уже идет со встроенным двухъядерным ARM9, странно, к чему бы это? А цена 260+ енотов за проц.
Dikoy сделайте на ПЛИС, мы сравним, что лучше, дешевле и проще. Автор решил, что STM предпочтительнее и делает на этом контроллере, в рамках данного проекта менять что либо уже поздно, а значит все эти разговоры ни к чему не приведут. Лично я видел у немцев ОСД на ПЛИС штука прикольная, но не укладывается в причины, по которым автор затеял всё это. Очень дорогой, довольно сложно установить и настроить, особенно если ты далек от премудростей всяких электронных. Но, правда, неплохо летает и на экране рисует тоже мне понравилось как, вообщем все как у многих только дорого и сложно. Всё это имеет место быть как ниша топовых гаджетов для профессионалов, но если вы спросите китайцев в чём успех китайской эконмики, то они вам скажут, что людям в основном во всём мире хочется чего попроще и подешевле. Открыл коробку, приклеел на липучку, нажал одну кнопку “вкл/выкл” и всё, ну типа как автомат калашникова - нет прецизионной точности, зато просто, надёжно и эффективно… “дёшево и сердито” одним словом.
М3 с branch prediction и 2 уровнями кеша на 2 циклоне вывозит максимум 50 мипс - это при цене сборки ПЛИС+конфигуряшка ок. 700р. Если добавить аппаратный флоат, то будет 16 мфлопс
Ну вот вы сами и ответили на свой вопрос.
Dikoy сделайте на ПЛИС
Так давно сделал.
мы сравним,
А вот это вряд ли.
в рамках данного проекта менять что либо уже поздно, а значит все эти разговоры ни к чему не приведут.
Всё, платы выбиты в граните, никогда-никогда не будет апгрейдов? 😃
Идея автора использовать канал DMA для вывода телеметрии имеет право на жизнь, конечно, но это всего лишь аналог тимометрии и прочих аналогичных проектов, просто сделано немного иначе. Ничего нового она не даёт.
Я же ему говорю про систему, которая даёт новое. Адаптацию картинки телеметрии к фону. При этом, заметьте, его систему я не критикую (разве что внешнюю логику, без которой можно было обойтись или сократить как минимум).
Очень дорогой, довольно сложно установить и настроить, особенно если ты далек от премудростей всяких электронных.
Хде дорогой?
Кисликс с 3 долларов начинается: www.t-way.ru/catalog-section.asp?sectionName=����&…
Например, www.t-way.ru/article.asp?articleName=XA2C128-7VQG1… в TQFP. 3000 вентилей вполне достаточно под такую задачу.
У и срамку за 8 баксов www.mouser.com/ProductDetail/…/CYDC128B16-55AXI/?q…
14 МГц, конечно, не фонтан, придётся скорость подстраивать, но сойдёт.
И того в 20 баксов все компоненты можно уложить вместе с платой на серии штук 300.
И получить кучу плюшек, которых в контроллерных телеметриях не будет никогда.
И получить кучу плюшек,
Эт точно. Можно даже типа “видеокарты” сделать на эмбеддед проце - передавать только примитивы типа “поставить линию от сих до сих”. Framebuffer - вот он, greyscale - пожалуйста, адаптивный фон - легко. Хорошо выглядит. Реализовывать гиморно. Попробуйте найти днем с огнем чувака, который одинаково хорошо пишет на vhdl и c++. (в себя пальцами не тыкать! 😁 ) В противном случае получится уже team, которая хочет жрать и пива.
После того как начатое доведу до релизного состояния, может и обращу свой взор на плисы. Пока нет таких планов. Сейчас я плисами не владею, соответственно Олег прав на 100%.
Вчера на диване провел первые успешные тесты управления сервами через STD модуль, подключенный к плате АП. Входной сигнал sumppm с отрицательными фронтами. Вроде все успешно прошло. Можно сказать, что я совсем близок к тому, чтобы перейти уже к летным испытаниям этого дела. По большому счету осталось настройки модуля прокинуть в консоль АП и дело в шляпе.
========================================
Вопрос вот какой. Я планирую управление режимами АП задавать настройками следующим образом:
Номер канала, начало диапазона в мкс, конец диапазона в мкс.
То есть, например вы знаете, что ваш трехпозиционник отдает длины импульса
Положение 1, импульс = 1100 мкс
Положение 2, импульс = 1500 мкс
Положение 3, импульс = 1800 мкс
И все это идет с канала #12.
соответственно в настройках модуля прописываем через консоль:
=>set mod manual_mode 12 1000 1200
=>set mod asist_mode 12 1400 1600
=>set mod rth_mode 12 1700 1900
и т.д.
соответственно в любой канал(или несколько каналов) можно засунуть управление режимами в любых комбинациях.
Такой подход будет нормальным?
Да, в полне.