Конкурс самоделок
» » » Недорогой хронограф для пневматической винтовки

Недорогой хронограф для пневматической винтовки

Недорогой хронограф для пневматической винтовки

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

Подготавливаем необходимые материалы и инструменты:
- китайский Digispark (обошелся на момент покупки в 80 рублей);
- дисплей сегментного типа на TM1637 (обошелся при покупке в 90 рублей);
- инфракрасные светодиоды и фототранзисторы (10 пар) - стоимость составила 110 рублей;
- сто резисторов на 220 Ом обошлись в 70 рублей, но из них будут нужны только два.

Вот и все, это весь список элементов, которые нужно будет купить. Кстати резисторы тоже можно найти в старой бытовой технике. Можно ставить и больше по номиналу, но не меньше. В итоге можно уложиться в 350 рублей, а ведь это не так много, учитывая, что заводской хронограф обойдется как минимум в 1000 рублей, да и сборка там куда хуже нашей самоделки.

Помимо всего прочего, нужно запастись такими деталями как:
- провода;
- кусок трубы длиной не менее 10 см (подойдет пластиковая водопроводная);
- все для пайки;
- мультиметр (желательно).


Первые описанные три детали имеют свои нюансы, поэтому каждую из них нужно рассмотреть отдельно


Digispark
Этот элемент представляет собой миниатюрную плату, которая совместима с Arduino, на борту она имеет ATtiny85. Как подключить этот элемент к Arduino IDE, можно почитать на официальном сайтt проекта, еще там можно скачать для нее драйвера.
У этой платы есть несколько вариантов, в одной используется microUSB, а другая оборудована USB-коннектором, который разведен прямо на плате. В связи с тем, что самоделка не имеет индивидуального блока питания, автор выбрал первый вариант платы. Если установить в самоделку батарею или аккумулятор, это сильно повысит ее цену, причем не сильно повлияет на практичность. А кабель для зарядки мобильного и Power bank есть почти у каждого.
Недорогой хронограф для пневматической винтовки

Что касается характеристик, то они подобны ATtiny85, здесь его возможностей хватает с избытком. Микроконтроллер в хронографе всего лишь опрашивает датчики и управляет дисплеем.
Если вы еще ни разу не встречались с Digispark-ом, наиболее важные нюансы можно посмотреть в таблице.
Недорогой хронограф для пневматической винтовки

Важно учитывать тот факт, что нумерация пинов для функции analogRead() имеет отличия. А еще на третьем пине находится подтягивающий резистор номиналом 1.5кОм, поскольку он применяется в USB.

Пару слов о дисплее
Дисплей для самоделки можно использовать любой, но автор остановил свой выбор на дешевом варианте. Чтобы сделать устройство еще дешевле, от дисплея можно отказаться совсем. Данные просто можно через кабель выводить на компьютер. Здесь будет нужна библиотека DigitalTube. Рассмотренный дисплей является копией дисплея Grove.
Как выглядит дисплей спереди и сзади можно увидеть на фото.
Недорогой хронограф для пневматической винтовки
Недорогой хронограф для пневматической винтовки

Поскольку расстояния между цифрами одинаковые, то при выключенном двоеточии цифры читаются без проблем. Стандартная библиотека способна выводить числа в диапазоне 0-9. буквы в диапазоне a-f, а еще есть возможность для изменения яркости всего дисплея. Значения цифры можно задать, используя функцию display(int 0-3, int 0-15).
Недорогой хронограф для пневматической винтовки

Как использовать дисплей


Если попробовать выйти за пределы значений [0, 15], то дисплей будет показывать неразбериху, которая плюс ко всему еще и является не статичной. Поэтому для вывода спецсимволов, таких как градусы, минусы и пр., придется повозиться.
Недорогой хронограф для пневматической винтовки

Автор хотел, чтобы на дисплее выводилась и готовая энергия полета пули, что вычислялось бы в зависимости от скорости пули и ее массы. Значения по задумке должны были выводиться последовательно, а чтобы понять, где какое, их нужно как-то отметить, к примеру, с помощью буквы «J». В крайнем случае, можно просто задействовать двоеточие, но автора это не устроило, и он полез в библиотеку. В итоге на базе функции display была сделана функция setSegments(byte addr, byte data), она зажигает в цифре с номером addr сегменты, которые закодированы в data:



Кодируются такие сегменты довольно просто, за верхний сегмент несет ответственность младший бит data, ну а далее по часовой стрелке, 7-ой бит несет ответственность за средний сегмент. Символ «1» при кодировке выглядит как 0b00000110. За двоеточие отвечает восьмой старший бит, он используется во второй цифре, а во всех других игнорируется. Впоследствии автор автоматизировал процесс получения кодов, используя Exсel.
Недорогой хронограф для пневматической винтовки

Что же в итоге вышло, можно увидеть на фото
Недорогой хронограф для пневматической винтовки
Недорогой хронограф для пневматической винтовки



Ну и наконец, датчики

О датчиках точной информации не предоставлено, известно только, что они имеют длину волны 940 нм. В ходе экспериментов было выяснено, что датчики не способны выдерживать ток более 40 мА. Что касается напряжения питания, то оно не должно быть выше 3.3В. Что касается фототранзистора, то он имеет немного прозрачный корпус и реагирует на свет.
Недорогой хронограф для пневматической винтовки

Приступаем к сборке и настройке самоделки:

Шаг первый. Сборка

Собирается все по очень простой схеме. Из всех пинов будут нужны всего Р0, Р1 и Р2. Первые два используются для дисплея, а Р2 нужен для работы датчиков.
Как можно заметить, один резистор используется для того, чтобы ограничить ток для светодиодов, ну а второй стягивает Р2 на землю. В связи с тем что, фототранзисторы подключаются параллельно, то когда пуля будет проходить перед любой оптопарой, напряжение на Р2 будет падать. Чтобы определить скорость полета пули, нужно знать расстояние между датчиками, замерить два скачка напряжения и определить время, за которое они произошли.
В связи с тем, что будет использоваться только один пин, не имеет значения, с какой стороны стрелять. Фототранзисторы в любом случае заметят пулю.
Недорогой хронограф для пневматической винтовки
Недорогой хронограф для пневматической винтовки
Недорогой хронограф для пневматической винтовки
Недорогой хронограф для пневматической винтовки
Недорогой хронограф для пневматической винтовки

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

Еще важно отметить, что пин Р2 был выбран не просто так, дело в том, что Р3 и Р4 применяются в USB, поэтому теперь с помощью Р2 есть возможность прошить самоделку уже после сборки.
Еще Р2 является аналоговым входом, поэтому использовать прерывание нет надобности. Можно просто измерять показания между текущем и предыдущем значением, если разница становится выше определенного порога, значит, в этот момент пуля как раз проходит возле оптопары.

Шаг второй. Прошивка

Prescaler является делителем частоты, в стандартных случаях в платах наподобие Arduino он равен 128. Эта цифра влияет на то, как часто идет опрос АЦП. То есть для дефолтных 16 мГц выходит 16/128 = 125 кГц. Каждая оцифровка состоит из 13 операций, поэтому пин может максимально опрашиваться со скоростью 9600 кГц. На практике же это не более 7 кГц. В итоге интервал между замерами составляет 120 мкс, что слишком много для работы самоделки. Если пуля будет лететь со скоростью 300 м/с, она преодолеет за это время путь в 3.6 см, то есть контроллер просто не сможет ее заметить. Чтобы все работало нормально, интервал между замерами должен быть как минимум 20 мкс. Для этого значение делителя должно быть равно 16-ти. Автор же сделал делитель 8, как это сделать, можно увидеть ниже.
Недорогой хронограф для пневматической винтовки


Что же получилось узнать в ходе эксперимента, видно на фото

Логика работы прошивки имеет несколько этапов:

- измерение разницы значений на пине до и после;
- если разница превышает порог, то идет выход из цикла и запоминается текущее время (micros());
- второй цикл работает аналогично первому и имеет счетчик времени в цикле;
- если счетчиком была достигнута заданная величина, то идет сообщение об ошибке и переход в начальное состояние. При этом цикл не уходит в вечность ,если пуля вдруг не была поймана вторым датчиком;
- если же не произошло переполнения счетчика и разница значения больше порога, идет замер текущего времени (micros());
- теперь на основе разницы во времени и расстояния между датчиками можно высчитать скорость полета пули и вывести информацию на экран. Ну а потом все начинается сначала.

Завершающий этап. Тестирование
Если все сделано верно, устройство заработает без проблем. Единственная проблема - это плохая реакция на люминесцентное и светодиодное освещение, частота пульсаций при этом составляет 40 кГц. При этом в устройстве могут образовываться ошибки.

Работает самоделка в трех режимах:

После включения идет приветствие, и потом экран заполняется полосками, это говорит о том, что устройство ожидает выстрела
Недорогой хронограф для пневматической винтовки

Если есть ошибки, показывается сообщение «Err», а потом включается режим ожидания
Недорогой хронограф для пневматической винтовки

Ну а потом идет замер скорости
Недорогой хронограф для пневматической винтовки

Сразу после выстрела устройство покажет скорость полета пули (отмечается символом n), а потом высветится информация об энергии пули (символ J). При показе джоулей также высвечивается двоеточие.

hronograf.rar [1,54 Kb] (cкачиваний: 22)
скачать dle 11.1смотреть фильмы бесплатно
Чтобы написать комментарий необходимо войти на сайт через соц. сети (или зарегистрироваться):
Обычная регистрация
1 комментарий
  1. Иван_Похмельев
    О датчиках точной информации не предоставлено, известно только, что они имеют длину волны 940 нм. В ходе экспериментов было выяснено, что датчики не способны выдерживать ток более 40 мА.

    Не о датчиках, а о светодиодах. Чтобы уяснить, что 40 мА - много, не надо было жечь светодиод, так как в таком корпусе для однокристалльного светодиода максимально допустимый прямой постоянный ток не больше 20 мА.
    Что касается напряжения питания, то оно не должно быть выше 3.3В. Что касается фототранзистора, то он имеет немного прозрачный корпус и реагирует на свет.

    Напряжение питания может быть и больше указанного, так как режим работы светодиода устанавливается не по напряжению, а по току. Опять классическая безграмотность: светодиоды включены параллельно. Где там фототранзистор?
    фототранзисторы подключаются параллельно,
    А на схеме - фотодиоды и последовательно. В чём правда, брат?
    параллельно светодиодам электролит на 100 мКф.
    Не мКф, а мкФ.
    Чтобы все работало нормально, интервал между замерами должен быть как минимум 20 мкс.
    Не минимум, а максимум.

    Ничего не сказано об установке базового расстояния и о том, как стыкуется хронограф со стволом перед измерением.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Онлайн чат

Опрос
Как Вам сайт?

Последние комментарии

Все комментарии

Комментаторы за месяц

Делаюсам Комментариев: 556 Публикаций: 27
1
Валерий Комментариев: 796 Публикаций: 31
2
Иван_Похмельев Комментариев: 538 Публикаций: 0
3
pogranec Комментариев: 231 Публикаций: 109
4
Pronin Комментариев: 101 Публикаций: 6
5