Контроллер Android 13

На этой странице описано, как собрать контроллер Android 13, который управляет движением испытательной установки для слияния датчиков и освещением для ITS-in-a-box. Тест на слияние датчиков является частью набора тестов изображения камеры (Camera ITS) в наборе тестов совместимости (CTS). Контроллер Android 13 разработан для упрощения сборки и снижения затрат по сравнению с предыдущими версиями контроллера. Дополнительными преимуществами являются изоляция питания между электроникой и сервоприводами, а также управление тремя сервоприводами и тремя лампами с одного контроллера.

Обзор контроллера Android 13

Сервоприводы и управление освещением на испытательных стендах

Испытательная установка Sensor Fusion обеспечивает фиксированное движение телефона для воспроизводимого тестирования. Телефон поворачивается перед мишенью в виде шахматной доски, чтобы можно было захватывать изображения с помощью телефона в различных положениях. Для test_sensor_fusion сервопривод поворачивает телефон вокруг центра оси камеры на 90 градусов и обратно примерно за 2 секунды. Для test_video_stabilization сервопривод несколько раз поворачивает телефон вокруг центра оси камеры на 10 градусов и назад, чтобы имитировать движение телефона при съемке видео во время ходьбы. На рисунке 1 показаны два телефона, движущиеся в испытательной установке для слияния датчиков. На рисунке 2 показан один телефон, движущийся на испытательном стенде для слияния датчиков.

ITS-in-a-box обеспечивает единую среду тестирования с фиксированным расстоянием между тестовым планшетом и тестовым телефоном, а также стабильное освещение без внешнего источника света. Для test_auto_flash необходима темная среда с выключенным освещением, чтобы активировать функцию автоматической вспышки на тестовых телефонах. На рис. 3 показано, как индикаторы в ITS-in-a-box выключаются и включаются контроллером Android 13.

Движение телефона на испытательном стенде

Рисунок 1. Движение телефона на испытательном стенде test_sensor_fusion

Движение телефона на испытательном стенде

Рисунок 2. Движение телефона на испытательном стенде для test_video_stabilization

Управление освещением в рамках ITS-in-a-box

Рисунок 3. Индикаторы выключаются и включаются для test_auto_flash

Управление серводвигателем

Аналоговые серводвигатели на испытательном стенде представляют собой позиционные сервоприводы, управляемые с использованием широтно-импульсной модуляции (ШИМ). Типичный пример позиционного управления показан на рисунке 3. Сигнал управления имеет период 20 мс. Изменение ширины импульса на минимальную ширину переводит двигатель в нейтральное положение, а изменение ширины импульса на максимальную ширину перемещает двигатель на 180 градусов по часовой стрелке.

Описание сервоуправления

Рисунок 4. Типичное описание сервоуправления

Видеоурок

Это видеоурок о том, как настроить контроллер Android 13.

Лист регистраций изменений

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

Дата Редакция Загрузка производственного файла Журнал изменений
декабрь 2022 г. 1.1
  • Добавлена ​​возможность заказать заполненную печатную плату у EasyEDA.
  • Удалены ложные задержки после перемещения сервопривода в микрокоде Arduino.
  • Стойки заменены с металлических на нейлоновые.
  • Заменены МОП-транзисторы со сквозными отверстиями на МОП-транзисторы поверхностного монтажа.
  • Поменял конденсатор с 10 мкФ на 1000 мкФ.
март 2022 г. 1
  • Добавлена ​​возможность управления освещением.
  • Изменено с 6 сервоуправлений на 3 управления освещением и 3 сервоуправления.

Реализация контроллера Android 13

Для управления движением серводвигателя и освещением через главный компьютер испытательному стенду для сварки датчиков требуется USB-соединение. Контроллер Android 13 использует плату Arduino UNO R3 с подключением через USB и специальной платой маршрутизации (или экраном ), установленной сверху. Двухслойный экран разработан с помощью онлайн-инструмента проектирования печатных плат с открытым исходным кодом и доступен по адресу https://oshwlab.com/leslieshaw1023/cameraits_arduino_shield_populated . Виды сверху и снизу специального щита для маршрутизации показаны на рисунках 5 и 6.

Пользовательский щит маршрутизации, вид сверху

Рис. 5. Пользовательский экран маршрутизации (вид сверху)

Пользовательский щит маршрутизации, вид сверху

Рис. 6. Пользовательский экран маршрутизации (вид снизу)

Контроллер Android 13 может управлять тремя установками для сенсорной сварки и тремя ITS-in-a-box с одного хост-компьютера. На виде сверху показаны трафаретные контуры для установки трех 3-контактных разъемов двигателя вдоль центральной оси и трех разъемов питания светодиодов. На виде снизу показаны трафаретные контуры 4- и 8-контактных разъемов, необходимых для сопряжения с UNO, разъемом питания 5 В и обходным конденсатором 10 мкФ.

Для изоляции токов сервопривода и освещения питание сервоприводов подается через внешний разъем 5 В. Электроника UNO питается отдельно через разъем USB, и между двумя платами питание не распределяется. Обратите внимание, что существующий разъем внешнего питания на UNO не используется и скрыт конструкцией корпуса, чтобы избежать путаницы при подключении питания к контроллеру.

Питание освещения и зарядное устройство на 12 В подключены к контроллеру Android 13.

Рисунок 7. Освещение и питание 12 В, подключенные к контроллеру Android 13.

В зависимости от размера ствола источника света при необходимости используйте адаптер.

Преобразователь штекера 3,5 x 1,35 мм в гнездо 5,5 x 2,1 мм

Рисунок 8. Адаптер для подключения питания освещения к контроллеру.

Сборка контроллера Android 13

Спецификация материалов (BOM)

Кол-во Описание ПН/Ссылка
1 Щит CameraITS Arduino толщиной 1,6 мм https://oshwlab.com/leslieshaw1023/cameraits_arduino_shield_populated
1 Ардуино УНО Р3 https://store.arduino.cc/usa/arduino-uno-rev3
6 2,1x5,5 мм, сквозной разъем 5 В, прямоугольный цилиндрический разъем 101179
2 Танталовые конденсаторы 35 В, 10%, 10 мкФ 2290863
2 Керамические конденсаторы 1206, 50 В, 5 %, 100 пФ 12065A101JAT2A
3 1 кОм, резистор для поверхностного монтажа CRCW08051K00FKEAC
3 Силовой МОП-транзистор RFP30N06LE
3 1x3x, шаг 100 мил (2,54 мм), штыревой разъем со сквозным отверстием 732-5316-НД
1 1x8x, шаг 100 мил (2,54 мм), штыревой разъем со сквозным отверстием 732-5321-НД
1 1x4x, шаг 100 мил (2,54 мм), штыревой разъем со сквозным отверстием 732-5317-НД
3 Нейлоновые стойки диаметром 11 мм (ширина 5 мм, резьба М3-0,5) 92319a317
4 Нейлоновые стойки 6 мм с наружной и внутренней резьбой (ширина 5 мм, резьба М3-0,5) 95783a004
3 Нейлоновые винты M3-0,5 6 мм с потайной головкой 92492A716
4 Винты M3-0,5 8 мм с плоской головкой XM2510008A20000
2 Винты M3-0,5 6 мм с плоской головкой XM2510006A20000
6 #4, 1/2 дюйма винты для листового металла с круглой головкой 90925A110
1 Блок питания 5 В, 15 Вт, сертифицированный UL, вилка 2,1x5,5 мм (двигатели) КСАС0180500300ВУ-ВИ
1 Блок питания 12 В, 60 Вт, сертифицированный UL, вилка 2,1x5,5 мм (световые приборы) GSM60A12-P1J

Другие необходимые инструменты

  • Паяльник, припой, припой-присоска
  • Маленькая отвертка с крестообразным шлицем
  • Отвертка Torx размера T10

Заполнение платы маршрутизации

Заполните верхнюю и нижнюю часть маршрутной платы деталями, подходящими по их контурам. В нижней части платы штекерные разъемы можно выровнять, разместив их в правильных местах на плате Arduino и поместив маршрутизирующую плату поверх разъемов. Затем разъемы 1x8 и 1x4 можно припаять на месте, гарантируя хорошее выравнивание между Arduino и платой маршрутизации. То же самое можно сделать и с разъемом питания, но для плотной сборки потребуется прокладка, поскольку разъем питания не опирается на Arduino после сборки. После пайки байпасного конденсатора в верхней части платы можно разместить шесть штекерных разъемов 1x3 для управления двигателем. Обратите внимание, что разъем должен быть ориентирован так, чтобы нижняя часть защелкивающегося разъема была обращена к двигателям, чтобы обеспечить максимальное пространство для крепления двигателя.

Когда все компоненты припаяны на месте, систему можно собрать с помощью стоек и винтов. Между Arduino и нижней частью пластикового корпуса имеются четыре стойки диаметром 6 мм «папа-мама», обеспечивающие механическую устойчивость. Однако между Arduino и специальным экраном есть только три 11-миллиметровых гнездовых разъема, поскольку одно отверстие на Arduino (то, что рядом с контактом SCL) непригодно для использования из-за его близости к гнездовому разъему на Arduino. Прикрутите три стойки «мама-мама» к трем стойкам «мама-мама», чтобы закрепить стойки на Arduino. Затем прикрепите экран платы маршрутизации к стойкам с помощью трех винтов M3. На рисунке 9 показана схема экрана Arduino.

Схема щита Ардуино

Рисунок 9. Схема шилда Arduino.

Корпус контроллера

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

Собранная система в корпусе

Рис. 10. Установленный экран и собранная система в корпусе.

Программное управление с хоста

Микрокод можно загрузить в UNO, чтобы назначить выводы ШИМ сигналам двигателя и определить диапазоны ширины импульса для разных углов. Микрокод сервоуправления вращением шести двигателей HS-755MB включен в раздел «Другие ресурсы» . В этом разделе также есть ссылка на простую программу rotator.py , которая вращает сервоприводы.

Использование контроллера Android 13

Использование камеры:

python tools/run_all_tests.py device=device_id camera=0 rot_rig=arduino:1 scenes=sensor_fusion

С включенным тестовым скриптом:

python rotator.py --ch 1 --dir ON --debug

Предыдущие контроллеры и совместимость

Контроллер версии 2 и контроллер версии 1 (показанные на рисунках 11 и 12) несовместимы с Android 13 и не поддерживают test_preview_stabilization, test_video_stabilization и test_auto_flash, поскольку они не обеспечивают точное движение, необходимое для стабилизации и освещения. контроль.

Версия 2 Контроллер Arduino

Рисунок 11. Контроллер Arduino Rev.2

Собранная система в корпусе

Рис. 12. Контроллер комплекта Cana

Другие источники

Загрузка механических чертежей

Загрузка программного обеспечения для управления