Камера машинного зрения OpenMV M7: техническая документация

Возьмите отладочную плату с камерным модулем OpenMV M7 для реализации проектов с машинным зрением. На плате распаян дополнительный микроконтроллер для обработки данных изображения на лету и управления внешними устройствами.

Камера OpenMV M7 позволит сделать умную систему видеонаблюдения с распознаванием лиц, цифровое зрение для робота или систему сортировки на производстве.

Подключение и настройка

  1. Подключите платформу OpenMV к компьютеру через разъём micro-USB.
  2. Откройте среду OpenMV IDE.
  3. В среде разработки нажмите на иконку подключения к плате.
  4. В случае успешного подключения загорится зелёный треугольник.
  5. По умолчанию при открытии IDE уже открыт тестовый пример helloworld.py. Нажмите на зелёный треугольник для запуска скрипта.
  6. При успешном запуске скрипта, треугольник сменится на крестик, а в окне изображения вы увидите картинку с камеры.
  7. Для остановки программы, нажмите на крестик.

Поздравляем, вы успешно справились с запуском первой программы. Разработчики OpenMV предоставили тонну примеров для работы с платой.

Примеры работы

Распознавание объектов по цвету

  1. В пункте меню Файл Примеры 10-Color-Tracking откройте multi_color_code_tracking.py.
  2. Загрузите этот пример в плату.
  3. Камера распознает и выделяет красные и зеленые предметы.

Распознавание ключевых точек лица

  1. В пункте меню Файл Примеры 07-Face-Detection откройте face_tracking.py
  2. Загрузите этот пример в плату с помощью красного крестика в левом нижнем углу экрана.
  3. Как только камера обнаружит лицо, она сделает фото и обведет все ключевые точки лица.

Распознавание глаз

  1. В пункте меню Файл Примеры 08-Eye-Tracking откройте iris-detection.py.
  2. Загрузите этот пример в плату.
  3. Как только программа будет загружена в плату, камера начнет распознавать глаза.

QR-код сканнер

  1. В пункте меню Файл Примеры 16-Codes откройте qrcodes_with_lens_corr.py
  2. Загрузите этот пример в плату с помощью красного крестика в левом нижнем углу экрана.
  3. QR код расшифрован. Закодированную информацию можно увидеть через последовательный терминал.

В данном QR коде была зашифрована ссылка на сайт амперки.

Камера машинного зрения OpenMV M7 может распознавать QR-коды различных видов, штрих коды и April tags.

Элементы платы

Камерный модуль

Захватом изображения занимается светочувствительная КМОП-матрица OV7725 от компании OmniVision. Размер матрицы 1/3″ с максимальным разрешением 640×480 (VGA). Камера может снимать видео в 8-битном режиме оттенков серого или цветном 16-битном формате RGB565 с частотой 60 кадров в секунду. Поддерживаются форматы сжатия MJPEG, GIF и несжатое видео RAW.

Объектив с фокусным расстоянием 2,8 мм и диафрагмой F2.0 использует стандартную резьбу M12 с шагом 0,5 мм, поэтому к OpenMV M7 подходят сменные объективы от GoPro и других портативных камер. На обратной стороне объектива установлен ИК-фильтр на 650 нм, который можно снять для съёмок в темноте.

Рядом с камерным модулем расположена ИК-подсветка из двух светодиодов с длиной волны 850 нм для ночной съёмки.

Микроконтроллер STM32F765VIT6

За обработку изображения отвечает 32-битный процессор STM32F765VIT6 от компании STMicroelectronics с вычислительным ядром ARM Cortex-M7. Микроконтроллер работает на тактовой частоте 216 МГц, а также предоставляет 2 МБ Flash-памяти и 512 КБ SRAM-памяти.

Разъём micro-USB

Разъём micro-USB предназначен для прошивки и питания платформы OpenMV CAM с помощью компьютера.

Слот карты microSD

Слот для подключения карты памяти формата microSD.

Светодиодная индикация

Имя светодиода Назначение
LED1 Пользовательский RGB светодиод с общим анодом.
LED2 и LED3 Пользовательские ИК-светодиоды

Регулятор напряжения

Линейный понижающий регулятор напряжение BD33IAWEFJ с выходом 3,3 вольта обеспечивает питание камеры и микроконтроллера. Максимальный выходной ток составляет 500 мА.

Распиновка

Пины питания

  • VIN: Пин для подключения внешнего источника напряжения в диапазоне от 3,6 до 5 вольт.
  • 3V3: Пин от стабилизатора напряжения с выходом 3,3 вольта и максимальных током 500 мА. Регулятор обеспечивает питание микроконтроллера и другой обвязки платы.
  • GND: Выводы земли.

Порты ввода/вывода

Напряжение логических уровней платформы OpenMV является 3,3 В, в отличии от большинства плат Arduino с логикой 5 В. Выходы отладочной платы для логической единицы выдают 3,3 В, но в режиме входа могут принимать сигнал до 5 В.

Все GPIO пины платформы OpenMV толерантны к 5 В, кроме пина подключённого к ЦАП — P6.

  • Цифровые входы/выходы: 10 пинов P0P9
    Контакты ввода-вывода общего назначения. Пины могут быть настроены на вход или на выход. Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 25 мА.
  • ШИМ: 9 пинов P0P2 и P4P9
    Позволяет выводить аналоговые значения в виде ШИМ-сигнала с разрядность 16 бит.
  • АЦП: 1 пин P6
    Позволяет представить аналоговое напряжение в цифровом виде с разрядностью 12 бит.
  • ЦАП: 1 пин P6
    Аналоговый выход цифро-аналогового преобразователя, который позволяет формировать 12-битный уровень напряжения. Вывод может использоваться для аудио-выхода.

Интерфейсы

Каждый пин ввода-вывода платформы поддерживает аппаратные интерфейсы.

Интерфейс Количество Пины
SPI 1 SPI2: P0(MOSI)P1(MISO), P2(CLK2) и P3(SS)
I²C 2 I²C2: P5(SDA) и P4(SCL)
I²C4: P7(SDA) и P8(SCL)
UART 2 UART1: P1(TX) и P0(RX)
UART3: P4(TX) и P5(RX)
CAN 2 CAN2: P2(TX) и P3(RX)

Принципиальная и монтажная схема

Габаритный чертёж

3D-изображение

Характеристики

Параметры платформы

  • Чипы: микроконтроллер STM32F765VIT6 и камера OmniVision OV7725
  • Входное напряжение через USB: 5 В
  • Входное напряжение через пин Vin: 3,6–5 В
  • Ток потребления в фоновом режиме: 110 мА
  • Ток потребления в активном режиме: до 200 мА
  • Максимальный выходной ток пина 3V3: 500 мА
  • Напряжение логических уровней: 3,3 В
  • Максимальный ток с пина или на пин: 25 мА
  • Габариты: 45×36 мм

Микроконтроллер STM32F765VIT6

  • Ядро: ARM Cortex®-M7
  • Тактовая частота: 216 МГц
  • Flash-память: 512 КБ
  • SRAM-память: 2 МБ
  • Пинов общего назначения: 10
  • Пинов с прерываниями: 10
  • Пинов толерантных к 5 вольтам: 9
  • Контактов с АЦП: 1 с разрядностью 12 бит
  • Контактов с ЦАП: 1 с разрядностью 12 бит
  • Контактов с ШИМ: 9 с разрядностью 16 бит
  • Аппаратные интерфейсы: 1× SPI, 1× CAN, 2× UART и 2× I²C

Камера OmniVision OV7725

  • Форм-фактор: 1/3″
  • Разрешение: 640×480
  • Фокусное расстояние объектива: 2,8 мм
  • Диафрагма: F2.0
  • ИК-фильтр: 650 нм (убираемый)
  • Чёрно-белый режим: 8-бит
  • Цветной режим: 16 бит (RGB565)

Ресурсы