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

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

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

Gol

Попробовал вот этот ардуинский алгоритм перенести, вот что получилось

Рассчёт на борту, загрузка проца около 3-4%. Алгоритм не айс, но мне для начала - самое оно. Даже горизонт на OSD рисовать можно, в принципе 😃

AlexSneg

Отключи аксель, добейся адеквата чисто на гироскопе, чтобы хотя бы секунд 15-10 без задержек и более менее точно только по гироскопу отрабатывало. Задержки и ошибки быстрых эволюций - это неточное интегрирование гироскопа из-за не риал тайм отработок.

Вот, для сравнения, мой экспириенс, который я получил практически с ходу на микроконтроллере STM32F405RGT6 опрос гироскопа на частоте 400Гц. И то, был не самый лучший результат, а только в начале пути. На реальном самолете все оказалось гораздо более печально.

Drinker
Gol:

Попробовал … вот что получилось

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

rual
Gol:

Попробовал вот этот ардуинский алгоритм перенести, вот что получилось

Желательно видеть и положение самой ИМУ на фоне мнимого отображения, как у Алекса.

AlexSneg:

Отключи аксель, добейся адеквата чисто на гироскопе, чтобы хотя бы секунд 15-10 без задержек и более менее точно только по гироскопу отрабатывало. Задержки и ошибки быстрых эволюций - это неточное интегрирование гироскопа из-за не риал тайм отработок.

+1

Gol
AlexSneg:

Вот, для сравнения, мой экспириенс, который я получил практически с ходу на микроконтроллере STM32F405RGT6 опрос гироскопа на частоте 400Гц. И то, был не самый лучший результат, а только в начале пути. На реальном самолете все оказалось гораздо более печально.

А код используете секретный свой или открытый? А то проверил бы именно с таким же алгоритмом как у вас.

UPD> Попробовал закомментить опрос акселя - тогда куб вообще не рисуется. Короче, чтоб проверить надо конкретную реализацию алгоритма, ибо взятый мною первый попавшийся сам по себе с задержкой и с дёрганием, а полную FreeIMU портировать сейчас некогда.

Drinker:

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

А я им и не мешаю, у нас задачи разные 😃

rual
Gol:

Попробовал вот этот ардуинский алгоритм перенести, вот что получилось

Посмотрел - хреновый алгоритм, много тригонометрии, возможно есть особые точки.

Вот гладкий и понятный алгоритм code.google.com/p/…/ahrs_simple_quaternion.c
Мне тов. Дринкер ссылку давал. Единственное что нужно сделать, раз нет четкого зацепа за отсчеты ДУС, это учитывать меняющуюся dt от отсчёта к отсчёту.