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

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, но тут куча всего собрана, для конкретных задач кучу ненужного софта можно повыкидывать, так что ещё меньше будет. Влазит без проблем.

AlexSneg
Gol:

там нет прерывания (во всяком случае, на этой платке), работает поллингом.

Я не знаю чего там в танке работает. Если считать для самолета качественный горизонт, то важно иметь замер времени между двумя отсчетами с очень малой погрешностью, причем именно реальный замер на борту самого датчика без дополнительной дельты софтовой ошибки, вызванной тем, что вы в произвольный момент времени тыкнулись и считали данные. Если вы без прерывания, то вам придется ждать свежего ответа от датчика путем постоянного его опроса, ибо иначе вы получаете непредсказуемую дельту между отсчетами. Моя практика показывает, что если есть возможность решить софтовые проблемы при помощи харда, значит надо это делать. Поэтому готовые платы с датчиками идут лесом. Датчики надо ставить на второй этаж и заводить прерывания, если они есть, а с процессора бесполезную работу надо снимать. Кроме того, вся толпа датчиков сядет на один I2C, прерывания решат все проблемы с диспетчеризацией шины и временными замерами. Можете мне поверить на слово, я через свои грабли в этом плане уже переступил.

Gol:

Флешка - в смысле NAND? NAND на Виртурилке есть, 256 мегов.

Если она с малым временем записи, то пойдет.

Gol:

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

Я уже упоминал стоимость того сетапа, который летает в воздухе за 10км от своего хозяина и какая ответственность возлагается на устройство “последней надежды”. Вам может быть для танчика и пофиг, что какой-то контакт из за окисления отошел, а всем, кто летает за пределы видимости это совсем даже не по фиг. Это касается вопроса подбора вообще всей контактной группы для обсуждаемой темы. Лично на своей шкуре убедился, что любой контакт деградирует в агрессивной среде улицы - через год пропало питание видео камеры на борту в воздухе. После возврата и посадки, был поставлен диагноз - окисления контактов разъема видео передатчика.

Gol:

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

Если эти каналы отожрут все таймеры, то это не вариант. Надо иметь штук5 таймеров под внутренние нужды софта. Там и так всего 4 штуки, их надо оставить программисту.

Gol:

Любое требуемое понижать делителем

Ну так это надо заранее делать и диодами защищать, а иначе ткнут туда что попало.

Gol:

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

Камера имеет свой звук. Можно по простому через операционник смешать три сигнала камера микрофон + ЦАП + аудио внешний. На самом деле надо еще один УАРТ выход подмикшировать туда же. Регулировать программно громкость звука тоже будет не лишним.

Gol:

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

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

Gol:

Вот CAN нету, извиняйте

Это опционально. Через год начнут появляться устройства с ним работающие, я уверен в этом.

Lazy
Gol:

весит суммарно мегов 180-200

Не важно, сколько оно весит.
Я сейчас пользую вот такую плату. Можно ли напрямую влить её софт в ваше железо?

Gol
Lazy:

Не важно, сколько оно весит. Я сейчас пользую вот такую плату. Можно ли напрямую влить её софт в ваше железо?

О, леопард, у меня такой же валяется только на dm365. Наш софт влить можно, но настройки ядра менять надо под 368-й проц, в этом я не сведущ, только наш аппаратчик шарит.

И камера леопардовская не факт что заведётся, хотя драйвер в ядре под неё вроде есть.

UPD> А вы как её покупали, если не секрет? Я из штатов заказывал напрямую, поставщик отправил без проблем, а вот наша таможня месяц держала но так и не пропустила, обратно в штаты отправила. Еле-еле повторно умудрились провезти серыми способами со второй попытки.

Lazy

Не ваш софт, а мой на ваше железо. 😃
Покупал в Farnell Element14, в Варшаве.

Syberian
AlexSneg:

Камера имеет свой звук. Можно по простому через операционник смешать три сигнала камера микрофон + ЦАП + аудио внешний. На самом деле надо еще один УАРТ выход подмикшировать туда же.

эээ… вы по звукам “пшшш” времен модемов и ФИДО соскучились? Какой нах уарт в звук?

AlexSneg:

аппаратный инвертер перед входом и после выхода

Надо бы пояснить, что это для протокола Futaba S-BUS, чтобы управлять одним уартом большим числом сервомашинок и других самолетных девайсов вместо ШИМ, которого на этой плате кот наплакал. Да и с приемника кучу каналов ловить.
Он типа как обычный TTL UART, но уровни 0 и 1 поменяны местами.

РД00
Lazy:

Не ваш софт, а мой на ваше железо.

А можно чуть подробнее о составе софта ? Как собрано ядро, из каких компонент собран вывод видео, что потребовалось (если потребовалось) дописать ?

AlexSneg
Syberian:

вы по звукам “пшшш” времен модемов и ФИДО соскучились?

это не я соскучился. Просто здесь много народа с такими поворотками. Не все же еще на телетекст перешли.

Syberian:

Надо бы пояснить, что это для протокола Futaba S-BUS

Просвященные и так в курсе.

Lazy
РД00:

А можно чуть подробнее о составе софта

А можно я вам вышлю ( попозже ) бинарник для проверки?

Gol
AlexSneg:

это не я соскучился. Просто здесь много народа с такими поворотками. Не все же еще на телетекст перешли.
Просвященные и так в курсе.

Я не просвящённый в таком 😃 У меня сервы обычные все. Про инверсию понял, подумаю.

Lazy:

А можно я вам вышлю ( попозже ) бинарник для проверки?

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

Lazy
Gol:

что должно получиться

Только обработка видео с Aptina, и заталкивание его в кабель.
В вашем девайсе нравятся габариты, очень подходят к моим самолётам.

AlexSneg
Gol:

Про инверсию понял, подумаю.

Подумайте. Только прежде чем чего-то макетировать в железе, покажите нам, что надумали.

Drinker
AlexSneg:

Подумайте. Только прежде чем чего-то макетировать в железе, покажите нам, что надумали.

О! Гуру появился. Разрешение нужно получать?

blade
AlexSneg:

покажите нам, что надумали.

Drinker:

Разрешение нужно получать?

О!
Дык, ребята, вы уже с сервами шишку набили?
Выяснилось, что полноценный PWM- получить программно- нельзя 😦 Нужны аппаратные выходы- а их всего 4?
Будут и другие шишки.
Удачи в ваших начинаниях 😃

Gol
blade:

Удачи в ваших начинаниях 😃

Чую сарказм, но спасибо 😃

РД00

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