flybrain. передатчик + приемник + автопилот. powered by stm32

SkyWorker

ФС- выход сигнала за границы откалиброванного диапазона. Обычно так.
Сумм ппм я встречал как негативный, так и позитивный. Эксперт помоему как то сделал так, чтш понимает оба варианта, определяет сам автоматически. Лучше делать так конечно.
Количество канал чем больше, тем лучше 😃.
Я сейчас вытащил 12 каналов по сумм ппм. Наверно оптимально. Но вдруг кто на копиях полетит по фпв! 😃 им маловато будет.

AlexSneg
SkyWorker:

ФС- выход сигнала за границы откалиброванного диапазона

В каких пределах? 10мкс может поставить? На каком канале? заранее заданном?
А как тогда оно FS положение серв устанавливает, если выходит за границы допустимого диапазона? Кстати выходит в большую или меньшую сторону?

SkyWorker:

Я сейчас вытащил 12 каналов по сумм ппм.

Как так, 12 каналов не поместится в 20мс период. Или у меня опять пробел в знаниях?

BAU
AlexSneg:

На каком канале? заранее заданном?

Обычно используют канал газа. Это самое удобное, поскольку регулятор калибрует свой нуль при подаче напряжения.

Панкратов_Сергей
AlexSneg:

В каких пределах? 10мкс может поставить? На каком канале? заранее заданном?

Нет, это как критерий брать нельзя. Случайные импульсы идут со старых FM приемников.
На современных - либо ничего , либо последнее что было, либо запомненное как файлсейф.
Потому файлсейф понимать только по запрограммированной длительности канала , который под это и отдали ( или изгаляться с каналом газа).

SGordon
AlexSneg:

Сообщение от SkyWorker
ФС- выход сигнала за границы откалиброванного диапазона
В каких пределах? 10мкс может поставить? На каком канале? заранее заданном?

В пределах откалиброванного, 10 мкс перебор, каналы настраивать лучше всего.

AlexSneg:

А как тогда оно FS положение серв устанавливает, если выходит за границы допустимого диапазона? Кстати выходит в большую или меньшую сторону?

FS в приемнике это просто установка одного и нескольких каналов в заранее запрограммированные или последние принятые значения…

AlexSneg:

Сообщение от SkyWorker
Я сейчас вытащил 12 каналов по сумм ппм.
Как так, 12 каналов не поместится в 20мс период. Или у меня опять пробел в знаниях?

Там по хитрому бывает, у разных апп по разному! Где то тут прикольные осцилограммки были от baychi, но это на передатчик. На приемники не уверен как они появляются.

BAU

К примеру. запоминаем ФС на приемнике с положением каналом газа нижнюю границу 1мс(-100%). Это и будет значения для определения ФС на приемнике. Подымаем тримами или другими настройками аппаратуры, границу на 10%. Это будет нуль для регулятора, при включении.

SkyWorker
BAU:

К примеру. запоминаем ФС на приемнике с положением каналом газа нижнюю границу 1мс(-100%). Это и будет значения для определения ФС на приемнике. Подымаем тримами или другими настройками аппаратуры, границу на 10%. Это будет нуль для регулятора, при включении.

Или наоборот: триммером или субтриммером вгоняем канал газа до -120%, например, сохраняем это положение в настройках апы как фс, затем возвращаем триммеры в 0. Все. Теперь если по каналу газа сигнал уйдет в этой диапазон, приемник поймет, что случился фс и даст команды всем сервпм встать в заданное положение. Ну а в нашем случае, АП перехвптит управление.

BAU
SkyWorker:

триммером или субтриммером вгоняем канал газа до -120%

Не все аппаратуры позволяют тримировать газ ниже 0(-100%). Но суть такая же.

AlexSneg

Хорошо, поставлю вопрос так.
Достаточно ли будет, если я внедрю такую настройку:

  1. Задается канал приемника на котором анализируется состояние
  2. Если там раньше что-то было, а теперь пусто, значит FS
  3. Если там уход из зоны калибровки крайних положений, либо вверх, либо вниз, но не более чем (скажем) 30%, и повторяется хотя бы более 10 импульсов подряд и далее, значит FS
  4. если выходим из пункта 2 или 3 (длина импульса нормализовалась), значит передатчик вернулся на связь

Это исчерпывающий вариант?

Dikoy
UnderGod:

Cortex - не дорогой

Ну, тут, возможно, засада. В эмбеддинг сообществе давно ходят мысли о том, что STM искусственно занизила цену чипов, чтоб выйти на рынок, и рано или поздно отобьёт своё. С атмелом ведь так же было (и есть). Сначала м48 стОила 20 рублёв и народ наклепал на них 100500 поделок. Сейчас оно стОит уже дороже ф100, но деваться некуда - не переделывать же проекты.

UnderGod:

Меньше проводов и модулей - проще установить

Когда там будет один модуль, тогда да 😃

UnderGod:

Не нужны специальные приспособления для обслуживания - проще пользоваться

Когда там блюпуп будет, тогда да 😃

UnderGod:

Мощнее контроллер и больше памяти для ПО - приятнее и безопаснее летать

А вот это вообще к делу не относится. Недавно ковырял САУ от МИ-8, там 2кб внешней ПЗУ и 51-й камень на 2,5 МГц. И ведь летает уже лет 40… Да и на атмегах туева хуча живых проектов поднималась.
Хотя, несомненно, согласен, что когда чип есть, с такими ресурсами, глупо им не пользоваться.

AlexSneg:

родилось оно не случайно, а из нежелания на тот момент разгребать четный-нечетный полукадр. А так же по причине неясности сколь еще я скушаю оперативки. Чисто программным апгрейдом я могу увеличить разрешение по горизонтали в 1,5 раза и в 2 раза по вертикали. Увеличение по горизонтали более чем в 1,5 раза возможно, но не перебор ли это?
Кроме того надо принять во внимание следующее, что развертка белого буфера и черного идет аппаратно и одновременно. То есть их нужно иметь всегда 2 выделенных.

Вот и минус использования DMA как модулятора… А можно использовать 2 бита кодирования цвета и получить 2 оттенка серого (не считая Ч/Б), при этом заняв 256*192*2 = 98304 бит ОЗУ. То есть 13 кБайт всего. SRAM микросхемка на 16 ножек бывает минимум на мегабайт. И 133 МГц тактовой.
Это я сейчас с гордостью упоминаю ПЛИС 😃
А можно 3 бита, и иметь аж 9 цветов.
ПС. Кстати, сейчас вышли кисликсы с аппаратным контроллером DDR. Народ в буржунии уже VGA контроллеры на них лепит и мультики крутит. Ибо DDR уже где-то 512 Мбайт на камешек получается. И частоты там до гигагерца…
Понятно, что нафиг такие скорости не нужны, но меньше не бывает 😃

rual:

Не понимаю я, от куда берётся достоверная информация о векторе G, если он длительное время смещён за счёт центростремительного ускорения,

Ну так гироскопы то работают. Их уход позволяет им верить 1-2 минуты. Про секунды вообще не вопрос. Значит, если гиры показывают угол 10 градусов, то по акселю можно судить про ускорение,зная куда направлен вектор Жо и его примерный модуль.
Опять же, зная модуль Жо можно делать выводы, действуют ли на самик сейчас иные ускорения или нет.

AlexSneg:

Нет, аксель отбросится, компас его задавит. Кроме того достаточно выпрямить модель и тут же аксель включится и снимет дельту по крену.

То есть вектор состояния задан только через углы? Без скоростей?

AlexSneg
Dikoy:

Когда там будет один модуль, тогда да

у меня он один и есть в моей конфигурации.

Dikoy:

Когда там блюпуп будет

Usb шнурок дешевле. Зачем нам синий зуб? По кой ляс? Настройки какие передать, не разбирая самолет? Так я и так их через передатчик могу передать.

Dikoy:

То есть 13 кБайт всего

А у меня сколько памяти по вашему занято? Больше что-ли?
Минусов так и не увидел. При желании оттенки серого легко можно было получить посадив на пару корпусов элементарной логики. тогда будет и 4 оттенка и 9 и сколько угодно. Только я, вот хоть застрелите, не понимаю зачем оттенки серого на осд. Я и сейчас могу, ничего не меняя в схемотехнике чисто программно организовать черный, серый, белый. Тока нафига?

Dikoy:

Это я сейчас с гордостью упоминаю ПЛИС…
Ибо DDR уже где-то 512 Мбайт на камешек получается

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

Dikoy:

Без скоростей?

Вектор угловых скоростей всегда учитывается. Он на микротаймингах считается приоритетным и достоверным. Выводы о достоверности вектора G делаются на основании его текущего модуля. Чем дальше он от единицы, тем меньше ему доверия.

Dikoy
AlexSneg:

Зачем нам синий зуб?

Конфигурировать с пацанского ифона! 😃

AlexSneg:

А у меня сколько памяти по вашему занято? Больше что-ли?

Вы не врубантос. Я говорю о внешней памяти к ПЛИС. SRAM на мегабайт очень дешёвая, и быстрая.
Кстати, я давно вам говорил, что можно зарядить в ПЛИС бесплатное м0 ядро и всю математику поднять на нём. Будет МЕГА быстро. И компактней ф4 от STM 😃

AlexSneg:

При желании оттенки серого легко можно было получить посадив на пару корпусов элементарной логики.

А зачем нам логика, когда есть ПЛИС? 😃

AlexSneg:

Я и сейчас могу, ничего не меняя в схемотехнике чисто программно организовать черный, серый, белый. Тока нафига?

А обратную связь по чвету/яркости картинки под точкой сможете?
Нет. А значит и оттенки серого вам не нужны.

AlexSneg:

может вам продали некачественные сигареты в супермаркете?

Обоснуйте.

AlexSneg:

Вектор угловых скоростей всегда учитывается.

Не всегда. Например, в схеме пиро/гиро калман работает только по углам и вектор состояния фильтра задан ТОЛЬКО через углы. Скорость учитывается уже после калмана.
Вообще, калмана можно записать в 100500 формах.

Syberian
Dikoy:

можно зарядить в ПЛИС бесплатное м0 ядро и всю математику поднять на нём. Будет МЕГА быстро.

М3 с branch prediction и 2 уровнями кеша на 2 циклоне вывозит максимум 50 мипс - это при цене сборки ПЛИС+конфигуряшка ок. 700р. Если добавить аппаратный флоат, то будет 16 мфлопс, мерял. Какой к лешему М0? Так, быстренькая атмега… Вот если на этой же расшивке потом ASIC сделать - тогда да, прирост производилки значительный, в разы. А так все на вентилях съедается.

Вообще, циклон 5 уже идет со встроенным двухъядерным ARM9, странно, к чему бы это? А цена 260+ енотов за проц.

UnderGod

Dikoy сделайте на ПЛИС, мы сравним, что лучше, дешевле и проще. Автор решил, что STM предпочтительнее и делает на этом контроллере, в рамках данного проекта менять что либо уже поздно, а значит все эти разговоры ни к чему не приведут. Лично я видел у немцев ОСД на ПЛИС штука прикольная, но не укладывается в причины, по которым автор затеял всё это. Очень дорогой, довольно сложно установить и настроить, особенно если ты далек от премудростей всяких электронных. Но, правда, неплохо летает и на экране рисует тоже мне понравилось как, вообщем все как у многих только дорого и сложно. Всё это имеет место быть как ниша топовых гаджетов для профессионалов, но если вы спросите китайцев в чём успех китайской эконмики, то они вам скажут, что людям в основном во всём мире хочется чего попроще и подешевле. Открыл коробку, приклеел на липучку, нажал одну кнопку “вкл/выкл” и всё, ну типа как автомат калашникова - нет прецизионной точности, зато просто, надёжно и эффективно… “дёшево и сердито” одним словом.

Dikoy
Syberian:

М3 с branch prediction и 2 уровнями кеша на 2 циклоне вывозит максимум 50 мипс - это при цене сборки ПЛИС+конфигуряшка ок. 700р. Если добавить аппаратный флоат, то будет 16 мфлопс

Ну вот вы сами и ответили на свой вопрос.

UnderGod:

Dikoy сделайте на ПЛИС

Так давно сделал.

UnderGod:

мы сравним,

А вот это вряд ли.

UnderGod:

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

Всё, платы выбиты в граните, никогда-никогда не будет апгрейдов? 😃
Идея автора использовать канал DMA для вывода телеметрии имеет право на жизнь, конечно, но это всего лишь аналог тимометрии и прочих аналогичных проектов, просто сделано немного иначе. Ничего нового она не даёт.
Я же ему говорю про систему, которая даёт новое. Адаптацию картинки телеметрии к фону. При этом, заметьте, его систему я не критикую (разве что внешнюю логику, без которой можно было обойтись или сократить как минимум).

UnderGod:

Очень дорогой, довольно сложно установить и настроить, особенно если ты далек от премудростей всяких электронных.

Хде дорогой?
Кисликс с 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.
И получить кучу плюшек, которых в контроллерных телеметриях не будет никогда.

Syberian
Dikoy:

И получить кучу плюшек,

Эт точно. Можно даже типа “видеокарты” сделать на эмбеддед проце - передавать только примитивы типа “поставить линию от сих до сих”. Framebuffer - вот он, greyscale - пожалуйста, адаптивный фон - легко. Хорошо выглядит. Реализовывать гиморно. Попробуйте найти днем с огнем чувака, который одинаково хорошо пишет на vhdl и c++. (в себя пальцами не тыкать! 😁 ) В противном случае получится уже team, которая хочет жрать и пива.

AlexSneg

После того как начатое доведу до релизного состояния, может и обращу свой взор на плисы. Пока нет таких планов. Сейчас я плисами не владею, соответственно Олег прав на 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

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

Такой подход будет нормальным?

UnderGod
Dikoy:

Хде дорогой?
Кисликс с 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.
И получить кучу плюшек, которых в контроллерных телеметриях не будет никогда.

Тот немецкий OSD на ПЛИС, что я видел, был дорогой, в готовом виде под 1000 долларов, вроде говорили (я не говорю про себестоимость, я о продажной цене и видимо на то есть у фрицев причины столько зелени просить). Видел в самолёте, в руках не держал, на вид довольно большая плата, куча проводов, сама микросхема ПЛИС внушительных размеров, чип выглядит толстым и тяжелым. И что бы запрограммировать такую хрень нужно было отковырять флэш из панельки и иметь программатор который тоже за 100 баксов вроде стоит. А уж настроить такое чудо, вообще без стакана не разберешься, как мне показалось. Правда, настроенный, потом весьма хорошо себя показывает во всех отношениях. Ну и кому это надо? Все кто видел, говорили - “понты”. Хотя, бесплатно, я бы взял себе такую штуку 😃

hav22
AlexSneg:

После того как начатое доведу до релизного состояния, может и обращу свой взор на плисы. Пока нет таких планов. Сейчас я плисами не владею, соответственно Олег прав на 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

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

Такой подход будет нормальным?

Только нужен путь определения длительности импульса для заданного канала. А так вроде нормально.

AlexSneg
hav22:

путь определения длительности импульса

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