Поиск

05 мая 2014

Mini-box OpenUPS, использование, батарея, и нюанся настройки.

Есть достаточно интересная железка - http://www.mini-box.com/OpenUPS "бесперебойник", в виде полноценного блока питания, совместим с большинством аккумуляторов, имеет достаточно развитые возможности, и позволяет решить проблему питания "как у ноутбука", т.е. питаться от внешнего источника при его наличии, и питаться от батарейного при отсутствии внешнего питания.
Я использую как раз OpenUPS первого поколения для питания у себя в базовой станции всей электронной начинки. И я столкнулся с определенными проблемами в его использовании, о которых я-бы хотел поделиться.
Достаточно хорошо видна плата питания - Mini-BOX OpenUPS на этой картинке. Принцип достаточно простой, из блока питания подается напряжение на вход этой платы питания, эта плата подключена к батарее, и с этой платы берется выходное напряжение для питания всей требуемой нагрузки.

В качестве батареи я собрал серию 6S батарей LiFePO4, производства A123 - ANR26650M1, как и странно, но несмотря на первоклассность A123 батареек - даташиты на них найти практически очень сложно, поэтому на всякий случай даташит на батарейку прикладываю здесь: ANR26650M1.pdf
Для проектирования батарейной сборки очень полезно так-же использовать некий "battery pack design guide" от самих А123, но, как и с даташитом - он достаточно сильно спрятан от "обычных смертных", поэтому прикладываю копию PDFки: А123 cylindrical battery pack design, validation, and assembly guide.pdf
Для сборки самого пака - я использовал "спейсеры", т.е. пластиковые сепараторы, для удобной механической сборки пака батарейного. Использовал обычные китайские х3 сепараторы для типоразмера 26650 вот такого плана:
Достаточно качественно сделаны, из хорошего высокоплотного пластика, стекуются соединяясь между собой, и позволяют делать нормальные пеки батарей, с соблюдением как необходимых параметров вентиляции, так и с соблюдением механической прочности готового пека батарей.
OpenUPS может балансировать максимум 6S батарею, и в связи с этим - была выбрана схема именно 6S. Достаточно важно отметить - у OpenUPS НЕ "стандартная" схема балансирного разъема. Я отдаю себе отчет что "стандарта" почти нет, но есть устоявшийся более-менее, с подачи Graupner, формат "земля-элемент1-элемент2-элементХХХ", так вот тут полностью отличная схема, прилагаю схему электрическую, принципиальную, для 6S батареи под OpenUPS:
Батареи, особенно Литиевые и их разновидности - КРАЙНЕ НЕ РЕКОМЕНДУЕТСЯ паять - только точечная сварка. Но, учитывая необходимость в одном паке для проверки концепции, и паяльника с ОЧЕНЬ высокой теплоемкостью - я успешно спаял пак, не перегрев ни один из электродов. Для желающих повторить этот трюк - не более 3секунд/точку пайки, вы не должны прогреть массу внешнего металлического электрода до температур >120град. Т.е. паяльник с очень высокой теплоемкостью, крупное жало, и подготовленные облуженные материалы. Я паял Ersa i-con, с 10мм лопаткой. В качестве шины я использовал "desoldering wick" 6mm. В итоге получилась такая сборка:


Настройка OpenUPS для работы с LiFePO4

А вот эта глава является очень "забавной" с точки зрения настройки OpenUPS. Исходя из родной документации - все предельно просто, даже есть готовый "wizard" для настройки. Но вот на практике... Несмотря на использование последней версии ПО и Firmware(1.5), я все равно столкнулся с различными багами, вот очень хорошая демонстрация одного бага который мне попортил "крови"



Документацию на OpenUPS я хоть и признаю удачной, и достаточно полной, но отмечу ее несостоятельность с учетом изменений в прошивке. Так-же отмечу откровенно неработающую техническую поддержку. Я и писал, и открывал тикеты - все без толку, ни одного ответа от производителя. Что считаю сильным минусом. Так-же не нашел ВООБЩЕ никаких "community" по данному продукту, что немного расстроило.

Итак, что требуется знать:
1) OpenUPS использует "cloumb counter" для правильного рассчета % оставшегося заряда в батарее. Настройка ответственная за выставление емкости: CAPACITY и выставляется в мАч, и, как выяснилось, не в единицах емкости каждой ячейки - а в СУММЕ всех ячеек. Т.е. для 6S батареи из 2300мач элементов - ставим 6 * 2300, т.е. 13800
2) Очень важно выставить правильные параметры SOC0-100, в виде напряжения и соответствия емкости. Несмотря на то что написано в инструкции - выставлять надо напряжение под нагрузкой при работе от батареи, иначе не правильно выдается прогноз ёмкости батареи
3) UPS_CONFIG2 != аналогичной настройке в OpenUPS2 (!!!), т.е. не вздумайте интерпретировать настройку для OpenUPSкак совместимую для OpenUPS "первой" версии. 
4) Процедура старта нагрузки (материнской платы) должна выполнять следующие требования
  • По нажатию кнопки J8 происходит включение OpenUPS
  • OpenUPS штатно выдает 500мс импульс замыкания на J10 для включения материнской платы, этой "задержки" достаточно для устранения того "бага" который я демонстрировал выше на видео
  • По выключению - нажатие на J8 так-же дает пульс на матплату ПК, для отправки ПК в выключение, у OpenUPS НЕТ обратной связи, и OpenUPS ждет UPS_HARDOFF_TOUT время, после чего выключает выход питания. Для меня 30секунд оказалось более чем достаточно с запасом, чтобы ПК успел выключиться, параметр должен подбираться индивидуально под каждую систему с учетом времени на ее реальное выключение. Так-же рекомендую в OS выставить ПРИНУДИТЕЛЬНОЕ закрытие приложений, а не ожидание пользовательского действия - иначе есть риск исчезновения питания до того как OS выключиться.

В общем по базовой настройке все. Как только я дотестирую OpenUPS - я выложу работающий конфигурационный файл для OpenUPS для работы данного продукта с 6S LiFePO4

P.S. Я крайне НЕ рекомендую использовать "WIZARD" батарей для настройки OpenUPS с LeFePO4 батареями.

18 апреля 2014

APM на Pixhawk, сравнение версий, и общий анализ автопилота, аппаратная часть.

Я думаю, в рунете по крайней мере, это первый более-менее осмысленное сравнение версий автопилота PХ4/PIXHAWK, особенно учитывая его малую распостранненость на наших просторах. Многие знают и использовали APM, сам лично коммитил несколько hardware changes в него, но он уже все, не рекомендован к использованию в новом дизайне. Устарел морально и технически. Последний релиз автопилота будет 3.2, после чего в новых версиях APM перестанет быть поддерживаемым.

Итак, начнем. Для правильного понимания - стоит знать что все это ветки(форки) PX4, в том или ином виде модернизированного в соответствии с новыми реалиями и пожеланиями аппаратных разработчиков, на текущий момент есть 4 основых работающих аппаратных ветки:

PX4:
Оригинал, собственно всех последующих веток. Это первый глобальный редизайн и смена вычислительной платформы, после 16битного APM. На мой взгляд - САМЫЙ удачный коснтруктив в плане ввода-вывода. Со своей стороны прикладываю сейчас массу усилий стандартизировать ввод-вывод на pixhawk fire, но разработчики усиленно сопротивляются, т.к. не хотят консолидировать все вокруг одного унитарного коннектора требующего брейкаута. Но, вернемся к PX4. Актуальная аппратная ревизия: 1.7.1 Используется схема "2  гироскопа", для уменьшения погрешностей и увеличения вибрационной стойкости системы.
Технические характеристики:
Процессор: STM32F405 (Cortex M4F), 168МГц
Память: ОЗУ/ПЗУ: 192KB RAM / 1024 KB Flash
Сенсоры: MPU-6000, L3GD20, HMC5883L, MS5611

Преимущества:
+ очень удобная платформа, работает под стандартным NUTTX, с слоями FMU адрукоптера.
+ Есть в готовом формфакторе готовая плата специально под замену в AR.Drone (что превращает в общем-то игрушку в нормальный БПЛА)
Недостатки:
- требует "стекирования" ввода-вывода плат
- Нежный преобразователь питания

Для PX4 в наличии достаточно много допплат, но, для использования PX4 требуется в обязательном порядке две платы - PX4FMU и PX4IO(ну на самом деле можно без IO обойтись, но это ОЧЕНЬ трудоемко, проще стеком IO модуль воткнуть).
Важно - в текущей версии APM нет работающей реализации Optical Flow, поэтому на OF модуль можно забить. Полностью поддерживается, но, в силу не самого удобного использования - лично я не стал-бы брать PX4, а брал-бы Pixhawk

PIXHAWK:
Собственно основная текущая аппаратная платформа APM'а. Де факто - практически то-же самое что и PX4, просто чуть обновленнее, и в намного более удобном конструктиве. Конструктив автоматически решает все проблемы с барометром, конструктив кейса решает вопросы с пылью и прочей нечестью на самой плате, т.к. достаточно неплохо ее защищает. Реально смотря на вещи - это ПЕРВЫЙ рабочий продукт, которым реально пользоваться практически сразу, все остальные так или иначе - полуинженерные "образцы", даже не смотря на популярность(например АРМ2.5 мегапопулярен, но конструктив откровенно неудачный).
У "орла" есть свои проблемы - отвратительные коннекторы, и реально проблемная беда с монтажем. Дизайнер проектировавший корпус очень плохо подумал о том как его будут крепить не на самоклейки. Лично я пришел к использованию оного БЕЗ корпуса, но рекомендовать не буду. У меня и плата покрыта защитным лаком, и прочие методы защиты электроники выполнены, естественно с отдельной защитой барометра.
Технические характеристики:
Процессор: STM32F427 (Cortex M4F), 168МГц (Основной) STM32F103 (Фейлсейф)
Память: ОЗУ/ПЗУ: 256KB RAM / 2048 KB Flash
Сенсоры: L3GD20H, LSM303D, MPU 6000, MS5611

Очень хорошо видны отличия от PX4 - новее процессор, нормально работающий до 180МГц (т.е. при нехватке производительности частота будет увеличена со стороны ПО), больше памяти, и новее сенсоры. Так-же дублированы как гироскоп, так и аккселерометр, опять-же для получения более точных данных, и уменьшения виброзависимости.

Общий коснтруктив намного более удобен в использовании и является текущей "горячей" аппаратной платформой для APM.

Преимущества:
+ Одноплатный дизайн
+ Очень большие возможности, в текущих версиях не реализованы до конца.
+ ОЧЕНЬ хороший ассортимент "плюшек", как то внешние USB порты, выносные LED и т.п. и т.д.

Недостатки:
- Противные разъемы Hirose DF13, реально мелочь, но сильно портит впечатление
- Неудобный монтаж в корпусе, не предусмотрены варианты монтажа с виброразвязкой

Отмечу огромное количество клонов, именно КЛОНОВ от китайцев. И тут важно - покупать ТОЛЬКО ревизию 2.4.3. Например покупка ревизии 2.3 - это тупик в никуда. Таких плат было десяток, и на ней есть явные ошибки. Обращайте внимание так-же, что китайцы не воткнули упрощенные сенсоры, они могут. Ниже пример платы  хорошего китайского клона


PIXHAWK FIRE:

На нем стоит остановиться подробнее. Плата - по сути набор сенсоров на "шилде" для Beagle-Bone-Black (далее ВВВ). Но, и это важно - сама по себе ВВВ это очень мощная вещь - 512МБ RAM, 1ГГц Cortex А8 (сравните с M4 в том-же "орле"), 2GB Flash и т.п. + сладкое вида "ускоритель вычислений с плавающей запятой".Т.е. ВВВ по вычислительной мощности ОЧЕНЬ хорош, и та-же Raspbery Pi по сравнению с ВВВ просто олдскул и детская игрушка.
_планируется_ на плате по три сенсорных массива каждого типа - 3 акселлерометра, 3 гироскопа, и 3 магнетометра, плюс естественно барометр, MEAS 5611(лучше которого де факто нет, максимум что будет добавлено в новой версии, которую не так давно презентовал MEAS - это сильно улучшенная термокомпенсация, т.к. текущая схема - дает нарастающий дрифт)

Собственно это "первый вестник" будущих автопилотов. Мощные процессоры, много памяти, и серьезная борьба с алиасингом, с датчиками на разных частотах автоколебаний механических. На текущий момент - больше "вкус как оно будет", не более того. Продукционные релизы, будут одноплатными. Но речь идет о том, что это +2 года от текущего момента в лучшем случае.


AUAV-X1

Наиболее правильно назвать эту вещь от arsovtech не форком Pixhawk - а PX4 версии 2. Мой, на текущий момент, фаворит, с разработчиками которого работаю и взаимодействую. Абсолютно правильная модульная концепция - с вариативностью выбора как программной среды, так, и это главное - с модульностью набора датчиков! Что позволяет, даже, сделать выносной датчик, что, сильно, ОЧЕНЬ сильно упрощает виброразвязку системы. Все текущие варианты - с креплением крупной платы, к которой идут провода(тоже вибропроводники) на виброразвязке - ущербны, и не позволяют КАЧЕСТВЕННО виброразвязать систему.

Технические характеристики:
Процессор: STM32F427VI (Cortex M4F), 168МГц (Основной) STM32F100 (фейлсейф)
ОЗУ/ПЗУ: 256KB RAM / 8192 KB Flash
ПЯТЬ(!!!) вариантов сенсоров:
MS5611
L3GD20 / LSM303D
MPU6000 / MPU6500 / MPU9250
MAX21100
Просто коннектор для подключения сенсорной платы.

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



На этом краткий обзор закончу, в следующей части - програмные среды APM в текущей реализации, ну и, конечно, картинку для затравки:

16 апреля 2014

Гениальные чемоданы, или Pelican и SKB. Встраивание в чемодан электроники. Часть 1.

Как много в этом звуке - Pelican или SKB... Кто занет - тот поймет меня, ведь это фактически - неуничтожимые чемоданы, которые, не зря, производители рекламируют похожим образом:

И, что интересно - не сильно лукавят - кейсы и впрямь очень, ОЧЕНЬ дуракоустойчивы. Очень люблю этот термин "дуракоустойчивость" - он в себя включает все, и многократные падения, и полную влаго-пылезащиту, в общем - некий MilSpec по Русски.
Для тестов, и проверок использования - покупал два кейса, SKB и Pelican

Модели:

Pelican Storm iM2500
SKB i-Series 0907


Сравнение обоих(ДА, они разные по габаритам, но для целей сравнения - это не принципиально), не выявляет явного лидера. Защелки у SKB гениальны, вальш-гурт у Pelican дучше, качество пластика ± одинаковое у обоих. Качество литья, качество обработки, качество "вещи" - у обоих идеально. Ручка чуть поудобнее у Pelican, у SKB ручки выявился "баг", но мааааленький и несерьезный.

Оба кейса были проверены как под проливными дождями, так и SKB 0907 был проверен ребенком, когда он в ванне купался, купание выдержал без вопросов - внутри специально была бумага, чтобы увидеть "течи" буде такие будут - ни единой капельки. При этом чемодан погружался сильно глубже разрешенных 1м глубин.

Общее впечатление от прочности - неубиваемы. На них можно прыгать, их можно выкинуть из едущей машины - они точно не развалятся. Мелкий SKB люблю использовать как табуретку при работе по дому, или как подставку, чтобы встать и чтонить достать сверху. Mil-Spec, что автоматом дает: множественные падения на углы и грани с 2м, вибростойкость, влагостойкость. В общем - сделаны с умом и умными людьми.

Pelican Storm iM2500 был куплен из-за колесиков и телескопической ручки... Надо сказать - по сравнению с самим кейсом - ручку и колесики как будто делал кто-то другой. НАМНОГО более хлипкая конструкция чем сам кейс. Пока реальной эксплуатации не было - но общее впечатление от колесиков и ручки телескопической - негативные. До уровня Samsonite или того-же CAT - как до луны. В общем - телескопическая ручка с колесиками разочаровала, но свою функцию будет выполнять.


Основная причина покупки чемоданов: встравание базовой станции в крышку чемодана, по принципу и подобию:
 

Не считаю правильным использовать такой большой чемодан... но это вопрос дискуссии. План  такой: в крышку чемодана интегрировать полностью базовую станцию - в нижнем отсеке будет распологаться коптерный БПЛА - что дает одну единицу для транспортировки. Удобно, практично, в меру компактно.

Для интеграции - требуется разработать "вкладыш" в крышку кейса, который не нарушает герметичность, и не ухудшает параметров самого чемодана. Оба производителя молодца - у обоих есть полные чертежи(базовые) для кейсов, но для серьезной интеграции - требуется наличие 3D моделей, для детальной разработки. Да, понимаю, слизать размерность можно и самому, но иметь готовую деталь - много, много удобнее.
Интересный нюанс - базовые CAD модели - есть у обоих. А дальше начинаются "танцы". У Pelican есть штатная "рамка" монтажа. У SKB штатные "ушки". Продаются естественно за отдельные деньги и отдельно. Рамка для данного Storm кейса делится на два типа:
iM2500-BEZEL
iM2500-BEZEL-LID

Информации по рамкам очень мало. И серьезно помогает наличие следующих файлов для разработки
Крепление рамки выполнено очень интересно, "слепыми" заклепками с резиновыми колечками, и, так-же отмечу - рамки ОЧЕНЬ, ОЧЕНЬ жесткие, т.е. дают дополнительную прочность чеодану, и оберегают вашу драгоценную панель, добавляя ей жесткости, с оборудованием которую встраиваешь в чемодан.

Сильно помогает связаться с технической поддержкой производителя - и работа с ними напрямую, оба производителя заставляют подписать NDA, и нормально делятся рабочей документацией для разработки и интеграции устройств в их чемоданы. По личным ощущениям - поддержка SKB чуть менее "понтовая" и ближе к народу.

Ну а конечный продукт интеграции - очень надеюсь показать в ближайшее время. В любом случае - если стоит вопрос - брать или не брать чемоданы - БЕРИТЕ, это того стоит, и их стоимость оправданна, китайцы, да... альтернатива, но гарантий качества, герметичности, и нормальных чертежей для разработки встраиваемой системы - вы не получите.

14 апреля 2014

Исследование задержки разных средств видеозахвата. Часть 2

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

Я не списывал со счетов средство видеозахвата, и, при оказазии - купил чуть более чем за 1т.р. IconBIT TV-Hunter Studio. Достаточно интересная железка, сделанная на относительно свежем чипсете - Китайском Empia 2980
Стоит отметить - для нужд нормального "интегратора" материнская плата данного устройства обладает очень полезным свойтсвом - отверстиями для монтажа.


Подключив, убедившись в полной совместимости с Windows 8.1 x64 (!), что было отдельным приятным сюрпризом, и посмотрев на коробочку в действии - решено было сделать замеры скорости по методике описываемой в первой части.

103мс!!! Каково мое было удвиление! Я был просто приятно, нет, ПРИЯТНО поражен! 103мс при захвате и выводе аналогового сигнала формата PAL, т.е. общий лаг чуть более 2х полных кадров(напонимаю - PAL, 40мс/кадр перед оцифровкой).

Я фактически УВЕРЕН, что 100мс это определенный "предел" практически реализуемый для аналогового захвата(в силу сканирующей природы образования "полного" кадра). Я в курсе low-latency решений, использующих цифровую передачу данных между узлами, где латентность держится порядка 60мс, но это удел будущего, и экспериментов с адаптивным "HD" для использования в FPV.
Я еще проведу ряд оптимизаций со стороны операционной системы, и надеюсь выиграть еще 20-25мс на задержках, но и этот результат меня устраивает - я готов его использовать. Считаю - для ФПВ целей - оптимальное устройство видеозахвата.


ASUS Q87T

Ранее я описывал все злоключения с платой Gigabyte H87TN (Часть 1 Часть 2 Часть 3), которая оказалась отличном примером хорошего инженеринга полностью испорченного маркетингом и отвратительным, ОТВРАТИТЕЛЬНЫМ подходом к "необычному" пользователю, который осуществляет интеграцию данного продукта, а не является обычным потребителем. Отсутствует документация, очень плохо реализованный BIOS, отсутствует поддержка режимов нужного энергосбережения(отсутствует поддержка DDR3L например) и пр.


Устав от "выкрутасов" гигабайта - мною была приобретена ASUS Q87T. Не буду вдаваться в подробности, просто приведу список плюсов и минусов



Положительные стороны:

+ Присуствует как LVDS, так и eDP порты для интеграций с матрицей напрямую (проверенна работа LVDS - работает)
+ Присуствует полная  реализация Intel PTG в рамках подсветки - и регулируется подсветка экрана програмными методами(проверенно в Windows 8.1 - работает регулировка яркости)
+ Поддержка DDR3L (низковольтной памяти 1.35В, проверенно - работает и напряжение 1.35, что дает небольшую но прибавку к энерегоэффективности)
+ ОЧЕНЬ информативный BIOS, позволяющий очень широко настраивать систему
+ Поддержка LCD LED Backlight подсветки с напряжением 19В(!!!)
+ µSATA разъем поддерживает SATA III (проверенно, это действительно так)

Негативные стороны:
- Питание только 19В(проверенно - не запускается от 12В)
- Проблемы с совместимостью µSATA SSD(об этом ниже)
- Зачем-то ДВА Ethernet порта. Абсолютно дурацкий тренд который ведет только к увлечению энергопотребления, и отсутствует возомжность in hardware включить их в режим свитча(у меня немного серверные замашки, но причину на подобном продукте наличия 2х ethernet я вообще не могу придумать)
- ОТВРАТИТЕЛЬНАЯ документация по интеграции(это видимо бич всех производителей, кроме Intel. Но, Intel к сожалению сворачивает производтсво матплат :( ), опять очередная чушь для пользователей, для интеграции - в очередной раз выручает Intel'овый документ: Thin Mini ITX design guide
- Колодка с Front Panel I/O не маркированна(знаю, мелочь, но страшно раздражает)
- Глюк BIOS - установленный µSATA SSD не видится как драйв внутри BIOS, написал в ТП, думаю в новых релизах BIOS этот откровенный баг устранят
- В очередной раз "половинчатый" µPCIE разъем. Места на плате - вагон, но нет, усердно лепят только половинчатый µPCIE разъем в который ничего интересного никак не засунешь без Break-Out платки.
- Как обычно - не умеет регулировать 3-Pin вентиляторы. Производители чуточку задолбали с этим полуискусственным ограничением :)


Плата понравилась. Некоторые минусы, но их можно "терпеть". Работает нормально LVDS, регулируется яркость.

Важно знать - плата "капризна" к моделям µSATA SSD.
Работает(проверенно единолично:
Cruicial M550 128GB (CT128M550SSD3)
Smartbuy SSD 32Gb S9B mSATA SB32GB-S9B-MSAT3/ SMODUIIIS9VB32GB

Не работает:
Kingston mS200 60GB (SMS200S3 / 60G)

Подключение по LVDS к матрице - стандартно, и 1-в-1 повторяет рекомендации Intel по использованию LVDS. Все работает, яркость регулируется, глубокий сон поддерживается.
Плата хорошо оптимизированна по энергопотреблению - на моем тестовом G1820 - максимум зарегестрированный мной - 32Вт под стрессовой нагрузкой (OCCT), простой - 16Вт. После замены процессора на CPU с поддержкой Core-Parking и низким пакетом(i7T), планирую выйти на 10Вт простой, 25Вт нагрузка(с ограничением по Turbo-Boost конечно)

У платы очень богатый BIOS, после гигабайта - вообще рай и благодать.


GA-H87TN часть 3

Все, забросил я плату Gigabyte GA-H87TN. Она НЕ поддерживает регировку яркости програмно. Официальный ответ технической поддержки Gigabyte звучит так:

Добрый день!
Регулировка яркости на программном уровне возможна, если плата поддерживает спецификацию Intel PTG 2.0. Наша плата данную спецификацию не поддерживает, поддерживается Intel PTG 1.2. Данная спецификация не поддерживает программную регулировку, только аппаратную, для чего необходимо подключить коннектор Back Light switch на плате. 
С Уважением и Наилучшими пожеланиями,
GIGABYTE TECHNOLOGY

Т.е. в силу отсутствия PTG 1.2 - нет нормальной регулировки. Самое противное, это конечно факт ПОЛНОГО замалчивания этой информации со стороны разработчика продукта(гигабайта). Я не понимаю зачем делать интеграционный продукт - и так мало документировать его. Нет, чтобы взять пример с intel - и их шикарной документации.


Резюмируя - НИ В КОЕМ СЛУЧАЕ не покупайте Thin mini ITX платы Gigabyte - гигабит не умеет создавать и работать не с консьюмерским продуктом. Они не умеют создавать правильную документацию, и держать открытыми общепризнанные стандарты. Это не позволяет интегрировать продукты от гигабит в какие либо устройства.

P.S. Если кому нужно - оставьте коммент, плату могу продать. Полностью рабочаяя.

01 апреля 2014

GA-H87TN часть 2

Продолжаю бороться с H87TN, а именно - неработающая програмная регулировка яркости панели на LVDS подключении.

Gigabyte прислал новый BIOS - F3, но к сожалению работоспособности для панели это не привнесло, продложаю мучать суппорт гигабайта.

Тем временем - меняю плату на Asus Q87T - там по крайней мере BIOS нормальный, и проблем не должно быть.

19 февраля 2014

GA-H87TN или танцы с LVDS на thin mini-ITX платах

В рамках наземной станции своего дрона - я планирую использовать Thin mini ITX плату, с LVDS интерфейсом, для подключения матрицы. матрица предпологается с хорошей видимостью на солнце, и с глубокой регулировкой яркости, для малозаметности в полной темноте и снижения стресса на глаза оператора при работе в темноте.

В качестве основного вычислительного кирпичика была выбрана intel платформа, и thin-mini ITX в качестве удобного форм-фактора.

Хорошая документация по thin mini ITX идет от Intel -  рекомендую конкретно этот Design guide как стартовую точку изучения Thin Mini-ITX платформ: http://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/thin-mini-itx-based-pc-system-design-guide-rev-1-2.pdf 

Выбрал ЖК панель, выбрал плату, все из недорогих: 
LCD - HB156WX1-100
Матплата - Gigabyte H87TN

Сопряжение делается через LVDS провод, у которого есть, с одной стороны ACES 88441-40 или Starconn 107F40 коннектор, а с другой стороны есть I-PEX 20454, схема сопряжения следующа(ВАЖНО - для данной конкретной матрицы, у них у большинства отличаются Pinout коннекторов), так-же полезно знать, де-факто ВСЕ платы Thin Mini-ITX выдерживают Intel'овую распиновку на стороне платы, описанную в Design guide, ссылку на который я выкладывал чуть выше:
Поиск нужных коннекторов оказался сложным, и заказ коннекторов.... Не буду вдаваться в подробности, скажу только - сделать можно, но месяц беготни вам обеспечено. Для быстрого тестирования - я купил провод LVDS 40Pin - 30Pin для матрицы с подходящим Pinout, LVDS cable for DN2800MT/DH61AG/DH61AGL and LG 15.6" lcd panel LP156WH4-TLN2, который достаточно легко найти на Ebay, да не совсем адекватных денег, но для единичных применений - более чем.
По качеству - более чем адекватен, сделан неплохо.

Собрав воедино все три компонента, плата + ЖК + LVDS кабель, была предпринята попытка подключить ЖК панель в материнской плате.... Epic fail - матрица не запускалась. К сожалению, BIOS данной материнской платы - очень скуден, и не имеет расширенных настроек LVDS параметров, для подключений.. (UPDATE: Гигабит прислал новую версию BIOS - F3, там много лучше, но все равно "не фонтан")

Была подключена поддержка пользователей Gigabyte, где я явно описал суть проблемы, и приложил детальный PDF, с EDID таблицей, на используемую мной матрицу. Если честно - каково было мое удивление, что Gigabyte достаточно быстро отреагировал, и прислал специальный прошивальщик для eeprom платы, в котором хранится EDID data.
Ниже приложен файл, для работы матрицы HB156WX1-100. Я так-же приложил инструкцию как прошивать GA-H87TN чтобы заработала данная матрица на LVDS.



В итоге - имеем работоспособную матрицу, подключенную по LVDS, и неприятие факта - что BIOS материнской платы исскусственно ограничен, и в общем, для интеграционных применений - данную плату (Gigabyte H87TN) я не рекомендую к использованию.

UPDATE: Танцы с бубном вокруг GA-H87TN не закончились, т.к. никак не мог заставить работать програмную регулировку яркости из под операционной системы. Дошло до того, что я постоянно долбил техподдержку Gigabyte, и они выслали новую версию BIOS (F3), и выслали новый файл ediddata

UPDATE #2: Не покупайте данную плату ни при каких условиях. Данная плата не умеет нормально работать с регулировкой яркости. У этой платы отвратительная документация по интеграции, и как выясняется - отсутствует часть требуемых режимов, чтобы нормально использовать совместно с LVDS подключением.

10 января 2014

Исследование задержки разных средств видеозахвата.

В наземной станции, в наземке, будет использоватья устройство видеозахвата, для оцифровки и отображения в реальном времени полетного видео, и для ведения видеодневника полета.

Для удобного, и простого управления системой - нужно видео с минимальным уровнем задержки. Поясню на примере временной диаграммы:
Диаграмма нарисована для сигнала NTSC, с его 30 кадрами/с. У меня камера PAL, и соответственно на полный фрейм у меня 40мс.

Немного теории:
Итого, идеальный случай(для PAL): Фрейм камеры 40мс + фрейм оцифровки и отрисовками средствами OS - 80мс.

Проверяем теорию, используя прямое соединение "камера->аналоговый экран". Мы все понимаем, что камера не аналоговая, а цифровая, и строит картинку и "выплёвывает" ее в композит хоть и построчно, но уже после некого буфера кадров в ЦАПе самой камеры, и такая-же ситуация с "аналоговым" монитором, контроллер которого, пока не построит весь фрейм, не "выплюнет" картинку в свой LVDS самой ЖК панели.

Соответственно методика проста как камень: на одном экране мы отображаем таймер, на камеру снимаем, чтобы попадали одновременно монитор "А" с таймером и монитор "Б".

Проверка камера-"аналоговый"монитор, заодно неплохо видна методика измерения:
Итого, по результатам нескольких измерений: ~50мс. Т.е. время фрейма PAL пока он собирается в контроллере монитора + некое время для оцифровки DAC камеры, что в общем-то средний результат для специализированного устройства.


Дальнейшие проверки програмно-аппаратные. Стоят последние драйвера, и чистые OS, идеализировать не имеет смысла, т.к. некоторые драйвера имеют ограничения, и сама MS Windows вносит свои погрешности. Более того, вся моя базовая станция будет именно под MS Windows, что для меня удобнее и в итоге дешевле, чем что-то иное.
Проверка Pinnacle Dazzle AVC100, интерфейс USB2.0:
Итого: 201мс, что вполне объяснимо, время на полный захват фрейма, кодирование его в некий "Lossy или Lossless" формат чтобы запихать его в USB2 интерфейс, декодинг драйвером системы, вывод на экран... Трагично, и не используемо, слишком велика задержка для управления Real-Time, для видеожурналирования пойдет, но не более того. Качество захвата картинки приемлемое.

Проверка с помощью Canopus ADVC110, интерфейс FireWire 400:
Итого: 201мс. А вот это уже подозрительно, ведь совершенно другое устройство, совершенно(!) другой интерфейс.. А результат, фактически, идентичный.

Проверка с помощью Winnov Videum Quattro платы(устройство на порядок более дорогого для видеозахвата), интерфейс PCI:
Итого: 151мс, что уже лучше чем ранее, но начинают грести кошки сомнения, что "что-то не ладно в Датском королевстве". Videum Quattro - это профессиональная карта видеозахвата, стоящая, не много ни мало - $1500

Решаюсь проверить обычную вебкамеру, Microsoft Lifecam Cinema:
Итого: 103мс... Т.е. это виновата не OS, а механизм захвата и передачи данных предыдущих устройств.


Общий итог: работабщего решения у меня пока видимо нет :(. Прийдется брать специализированное устройство, расчитанное на видеозахват с наименьшей задержкой, например: Sensoray 2253 http://www.sensoray.com/products/2253.htm