====== Камера машинного зрения OpenMV M7: инструкция, примеры использования и документация ======
Используйте платформу с камерным модулем [[amp>product/openmv-cam-m7-with-case?utm_source=man&utm_campaign=openmv-cam-m7-with-case&utm_medium=wiki|OpenMV M7]] для реализации проектов с машинным зрением. На плате распаян дополнительный микроконтроллер для обработки данных изображения на лету и управления внешними устройствами.
{{ :products:openmv-cam-m7-with-case:openmv-cam-m7-with-case.1.jpg?nolink |}}
Камера OpenMV M7 позволит сделать умную систему видеонаблюдения с распознаванием лиц, цифровое зрение для робота или систему сортировки на производстве.
===== Подключение и настройка =====
==== Шаг 1 ====
Подключите плату к компьютеру по USB. Для коммуникации используйте [[amp>product/usb-cable-micro?utm_source=man&utm_campaign=openmv-cam-m7-with-case&utm_medium=wiki|кабель micro-USB]].
==== Шаг 2 ====
[[:articles:openmv-ide-install|Установите и настройте интегрированную среду разработки OpenMV IDE.]]
===== Примеры работы =====
Все примеры работы с камерой вы найдёте на странице документации про [[:articles:openmv-ide-install#примеры_работы|среду разработки OpenMV IDE]].
===== Элементы платы =====
[[this>_media/products::openmv-cam-m7-with-case:openmv-cam-m7-with-case_annotation.pdf|{{:products:openmv-cam-m7-with-case:openmv-cam-m7-with-case_annotation-preview.png}}]]
==== Камерный модуль ====
Захватом изображения занимается светочувствительная КМОП-матрица {{ :products:openmv-cam-m7-with-case:ov7725_datasheet.pdf |OV7725}} от компании OmniVision. Размер матрицы 1/3″ с максимальным разрешением 640×480 (VGA). Камера может снимать видео в 8-битном режиме оттенков серого или цветном 16-битном формате RGB565 с частотой 60 кадров в секунду. Поддерживаются форматы сжатия MJPEG, GIF и несжатое видео RAW.
Объектив с фокусным расстоянием 2,8 мм и диафрагмой F2.0 крепится через байонет со стандартной резьбой M12 с шагом 0,5 мм, поэтому к OpenMV H7 подходят сменные объективы от GoPro и других портативных камер. На обратной стороне объектива установлен ИК-фильтр на 650 нм, который можно снять для съёмок в темноте.
Компания OpenMV также предлагает свои [[amp>collection/openmv-add-ons?utm_source=man&utm_campaign=openmv-cam-m7-with-case&utm_medium=wiki|фирменные объективы.]]
==== Микроконтроллер STM32F765VIT6 ====
Мозгом платы выступает 32-битный процессор {{ :products:openmv-cam-m7-with-case:stm32f765vit6_datasheet.pdf |STM32F765VIT6}} от компании STMicroelectronics с вычислительным ядром ARM Cortex-M7. Контроллер отвечает за обработку изображения с [[#камерный_модуль|камерного модуля OV7725]], а также предоставляет доступ к 10 пинам ввода-вывода общего назначения (GPIO) для коммуникации с [[amp>collection/boards?utm_source=man&utm_campaign=openmv-cam-m7-with-case&utm_medium=wiki|внешними устройствами]].
Микроконтроллер работает на тактовой частоте 216 МГц, а также предоставляет 2 МБ Flash-памяти и 512 КБ SRAM-памяти.
==== Разъём micro-USB ====
Порт micro-USB предназначен для прошивки и питания платформы OpenMV M7. Для подключения к ПК понадобиться [[amp>product/usb-cable-micro?utm_source=man&utm_campaign=openmv-cam-m7-with-case&utm_medium=wiki|кабель micro-USB]].
==== Слот карты microSD ====
Слот предназначен для установки карты памяти формата [[amp>product/microsd-16gb?utm_source=man&utm_campaign=openmv-cam-m7-with-case&utm_medium=wiki|microSD]]. Внешняя память пригодится для записи и хранения тяжёлых медиафайлов.
==== Светодиодная индикация ====
^ Имя светодиода ^ Назначение ^
| LED RGB | Пользовательский RGB светодиод с общим анодом. Катоды красного, зеленного и синего цветов выведены на пины микроконтроллера. Используйте определения LED1 для управления красным, LED2 — зелёным и LED3 — синем цветом. При задании значения высокого уровня светодиод загорается, при низком — гаснет.|
| LED2 и LED3 | Два последовательно подключённых пользовательских ИК-светодиода к микроконтроллеру. Используйте определения LED4 для управления состоянием ИК-светодиодов. При задании значения высокого уровня светодиоды загораются, при низком — гаснут.|
==== Регулятор напряжения ====
Линейный понижающий регулятор напряжение {{ :products:openmv-cam-m7-with-case:bd33iawefj_datasheet.pdf |BD33IAWEFJ}} с выходом 3,3 вольта обеспечивает питание камеры и микроконтроллера. Максимальный выходной ток составляет 500 мА.
===== Распиновка =====
[[this>_media/products:openmv-cam-m7-with-case:openmv-cam-m7-with-case_pinout.pdf|{{:products:openmv-cam-m7-with-case:openmv-cam-m7-with-case_pinout-preview.png}}]]
==== Пины питания ====
* **VIN:** Пин для подключения внешнего источника напряжения в диапазоне от 3,6 до 5 вольт.
* **3V3:** Пин от [[#регулятор_напряжения|стабилизатора напряжения]] с выходом 3,3 вольта и максимальных током 500 мА. Регулятор обеспечивает питание микроконтроллера и другой обвязки платы.
* **GND:** Выводы земли.
==== Пины ввода/вывода ====
В отличии от большинства плат Arduino, родным напряжением OpenMV является 3,3 В, а не 5 В. Выходы для логической единицы выдают 3,3 В, а в режиме входа ожидают принимать 3,3 В. Но есть дополнительный бонус, все пины, кроме P6, толерантны к 5 вольтам, так что смело можете подключать свои любимые датчики к этой платформе.
* **Цифровые входы/выходы:** 10 пинов: ''P0''–''P9''\\ Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 25 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
* **АЦП:** 1 пин: ''P6''\\ Позволяет представить аналоговое напряжение в цифровом виде. По умолчанию разрядность АЦП установлена в 12 бит. Диапазон входного напряжения от 0 до 3,3 В. При подаче большего напряжения микроконтроллер может выйти из строя.
* **ЦАП:** 1 пин: ''P6''\\ Позволяет выводить аналоговое напряжение из цифровых значений. Разрядность ЦАП не меняется и установлена в 12 бит.
* **ШИМ:** 9 пинов: ''P0''–''P2'' и ''P4''–''P9''\\ Позволяет выводить аналоговое напряжение в виде ШИМ-сигнала из цифровых значений. По умолчанию разрядность ШИМ установлена в 16 бит.
* **I²C** Для общения OpenMV H7 c [[amp>collection/boards?utm_source=man&utm_campaign=openmv-cam-m7-with-case&utm_medium=wiki|платами расширения]] и [[amp>collection/sensors?utm_source=man&utm_campaign=openmv-cam-m7-with-case&utm_medium=wiki|сенсорами]] по интерфейсу I²C.
* **I²C2**: пины ''SDA2/P5'' и ''SCL2/P4''
* **I²C4**: пины ''SDA4/P7'' и ''SCL4/P8''
* **SPI** Для общения OpenMV H7 c [[amp>collection/boards?utm_source=man&utm_campaign=openmv-cam-m7-with-case&utm_medium=wiki|платами расширения]] и [[amp>collection/sensors?utm_source=man&utm_campaign=openmv-cam-m7-with-case&utm_medium=wiki|сенсорами]] по интерфейсу SPI.
* **SPI2**: пины ''MOSI2/P0'', ''MISO2/P1'', ''SCK2/P2'' и ''SS/P3''
* **Serial/UART** Для общения OpenMV H7 c [[amp>collection/boards?utm_source=man&utm_campaign=openmv-cam-m7-with-case&utm_medium=wiki|платами расширения]] и [[amp>collection/sensors?utm_source=man&utm_campaign=openmv-cam-m7-with-case&utm_medium=wiki|сенсорами]] по интерфейсу UART.
* **UART1**: пины ''TX1/P1'' и ''RX1/P0''
* **UART3**: пины ''TX3/P4'' и ''RX3/P5''
* **CAN** Для общения OpenMV H7 c модулями по интерфейсу CAN.
* **CAN2**: пины ''TX2/P2'' и ''RX2/P3''
===== Принципиальная и монтажная схема =====
[[this>_media/products:openmv-cam-m7-with-case:openmv-cam-m7-with-case_schematic.pdf|{{:products:openmv-cam-m7-with-case:openmv-cam-m7-with-case_schematic-preview.png?direct&500 }}]]
[[this>_media/products:openmv-cam-m7-with-case:openmv-cam-m7-with-case_layout-top.pdf|{{ :products:openmv-cam-m7-with-case:openmv-cam-m7-with-case_layout-top-preview.png?direct&130}}]]
[[this>_media/products:openmv-cam-m7-with-case:openmv-cam-m7-with-case_layout-bottom.pdf|{{ :products:openmv-cam-m7-with-case:openmv-cam-m7-with-case_layout-bottom-preview.png?direct&130}}]]
===== Габаритный чертёж =====
[[this>_media/products:openmv-cam-m7-with-case:openmv-cam-m7-with-case_design.pdf|{{:products:openmv-cam-m7-with-case:openmv-cam-m7-with-case_design-preview.png}}]]
===== Характеристики =====
==== Параметры платформы ====
* Чипы: микроконтроллер 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)
===== Ресурсы =====
* [[:articles:openmv-ide-install|Среда разработки OpenMV IDE]]
* [[amp>product/openmv-cam-m7-with-case?utm_source=man&utm_campaign=openmv-cam-m7-with-case&utm_medium=wiki|Камера машинного зрения OpenMV M7]] в магазине.
* [[https://github.com/amperka/hardware-drawings/blob/master/openmv-cam-m7-with-case.svg|Векторное изображение платформы OpenMV M7]]
* {{ :products:openmv-cam-m7-with-case:openmv-cam-m7-with-case_datasheet.pdf |Datasheet на модуль OpenMV M7}}
* {{ :products:openmv-cam-m7-with-case:stm32f765vit6_datasheet.pdf |Datasheet на микроконтроллер STM32F765VIT6}}
* {{ :products:openmv-cam-m7-with-case:stm32f765vit6_reference-manual.pdf |Reference Manual на микроконтроллер STM32F765VIT6}}
* {{ :products:openmv-cam-m7-with-case:ov7725_datasheet.pdf |Datasheet на камерный модуль Omnivision OV7725}}
* {{ :products:openmv-cam-m7-with-case:ov7725_software-application-note.pdf |Software Application Note на камерный модуль Omnivision OV7725}}
* {{ :products:openmv-cam-m7-with-case:bd33iawefj_datasheet.pdf |Datasheet на понижающий регулятор напряжения BD33IAWEFJ}}