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

РД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 аппаратных. Спасибо что напомнили.

AlexSneg
Gol:

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

Я не могу сказать сколько такой этаж должен стоить просто как железка. Так как без софта оно вообще ничего не стоит.

Хоббийные автопилоты, которые летают на достойном уровне сейчас обходятся от $400 до 25 тыс руб, это включая софт на борту АП. Но такого, чтобы кто-то совместил в себе все 100% хотелки FPV community без дополнительного колхоза на сегодня все равно по факту нет. Возможно Smalltim достигнет данного уровня, но по факту на данный момент он тоже не достиг, но для него это на данном этапе уже вопрос чисто софта, так как хардварный уровень уже реализован, а некоторым предстоит еще хард в ближайшее время подтянуть.

Gol
AlexSneg:
  1. Гироскоп с прерыванием аппаратным по готовности

У меня сейчас ITG3200 на платке electronshik.ru/…/10-dof-mems-imu-sensor-1109790 , там нет прерывания (во всяком случае, на этой платке), работает поллингом.

AlexSneg:
  1. Аксель с прерыванием аппаратным по готовности

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

AlexSneg:
  1. Магнитометр, здесь можно без прерывания

На той же платке, HMC-5883, вроде без проблем.

AlexSneg:
  1. BMP180/085/LPS331 или что-то похожее, можно без прерывания по готовности

BMP-085 всё там же на платке, без прерывания, пашет.

Можно на второй этаж все вышеперечисленные датчики запихнуть и для прерываний пины завести.

AlexSneg:
  1. флешку на борту для конфигов и черного ящика. SD Флеш-карта здесь не очень, ее может выкинуть из разъема вибрацией и контакты окисляются.

Флешка - в смысле NAND? NAND на Виртурилке есть, 256 мегов. Планировали как раз линух в нанду шить а уж оперативную инфу сохранять на флешку. Разъём на вибрацию проверялся в боевых условиях на двух огромных гусеничных девайсов. Там вибрация ого-го, ничего не выкинуло, сидит очень плотно. Насчёт окисления не могу сказать, за всё время общения с железкой (уж больше года) ни разу такой проблемы не было, хотя и на улице в мороз, снег и дождь юзал.

AlexSneg:
  1. минимум 8 аппаратных PWM выходов + еще 4 на аппаратное расширение

4 PWM на борту, 4 RTO на борту (можно под PWM задействовать). Ну или i2c расширитель на дохрена каналов.

AlexSneg:
  1. 1 вход SUM-PPM с аппаратным захватом под измеритель таймингов и прерыванием по готовности замера

Есть RTOI (3 канала) Real-time output/input, как раз для подобных целей, с прерываниями. PPP-SUM собирался сделать но руки не дойдут никак, тема мне нужная.

AlexSneg:
  1. GPS/GLONASS модуль, прямо на плате

Ну эт модуль надо делать на этаж, да.

AlexSneg:
  1. датчик дифференциального давления типа MPXV7002DP

Такого не пробовал, так что не скажу точно. Я так понимаю, это для определения скорости полёта? Выход аналоговый, АЦП на борту у нас есть (6 каналов, 10 бит)

AlexSneg:
  1. Несколько АЦП принимающих напряжения до 24В, один из них с повышенной точностью и пределом до 6В

Как уже писал, есть шесть АЦП, 10 бит при 3.6В максимум на входе. Любое требуемое понижать делителем. Если шибко повышенная точность нужна - придётся на этаж монтировать отдельный чип АЦП.

AlexSneg:
  1. Два видео входа композитного видео с возможностью программного переключения между ними. Ну видео выход уже есть.

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

AlexSneg:
  1. Микрофон, ну это уже есть

да

AlexSneg:
  1. Звуковой смеситель - микрофон + звук от выбранной камеры + звук с ЦАП

Звук от камеры? Камеры вроде без своего микрофона обычно используются. Тут крыть нечем, аудиовхода у нас нет. Хотя вроде микрофонный вход можно конфигурить как линейный вход, эт разбираться надо, навскидку не скажу.

AlexSneg:
  1. 1 вход UART с возможностью подключения аппаратной инверсии

На борту 2хUART, один из них с аппаратным контролем потока. Про инверсию не знаю.

AlexSneg:
  1. 1 выход UART по аналогии с п.13

Ну, уарты тут и вход и выход.

AlexSneg:
  1. Несколько GPIO для подключения БАНО и прочих приблуд типа фотоаппарата

GPIO куча, фотоаппарат лучше по USB управлять типа вот так www.g0l.ru/blog/n3624. Хотя если тупо затвор дёргать то лучше и правда обычным пином gpio.

AlexSneg:
  1. SPI как минимум 1 шт для подключения индивидуальных расширений борта

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

AlexSneg:
  1. CAN шина, ну это как бы хотелось бы, но опционально

Вот CAN нету, извиняйте. Можно контроллер на второй этаж поместить.

Уффф, вроде всё.

Lazy
Gol:

Планировали как раз линух в нанду шить

Который именно? Что туда реально влить?

Gol
Lazy:

Который именно? Что туда реально влить?

Текущая “прошивка” (ядро да фс) весит суммарно мегов 180-200, но тут куча всего собрана, для конкретных задач кучу ненужного софта можно повыкидывать, так что ещё меньше будет. Влазит без проблем.