Virt2Real (Виртурилка)

AlexSneg
РД00:

то то даже в Linux реализовано произвольное количество софтварных PWM на GPIO

Софтварный PWM на НЕ риал тайм ОС Linux?

У меня сейчас на критически важных таймерах 130Мгц разрешение для замеров различных интервалов событий и то я понимаю, что не отказался бы от еще большей точности. А здесь 24Мгц разрешение да еще софтовое.

foxfly
AlexSneg:

Надо же как цветное ОСД захотелось

Стесняюсь спросить: а зачем?
Вы, если летаете по ФПВ, во время полета разглядываете ОСД или всё таки- самолет ведете?
Мое ИМХО: цветное ОСД будет только искажать картинку, сливаясь местами с местностью.
Недаром же черно- белые буквовки делают на теневой подложке, чтобы разборчивость была.
И вообще, ИМХО, таскать на борту целый компьютер, пусть и уникальный, с нехилым (кстати, сколько кушает эта плата в режиме обработки видео?) потреблением- непозволительная роскошь.

РД00:

произвольное количество софтварных PWM

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

AlexSneg:

Вчера посмотрел по пинам. 4 аппаратных PWM выхода. Ндаааа, даже не знаю что сказать на это

Вот именно!
Я в свое время, делая автопилот на Ат8, очень сильно об это лбом ударился, пришлось плату переразводить.

РД00
foxfly:

Вы пробовали подцепить на эти выходы- реальные сервы?
Боюсь, их будет трясти, как листья на ветру.

Действительно не пробовал, надо проверять.

AlexSneg:

Софтварный PWM на НЕ риал тайм ОС Linux?

Ну да. Софтварный PWM в драйвере ОС Linux, работающем на уровне ядра с железом напрямую, включая обработчик прерывания выделенного на эту задачу таймера. Не вижу проблемы.

AlexSneg
РД00:

Не вижу проблемы

Как будет работать обработчик прерываний PWM, когда еще десяток прерываний будут стоять в очереди и требовать немедленной обработки с дополнительными вычислениями?

Если я захочу 10 дополнительных PWM близкой длительности, как этот обработчик сможет обеспечить точность импульсов не менее 10нс?

РД00
AlexSneg:

Как будет работать обработчик прерываний PWM, когда еще десяток прерываний будут стоять в очереди и требовать немедленной обработки с дополнительными вычислениями?

При неграмотном назначении приоритетов - работать будет плохо.

AlexSneg:

Если я захочу 10 дополнительных PWM близкой длительности, как этот обработчик сможет обеспечить точность импульсов не менее 10нс?

Лучше сразу 1 нс, а не 10, зачем мелочиться. Мы все еще аналоговыми сервами управляем (1000 - 2000 мкс, 1024 шага) ?

---------------------------------------------

По делу эта задача - первый кандидат для RT Extensions. Драйвер, реализующий точный разбор PPM_SUM и точное формирование канальных импульсов на GPIO.

AlexSneg
РД00:

Мы все еще аналоговыми сервами управляем (1000 - 2000 мкс, 1024 шага) ?

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

РД00:

При неграмотном назначении приоритетов - работать будет плохо.

А как нужно грамотно назначить приоритет на одно прерывание от одного таймера, который должен одновременно генерить софтово 10 PWM сигналов на GPIO выходах?

Gol

Ненене, программные PWM конеш для серв не подходят. Для регулей коллекторных моторов ещё более-менее, для лампочек и т.д. Для серв их использовать категорически низя.

Потерялся в комментах, отвечаю общим текстом. Плата при обработке видео кушает 200-300мА (при выключенном вифи), вифи кушает ещё около 200мА.

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

blade
AlexSneg:

Как будет работать обработчик прерываний PWM,

Плохо он будет работать: на каждом прерывании в импульсе- будет микродырка, на которую серва- будет пытаться сработать.

AlexSneg:

Потому что нафига затевать весь шабаш

Ну, это то как раз- понятно: ребята сделали какую то, на их взгляд интересную, глюковину.
Что безусловно- гораздо лучше, чем хлестать пиво:)
При этом её реальное применение- их не интересовало, интересен был сам процесс.( тут я их понимаю- сам такой)
И теперь- пытаются найти ей область применения, придумывая разные н/ф задачи.
А тут мы, понабивавшие шишек в ФПВ, начинаем их всячески обижать 😦
Просто, ИМХО, тема открыта несколько не в той ветке: возможно, дурилка найдет применение на наземных роботах, где нужно анализировать изображение?
Там её вычислительные мощности- пригодятся?
На самолетах, где дорог каждый грамм и каждый миллиампер- вряд ли.
Во всяком случае, на наших1,5- 3 кГ аппаратах.

Gol:

Ставить на борт специально для передачи видео - да, но под

Ну, ставить на борт видеообработку , весящую 200 гр+ кушающее вместе с передатчиком- под 0,8 А- роскошь непозволительная.
Тем более, тут уже писАлось: передавать в эфир цифровое видео по разумным ценам- сейчас просто нечем 😦

Gol
blade:

Ну, это то как раз- понятно: ребята сделали какую то, на их взгляд интересную, глюковину.
Что безусловно- гораздо лучше, чем хлестать пиво:)
При этом её реальное применение- их не интересовало, интересен был сам процесс.( тут я их понимаю- сам такой)

Вот уж что-то, а железку делали под конкретное своё применение, наземное ездящее, в продажу только потом уж решили пускать.

blade:

И теперь- пытаются найти ей область применения, придумывая разные н/ф задачи.

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

blade:

А тут мы, понабивавшие шишек в ФПВ, начинаем их всячески обижать 😦

Ну не нравится мне это ваше паршивое ФПВ с дохлым разрешеним и кучей помех, что уж теперь. В очках тоже не нравится. Хочу фпв фулхд на большом телике 😃 (Это слова одного нашего крупного заказчика) Знаете что такое “зашоренность мышления”? FPV по определению - вид от первого лица. Не важно кто управляет и какие там задержки (в пределах разумного, конеш), важно кто смотрит. Ему пофиг на задержку, ему главное чтоб он видел картинку как будто он там сидит и в хорошем качестве.

blade:

Просто, ИМХО, тема открыта несколько не в той ветке: возможно, дурилка найдет применение на наземных роботах, где нужно анализировать изображение? Там её вычислительные мощности- пригодятся? На самолетах, где дорог каждый грамм и каждый миллиампер- вряд ли. Во всяком случае, на наших1,5- 3 кГ
аппаратах. Ну, ставить на борт видеообработку , весящую 200 гр+ кушающее вместе с передатчиком- под 0,8 А- роскошь непозволительная.

Анализировать изображение - нет. Передавать видео и управлять периферией - да. А в плане “каждый грамм” - 20 граммовую “дурилку” даже мой дохлый Floater-Jet таскает без проблем 😃 А учитывая потребление мотора и время полёта - 200мА это копейки. Откуда 0.8А взялось? UPD> А, с передатчиком, ок. Эт ещё от передатчика зависит, может и больше быть.

blade:

Тем более, тут уже писАлось: передавать в эфир цифровое видео по разумным ценам- сейчас просто нечем 😦

Ну так ведь пока нечем, а там видно будет.

У меня есть знакомые мужики-самолётчики из авиамодельного клуба. Им уж за полтинник, всю жизнь летают на кордовых бойцовках и на таймерках. Когда в разговоре с ними затрагивал тему радиоуправляемых самолётов - сразу начинался дикий срач на тему “это ж дико дорого, это ж как так, это ж ненадёжно, это ж большой лишний вес” и т.д. в том же духе. А потом пришёл к ним в клуб с моим пенолётом, полетал немного. Мужики сразу срач забыли стояли рот разинув пока я летал. При том что стоимость кетайского Floater Jet раз в пять-десять (полностью со всей комплектухой включая зарядник) меньше одной их таймерки или бойцовки. Спустя несколько месяцев некоторые из них уже “рациями” обзавелись (они так радиоуправляемые называют). Аналогия понятна?

РД00
AlexSneg:

А как нужно грамотно назначить приоритет на одно прерывание от одного таймера, который должен одновременно генерить софтово 10 PWM сигналов на GPIO выходах?

В смысле, расписать алгоритм, как на одном таймере этими выходами управлять ? Формируем очередь событий из элементов {момент времени, номера выходов}, дальше по прерыванию от таймера изменяем состояние требуемых выходов и грузим в таймер следующий момент времени события. Угроза там - возможность задержки обработчика прерывания таймера, но вот на это и нужны приоритеты прерываний.

До подвешивания на V2R пары-тройки серв на SW PWM и эксперимента - это разговор в пользу бедных.

Gol
РД00:

До подвешивания на V2R пары-тройки серв на SW PWM и эксперимента - это разговор в пользу бедных.

Сервы скачут как шизанутые, проверял уже 😃 На сервы только нормальные PWM можно.

Drinker
AlexSneg:

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

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

Gol
Drinker:

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

Спасибо, добрый человек. Реально задолбали уже обсиратели, нет бы поддержать начинание. Реально ж есть нерешённые проблемы с теми же FPV полётами. Кому-то хватает имеющихся вариантов, кто-то ищет улучшения. Мы вот ищем. Не факт что найдём, но “война - фигня, главное манёвры”.

AlexSneg
Gol:

Сервы скачут как шизанутые, проверял уже

Ндааа, тогда печально, но все применение в нашей теме сводится к применению только в качестве банального рисовальщика ОСД с избыточной, невостребованной мощностью.

Gol:

Мы вот ищем

А этот процессор может работать голым, без обвеса? Без флешки, без RAM? Можно от него поиметь чисто кодировщик видео? Можно обойтись двумя чипами: TVP5120 + TMS , Нужно только видео Encoder YCbCr - > VideoComposite ?

Gol
AlexSneg:

Ндааа, тогда печально, но все применение в нашей теме сводится к применению только в качестве банального рисовальщика ОСД с избыточной, невостребованной мощностью.

Топикстартер писал про “Камера + запись картинки + видеовыход + полноцветный OSD”, это реально. Сервы на борту можно 4 штуки, камеру крутить вполне. Хотя их крутить и с rc приёмника можно. Нужно больше серв - добавим i2c микруху на сколько нужно каналов. Тут вопрос - а что нужно-то вообще? У меня самолёт для того чтоб самому летать, а не автопилоту, так что тут я хз.

AlexSneg:

А этот процессор может работать голым, без обвеса? Без флешки, без RAM? Можно от него поиметь чисто кодировщик видео? Можно обойтись двумя чипами: TVP5120 + TMS , Нужно только видео Encoder YCbCr - > VideoComposite ?

Нет.

UPD> Коллега мне советует вынуть винт и память из рабочего компа и позапускать программы на кешах первого-второго уровня 😃

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

AlexSneg
Gol:

Тут вопрос - а что нужно-то вообще?

  1. Гироскоп с прерыванием аппаратным по готовности
  2. Аксель с прерыванием аппаратным по готовности
  3. Магнитометр, здесь можно без прерывания
  4. BMP180/085/LPS331 или что-то похожее, можно без прерывания по готовности
  5. флешку на борту для конфигов и черного ящика. SD Флеш-карта здесь не очень, ее может выкинуть из разъема вибрацией и контакты окисляются.
  6. минимум 8 аппаратных PWM выходов + еще 4 на аппаратное расширение
  7. 1 вход SUM-PPM с аппаратным захватом под измеритель таймингов и прерыванием по готовности замера
  8. GPS/GLONASS модуль, прямо на плате
  9. датчик дифференциального давления типа MPXV7002DP
  10. Несколько АЦП принимающих напряжения до 24В, один из них с повышенной точностью и пределом до 6В
  11. Два видео входа композитного видео с возможностью программного переключения между ними. Ну видео выход уже есть.
  12. Микрофон, ну это уже есть
  13. Звуковой смеситель - микрофон + звук от выбранной камеры + звук с ЦАП
  14. 1 вход UART с возможностью подключения аппаратной инверсии
  15. 1 выход UART по аналогии с п.13
  16. Несколько GPIO для подключения БАНО и прочих приблуд типа фотоаппарата
  17. SPI как минимум 1 шт для подключения индивидуальных расширений борта
  18. CAN шина, ну это как бы хотелось бы, но опционально

Ну примерно вот основной список второго этажа.

РД00
Gol:

Сервы скачут как шизанутые, проверял уже 😃

Понятно. Вычеркиваем 😃

Сюда действительно просится спецдрайвер rccontrol, плюс RT-расширения ядра.

Gol
AlexSneg:

Ну примерно вот основной список второго этажа.

А теперь вопрос - сколько максимально такой второй этаж должен стоить? И сколько стоят имеющиеся аналоги?

Чуть выше камрад Blade писал “На самолетах, где дорог каждый грамм и каждый миллиампер- вряд ли”. Я боюсь представить сколько будет весить весь набор периферии, подключаемый к той куче интерфейсов которая есть в вашем списке (датчики не считаем, эт мелочь). И сколько это всё будет кушать.

РД00
Gol:

или ткните меня мордой в какой-нить материал на тему определения истинного горизонта (в статике и в движении) по показаниям гироскопов и акселей. Сейчас вот как раз ядрёный модуль пишу который всё это считает.

Это тот случай, когда лучше украсть, чем сделать. Вот летающий код под CRIUS AllInOne, портированный с ArduPlane - code.google.com/p/ardupilotdev/downloads/list . Код вполне читаемый.

AlexSneg
Gol:

Подскажите, плиз, или ткните меня мордой в какой-нить материал на тему определения истинного горизонта (в статике и в движении) по показаниям гироскопов и акселей. Сейчас вот как раз ядрёный модуль пишу который всё это считает.

В гугле забиваем ключивые слова madgwick algorithm а затем отдельно tilt compensated compass. И находим все вплоть до исходников. Для робота вполне работает.

Gol
AlexSneg:

В гугле забиваем ключивые слова madgwick algorithm а затем отдельно tilt compensated compass. И находим все вплоть до исходников. Для робота вполне работает.

Мне для танка 😃 Спасиб, ща посмотрим-с.

РД00:

Это тот случай, когда лучше украсть, чем сделать. Вот летающий код под CRIUS AllInOne, портированный с ArduPlane - code.google.com/p/ardupilotdev/downloads/list . Код вполне читаемый.

Спасиб, ща посмотрю.

О, блин, я ещё забыл о RTO (Real Time Out) Outputs. Их на борту 4 штук, тож можно как PWM задействовать 😃 Итого уже 8 PWM аппаратных. Спасибо что напомнили.