- Как сделать рамочный хронограф для пневматики с целью настройки и тестирования своего оружия
- Самодельный рамочный хронограф для пневматики
- Необходимый материал и детали
- Порядок сборки хронографа
- Принцип действия самодельного хронографа
- Оружейный хронограф своими руками
- Дешёвый хронограф для пневматики своими руками
- 1. Детали и принадлежности
- 1.1. Digispark
- 1.2. Дисплей на базе TM1637
- 1.3. Датчики
- 2. Подготовка деталей и сборка
- 3. Прошивка
- 3.1. Пару слов о prescaler
- 3.2. Итоговый скетч
- 4. Примеры работы
Как сделать рамочный хронограф для пневматики с целью настройки и тестирования своего оружия
Хронограф – универсальный прибор для измерения скорости полета небольших предметов. Наиболее функциональными и удобными для тестирования и настройки пневматического оружия оказались рамочные хронографы. С их помощью можно установить скорость не только пули, но и стрелы, арбалетного болта или запущенной из рогатки скобы.
Самодельный рамочный хронограф для пневматики
Конструкция аппарата включает рабочую зону, через которую пролетает пуля, вычислительную схему и дисплей для визуализации полученных результатов. Принцип действия прибора состоит в фиксировании времени, которое требуется пуле для пролета известного отрезка между двумя или несколькими датчиками, и последующий расчет ее средней скорости (расстояние делится на время).
Существуют различные схемы хронографа, отличающиеся функциональностью, дизайном и ценой реализации.
Преимущества самодельного рамочного хронографа для пневматики со световой схемой:
- большие размеры рабочей зоны, позволяющие производить выстрел как в упор, так и на значительном удалении (можно испытывать баллистические характеристики пуль на разном расстоянии);
- широкий диапазон измеряемых скоростей из-за увеличенного линейного промежутка между датчиками;
- пригодность к тестированию любого типа пневматики, независимо от конструкции и принципа действия (PCP, ППП, модели на CO2 и пр.);
- возможность использования в домашних условиях с оружием, оснащенным саунд-модератором.
Недостатки:
- необходимость защиты лицевой части рабочей зоны от случайных попаданий (бронирование);
- чувствительность оптической схемы к сильному механическому воздействию, в том числе рикошету и ударам осколками пули;
- громоздкость;
- рассчитанная скорость пули зависит от траектории полета (выстрел по диагонали уменьшает измеренное значение);
- зависимость работоспособности большинства моделей от степени освещенности и погоды;
- ложное срабатывание при попадании в камеру посторонних объектов (снег, механические частицы, насекомые).
Фото самодельного рамочного хронографа
Главная причина популярности рамочных хронографов – универсальность в эксплуатации и возможность использования с любым типом оружия.
Необходимый материал и детали
Для сборки хронографа требуется ряд устройств и инструментов. Их полный перечень зависит от навыков пользователя по проектированию и монтажу электрических схем.
Обязательно понадобятся следующие компоненты:
- паяльник, припой и флюс – применяются на всех этапах подготовки микросхемы и соединения проводов;
- микросхема, с помощью которой осуществляется замер временного интервала между прохождением пулей датчиков и расчет скоростных параметров;
- светодиоды – служат источником искусственного освещения;
- оптические приемники – фиксируют изменение освещенности при пролете пули между ними и светодиодами;
- корпус прямоугольной формы, имеющий четыре стороны и полый изнутри (наподобие внешней части спичечной коробки). Лучше всего подойдет цельнометаллический корпус, устойчивый к удару пули при промахе;
- дисплей для вывода результатов измерений.
Порядок сборки хронографа
Перед тем как ответить на вопрос, вроде как сделать рамочный хронограф для пневматики своими руками, следует подготовить корпус к установке датчиков и элементов микросхемы, которые должны быть защищены или расположены в местах, недоступных для попадания пули. Изнутри корпус рекомендуют окрасить темной небликующей краской, поглощающий свет. Это уменьшит число ложных срабатываний и повысит чувствительность прибора.
После установить плату, подключив ее к датчикам и подготовив места ввода питания. Если есть желание составить микросхему самостоятельно, минуя привлечение сторонних специалистов, можно использовать следующую схему (рис. 1).
Рис. 1 Микросхема хронографа
После сборки основных узлов необходимо закрыть электрическую схему прибора, обезопасив ее от механического воздействия и случайного попадания влаги. Это удобнее всего сделать, предусмотрев заранее отдельный пластмассовый коробок для печатной платы, имеющий выходы к дисплею, датчикам и батарее.
Принцип действия самодельного хронографа
Питание прибора может осуществляться от аккумуляторов, батареи или блока питания (от сети). Наиболее удобна автономная работа, поскольку наладку оружия не всегда можно провести в домашних условиях.
Измерение скорости производится в несколько этапов:
- при пересечении оси первого датчика происходит обнуление отсчета времени микропроцессора;
- после прохождения оптической оси второго датчика отсчет времени останавливается и передается для вычисления;
- рассчитанная микропроцессором скорость пули выдается на дисплей.
Схема действия рамочного хронографа
Изготовление рамочного хронографа для пневматики своими руками с нуля требует опыта пайки, базовых знаний в электротехнике и проектировании электрических цепей. Чтобы упростить выполнение задачи, компоновку микросхемы можно заказать у радиолюбителей, обеспечив их необходимыми для работы деталями. Самостоятельно собранный хронограф – отличное вложение и экономия средств, которые можно направить на тюнинг пневматики или покупку долгожданного обвеса.
На видео испытание самодельного рамочного хронографа:
Источник
Оружейный хронограф своими руками
Статья с фотками процесса и результатами у меня на сайте. Критика приветствуется, но только конструктивная, пожалуйста
Если есть вопросы пиши на мыло 10[гав]roft.ru
To: greblin
В этой ветке предлагается использовать микрофон или наушники — лишний геморрой с тишиной, не пошелести в этот момен, с уровнем танцуй — бубен есть, но камлать уже надоедает. Хочется простых и красисых решений.
Ага. увидел.. Все новое — это хорошо забытое старое
To: mironov
Прогу попробую вечером, как до дома доберусь. Спасибо за ссылку.
А быстродействия их хватит. К вечеру могу график показать сделанный с данных AirSoft’a. Там видно, что уровень сигнала падает довольно быстро, хотя и не до нуля. Короче два всплека очень высоких и ниже уже от них небольшие горки.
Еще очень много открытых оптопар в старых дисководах для дискет 5,25″ и 3,5″, встречаются в сидюках на открытие-закрытие трея, в старых кассетных видеомагнитофонах их штук 5
Нсчет мышиных фототранзисторов не знаю, такие как в хронолайте стоят справляются нормально. AirSpeed’ом не проверял, на моей проге до 270 м/с нормально получается:
Нас в данном случае волнует не открытие транзистора без базы (считаем диод), А его способность сгенерировать какое-то напряжение при освещении его.
Практически на 100 процентов уверен в том, что эти фототрназисторы подойдут. Единственное дополнение, если берем с черным корпусом, то освещаем их инфракрасными, а если с прозрачным, то любыми. Инфракрасный фильтр видимый свет просто не пропустит.
To: mironov
Прога твоя с моим датчиком работает прекрасно, спасибо
Источник
Дешёвый хронограф для пневматики своими руками
В своей первой публикации я хочу рассказать вам, как я собрал хронограф за пару вечеров из дешевых и доступных всем деталей. Как вы наверное уже догадались из названия, этот девайс служит для измерения скорости пули у пневматических (и не очень) винтовок и бывает полезным для контроля её технического состояния.
1. Детали и принадлежности
- Китайский Digispark — 80 рублей на момент покупки
- Сегментный дисплей на TM1637 — 90 рублей на момент покупки
- ИК светодиоды и ИК фототранзисторы (10 пар) — 110 рублей на момент покупки, нам нужны 2 пары
- Резисторы 220 Ом (100шт) — 70 рублей на момент покупки, нам нужно только 2 штуки
На этом заканчиваются детали, которые необходимо покупать. Резисторы можно не заказывать, похожие по номиналу (но не меньше!) можно выдернуть из ненужной бытовой электроники. Таким образом, суммарные затраты менее 350 рублей, это ничто по сравнению с ценой нового заводского хронографа (over 1000р за самый простой, который по факту еще примитивнее нашего сабжа). Кроме деталей нам пригодятся:
- Провода — найти в оффлайне бесплатно не проблема
- Кусок пластиковой водопроводной трубы длиной более 10см (диаметр по вкусу) — так же легко найти
- Паяльные принадлежности
- Мультиметр (опционально)
Первые 3 детали достойны отдельного рассмотрения, так как имеют свои особенности, поэтому начнем с мини-обзоров на них.
1.1. Digispark
Представляет собой простую миниатюрную Arduino-совместимую плату с ATtiny85 на борту. Как подключить к Arduino IDE читаем на официальном сайте проекта, там же можно найти драйвера для нее. Существует два основных вида этой платы: с microUSB и более брутальный с USB коннектором, разведенным прямо на плате.
Мой хронограф не имеет собственного источника питания, поэтому я выбрал первый вариант платы. Встроенная батарейка/аккумулятор сильно повысит цену, не добавив при этом практически ничего к юзабилити. Power bank и кабель для зарядки телефона валяется практически у каждого.
Характеристики само собой унаследованы от ATtiny85, его возможностей в нашем случае достаточно с головой. Фактически МК в хронографе не делает ничего, кроме опроса двух датчиков и управления дисплеем. Для тех, кто впервые сталкивается с Digispark-ом, я свёл наиболее важные особенности в таблицу:
Flash память | 6Кб (2Кб заняты загрузчиком) |
RAM | 512 байт |
EEPROM | 512 байт |
Частота | 16,5 МГц (по-умолчанию) |
Количество I/O пинов | 6 |
Питание на VIN | 5-12В |
Pin 0 | PWM, SDA |
Pin 1 | PWM |
Pin 2 | SCK, ADC1 |
Pin 3 | USB+, ADC3 |
Pin 4 | PWM, USB-, ADC2 |
Pin 5 | PWM, ADC0 |
Эту табличку я использую как шпаргалку при разработке различных девайсов на базе этой платы. Как вы наверное заметили, нумерация пинов для функции analogRead() отличается, это следует учитывать. И еще одна особенность: на третьем пине висит подтягивающий резистор на 1.5кОм, т.к. он используется в USB.
1.2. Дисплей на базе TM1637
Следующая важная деталь — цифровой дисплей, на который будет выводиться информация. Дисплей можно использовать любой, мой выбор обусловлен только дешевизной и простотой работы с ним. От дисплея в принципе можно вообще отказаться и выводить данные по кабелю на ПК, тогда девайс станет еще дешевле. Для работы понадобится библиотека DigitalTube. Сабж, на который я дал ссылку в начале поста, представляет собой клон дисплея Grove. Вид спереди:
Между цифрами расстояние одинаковое, поэтому при выключенном двоеточии числовые значения читаются нормально. Вместе со стандартной библиотекой поставляется пример, который работает с Digispark-ом без плясок с бубном:
Все, что умеет стандартная библиотека, — выводить числа 0-9 и буквы a-f, а так же менять яркость всего дисплея целиком. Значение цифры задается функцией display(int 0-3, int 0-15).
Если попытаться вывести символ с кодом за границами [0, 15], то дисплей показывает чушь, которая при этом не статичная, поэтому схитрить для вывода спецсимволов (градусов, минуса) без бубна не получится:
Это меня не устраивало, так как в своем хронографе я хотел предусмотреть вывод не только скорости, но и энергии пули (вычисляемой на основе заранее прописанной в скетче массы), эти два значения должны выводиться последовательно. Чтобы понять, что показывает дисплей в данный момент времени, нужно как-то разделять эти два значения визуально, например, при помощи символа «J». Конечно, можно тупо задействовать символ двоеточия как флаг-индикатор, но это же не тру и не кошерно) Поэтому я полез разбираться в библиотеку и на базе функции display сделал функцию setSegments(byte addr, byte data), которая зажигает в цифре с номером addr сегменты, закодированные в data:
Кодируются сегменты предельно просто: младший бит data отвечает за самый верхний сегмент, и т.д. по часовой стрелке, седьмой бит отвечает за центральный сегмент. Например, символ ‘1’ кодируется как 0b00000110. Восьмой, старший бит используется только во второй цифре и отвечает за двоеточие, во всех остальных цифрах он игнорируется. Чтобы облегчить себе жизнь я, как и полагается любому ленивому айтишнику, автоматизировал процесс получения кодов символов при помощи excel:
Теперь можно легко сделать так:
1.3. Датчики
Тут я, к сожалению, не могу ничего особо сказать, потому что на странице товара нет ни слова о характеристиках или хотя бы маркировки, по которой можно было бы откопать даташит. Типичный noname. Известна только длина волны 940нм.
Ценой одного светодиода определил, что ток больше 40мА для них смертелен, а напряжение питания должно быть ниже 3.3В. Фототранзистор немного прозрачный и реагирует на свет
2. Подготовка деталей и сборка
Схема очень простая и незамысловатая, из всех пинов digispark-a нам понадобятся только P0, P1 — для работы с дисплеем, а так же P2 — для работы с датчиками:
Как видно, один резистор ограничивает ток на светодиодах, второй — стягивает P2 к земле. Фототранзисторы соединены последовательно, поэтому прохождение пули перед любой оптопарой приводит к уменьшению напряжения на P2. Путем регистрации двух последовательных скачков напряжения и замера времени между ними мы можем определить скорость движения пули (зная расстояние между датчиками, ессно). Использование одного пина для замеров имеет еще один плюс — нет никакого требуемого направления движения пули, можно стрелять с обоих концов. Собирать будем из этой горстки деталей:
Я пошел по пути миниатюризации и решил сделать бутерброд при помощи куска макетной платы:
Весь бутерброд залил термоклеем для прочности:
Остается только разместить датчики в трубке и припаять провода:
На фото видно, что я разместил дополнительный электролит на 100мКф параллельно светодиодам, чтобы при питании от повербанка не было пульсаций ИК диодов.
Пин P2 в качестве входа был выбран не просто так. Напомню, что P3 и P4 используются в USB, поэтому использование P2 дает возможность прошивать девайс уже в собранном виде. Во-вторых, P2 — аналоговый вход, поэтому можно не использовать прерывания, а просто мерить разницу в цикле между предыдущим и текущим значением на нем, если разница выше некоторого порога — значит пуля проходит между одной из оптопар. Но есть одна программная хитрость, без которой приведенная схема не взлетит, о ней поговорим далее.
3. Прошивка
3.1. Пару слов о prescaler
Prescaler представляет собой делитель частоты, по-умолчанию в arduino-подобных платах он равен 128. От значения этой величины зависит максимальная частота опроса АЦП, по дефолту для 16 мГц контроллера получается 16/128 = 125 кГц. На каждую оцифровку уходит 13 операций, поэтому максимальная частота опроса пина — 9600 кГц (в теории, на практике реально не выше 7 кГц). Т.е. интервал между замерами примерно 120 мкс, это очень и очень много. Пуля, летящая со скоростью 300 м/с пролетит за это время 3,6 см — контроллер просто не успеет засечь факт прохождения пули через оптопару. Для нормальной работы нужен интервал между замерами как минимум 20 мкс, необходимое значение делителя для этого равно 16. Я пошел еще дальше и в своем девайсе использую делитель 8, делается это следующим образом:
Реальные замеры интервала analogRead на разных делителях:
3.2. Итоговый скетч
Я не буду подробно описывать код, он и так хорошо задокументирован. Вместо этого я в общих словах опишу алгоритм его работы. Итак, вся логика сводится к следующим этапам:
- Первый цикл — измеряется разница между текущим и предыдущим значением на пине
- Если разница больше заданного порога, то выходим из цикла и запоминаем текущее время (micros())
- Второй цикл — аналогично предыдущему + счетчик времени в цикле
- Если счетчик достиг заданной величины, то информирование об ошибке и переход к началу. Это позволяет не уходить циклу в вечность, если пуля по каким-то причинам не была замечена вторым датчиком
- Если счетчик не переполнился и разница значений больше порога, то замеряем текущее время (micros())
- На основе разницы во времени и расстоянии между датчиками вычисляем скорость и выводим на экран
- Переход в начало
Это сильно упрощенная модель, в самом коде я добавил свистелок, в том числе вычисление и показ энергии пули на основе введенной заранее в коде массы пули.
4. Примеры работы
При правильном подключении девайс взлетел практически сразу, единственный обнаруженный недостаток — он негативно реагирует на светодиодное и люминисцентное освещение (частота пульсаций около 40 кГц), отсюда могут появляться спонтанные ошибки. Всего в девайсе предусмотрено 3 режима работы:
Приветствие после включения и переход в режим ожидания выстрела (экран заполняется полосками):
В случае ошибки — отображается «Err», и снова переход в режим ожидания:
Ну и сам замер скорости:
После выстрела сначала показывается скорость пули (с символом ‘n’), затем — энергия (символ ‘J’), причем энергия вычисляется с точностью до одного знака после запятой (на гифке видно, что при показе джоулей горит двоеточие). Корпус покрасивее найти пока не смог, поэтому просто залил все термосоплями:
Пожалуй, на этом у меня все, надеюсь, кому-то был полезен.
Источник