Автоматическая турель

Автоматическая турель

Привет всем! По специальности я инженер-математик, но так сложилось, что последние годы работаю не по специальности. Поэтому, чтобы не забыть навыки, да и для интереса делаю различные проекты для себя. Так 3 года назад мне пришла идея сделать автоматическую турель с максимальной точностью стрельбы, способную самостоятельно поражать летящие цели. Сейчас основная часть работы сделана, и вы сможете увидеть результат. Красивые статьи писать я не умею, поэтому будет очень краткое сухое техническое описание, кому не интересно могут сразу посмотреть видео в конце.

Первым делом был куплен страйкбольный автомат CYMA AK-74M CM040 и 3000 боеприпасов к нему. С автомата сняты приклад, крышка ствольной коробки, возвратный механизм, затвор, пистолетная рукоятка и шомпол. Для возможности управления стрельбой с компьютера реализован электронный спуск.

Далее конструкция. Ответственные детали сделаны из дюрали и стали, остальные изготовлены из фанеры, ДСП и картона. Зачастую достать нужный материал было невозможно, из-за чего некоторые детали дорабатывались под имеющийся. На большие дюралевые детали материала и вовсе не нашлось, поэтому пришлось выплавлять заготовки. Плавил в первый раз, поэтому из-за неопытности отливки получились пористые и с раковинами, но на функциональность готовых деталей это не повлияло. В основании установки расположен радиально-упорный подшипник диаметром 130 мм.

Изначально планировалось сделать зубчатые передачи, однако в последний момент возникли опасения насчёт точности нарезания зубьев. Поэтому было решено использовать ременную передачу с ремнём GT2. Заготовку горизонтального колеса удалось приспособить, а вот заготовку вертикального колеса пришлось выбросить, как и уже готовые шестерни.

Углы наведения по вертикали от -15 до +60 град, наведение по горизонтали за счёт применения контактных колец неограниченно.

В движение установку приводят два шаговых двигателя NEMA17 JK42HS40-1704, управляемых драйверами DRV8825. Разгон и торможение двигателей происходит с переключением микрошага. Питает двигатели силовой трансформатор с выходным напряжением 35 V и током 4 A. Для охлаждения установлены два вентилятора 80 мм и 120 мм. Получившиеся характеристики приводов: скорость наведения до 55 град/с, ускорение до 85 град/с/с.

Для работы с драйверами ШД и датчиками использован микроконтроллер STM32F407VGT6 на отладочной плате STM32F4-Discovery. Связь с компьютером осуществляется через виртуальный COM-порт.

В качестве прицела используются две web-камеры Logitech c270, работающие в стерео-режиме с частотой 30 кадров в секунду. Казалось бы две одинаковые камеры, но качество изображения заметно отличается. Камеры калибруются в Matlab при помощи Camera Calibration Toolbox.

Микроконтроллер и камеры подключены к хабу USB 3.0. Кабель USB 3.0 разрезан, спаян через контактные кольца и выведен из нижней части корпуса основания турели. Провода от колец с каждой стороны изначально по 25 см, поэтому их необходимо максимально укоротить. Я этого сразу не сделал и хаб не определялся в компьютере, хотя все контакты прозванивались. Также в турель идёт кабель 220V, но его я побоялся подключать через контактные кольца, поэтому сделал щётки.

Для уравновешивания люльки в передней части размещены противовесы общей массой 2.5 кг.

Итоговые массогабаритные характеристики: масса 20.4 кг, длина 945 мм, ширина 481 мм, высота 423 мм.

Стоимость компонентов вышла примерно в 18000 рублей.

Что получилось:

Пикабу

Невозможно идеально сделать детали и собрать их, отсюда проблема — взаимное положение осей неизвестно, не равно теоретическим 0 или 90 град. Чтобы согласовать оси вращения башни и люльки, визирную ось прицела и ось ствола необходимо построить соответствующие системы координат.

Для построения систем координат башни и люльки применена инерциальная навигационная система на базе модуля GY-521. Основа модуля — микросхема MPU6050, содержащая трех осевой MEMS акселерометр, трех осевой MEMS гироскоп и температурный датчик. Предварительно акселерометр и гироскоп калибруются.

Система координат прицела строится путём наблюдения за меткой на щите в различных угловых положениях башни и люльки.

Для построения системы координат ствола необходимо визуализировать ось ствола. Для этого в ствол помещается стержень с лазером на конце, а точка на щите фиксируется прицелом.

Зная системы координат и решив задачу внешней баллистики, можно рассчитать углы наведения на цель.

Общая ошибка не превышает 4 мрад, что на дистанции 30 м даст отклонение 12 см.

В системе управления огнём реализованы два режима: статический (ручное целеуказание) и динамический (автоматический поиск и поражение целей). В первом необходимо на экране указать одну или несколько целей и нажать кнопку открытия огня. Во втором установка сама обнаруживает движущиеся контрастные цели. После необходимого количества наблюдений прогнозируется дальнейшая траектория цели. Далее, учитывая время поворота и время полета шарика, рассчитывается упреждающая точка. С момента обнаружения цель может быть поражена через 1.5 секунды.

Также турелью можно управлять мышкой как в компьютерной игре-стрелялке. Положение перекрестия при этом регулируется колёсиком мыши в зависимости от визуально оцененной дальности до цели.

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

Пикабу

Отклонение составило 2-3 мрад, поэтому можно считать максимальную точность стрельбы достигнутой. А самостоятельно поражать летящие цели турель пока может только теоретически в математической модели.

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

Спасибо за внимание! В комментариях отвечу на вопросы.

Источник