На этой странице описано, как собрать контроллер 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
Рисунок 3. Индикаторы выключаются и включаются для test_auto_flash
Управление серводвигателем
Аналоговые серводвигатели на испытательном стенде представляют собой позиционные сервоприводы, управляемые с использованием широтно-импульсной модуляции (ШИМ). Типичный пример позиционного управления показан на рисунке 3. Сигнал управления имеет период 20 мс. Изменение ширины импульса на минимальную ширину переводит двигатель в нейтральное положение, а изменение ширины импульса на максимальную ширину перемещает двигатель на 180 градусов по часовой стрелке.
Рисунок 4. Типичное описание сервоуправления
Видеоурок
Это видеоурок о том, как настроить контроллер Android 13.
Лист регистраций изменений
В следующей таблице описана история изменений установки Camera ITS WFoV и включены ссылки для загрузки каждой версии рабочих файлов.
Дата | Редакция | Загрузка производственного файла | Журнал изменений |
---|---|---|---|
декабрь 2022 г. | 1.1 |
| |
март 2022 г. | 1 |
|
Реализация контроллера 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 не используется и скрыт конструкцией корпуса, чтобы избежать путаницы при подключении питания к контроллеру.
Рисунок 7. Освещение и питание 12 В, подключенные к контроллеру Android 13.
В зависимости от размера ствола источника света при необходимости используйте адаптер.
Рисунок 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, поскольку они не обеспечивают точное движение, необходимое для стабилизации и освещения. контроль.
Рисунок 11. Контроллер Arduino Rev.2
Рис. 12. Контроллер комплекта Cana
Другие источники
Загрузка механических чертежей
Загрузка программного обеспечения для управления
- Микрокод Arduino для Android 11 и выше
VarSpeedServo_and_lighting_control.ino
- Тестовый код управления Python
rotator.py