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

fmkit
AlexSneg:


STM32F405RG - камень… Понимаешь, в нашем камушке 192кб честно озу…Как вариант, поскольку в моем камне памяти 1Мег…Вооо, посылка с камнями пришла…У меня таймеров на борту камня штук10…Камень не будет отвлекаться это раз. …Быстродействие камня в сотню раз больше быстродействия i2c.Реализовывать i2c софтово, это поставить камень на ручник. ,…Куда проще ( с точки зрения скорости разработки) взять камень с 5000 процентным запасом…Теперь по названию. Хотелось бы уйти от стереотипных штампов в принципе и названий типа Open SomeThing… в частности.

Извините !
Не удержался ! 😃

КаменныйМозг !

AlexSneg
serj:

Почему-то все начинающие так думают-

Ну вот обозвали начинающим. Пошел фоткать передатчик с приемником, а то так и будут считать, что ничего не работает и ничего не летает.
И еще раз, я не буду на первом этапе ничего изобретать. Возьмем то, что есть и портируем. На данном этапе я склоняюсь к порту МегаПирата. Дальше будем смотреть в какую сторону развивать.

serj:

ну не чувствует человек пока что такое синхронный интерфейс

Я как раз знаю что такое программный I2C поэтому и не буду реализовывать такю шнягу, когда процессор в 20 раз работает быстрее чем предельная скорость выдачи 1 бита, которую может воспринять слэйв устройство. Я не видел ни одной программной реализации I2C которая бы не тормозила проц в пустых ожиданиях

serj:

На 400-мегагерцовом TMS320

я читал эту ветку и долго ждал пока будут результаты. Но автора понесло в GSM управление и какие-то побочные продукты. К тому же для меня подход к DSP достаточно проблематичен. Да, там до фига вычислительной мощности, но не развитая периферия (может конечно я не те модели смтрел, но из доступных это именно так). Размер корпусов - конский. И у меня нет навыков и аппаратуры аппаратного дебага. Затраты на подход с нуля к STM для человека , который имеет дело с атмелом примерно 1000руб на все железо.

fmkit:

Даите мне вашу платку потестить

Если бы вы жили в Н.Н., то без проблем дал бы. Сейчас выложу схему приемника и передатчика, как это есть на данный момент в рабочем состоянии. Можете дорисовать выходной усилитель, какой пожелаете, я его соберу, посмотрим как будет работать. Беретесь за это дело? Только чур делать из обще доставаемых компонентов.

fmkit:

КаменныйМозг

Stone Brain

Так?

serj:

Всего 1 нога- как футаба!

так и придем к этому в последствии 😉

fmkit
AlexSneg:


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

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

Stone Brain

Так?

если добавить всего одну букву то название преврашается в родное и понятное для большинства англоязычных -
Stoned Brain 😃

serj
AlexSneg:

Ну вот обозвали начинающим. …////
Я как раз знаю что такое программный I2C поэтому и не буду реализовывать такю шнягу, когда процессор в 20 раз работает быстрее чем предельная скорость выдачи 1 бита, которую может воспринять слэйв устройство. Я не видел ни одной программной реализации I2C которая бы не тормозила проц в пустых ожиданиях

“Пустые ожидания”- это , что называется решение “в лоб”, простите. Оно подходит было для тех приложений - где вагон времени.
Если “вы не видели реализации” - это не значит, что этого нельзя СОЗДАТЬ САМОМУ. Вопрос только потраченного времени. В вашем случае кристалл дешевле потраченного времени.

На Атмеге с ее большими по сравнению с STM32 затратами времени на прерывания на прерывания и на порядок более низкой тактовой-
действительно софтовая реализация приводила бы к замедлению в 8-12раз. (просто мало инструкций “основного” кода можно было выполнить во время пауз интерфейса)
На stm32- ожидаемая потеря производительности- примерно 40-50%.

AlexSneg

Схема приемника линк на большое разрешение

serj:

“Пустые ожидания”- это , что называется решение “в лоб”, простите. Оно подходит было для тех приложений - где вагон времени.

То есть, запускать таймеры, отпускать процессор и ждать прерываний? И городить 3ех этажный код. Если задача стоит опрашивать один датчик и больше ничего не делать, то на здоровье, занимайтесь мазохизмом. Я ж не говорю, что это нельзя сделать. Делайте, кто ж мешает. Мне такие алгоритмы не улыбаются.

serj:

На stm32- ожидаемая потеря производительности- примерно 40-50%.

Так вот я и спрашиваю зачем? Зачем делать что-то программно, чтобы потерять 40-50%, если есть решение аппартное, встроенное, халявное и без потерь?

serj:

В вашем случае кристалл дешевле потраченного времени.

А это, типа не аргумент?

fmkit:

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

Можно конкретнее, схемку или эскиз конкретно для RFM22 дифференциальных выходов с поддержкой передачи и приема?

fmkit:

Stoned Brain

Stoned это выложенный из камня. Stone это и существительное (камень) и прилагательное (каменный)
Любое существительное в английском языке может быть атрибутом. В вашем варианте Stoned образуется как причастие от глагола to stone
Я не прав?

Схема передатчика. Высокое разрешение

serj
AlexSneg:

Я ж не говорю, что это нельзя сделать. Делайте, кто ж мешает. Мне такие алгоритмы не улыбаются.

Из Ваших слов “Я не видел ни одной программной реализации I2C которая бы не тормозила проц в пустых ожиданиях”
я понял что вы не в курсе, что можно сделать по-другому.
Попробовал объяснить плюсы и минусы.
Наверное, объяснил плохо, ибо в ответ назван был мазохистом. 😃

AlexSneg
serj:

Наверное, объяснил плохо, ибо в ответ назван был мазохистом.

ну ОК, я думаю мы друг друга поняли. В данном случае, когда на одной шине 4 устройства с которыми нужно непрерывно работать, программный I2C никак не катит, тем более при наличии аппаратного решения и к тому же наличию DMA , который напрямую вяжет i2c -> RAM.

Данную схемотехнику я затачивал на следующий алгоритм:

  1. Создаем группу приоритетов прерываний I2C. Раздаем приоритеты одинаковые на гиру, аксель, компас
  2. Получаем прерывание о готовности данных
  3. Смотрим от кого пришло. Запускаем I2C к устройству, которое вызвало прерывание. Ждем готовности устройства к передаче, после передачи START и его адреса, это так же реализуется аппаратно на прерываниях от I2C
  4. Пришла готовность, подключаем DMA
  5. Получаем прерывание, что все байты считаны, DMA аппаратно сам передает сигнал STOP на I2C. обрабатываем сырые данные
  6. Ждем сигналов готовности данных дальше от других устройств.

и т.д.
Здесь все будет предельно просто и без лишних ожиданий, проц вообще ни грамма не задерживается. Работаем чисто по факту аппаратной готовности. Никакого холостого опроса не нужно будет. Таймеры задействоваться так же не будут.

fmkit
AlexSneg:


Stoned это выложенный из камня. Stone это и существительное (камень) и прилагательное (каменный)
Любое существительное в английском языке может быть атрибутом. В вашем варианте Stoned образуется как причастие
Я не прав?

Где вас учили английскому? 😉
Stoned - значит обкуреный, можно сказать невменяемый

Зря вы так категорично о программном I2C, ето очень удобно(любые пины), полный контроль над задержками (никогда не зависает), и что вам мешает вместо ожидания очередного бита проверить флаги и выполнить еще несколько функциии ? Очередной бит дождется до завтра если надо - ведь спецификация протокола не ограничивает ожидание.

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

Glagool

Ничего не понимаю в схемотехнике, но раз уж тут идет речь о названии, то почему бы не поучаствовать? Мне кажется удачной идея обыграть слова “полет” и “голова”, но вот Brain в самом деле не очень звучит. Голова как по-латыни? Сaput. А какое слово произошло от Caput? Капитан. Вот и вариант: полетный капитан. А вариантов много: FlightCap (тут еще вариант “крышка, насадка, фуражка” работает в слове cap). CapFly опять же. Capiflight. Ну или как-то так.
Извините что не в тему, но больно мне нравится на умных людей за работой наблюдать 😃

SkyWorker
Glagool:

FlightCap

Мне нравится!

Glagool:

Извините что не в тему, но больно мне нравится на умных людей за работой наблюдать

Человек вообще очень любит смотреть, как другие работают… 😃

AlexSneg
fmkit:

Где вас учили английскому?

В английской спецшколе 😉 Там слэнга не преподавали. Если stoned воспринимается носителями языка как “под кайфом”, то лучше не надо

Glagool:

FlightCap

Мне тоже нравится. Зачислим пока первым кандидатом на название.Ждем еще вариантов.

Glagool:

но больно мне нравится на умных людей за работой наблюдать

Сегодня платку не удалось сделать. Картридж в принтере так и не поменяли, а текщий - плохой. Дрожки размазались. Во вторник было обещано, что сменят на новё. Сделаю вторую попытку.

Сегодня весь день разбирал код мегапирата и ардуину. В целом мне понятно как там все структурно устроено, нарисовал себе целую схему большую. Думаю, что буду с мегапирата все срисовывать. Один в один передирать не буду. Мне там чисто персонально подход не очень как-то нравится. Скорее всего будут некоторые структурные вариации продиктованные другой схемотехнической и хардварной платформой, но основные алгоритмы я менять не буду.

Кто мне скажет схемотехника есть где-то нарисованная от Black Vortex? Вроде как эта платка под Мегапирата идет? Глянуть бы, а то сложно по коду догадываться зачем там то или иное применяется.

PAF

В плане названия.

Несколько аналогий.

Имена детям дают родители. Это справедливо. Это их радость, терпение, труд, позор, успех, слава. Посторонние наблюдатели отдыхают. Им не причетается. 😦

В имени закладывается смысл, потенциал, действие.

Откуда пришла мысль автору, оттуда придет и название.

Начало полагает начальник. Начальник нормальное, полное смысла и уважения слово! Начальник не прожектер. Это тот кто начал, делал и завершил. Все и всё под его Началом. Его труд, его побои, его и слава, ему и честь. 😃

Как-то не воспринимается: ничего не сделал, а названье дал! О-от герой-то!😁 Нашелся smart fly!

fmkit

Сдерживался до сих пор чтоб не подумали что навязываюсь с Wii Nunchakами но всетаки вынужден спроситЬ- еслиу вас опыт 2 года и вы со свежим взглядом отказались от ППМ и не ограничены выбором пульта то почему на фотках убогий традиционный пульт с двумя стиками а не что нибyдь современное ? Думаю что миллионы игроков Nintendo и Playstation впали бы в ступор если бы им предложили такой пульт как у вас.

AlexSneg
fmkit:

бы им предложили такой пульт как у вас

Так это, оно ж халява доставатус. Кто ж мне хороший пуль подарит. Я уже много раз обращался, если у кого есть мертвый пульт, но джойстики в порядке, продайте по остаточной стоимости. Так ведь фиг! Мне Костя из Н.Н. (особая благодарность ему) еще один подарил от E-sky 6и канальный без экрана на 2.4 GHz. Там джойстики очень хорошие. Оно лежит ждет финальной версии, будет донором для production версии передатчика, будет уже с цветным дисплеем, с кучей кнопочек, клавиатурой, короче все дела. И платку туда стандартную прямоугольную можно будет впихнуть, не то что в этот, вон как раскорячиться пришлось с платой то!

PAF:

smart fly

Мне это в голову приходило, но тоже как-то слегка стереотипом отдает. Я снимаю шляпу перед теми , кто у нас реактивный огнемет назвал “Буратино” Вот это креатифф!!!

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

PAF

Алекс, я прошу прощения, этот смартфлай, это не в коем случае не предложение названия!
Петр, нунчак или иное, это мысль тоже достойная, но… положим я худо бедно управляюсь со стандартным пультом, а дать мне в руки иной девайс… Ну и всё! Тот же ступор! Кстати Вы это тоже ведь замечали, к примеру: - супергеймер… в компьютере! А в живую -сразу лужа! И тот же ступор! И глаза по пятаку. В любом случае привыкать к новому. Но мысль, и неплохая. Вы озвучите свой метод управления нунчаком? А если не только элевоны и газ? Ну и тоже хотел добавить. USB джойстики тоже имеют право на… э-ээ, управление! Хотя они заразы идут по цене чугуна!
И вот еще. USB fly симуляторы. Как дополнение к разным девайсам.

albertr
fmkit:

если добавить всего одну букву то название преврашается в родное и понятное для большинства англоязычных -
Stoned Brain 😃

Пётр, жжёшь! 😃

-albertr

AlexSneg
PAF:

USB fly симуляторы. Как дополнение к разным девайсам

так оно у меня и так уже есть. В передатчике будет USB порт. Винда его видит как родной джойстик, ставит дрова и ни о чем не подозревает. Я уже на своем пульте в RealFlight’е летаю без проблем.

PAF:

но… положим я худо бедно управляюсь со стандартным пультом

4-е обычных джойстика по любому останутся, без них невозможно управлять самолетом в ручную. Ну если кто захочет, можно будет вообще с клавитатуры notebook’а забацать руление стрелочками (это уже чисто программная реализация на готовом железе), но я х.з. в чем тут удовольствие тогда. Сидеть в поле с ноутбуком на коленках и рулить?

Короче usb будет аппаратный. Сделаю вариацию. Будет прикидываться либо MS джойстиком, либо виртуальным COM портом. Сделаем открытый протокол, чтобы рулить напрямую всем на пульте. Желающие поизвращаться нунчаками смогут сами себе любую оболочку для PC написать.

fmkit
PAF:

… супергеймер… в компьютере! А в живую -сразу лужа! И тот же ступор! И глаза по пятаку. В любом случае привыкать к новому. Но мысль, и неплохая. Вы озвучите свой метод управления нунчаком? А если не только элевоны и газ? …

Нунчак сейчас выдает около 20 каналов (4 стандартных пропорциональных, камера пан/тилт, камера пресеты,несколько режимов газа, зажигает шнурок салюта, управляет LEDами, включает/выключает режим много пилотов-один самолет, дает сигналгирам перекалиброватся если надо, меняет расходы без птери разрешения,обнуляет счетчик фаилсавев пожеланию(длятелеметрии), нунчак может принять команду поменять функцию с контроллера в репитер, пренимать ученика по ППМ или наоборот быт; в роли ученика и еше … ) живут же люди с iPhonами в которых кнопок и джойстиков кот наплакал ! Нунчаку не нужен USB а контролировать модель можно незаметно дляокружающих прямо из теплого кармана. Вот позавчера полетал - видно что с момента когда подсоединил акк до взлета прошло несколько секунд. когда включен микрофон для избежания срыва любой ребенок летает с ходу, модель сама избегает столл е человеку всего навсего остается направлять и даже незадумыватся в какую сторону ветер

kenig
fmkit:

Нунчак сейчас выдает около 20 каналов

интересно … а где можно подробнее почитать по необходимому оборудованию … желательно на русском … можно в личку

AlexSneg

Второй подход к снаряду был удачен. Плата практически идеально получилась для ЛУТа и такой точности. Размер 5х7 см получился, как и планировалось.

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