====== Камера машинного зрения 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}}