Прошивка 3Stab для EvvGC | UStab 

Современная качественная видеосъемка в движении невозможна без систем активной стабилизации. 3-х осевые подвесы для камер, работающие на бесшумных бесколлекторных моторах под управлением мощного 32-битного микроконтроллера, в режиме реального времени реагируют на малейшие отклонения камеры от выбранного направления с частотой более 1000 Гц и являются надежными помощниками видео операторов. Используя широко доступные электронные компоненты, постоянно экспериментируя и совершенствуя программный код, нам удалось добиться высокого качества стабилизации при относительно низкой стоимости, что и вдохновило нас на создание данного проекта.

Stable firmware for EvvGC

3Stb GUI for EvvGC and UStab 3/2axis controller

UStab HiEnd 3axis stabilization controller

Новое ПО для управления контроллером 3-х осевого подвеса

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

 

Изначально для этих целей мы разработали специальное программное обеспечение для ПК (3-STAB GUI). 3-STAB GUI разработан с помощью C++ Builder-а для ОС Windows и прекрасно выполняет свои функции. Само ПО представляет собой один exe файл небольшого размера, для запуска и работы которого не требуются никакие другие файлы и установки.

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

Основные размышления идут вокруг следующих вопросов:

  • как сделать наше ПО кроссплатформенным - чтобы оно могло работать не только под ОС Windows, но также и под ОС Linux, iOS и, в идеале, могло запускаться еще и на смартфонах и планшетах
  • как изменить пользовательский интерфейс, чтобы упростить и ускорить процесс настройки, в том числе и для новичков
  • что нам самим, как разработчикам, не хватает в текущем ПО, чтобы улучшать алгоритмы работы нашего контроллера.

Мы рассматривали следующие варианты:

  1. продолжать разработку на C++ Builder
  2. переписать ПО на Java
  3. переписать ПО на QT

После долгих раздумий и многочисленных экспериментов, было решено выбрать третий вариант и начать постепенную миграцию на QT. Основные причины, которые определили этот выбор:

  • QT позволяет создавать кроссплатформенные приложения, которые могут работать в том числе и на embedded устройствах
  • Поскольку QT написан на C++, один и тот же код можно сначала отлаживать на ПК, а затем переносить на микроконтроллер
  • QT активно развивается, есть большое количество отличной документации и готовых решений
  • В QT можно легко интегрировать программные модули, написанные на других языках программирования - Java, Python и пр.
  • Мы планируем обрабатывать изображения и видео с помощью OpenCV под Linux, для чего нам тоже требуется ПО на QT
  • QT нам нравится больше, чем Java и C++ Builder :-), опыт работы с которыми у нас уже есть.

Чтобы успешно мигрировать наше текущее ПО для управления контроллером 3-х осевого подвеса на QT, в первую очередь было необходимо решить две задачи:

  1. научиться взаимодействовать с COM портом - передавать по нему данные на плату и принимать данные от платы
  2. научиться в реальном времени строить графики по данным, получаемым по COM порту

Выбор QT оправдал все ожидания. Для работы с COM портом, начиная с версии 5.1, в стандартной библиотеке представлены классы QSerialPort и QSerialPortInfo, которые позволяют реализовать весь необходимый функционал. Для построения графиков обнаружился QCustomPlot widget, возможности которого также превзошли все ожидания.

Скриншоты нового ПО будут выкладываться по мере готовности. Оставайтесь на связи :-)

Наша команда состоит из неравнодушных и увлеченных людей, которых объединяет работа над уникальным проектом - создание системы качественной стабилизации камеры 3Stab и контроллера UStab. Мы используем наш опыт и профессиональные навыки, чтобы воплотить действительно хорошие идеи в жизнь! Будем рады общению с Вами!
  • Team Player Andrew
     

    Андрей

    Талантливый конструктор, идеолог

  • Maxim
     

    Максим

    Наш лучший схемотехник

  • Team Player Rinat
     

    Ринат

    Руководитель проекта

  • Team Player Iness
     

    Инесса

    Маркетинг директор

Напишите Нам

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

НАПИСАТЬ СООБЩЕНИЕ