Pull to refresh

Comments 94

Отличный текст. Большая работа проделана. Вот только возникает вопрос: если для пейнтбола взять трубочку побольше будет нормально, то для страйкбола или обычный воздушки будет ли работать при крайне малом размере снаряда? Если пуля пролетит не по оси связи светодиодов, а сбоку или рикошетом внутри трубки?
Хронографы с трубкой плохо реагируют на СО2 пневматику
ИМХО CO2 при выстреле «генерирует» туман — потому что углекислота охлаждается при резком расширении. Это из личного опыта наблюдение.
В России в пейнтболе чаще воздух используется, т.к. зимой с СО2 особо не постреляешь. А страйкболе, вроде бы, распространены электроприводы.
Размер пульки от ППП (калибр 4.5 мм) не сильно отличается от таковой у страйкболистов, все должно работать при правильном прохождении пульки через оптопары. С трубкой длиной 10 см обеспечить точное попадание не очень сложно. По поводу CO2 осмелюсь предположить, что хронографы плохо работают из-за вылетающего вслед за пулей струи пара, она размазывает импульс с датчика во времени
Размер шара для привода в страйкболе 6 мм (бывает но редко 8 мм). Масса шара варьируется от 0.12 до 0.46 гр.
Характерные скорости указанные на упаковке с приводом указываются для шара 6 мм и массой 0.2 гр. (про 8 мм привода сказать не могу, не распространены они), да и вообще если речь идет о скоростях, говорят по скорости для шара массой 0.2 гр.
Измерять микросекундные интервалы через АЦП и analogRead? Поллингом в программных циклах?
Меня сложно удивить, но тут у вас удалось.
Причем с аппаратным старт-стопом.
А по железной части — предложений вагон и маленькая тележка, как по схемотехнике, так и по конструктиву.
очень интересны ваши предложения.
может поделитесь?

я вот думаю что центровать трубку в таком виде по оси выстрела сложно и нужно её немного модифицировать.
например изначально взять трубку длиннее и срезать часть трубы вдоль, чтобы получился желоб.
вот примерно так,
__________
|_._._._._._._\__________
|____________________|

(надеюсь «эскиз» из символов не сильно расползётся)
в толстой(круглой) необрезанной части монтировать светодиоды и фотодиоды,
а с помощью оставшейся части, желоба, монтировать на ствол, стяжками или липучками.

или можно желоб к имеющейся трубке прикрутить.
Думаю даже сейчас это можно сделать. Взять пластиковую трубу диаметром больше той что использована, распустить вдоль. С одной стороны приклеить к ней хронометр, другую можно хомутами крепить к стволу.
Можно и выше, с понижением разрядности.
Ох…
Там еще светодиоды включены параллельно через один резистор, а вот фотодиоды — последовательно
Вот с последними никакой проблемы. Они же постоянно освещены диодами и оба открыты, на каждом падение около 0,5-0,7 В, что приемлемо. Хотя бы один перекрывается, и ток в измерительной цепи почти пропадает. Вот если бы они на отражение работали, то пришлось бы их параллельно включать.

Отличная статья. Только ТЗ описано как-то скомкано в одну строчку. Хотелось бы увидеть электро-механический принцип действия этой штуковины. Как именно она замеряет скорость, за счет чего.

Пуля пролетает между двух оптопар, соответственно контроллер видит 2 импульса и замеряет время между ними. Зная расстояние и время, вычисляется скорость.


См. схему в пункте 2 статьи.

Суть проста: есть две оптопары, включенные последовательно к одному пину микроконтроллера, который в цикле измеряет напряжение на нем. При прохождении пули через датчики меняется напряжение на пине. Датчика два, поэтому напряжение резко меняется 2 раза при прохождении пули. Контроллер вычисляет время между этими двумя скачками напряжения. Расстояние между датчиками известно, время прохождения известно, находим скорость и выводим на дисплей
Да уж, месье знает толк в извращениях. На что только не пойдут ардуинщики лишь бы в прерывания и регистры периферии не лезть.
Да что там! Я вот сегодня искал реализации часов без RTC и обнаружил проект «Make an accurate Arduino clock using only one wire». Один провод? Да, один провод, соединяющий два пина, на одном пине ШИМ с частотой 490Гц, а другой дергает прерывание по подсчету этих самых герц. Пора открывать новую дисциплину специальной Олимпиады.
Просто используй аппаратный компаратор, будут и нужные прерывания и моментальная скорость срабатывания, а время действительно лучше таймером мерить, взять 16ти битный без предделителя, и запускать его по прерываниям от компаратора.
В хронографах обычно целые линейки светодиодов и фотодатчиков, тем самым они контролируют довольно широкий коридор прохождения пули. При испытании СО2 пневмы, да хоть на жидком азоте, весьма просто попасть примерно в этот коридор не в упор, где газовый след вносит погрешность, а с расстояния нескольких метров. Тогда пуля летит «чистая». Плюс программная защита от побочных засветок путем простейшей модуляции светодиодов.
Я почему-то всегда думал, что датчик в хронографах ёмкостный.
Красиво, когда ничего лишнего) Но тут как раз кое-чего не хватает, как по мне. Во-первых, индивидуальные резисторы светодиодам, а во-вторых, кварцевого генератора. Тактовая частота внутреннего генератора у AVR сильно зависит от температуры.
А ещё завести фотодиоды на два раздельных входа, каждый со своим резистором, и ловить прерывания, повысив точность на порядки (ну или в разы), а потом выбросить все эти скетчи и написать по-нормальному, но это я размечтался…
А ещё завести фотодиоды на два раздельных входа, каждый со своим резистором

А зачем?
А вообще, достаточного одного входа. Только я бы фотодиоды подключил параллельно, тогда и компаратор не нужен. Но таймер + прерывания — обязательно!

На «схеме» бы указать полярность светодиодов и фотодиодов.
В данной схеме параллельное включение ничего не даст. В любой момент времени хотя бы один из диодов будет открыт, причём почти максимально — ведь ему прямо в упор светит светодиод. Если включить параллельно, то сигнал на выходе датчика будет скакать лишь на милливольты. А вот если закрыть оба, то да, сигнал изменится ощутимо. Другими словами, вы предлагаете логическое «и», а в схеме автора логическое «или».
По идее, этот сигнал лучше завести на вход компаратора, а не АЦП, или вообще на ногу внешнего прерывания. А чтобы засветка от внешних источников не мешала, добавить фильтр высоких частот.
Таки да, но в моем случае диоды от двух резисторов грелись, один даже сгорел, поэтому я решил оставить один резистор) Тут все индивидуально, а по поводу частоты — у ППП винтовок разброс показателей от выстрела к выстрелу намного больше погрешности, которая вносится плавающей частотой
Проверить не с чем) По существу — это просто показометр, особой точности не даст, но что-то похожее на правду показывает. На гифке МР-512 в стоке (7.5 Дж по паспорту) — реально около 6 Дж и выдает (судя по отзывам владельцев более продвинутых хронов)
Повесьте груз пластилиновый на веревке, стреляйте в него, и измеряйте отклонение груза. По закону сохранения импульса можно вычислить скорость пули.
А как учесть энергию, затрачиваемую на деформацию пластилина?
Она Вам не нужна. Вам нужны импульсы, чтобы рассчитать скорость пули, а начальную энергию рассчитаете через скорость.
Всё бы хорошо, но это справедливо только для упругого столкновения. Пластилин деформируется, часть энергии уйдёт на деформацию а не передачу импульса, в итоге значение энергии будет занижено на неизвестную величину.
Если вешать то стальной шар.
Не только. Закон сохранения импульса действует для обоих видов столкновения.
Действует, но в данном случае формула будет не тривиальной — надо будет учесть превращение части энергии при деформации.
Ещё раз: импульс ни во что не переходит. Наоборот, он при неупругом сохранении сохраняется ИМЕННО потому, что часть энергии расходуется на деформацию.
Не путайте импульс и энергию.
опечатка. Должно быть «при неупругом столкновении».

Годную ссылку на учебник не нашёл, они все в pdf. Но, допустим, здесь, формулы верные
https://www.calc.ru/Stolknoveniye-Tel-Uprugiy-I-Neuprugiy-Udary.html
Часть импульса переходит в тепловую энергию. Пластилин и пуля нагреваются при соударении.

Импульс и энергия это разные вещи. Не стоит их путать, они не переходят друг в друга. Импульс при попадании в пластилин сохранится.

«Часть импульса переходит в тепловую энергию»
Вас не насторожило то, что они в разных единицах измеряются? Это прямое указание на то, что они друг в друга переходить не могут.
Часть кинетической энергии переходит в тепловую. Так лучше?
Да, ошибся, но сути не меняет: кинетическая энергия не полностью перейдёт в потенциальную, поскольку её часть уйдёт на разогрев.
Полностью согласен. Но импульс сохраняется.
Да, вы правы, я залажал. После университета школьная физика кажется чересчур упрощённой и не учитывающей множество факторов. Например, разогрев пластилина)
Вспомнил пример из похожей области. Полётный КПД ракетного двигателя может быть неограниченно великим, хоть 10%, хоть 100%, хоть 1000%, в зависимости от скорости движения ракеты. См. эффект Оберта. Весьма неочевидная штука.
А Вы, если не секрет, кто по образованию?
Новоиспеченный инженер-ракетостроитель)
Вы оперируете идеальными телами, у вас ни пуля ни пластилин не деформируются теряя энергию которая переходит в тепловую форму.
Интересно, а как работают демпферы сводя импульс к нулю?
>Интересно, а как работают демпферы сводя импульс к нулю?

Не импульс, а энергию. Импульс весь остаётся при них.

> вас ни пуля ни пластилин не деформируются теряя энергию которая переходит в тепловую форму.
Ещё раз: я вам про импульс говорю, а не про энергию. Разницу понимаете?
Пуля совершает работу когда тормозится в толще пластилина, деформируя его а значит теряет часть скорости и импульса которые не передадутся грузу.
Все эти формулы из учебников не учитывают такую ситуацию, они идеализированы.
Вы даже учебник не осилили, раз так и не врубились, чем энергия от импульса отличается. Грузу импульс передастся полностью. А энергия частично перейдёт в деформацию и тепло.
Тфу, уже сил нет объяснять.
Вы хоть один технический расчёт в своей жизни сделали?
Учите физику, класс 7й наверное. Потом уже на хабр с комментариями.
В очередной раз убеждаюсь, что программист — это не технарь.
Если бы часть импульса могла исчезнуть из системы, то можно было бы создать работающий инерциоид. Но почему-то мы инерциоидов вокруг не видим.
Ну хорошо. Попала пуля в груз, по вашим формулам этот груз будет колебаться до бесконечности, но в реальности он покачается и остановится. Куда делся весь импульс?
Нас в данной задаче не интересует часть импульса ушедшая в тепло, у нас же стоит задача измерить энергию пули, так ведь?
Мои формулы не учитывают взаимодействие с воздухом. Импульс передался в основном воздуху, в меньшей степени — подвесу, а через него Земле. Но этот процесс небыстрый (если, конечно, подвес не на ржавой трубе без подшипника), поэтому для конкретно момента столкновения пули с подвесом этими потерями можно пренебречь.

А если допустить, что часть импульса может пропасть, как Вы говорите, тогда должно выйти, что маятник получит меньший импульс, но всё-таки получит. Следовательно, будет колебаться, но с меньшей амплитудой, чем выходит по «моим» формулам.
Вопрос о том, будет ли он колебаться вечно или в конце концов остановится, от этого никуда не делся. Т.е. против Вашего варианта подходит Ваше же возражение.
А почему? А потому что моя модель, как и ваша, не рассматривает другие взаимодействующие с грузом тела — воздух и подвес. Почему я считаю возможным их не рассматривать — я писал выше.

Дальше, Вы опять путаете термины. в тепло ушёл не импульс, а энергия.
У нас стоит задача измерить скорость пули. Энергия и импульс для этого — средства.
«Все эти формулы из учебников не учитывают такую ситуацию, они идеализированы.»

Вы в этом уверены?
Вот, допустим, у нас тела с массами m1 и m2 имели скорости v1 и v2 и неупруго столкнулись.

Полный импульс и полная механическая энергия системы до столкновения:
p_до = m1*v1 + m2*v2;
E_до = 0.5*m1*v1^2 + 0.5*m2*v2^2;

После столкновения получилось тело массой m1+m2 имеющее скорость v.
p_после = (m1+m2)*v;
E_после = 0.5*(m1+m2)*v^2;

По формулам из учебника
p_до =p_после;
m1*v1 + m2*v2 = (m1+m2)*v;
v = (m1*v1 + m2*v2)/(m1+m2);

Тогда
E_после = 0.5*(m1*v1 + m2*v2)^2/(m1+m2)
Больше это или меньше, чем было?

Рассмотрим разность:
E_после — E_до = 0.5*(m1*v1 + m2*v2)^2/(m1+m2) — 0.5*m1*v1^2 + 0.5*m2*v2^2;
Путём несложных преобразований (все ведь помнят формулы квадрата суммы и разности и правила сложения дробей?) получаем:
E_после — E_до = — 0,5*(m1*m2)*(v1-v2)^2/(m1+m2);

Легко видеть, что это разность меньше нуля при любых положительных m1, m2, и ненулевых v1, v2.
Т.е. E_после < E_до.

Так куда же делать недостающая энергия? Правильно, она пошла на деформацию и нагрев тел. И Вы по прежнему утверждаете, что формулы из учебника не учитывают такую ситуацию?
Как раз при упругом/неупругом столкновении никаких проблем нет.
Если бы был предложен стальной шар или даже брусок и стальная пуля — никаких проблем считаем по формулам и всё.
Но в исходном комментарии был выбран пластилин… а он подвергается деформации, да и пуля тоже не абсолютно твёрдая особенно на таких скоростях. Появляется составляющая энергии которую не получится просто учесть по формулам она рассеивается в виде тепла и недодаёт импульс телу при помощи которого собираемся измерять скорость пули. Какова величина этого кусочка? А фиг его знает… можно ли его отбросить с чистой совестью? Едва ли…
Чтобы просчитать этот эффект надо моделировать столкновение пули с пластилином, при этом необходимо будет знать как минимум вязкость пластилина и собственно самой пули.
Вы неправы от слова совсем. Описанные законы работают в случае пластилина ничуть не хуже, чем в случае стали.
Приложенные мной формулы можете прокомментировать?

Напишите методику расчёта для стального бруска или шара.
Формулы тут вообще причём? Математика это математика, а меня интересуют основания на которых они были применены к данной ситуации.
Пока я их не нахожу, следовательно двигаться дальше не имеет смысла.
Мне не надо объяснять как работает закон сохранения импульса, объясните почему он может и должен быть применён без изменений к телам которые деформируются в процессе взаимодействия?
«потому что так написано в учебнике» — это не аргумент.
Мне хочется понять что не так пошло в моих рассуждениях и скорректировать это в будущем.
Формулы при том, что физика описывается формулами, а не словами.

Если учебник — не аргумент, то Ваше неверие — не повод для доказательства. Рекомендую не забывать, что слова отдельно взятого программиста, тем более, физику не сдававшего, весят ещё ниже, чем цитата из школьного учебника.

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

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

Конечно не повлияет, только из-за этой потери энергии пуля грузу недодаст часть импульса.
Вещи конечно разные, но взаимосвязаны — изменение кинетической энергии пули будет несомненно отражаться на изменении импульса(если она не разваливается в полёте).
Теперь перейдём к пластилину.
Процесс передачи импульса в учебниках физики предполагается мгновенным, т.е. бац и передали. Всё как бы чётко.
Но реальная пуля весь свой импульс передаёт не мгновенно а по мере проникновения в брусок пластилина. Где формулы на этот случай? Или доказательство что в этом процессе нет никаких потерь импульса. У меня на это имеются сомнения. Ибо производимая пулей работа по торможению приводит к изменению её импульса и к нагреву пластилина в следствие деформации.
На входе в брусок пластилина имеем скорость пули, а когда она остановилась — 0. Часть работы по торможению пули перешло в импульс бруска пластилина, а часть ушла в нагрев и брусок недополучит эту часть.
Законы сохранения импульса и сохранения энергии несомненно работают, но красиво это выглядит только в учебнике, с идеальным пластилином в котором пуля останавливается мгновенно и передаёт весь импульс. В реальности у нас происходит много всяких процессов с ньюансами, чтобы их учесть простой формулой из учебника уже не отделаешься.

Попробуйте ответить на очень простой вопрос. Вот пуля летит с некоторой скоростью, момент касания пластилинового бруска — что происходит в этот момент? Бруску передаётся весь импульс?
Проходит она 1мм, какова её скорость? сколько энергии она потратила на передачу импульса пластилиновому бруску а сколько энергии ушло безвозвратно на нагрев?
Ну или чтобы всё это опровергнуть, приведите ситуацию когда изменение кинетической энергии пули НЕ ПРИВОДИТ к изменению импульса. У меня что-то или глаза замылились или учебник по физике какой-то не тот.
Отличный ответ, а главное такой подробный… уже второй час читаю.
Не врите. Вы не читаете ответы абсолютно. Это видно по Вашим комментариям.

Если импульс может потеряться — постройте инерциоид.
Это весьма неочевидная вещь. Как раз таки через закон сохранения импульса и закон сохранения энергии можно вычислить количество энергии, перешедшей в тепловую. Вот задачка школьного уровня, и её решение на википедии.
На курсах подготовки к инсту препод:
— Решим задачу: На нитке висит брусок. Пуля пробивает его насквозь и летит дальше, потеряв половину скорости. Найдите угол фи, на который отклонился брусок.
Деффачка с первой парты:
— А у вас есть задачи про белочек и орешки?
Препод:
— Конечно. На нитке висит белочка…
Импульс всей системы P = Mпули * V пули + Mгруза * Vгруза.
До попадания он равен Mпули * Vпули.
После попадания он остается такой же и равен (Mпули + Мгруза) * Vгруза.
Vгруза можно вычислить по максимальной высоте его подъема как маятника. Тут уже работает закон сохранения энергии: (Mпули + Мгруза) * (Vгруза^2) / 2 == (Mпули + Мгруза) * g * H.
Vпули == Мгруза * Vгруза / Мпули.
Гораздо неприятнее вращение. Пуля, очевидно попадёт не в центр масс, поэтому создаст момент импульса. Значит часть энергии перейдёт в кинетическую энергию вращательного движения. Её учесть труднее, придётся как-то уменьшать. Скажем, делать маятник узким, чтобы смещением точки попадания пули от плоскости центра масс можно было пренебречь.
Обычно груз делают в виде длинной трубки, наполненной пластилином, и подвешеной за 2 нити. Тогда боковые колебания не возникают, особенно если пуля будет попадать точно в центр масс.
Кстати, наоборот. При абсолютно упругом соударении придётся как-то измерять и учитывать сколько энергии и импульса унесла срикошетившая пуля.
Что-то представил как человек пытается сдать такую штуку в багаж перед перелетом.
Ничего страшного, она же не заряжена! Видите трубка пустая?
Хотите расскажу как вылетал из Лондона вывозя около 8кг шаров для страйкбола в ручной клади? Предыдущим рейсом удалось вывезти свой «гир» в виде СВД и АК в полностью разобранном виде в багаже. =)
Светодиоды эти выдерживают ток до 1..2А но только в импульсе с высокой скважностью — можно их промодулировать и использовать с большим рабочим током, выключая когда в них нет необходимости — для АЦП имеет значение напряжение на пине только в 1 и 2 такте на это время и имеет смысл засвечивать светодиоды, а в остальное время они светят без толку.
Типичный проект на Ардуине.
Выглядит ужасно, куча переплетенных проводов, держится все на изоленте и термоклее — зато с блютузом.
Тоже как-то делал такую штуку.
Есть два недостатка существенных. Нужно стрелять не то, что в трубку, а так, чтобы шар пролетал через обе пары. Взять автомат в одну руку и такой хрон в другую и замерять проблематично. Нужно раз пять стрельнуть, чтобы попасть.
Вторая беда вытекает из первой: если диоды хоть чуть чуть выступают внутрь трубки (а иначе будет узкий луч), то вы очень скоро попадаете шаром по одному из них.
В общем, доя постоянных измерений конструкция очень ненадёжна. Её можно доработать, соорудив в корпусе декоративного «глушителя», тогда будет соосно.
Если же измерения нужно проводить редко, то рекомендую попробовать «табуреточно-микрофонный» метод, там всё гораздо проще, а точность такая же практически.
«табуреточно-микрофонный» метод

Это как? Поделитесь ссылочкой.
Есть программы, измеряющие интервал между звуком выстрела и попадания в мишень, но должны быть точно известны расстояния от смартфона до винтовки и мишени.
Ссылочки нету, про программу для смартфона написали в соседнем комментарии.
Оригинальный ламповый метод состоял в том, что нужно поставить две табуретки. На ножках табуреток зафиксировать вертикально два самых тонких листа бумаги. Дальше паяем конструкцию из двух дешёвых китайских микрофонов, чтобы оба микрофона на длинных проводах шли в один разъём 3.5.
Каждый микрофон крепим максимально вплотную к бумажкам, чтобы удар по бумаге воспринимался, как громкий звук.
Включаем звукозапись на ПК и стреляем. На гистограмме будет 3 пика. 1 — звук выстрела. Второй и третий — звук пробивания листов шаром. Смотрим время между 2 и 3 пиком, расстояние между табуретками мы знаем. Готово!

Для улучшения точности метода можно с помощью профессионального хронографа замерить «на сколько уменьшается скорость шара после пробивания листа данной бумаги» и добавлять эту скорость (один раз). Но это для получения абсолютных значений. Для сравнения же мощности (например: до и после обслуживания) сойдёт и так.
ТС, все круто, но вот наствольные хроны это ппц как неудобно. Я сам отстрелил один, и сколько видел застреленных. Можно ли по тем же методам сотворить рамочный, или расстояние между диодами не позволит?
Расстояние позволит, но придется точнее метить + фототранзисторы реагируют на обычный свет, это все сильно усложнит использование. Лучше, как писали выше, сделать жёлоб с одной стороны, в который вкладывается ствол и фиксируется резинками какими-нибудь
Колхозинг с фиксаторами на ствол не панацея, поверьте. И даже не решение, если строго подойти. Посмотрите, например, Вайраух HW40 — сложно здесь что-то придумать для соблюдения соосности ствола и трубки хрона.
У меня было много стволов и лишь 2 хрона: первый наствольный — продал через неделю, как подстрелил; второй рамочный — был со мной до конца увлечения пневматикой.
Из тех хронов, что продаются на форумах пневманутых, почему-то все наствольные не меряют углекислотники. То ли ВВ-шки в этом виноваты, то ли частицы СО2 — не вдавался в подробности. Но все рамочные меряют все что угодно. Видимо, диоды разные используются.
И еще один момент — о точности прибора. Вам удалось оценить точность?
По мне так рамочный легче пристрелить, если стрелять с некоторого расстояния) СО2 при выстреле образует пар, который не дает датчикам нормально отследить пулю, поэтому трубочные не работают. И я честно не представляю как можно подстрелить трубку 10 см длиной, надетую на ствол винтаря, просто трубку надо выбирать с внутренним диаметром подходящим или переходники использовать. Точность проверял через прогу для смартфона, разница +- 5 м/с.
UPD: с пистолетами реально проблема, для них трубочный приспособить почти нереально
Поверьте моему опыту — все ровно наоборот. Рамочный по юзабилити сильно превосходит наствольный.
Точность +-5, т.е. коридор в 10см не приемлем для реального использования. Для прямодуев как раз добиваются настройки плато не более 10м/с, для редукторных девайсов не более 5м/с.
А в схеме и в коде намеренно перепутаны пины? Это что бы тем, кто собирает и не думает было сложно понять, почему все это не работает? Что бы страдали?
После каждого curVal = analogRead(PIN);
вставить:
if (curVal > 250) {curVal = 250;};
Где 250 — это значение порога для срабатывания и подбирается эмперически.
Это срежет скачки от внешних помех.
Sign up to leave a comment.

Articles