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

ViktorDoma

Готов купить плату и набор деталей (кит). Запаяю на месте. Есть на чем тестировать и чё не жалко заморковить.

SGordon

Присоединился бы к покупке, как зарегистрироваться?

AlexSneg
SkyWorker:

С удовольствием потестил бы готовую плату

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

ViktorDoma:

Готов купить плату и набор деталей (кит).

SGordon:

Присоединился бы к покупке, как зарегистрироваться?

Пишите мне в личку. Я прикину что по кол-ву осталось. Скорее всего это будут последние экземпляры.

Если кому-то не хватит, не переживайте. Я готов дать гербер файлы, вы сможете сами скооперироваться и сами заказать у китайцев. Мне пришла от них посылка через 3 недели. Это рекорд в моей практике.

SkyWorker
AlexSneg:

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

Жаль. Я еще с начала проекта высказывал пожелания стать бета тестером.

AlexSneg
SkyWorker:

Жаль

не переживай, я может еще передумаю. Напиши мне в личку свое мыло.

AlexSneg
Dikoy:

С 2005 года так и летаю

Посмотрел, могу сказать только одно - РЕСПЕКТ. Для 2005 года - МЕГА РЕСПЕКТ БЕЗ ОГОВОРОК.
Но на данный момент в таких системах персонально для себя считаю, что наличие ATMega (в качестве головного мозга), пирометров и кучу мелких платок, как самостоятельных модулей, порождающих кучу проводов на борту самолета - системными, неисправимыми косяками для подобных систем 2012 года.

Dikoy
AlexSneg:

Но на данный момент в таких системах персонально для себя считаю, что наличие ATMega

Есно 😉 Там последние платы 2009 года. А сейчас АП собран как раз на стм32 и с гироскопами. Впрочем, и пирометры там присутствуют. rcopen.com/forum/f90/topic279708
Если присмотреться к моим платам, то там виден не только модем, но и 6 ППМ входов. Это я к тому, что лихо забивать на ППМ не стоит. Таки удобно. Первые платы 2005 года ППМ не имели. Я также считал что нафиг надо. Но со временем пришёл к их необходимости.
Насчёт отдельных модулей, там нечто вроде CAN реализовано. Это не баг, а фича. При включении головной модуль опрашивает адреса и конфигурирует струкутуру АП исходя из наличествующих модулей. Такой plug and play. Я могу поставить пироголовку, а могу гиро. Могу поставить ГЛОНАСС, могу ЖПС. Причём на лету в поле. Да и проводов не много - коммуникация по 4 жилам. Всего 3-4 шлейфа.

Ну и про атмегу. Вот тут ресурс атмеги занят где-то на треть: www.dikoy44.narod.ru/projects/pyroavtopilot.htm
2/3 времени она пинает болду. Так что тоже не всё категорично. Хотя, конечно, атмега - отмирающая ветвь эволюции.

AlexSneg
Dikoy:

Это я к тому, что лихо забивать на ППМ не стоит. Таки удобно

Ну вот нет у меня сейчас на передатчике и приемнике никакого PPM в природе. Так до сих пор и не могу вкурить, зачем корове пятая нога. Есть приемник, он знает все про сервы и внешние датчики. Есть АП, он главная рыба в моем пруду. Как только приемник обнаруживает АП на своем USART он перестает думать о чем-то, кроме как принять от передатчика и передать в АП + он передает параметры датчиков, которые к нему цепляются в АП. Мне не нужно больше никаких модулей. АП имеет у себя на борту полный комплект всего, что надо, чтобы построить надежный алгоритм для полета самолета. Две маленькие платки на борту самолета и провода только от серв в приемник - я считаю разумно. Конечно в идеале хочется одну плату приемник + автопилот. Но, об этом пока рано, это ооочень дальняя перспектива.

Ваша концепция так же имеет право на жизнь, тут вообще никаких вопросов быть не может. Но я хочу жить со своей концепцией. CAN это здорово. Но can ради can мне кажется лишним на данный момент развития приводных исполнительных устройств. Вот когда я увижу дешевые и доступные сервы и другие механизмы, работающие по кан шине, я клянусь, что немедленно закрою тему PWM и подниму знамя CAN на борту своего самолета.

Dikoy:

Ну и про атмегу. Вот тут ресурс атмеги занят где-то на треть

Закидайте в AVR микроконтроллер обработку кучки I2C мемсов, OSD с двумя экранными буферами, GPS, расчет горизонта через фильтр кальмана на float типах, баро высотомер на честных float ах, процедуры стабилизации и навигации. Потом расскажите нам сколько там ресурсов осталось. Если чего, то вместе посмеёмся, и поглумимся над STM, как оно слило AVRке.

Dikoy
AlexSneg:

Но я хочу жить со своей концепцией.

А я вам запрещаю? 😃 Просто я вижу ряд граблей, по которым прошёлся сам. Прислушаться к моим советам или нет - дело ваше.
Например приёмник отдельно от АП. Какой маршрут передачи приоритетней? 😉 На моих платах модем жёстко сидит на МК управления, а блоку навигации информация отдаётся по мере сил. То же с телеметрией назад. У вас же приёмник отнесён отдельным блоком. Это вам ещё аукнется 😉

AlexSneg:

Но can ради can мне кажется лишним на данный момент развития приводных исполнительных устройств. Вот когда я увижу дешевые и доступные сервы и другие механизмы, работающие по кан шине, я клянусь, что немедленно закрою тему PWM и подниму знамя CAN на борту своего самолета.

CAN я использую для межплатной коммуникации. Сервы есно сидят на ШИМ выходах.
Посмотрите сколько там разных модификаций плат. Есть пиропилот, есть гиропилот, есть штук 8 разных модулей навигации. С разными характеристиками и ценой. И всё это я могу собирать как ПК, ибо они полностью совместимы. Рекомендую вам изначально закладывать такую концепцию. Ибо в процессе развития вы будете делать всё новые и новые платы, а старые будут оставаться не удел.
Я говорил про ШИМ входы - возможность управления ЛА штатным передатчиком. Во-1 это резервный канал связи, во-2 это упрощение для рада пользователей. И всё ценой N внешних прерываний. Даже атмеге не составляет труда обработать 6 прерываний (при этом оставляя 2/3 ресурса свободными).

AlexSneg:

Закидайте в AVR микроконтроллер обработку кучки I2C мемсов, OSD с двумя экранными буферами, GPS, расчет горизонта через фильтр кальмана на float типах, баро высотомер на честных float ах, процедуры стабилизации и навигации.

Всё это (кроме OSD, делать которую на МК само по себе извращение) я с успехом заталкивал в АВР. И калманы работали, и уж тем более “процедуры стабилизации и навигации” 😃
Что касается ОСД и датчиков, то Тим наглядно показал что это возможно в сраненькой атмеге 8. За что ему уважуха. Хоть я никогда не разделял его тяги к впихуемости невпихуемого и считаю его работу Сизифовым трудом. Моя ОСД, например, сделана на нормальной ПЛИС с нормальным видеобуфером и анализом изображения. Если я вижу, что фон светлый, я ставлю тени. Если фон тёмный, то могу подсветить цифры. И всё это чуть дороже извращения с атмегой (хотя смотря где делать). Зато никаких проблем с ресурсом и скоростью. Для ПЛИС развёртка камеры - это долгий и скучный процесс 😃
Что до float, то не понятно нафига. Вся математика навигации прекрасно ложится в целочисленку. Которая одинаково хорошо работает и на авр, и в стм8/32. Калман да, без плавучки запустить сложно. Но можно. Правда это будет повторение Тимовского подвига… 😃 Точности же работа во float не добавляет, а даже наоборот.

AlexSneg:

Если чего, то вместе посмеёмся, и поглумимся над STM, как оно слило AVRке.

Вы не уловили суть.

Drinker
AlexSneg:

Но возврат, это в большей степени программная фича.

Так это всё программные фичи. Или ты уже боготворишь кортексм4, типо сам посебе летает?
Проц и проц. Я лична тихо мирно перешол на него с м3.
Автор стопицотый раз хочу спросит - в чем новизна твой поделки? Чем она лучше того-же ардупилота?
Только не надо про стм. Для пользователя чем лучше?

Oliver
Dikoy:

Что касается ОСД и датчиков, то Тим наглядно показал что это возможно в сраненькой старенькой атмеге 8. За что ему уважуха.

А китайцы вон вообще в е-осд без синхроселектора обошлись. И в той же 8-ке вкрутили программный детектор синхры. И народ кушает. Ибо народу надо не только золото, а иногда надо даже и без блеска. ЛУТят, собирают, летают и хвалят китай, каким бы он китайским не был. О чем это я? Не, вовсе не о бесполезности проекта. Все нормально, динамичненько так, лихо, с задором. Следить интересно и, без шуток, местами очень положительно. Надо отдать должное автору, похвалить. Но не стоит стараться делать круто только ради круто. Так же как CAN ради CAN и флоат бародатчик ради флоат. В этом я поддержу других зрителей.

serj
Dikoy:

Всё это (кроме OSD, делать которую на МК само по себе извращение) я с успехом заталкивал в АВР. И калманы работали, и уж тем более “процедуры стабилизации и навигации” 😃

Что до float, то не понятно нафига. Вся математика навигации прекрасно ложится в целочисленку. Которая одинаково хорошо работает и на авр, и в стм8/32. Калман да, без плавучки запустить сложно. Но можно. Правда это будет повторение Тимовского подвига… 😃 Точности же работа во float не добавляет, а даже наоборот.
Вы не уловили суть.

Сергей, рад вас увидеть снова здесь!

Мы с вами принадлежим к “предыдущему поколению” , для которого программирование еще не превратилось в ремесло, увы.

Тогда, 6-7лет назад ресурсная база была скудна и подходы “оптимального программирования” вырабатывались автоматически.
В 2005г у меня первая версия автопилота с ИНС весила всего 12кб, на атмеге32. При этом функционал был богаче чем сейчас у большинства коммерческих АП. За 4 года проект оброс огромным количеством сервиса , что подняло объем до 32 кб и мега исчерпала себя, была переведена на стм 32.

Сейчас ресурсы вычисления развиваются чем потребности, даже с учетом неоптимального программирования. У такого подхода есть и плюсы - разработка существенно ускорилась, и минусы - пользователю не надо разбираться, КАК ИМЕННО работают некоторые модули. Через несколько лет уже будет сложно понять, как работает та или иная функция периферийной библиотеки например, т.к исходники неинтересны… И некоторые баги, изначально сидевшие в системе и не мешавшие другим пользователям - очень сложно будет обнаруживать.

AlexSneg
Dikoy:

Какой маршрут передачи приоритетней?

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

Приемник отдельно от АП существует как временное компромисное решение. В идеале я иду к решению объединения приемника и АП в одном МК.

Dikoy:

Посмотрите сколько там разных модификаций плат.

Я как бы еще раз подчеркиваю, моя цель - НЕ иметь много разных модификаций плат, а иметь все в одном месте. В идеале я хочу видеть именно один микроконтроллер, делающий ВСЕ внутри самолета. Но я не могу сделать это сразу, я последовательно иду к этой цели. Первый шаг ПРИЕМНИК + АП. Ну не могу я чисто физически сделать второй шаг без первого. Это было бы и технологически неверно, я считаю.

Dikoy:

Моя ОСД, например, сделана на нормальной ПЛИС с нормальным видеобуфером и анализом изображения.

У меня нормальный видеобуфер, если вы еще не заметили. Какая разница с точки зрения финального результата развертку ПЛИС делает или DMA микроконтроллера? Только у себя я имею существенный запас по софтовой гибкости. Я могу сделать новую прошивку МК и поменять разрешение экрана. Вы же будете вынуждены переписывать прошивку ПЛИС каждый раз + перешивать свой микроконтроллер. Кроме того ПЛИС это +1 кристалл на плате. Я не хочу иметь еще одну микросхему и гемороить ее прошивкой конечного пользователя, если у меня есть аппаратный ресурс STM для элегантного решения проблемы развертки зачем мне мучить пользователя ПЛИСами, если я могу тихо и мирно решить все софтово?

Dikoy:

Если я вижу, что фон светлый, я ставлю тени

Я думал о такой аппаратной штуке, тем более, что решение несложное. Потом отказался сознательно. Мне место на плате дороже этой феньки. Не нужна она по большому счету.

Dikoy:

Я говорил про ШИМ входы - возможность управления ЛА штатным передатчиком.

Я как бы пытаюсь постоянно объяснить, моя изначальная концепция не предполагает штатных передатчиков. Единственный компромис на который я в данном случае иду, это модуль согласования штатного приемника с моим автопилотом. Никаких других модулей не будет. Если пользователь полетает на штатной аппе, а потом ему понравится и он захочет пойти дальше, то ему достаточно будет просто убрать модуль, и поставить мой приемник - все!

Dikoy:

Что до float, то не понятно нафига

Я тоже не понимал пока не сравнил вычисление баровысоты в BMP085 на целых числах и во во флоатах. Здесь ведь не только скорость но и накопительная точность и плотность кода важна.

И зачем использовать int если float для M4 это нативный тип данных?

Dikoy:

Вся математика навигации прекрасно ложится в целочисленку

Хорошая навигация - это следствие хорошего искусственного горизонта. Качественный искусственный горизонт на MEMS датчиках без вычислительной мощности в плавучке вы не получите никогда.
Кстати почему тогда не сделали все на , КР580ВМ80А ?

Dikoy:

Точности же работа во float не добавляет, а даже наоборот

Вот здесь я действительно не понял. Можете пояснить на конкретных примерах чтобы я уловил обобщение?
Вычислите мне в целых числах ln(8.456321 * 10e18 / 0.88941) ???

Dikoy:

Вы не уловили суть.

Уловил я все. Но остаюсь при своем мнении. Даже если мне нужно будет помигать светодиодом, я все равно поставлю STM потому что, АТМега128 стоит 250руб, а STM32F100RBT6 стоит 130 руб, вот и вся суть. Есть аргументы против этого?

serj:

Мы с вами принадлежим к “предыдущему поколению”

Я начинал с Радио-86рк. Писал все на асме и считал, что ничего лучше в жизни не бывает. Однако ж нет смысла кататься на ВАЗ2101 если есть BMW, хотя по большому счету и то и то способно перевозить задницу из точки А а точку Б.
Про ремесло утверждение спорное, да есть области в программировании, который изъездили вдоль и поперек. Однако ж сколько вы можете найти здесь человек на этом форуме способных например написать простенький драйвер для PCI железки под винду?

Drinker
AlexSneg:

простенький драйвер для PCI железки под винду?

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

AlexSneg:

Качественный искусственный горизонт на MEMS датчиках без вычислительной мощности в плавучке вы не получите никогда.

че ты рассказываешь? на атмеге прекрасно получалось.

AlexSneg:

Какая разница с точки зрения финального результата

Когда у тебя сбойнет твой встроенный осд, самолету - пипец, таккак все повиснет.

AlexSneg
Drinker:

че ты рассказываешь? на атмеге прекрасно получалось.

Пруфлинк на проект, будьте добры. А тебя то собственно что на STM понесло, если на мегах все классно работало?

Drinker:

таккак все повиснет

Вот вроде бы ты делаешь что-то на STM, а мыслишь как программер под АВР.
Будь уже последователен и расскажи нам, что делает STM когда КОП неверный в конвеер приходит или кварц накрывается медным тазом и что по этому же поводу сделает любимый AVR.

Drinker
AlexSneg:

А тебя то собственно что на STM понесло,

А мне собственно фиолетово стм или авр.
Почему стм - не могла решить одну задачку аврка, вот и заюзал стм.

Я пытаюсь донести мысль, что не стоит городить огород стм ради стм.

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

Про бмп085, ты хвалишся, что в флоат считаешь. Читал я эту статью. Да хоть в даблах делай - механика датчика не позволяет получить с него точнее ± 1м. Покажи видео испытаний датчика (двигай его вверх-вниз и снимай показания хоть целые хоть флоат).
Это я к тому, что не надо на конкретный проц молится. Я понимаю радость, что удалось его запустить, ну и что?

AlexSneg:

расскажи нам, что делает STM когда КОП неверный в конвеер приходит или кварц накрывается медным тазом и что по этому же поводу сделает любимый AVR.

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

На днях ветку создам в теме фпв. Гарантирую - ты офигеешь.
Но писать про программисткие заморочки не стану. Тут некий новый ФУНКЦИОНАЛ будет описан.

И естественно мозг на твоём кумире - 32ф405рг

AlexSneg
Drinker:

На днях ветку создам в теме фпв. Гарантирую - ты офигеешь.

Жду ветки… Пойду запасаться чипсами.

PAF
Drinker:

На днях ветку создам в теме фпв. Гарантирую - ты офигеешь.

В смысле от слова “фига”?! “Фигушки”?! …фигушки! Я плотоядная!!!.. (из мультика про Вовку в тридевятом царстве.) Такое выражение сродни известному - Увы! Иначе говоря пришел конец иллюзиям! Как бы говорящий дает понять, что с него ничего не нужно ждать!
А как же… ? Ну неужто -хвалился, хвалился… да на бок завалился?! В смысле не вышел из крена? Да-а… так тоже бывает…😦 Взял ручку на себя покруче…, вроде во-от свеча! А эта свеча-то 😦 из аптеки! И вставляется она в другое известное место при известных болезнях того места. Нет! Не может быть! Drinker опытный пилот! Подождем еще.

AlexSneg

У нас дождь и все печально. Прогноз погоды категоричен. Похоже испытания накрываются медным тазом. Подожду конечно еще до вечера, может перестанет, но все равно лужи будут на аэродроме. Пл…я, вчера до 3 ночи готовился, новые цифровые сервы Короны достал из загашника, поставил их. Антенны, провода, протестил, штатив себе смастрячил, все собрал, по квартире самолет в руках больше часа таскал. И тут такое.

Вот вопрос такой. 1,5ватта как я теперь точно понял, было ошибкой. Реально надо максимум 500мВт. Оно конечно и передачик гасит, и все провода в самолете накрывает существенным фоном. Нет оно, конечно работает в пределах квартиры, но фиг знает как там в поле будет. Пока в пределах квартиры, я фиксирую потерю RSSI уровня -10dB. Но даже не это меня беспокоит. Вот эти 1,5 ватта лезут в видео сигнал композитный. То есть, конечно с фронтами там реальный расколбас. Как народ защищает этот сигнал от наводок излучения передающей антенны? OSD конечно не срывает, но подергивания всей картинки есть от этого. Выключаю передатчик - видео стоит мертво. То есть явно надо что-то делать в перспективе. Пока не понял что. Народ как вы с этим боретесь?

Ладно, пойду список компонентов готовить, как обещал

Drinker
PAF:

В смысле от слова “фига”?! “Фигушки”?! …фигушки! Я плотоядная!!!..

С Вами я не разговаривал.

AlexSneg:

OSD конечно не срывает, но подергивания всей картинки есть от этого. Выключаю передатчик - видео стоит мертво.

Алекс, это первая ласточка из того, о чем я тебе говорил в самых первых постах. (про совмещение осд с остальным).
Сделай осд на отдельном камне м4 и мозг отдельно.