Мишень для пневматики с определением точки попадания.
Re: Мишень для пневматики с определением точки попадания.
Работает прям работает? Координаты получились?
Добавлено after 1 minute 27 seconds:
первая же ссылка в гугле:
"По одним источникам, скорость звука в резине составляет 37 м/с [1], по другим — 54 м/с [2]. В некоторых источниках приводится скорость звука в резинах, равная 1480 м/с [3] и даже 1800 м/с."
Так что, неудивительно
Добавлено after 1 minute 27 seconds:
первая же ссылка в гугле:
"По одним источникам, скорость звука в резине составляет 37 м/с [1], по другим — 54 м/с [2]. В некоторых источниках приводится скорость звука в резинах, равная 1480 м/с [3] и даже 1800 м/с."
Так что, неудивительно
- Реклама
- Alexey1969
- Вымогатель припоя
- Сообщения: 622
- Зарегистрирован: Чт мар 05, 2009 05:31:16
- Откуда: г. Кемерово
- Контактная информация:
Re: Мишень для пневматики с определением точки попадания.
Получились. Сложно сказать на сколько точно, но модели соответствует. И повторяемость хорошая, если по одному месту лупить.
Получаю 4 отсчета формата X0 X1 Y0 Y1, один из них всегда 0, в зависимости от того какой датчик явился стартовым, либо все 255, если за пределами ударной зоны. Если один из датчиков не сработал, перезагрузка и стартовое сообщение.
Завтра постараюсь начать выкладывать схемы, прошивки и модели в протеусе. Для желающих поиграться.
Добавлено after 20 minutes 9 seconds:
Действительно, пересчитал, по факту, получилось скорость примерно 62м/сек.
Вероятно это скорость распространения фронта волны от единичного механического импульса.
Получаю 4 отсчета формата X0 X1 Y0 Y1, один из них всегда 0, в зависимости от того какой датчик явился стартовым, либо все 255, если за пределами ударной зоны. Если один из датчиков не сработал, перезагрузка и стартовое сообщение.
Завтра постараюсь начать выкладывать схемы, прошивки и модели в протеусе. Для желающих поиграться.
Добавлено after 20 minutes 9 seconds:
Действительно, пересчитал, по факту, получилось скорость примерно 62м/сек.
Вероятно это скорость распространения фронта волны от единичного механического импульса.
- GoldenAndy
- Поставщик валерьянки для Кота
- Сообщения: 1925
- Зарегистрирован: Чт июл 28, 2016 07:58:37
- Откуда: Kyiv, UA
- Контактная информация:
Re: Мишень для пневматики с определением точки попадания.
Alexey1969, попробуйте всё же двухбайтную переменную. Ибо мне кажется, 0..255 не всегда может хватить.
Вы на захвате таймера делали или на четырех инкрементах в цикле?
И эта. теоретически у вас нулю может быть равно не только одно, а два или четыре времени прихода сигнала к датчику.
Точно в цель - волна пришла ко всем одновременно.
Точно на одной из диагоналей - волна к двум датчикам пришла одновременно.
Очень теоретически и три могут быть нулевые, но это какие то попадания рядом с центром, но это только из-за неидеальности механической системы.
в теории три нулевых быть не могут.
А на практике три нулевых надо приравнивать к случаю четырех нулевых и попаданию в центр.
Вы на захвате таймера делали или на четырех инкрементах в цикле?
И эта. теоретически у вас нулю может быть равно не только одно, а два или четыре времени прихода сигнала к датчику.
Точно в цель - волна пришла ко всем одновременно.
Точно на одной из диагоналей - волна к двум датчикам пришла одновременно.
Очень теоретически и три могут быть нулевые, но это какие то попадания рядом с центром, но это только из-за неидеальности механической системы.
в теории три нулевых быть не могут.
А на практике три нулевых надо приравнивать к случаю четырех нулевых и попаданию в центр.
- Alexey1969
- Вымогатель припоя
- Сообщения: 622
- Зарегистрирован: Чт мар 05, 2009 05:31:16
- Откуда: г. Кемерово
- Контактная информация:
Re: Мишень для пневматики с определением точки попадания.
GoldenAndy, Расчётное, для скорости 2км/сек, диаметре мишени 100 мм. , радиусе 280 мм, (картинку выше приводил) тактовой 20мГц, у меня получалось максимальное значение счетчика 250.
То есть, 250 отсчетов на 50мм, думаю разрешения достаточно математического.
Сделал на таймере, обеспечить идентичность веток в коде оказалось сложнее.
Там и так структурой кода не пахнет, пришлось пожертвовать ей ради скорости
Скорость в резине оказалась неожиданно низкой, подключил пред делитель на 32
Добавлено after 4 minutes 1 second:
Расстояния от края мишени до датчика не учитываются, только смещения относительно центра, только они измеряются
Добавлено after 19 minutes 11 seconds:

По X левый край 50 мм от центра, по Y по центру, Y ки вычитаются.
Добавлено after 2 minutes 31 second:
наврал, деление 10 мкс
То есть, 250 отсчетов на 50мм, думаю разрешения достаточно математического.
Сделал на таймере, обеспечить идентичность веток в коде оказалось сложнее.
Там и так структурой кода не пахнет, пришлось пожертвовать ей ради скорости
Скорость в резине оказалась неожиданно низкой, подключил пред делитель на 32
Добавлено after 4 minutes 1 second:
Расстояния от края мишени до датчика не учитываются, только смещения относительно центра, только они измеряются
Добавлено after 19 minutes 11 seconds:

По X левый край 50 мм от центра, по Y по центру, Y ки вычитаются.
Добавлено after 2 minutes 31 second:
наврал, деление 10 мкс
- GoldenAndy
- Поставщик валерьянки для Кота
- Сообщения: 1925
- Зарегистрирован: Чт июл 28, 2016 07:58:37
- Откуда: Kyiv, UA
- Контактная информация:
Re: Мишень для пневматики с определением точки попадания.
Если убрать предделитель и все же перейти на 16 бит - то ваше решение будет более универсальное и можно будет и металлическую мишень брать. Вы ж хотите повторяемое решение.
(если получится, то даже заработать сможете, изготавливая мишени)
(если получится, то даже заработать сможете, изготавливая мишени)
- Реклама
- Alexey1969
- Вымогатель припоя
- Сообщения: 622
- Зарегистрирован: Чт мар 05, 2009 05:31:16
- Откуда: г. Кемерово
- Контактная информация:
Re: Мишень для пневматики с определением точки попадания.
GoldenAndy, Так оно и на металлическую годится. Скорость звука увеличится в трое, разрешение упадет с 0,2 мм до 0,6 мм (математическое)
Кстати, возникла мысль, двухслойная мишень, верхний слой резина с низкой скоростью, нижний металл , с высокой.
Датчик на металле является стартовым (там из любой точки волна придет быстро), а потом мы медленно ждем прибытия волны по резине
Кстати, возникла мысль, двухслойная мишень, верхний слой резина с низкой скоростью, нижний металл , с высокой.
Датчик на металле является стартовым (там из любой точки волна придет быстро), а потом мы медленно ждем прибытия волны по резине
- Hand-Maker
- Поставщик валерьянки для Кота
- Сообщения: 2142
- Зарегистрирован: Чт дек 12, 2013 11:18:14
- Откуда: Украина, Черновцы
Re: Мишень для пневматики с определением точки попадания.
Предлагаю к рассмотрению идею определения координаты попадания.
Сначала для простоты -- на линии.
Пусть наша мишень - линия длиной 16 см. на концах два датчика.
Пусть скорость распространения колебаний 1 деление/сек.

Попали например в точку 11. волна дощла до правого датчика и запустила отсчет.
До левого датчика в этом случае осталось добираться 6 делений.
Вот этот интервал dT будет пропорционален растоянию от центра до точки попадания.
В нашем случае, т.к. скорость равна единице, то dX = dT / 2
Теперь перенести это на плоскость.
Первые два импульса дадут сектор попадания (в нашем случае сектор С)
А соотвтетствующие задержки -- координаты смещения от центра.
Можно будет либо просчитывать математикой с введением поправки или таблицей,
но тут уже достаточно таблицы для одного сектора, а не по всей плоскости.

Сначала для простоты -- на линии.
Пусть наша мишень - линия длиной 16 см. на концах два датчика.
Пусть скорость распространения колебаний 1 деление/сек.
Попали например в точку 11. волна дощла до правого датчика и запустила отсчет.
До левого датчика в этом случае осталось добираться 6 делений.
Вот этот интервал dT будет пропорционален растоянию от центра до точки попадания.
В нашем случае, т.к. скорость равна единице, то dX = dT / 2
Теперь перенести это на плоскость.
Первые два импульса дадут сектор попадания (в нашем случае сектор С)
А соотвтетствующие задержки -- координаты смещения от центра.
Можно будет либо просчитывать математикой с введением поправки или таблицей,
но тут уже достаточно таблицы для одного сектора, а не по всей плоскости.
Последний раз редактировалось Hand-Maker Чт янв 27, 2022 11:18:17, всего редактировалось 1 раз.
- Alexey1969
- Вымогатель припоя
- Сообщения: 622
- Зарегистрирован: Чт мар 05, 2009 05:31:16
- Откуда: г. Кемерово
- Контактная информация:
Re: Мишень для пневматики с определением точки попадания.
На линейке получится, на плоскости нет. Выше уже рассматривали.
Потому, что один интервал времени всегда будет 0, а второй разность между большим и меньшим.
Потому, что один интервал времени всегда будет 0, а второй разность между большим и меньшим.
- Hand-Maker
- Поставщик валерьянки для Кота
- Сообщения: 2142
- Зарегистрирован: Чт дек 12, 2013 11:18:14
- Откуда: Украина, Черновцы
Re: Мишень для пневматики с определением точки попадания.
Почему не получится? Почему это один интервал будет ноль?
От четырех датчиков получает четыре импульса, как-то разнесенных по времени. По самому первому начинаем отсчет, получаем три интервала.
По нулям будет только при попадании в центр.
Даже по приведенной Вами диаграмме все правильно: Сработали Х0 и У0 --> сектор С.
дельта У = 0
дельта Х = сколько-то-там.
Попадание на оси Х
Что не так то?
От четырех датчиков получает четыре импульса, как-то разнесенных по времени. По самому первому начинаем отсчет, получаем три интервала.
По нулям будет только при попадании в центр.
Даже по приведенной Вами диаграмме все правильно: Сработали Х0 и У0 --> сектор С.
дельта У = 0
дельта Х = сколько-то-там.
Попадание на оси Х
Что не так то?
- Alexey1969
- Вымогатель припоя
- Сообщения: 622
- Зарегистрирован: Чт мар 05, 2009 05:31:16
- Откуда: г. Кемерово
- Контактная информация:
Re: Мишень для пневматики с определением точки попадания.
Как будет задавать начало измерений ? С какого момента начнем считать ?
Добавлено after 7 minutes 18 seconds:
Углы дают увеличение расстояний
Добавлено after 30 minutes 44 seconds:
У меня уже есть устройство физически, начал тестировать.
Вот тут попробовал скомпилировать то что удалось понять.
Там же есть модель для протеуса и прошивка.
http://autobills.ru/articles.files/Elec ... arget.html
Добавлено after 33 seconds:
Можно поиграть, посмотреть что получается.
Добавлено after 7 minutes 18 seconds:
Углы дают увеличение расстояний
Добавлено after 30 minutes 44 seconds:
У меня уже есть устройство физически, начал тестировать.
Вот тут попробовал скомпилировать то что удалось понять.
Там же есть модель для протеуса и прошивка.
http://autobills.ru/articles.files/Elec ... arget.html
Добавлено after 33 seconds:
Можно поиграть, посмотреть что получается.
- Hand-Maker
- Поставщик валерьянки для Кота
- Сообщения: 2142
- Зарегистрирован: Чт дек 12, 2013 11:18:14
- Откуда: Украина, Черновцы
Re: Мишень для пневматики с определением точки попадания.
По любому первому стартуем. Немного раньше ГолденЭнди выкладывал фрагмент кода, вроде должно работать.Как будет задавать начало измерений ? С какого момента начнем считать ?
Еще вариант применить постоянно сканирующий таймер с четырьмя модулями захвата.
Пусть себе постоянно сканирует по кольцу.
После прихода прерывания по любому из каналов запрещаем приход по остальным, а затем спустя например 5 мС просто проверяем, что у нас в регистрах захвата. Эту инфу уже можно обработать и определить, кто первый, задержки ну и все остальное.
безусловно. По-этому я и упомянул введение поправок.Углы дают увеличение расстояний
Поправка по одной координате зависит от примерно вычисленного значения по другой. Там, кстати, не очень-то много набегать будет. Мы же смотрим не абсолютное расстояние от датчика, а разность.
- Andrey_B
- Сверлит текстолит когтями
- Сообщения: 1102
- Зарегистрирован: Пт апр 09, 2010 16:06:38
- Откуда: Тула
Re: Мишень для пневматики с определением точки попадания.
Alexey1969, я бы сделал как сказал Hand-Maker, только по каждому входу захвата поставил RS-триггер. На входы R - выход МК, на входы S - сигнал с датчиков. Запускаем таймер и разрешаем захват по входам. Сбрасываем триггеры ногой и ждём прерывание по захвату по любому входу. В прерывание дожидаемся захватов по оставшимся входам, затем не спеша забираем 4 значения из регистров захвата. Зная частоту счёта таймера, по разности этих четырёх значений вычисляем все задержки. Затем опять сбрасываем входные триггеры и ждём следующего выстрела. Таймер обнулять не надо, пусть он там переполняется сколько хочет, какой датчик сработал первый мы знаем, разницу знаем, остальное вычисляется и не надо ждать момента, с которого начинать считать. Без триггеров захват будет происходить не первым фронтом, а последним в затухающей пачке, это ухудшит точность.
- Alexey1969
- Вымогатель припоя
- Сообщения: 622
- Зарегистрирован: Чт мар 05, 2009 05:31:16
- Откуда: г. Кемерово
- Контактная информация:
Re: Мишень для пневматики с определением точки попадания.
Он и будет точкой отчета, нулем.Hand-Maker писал(а):По любому первому стартуем
Нам нужно измерять от момента попадания, а не от некого случайного момента времени.Hand-Maker писал(а):постоянно сканирующий таймер
Оказывается, на эти темы диссертации пишут, но пока хорошего решения не найденоHand-Maker писал(а):Поправка по одной координате зависит от примерно вычисленного значения по другой
.Andrey_B писал(а):только по каждому входу захвата поставил RS-триггер
Зачем ? Контроллер вполне справляется.
Чего бы это ?Andrey_B писал(а): Без триггеров захват будет происходить не первым фронтом
Пролистайте форум вверх, там многое из этого уже обсудили. Даже с картинками )
- GoldenAndy
- Поставщик валерьянки для Кота
- Сообщения: 1925
- Зарегистрирован: Чт июл 28, 2016 07:58:37
- Откуда: Kyiv, UA
- Контактная информация:
Re: Мишень для пневматики с определением точки попадания.
Я пока остановлюсь на одной координате.
Длина мишени L.
Попадание в точку Х делит эту длину на 2 отрезка - x и L-x.
Но проблема в том, что у нас фиксация по первому датчику.
И мы с двух датчиков получим значения (х-х) и (L-x)-x = L-2x.
Что бы красиво восстановить х - нужно знать L.
Поскольку у нас х - это не сантиметры а условные единицы времени, то и L должно быть в этих условных единицах.
Остается найти это самое L. Но оно зависит от скорости звуковой волны в материале.
А она может меняться от температуры, влажности, износа материала.
И калибровать каждый раз - не гуд.
Поэтому предлагаю вот такую штуку.
На пьезик Х0 даем импульс, запускаем таймер - и ждем прихода отклика на Х1. Имеем длину L по оси Х.
Теперь то же самое делаем по оси Y.
В результате мы сможем вычислить неизвестную величину - время (расстояние) от точки попадания до первого датчика.
А калибровать можно при включении и после каждого выстрела.
единственное, возможно на пьезик импульс нужно будет подавать более высоковольтный, нежели питание МК.
Длина мишени L.
Попадание в точку Х делит эту длину на 2 отрезка - x и L-x.
Но проблема в том, что у нас фиксация по первому датчику.
И мы с двух датчиков получим значения (х-х) и (L-x)-x = L-2x.
Что бы красиво восстановить х - нужно знать L.
Поскольку у нас х - это не сантиметры а условные единицы времени, то и L должно быть в этих условных единицах.
Остается найти это самое L. Но оно зависит от скорости звуковой волны в материале.
А она может меняться от температуры, влажности, износа материала.
И калибровать каждый раз - не гуд.
Поэтому предлагаю вот такую штуку.
На пьезик Х0 даем импульс, запускаем таймер - и ждем прихода отклика на Х1. Имеем длину L по оси Х.
Теперь то же самое делаем по оси Y.
В результате мы сможем вычислить неизвестную величину - время (расстояние) от точки попадания до первого датчика.
А калибровать можно при включении и после каждого выстрела.
единственное, возможно на пьезик импульс нужно будет подавать более высоковольтный, нежели питание МК.
- Andrey_B
- Сверлит текстолит когтями
- Сообщения: 1102
- Зарегистрирован: Пт апр 09, 2010 16:06:38
- Откуда: Тула
Re: Мишень для пневматики с определением точки попадания.
[uquote="Alexey1969",url="/forum/viewtopic.php?p=4169080#p4169080"]Нам нужно измерять от момента попадания, а не от некого случайного момента времени.[/uquote]
Нам нужно измерять разность от первого события до второго. Момент времени первого события для этого не обязательно должен быть нулем. Математика !
[uquote="Alexey1969",url="/forum/viewtopic.php?p=4169080#p4169080"]Чего бы это ?[/uquote]
Приведите пример МК, в котором модуль захвата таймера может аппаратно блокироваться после прихода первого события захвата.
Нам нужно измерять разность от первого события до второго. Момент времени первого события для этого не обязательно должен быть нулем. Математика !
[uquote="Alexey1969",url="/forum/viewtopic.php?p=4169080#p4169080"]Чего бы это ?[/uquote]
Приведите пример МК, в котором модуль захвата таймера может аппаратно блокироваться после прихода первого события захвата.
Одновременный приход сигнала на все датчики означает "яблочко", не зависимо от температуры, если конечно она одна и та же на всей мишени.GoldenAndy писал(а):А она может меняться от температуры, влажности, износа материала.
- Alexey1969
- Вымогатель припоя
- Сообщения: 622
- Зарегистрирован: Чт мар 05, 2009 05:31:16
- Откуда: г. Кемерово
- Контактная информация:
Re: Мишень для пневматики с определением точки попадания.
Идея красивая.
Но.. вот вчера столкнулся с тем что скорость звука и скорость упругой деформации материала разные... от пули скорее второе, я понятия не имею как заставить датчик отличать одно от другого.
Добавлено after 33 seconds:
есть у меня идея со стартовым датчиком, нарисую , выложу
Добавлено after 6 minutes 13 seconds:
Но.. вот вчера столкнулся с тем что скорость звука и скорость упругой деформации материала разные... от пули скорее второе, я понятия не имею как заставить датчик отличать одно от другого.
Добавлено after 33 seconds:
есть у меня идея со стартовым датчиком, нарисую , выложу
Добавлено after 6 minutes 13 seconds:
Как же не ноль, если он стартовый ?Andrey_B писал(а): Момент времени первого события для этого не обязательно должен быть нулем
Я просто не понял зачем такие сложности...Andrey_B писал(а):Приведите пример МК, в котором модуль захвата таймера может аппаратно блокироваться после прихода первого события захвата.
- Hand-Maker
- Поставщик валерьянки для Кота
- Сообщения: 2142
- Зарегистрирован: Чт дек 12, 2013 11:18:14
- Откуда: Украина, Черновцы
Re: Мишень для пневматики с определением точки попадания.
А почему калибровать -- не гуд?Что бы красиво восстановить х - нужно знать L.
Остается найти это самое L. Но оно зависит от скорости звуковой волны в материале.
И калибровать каждый раз - не гуд.
У нас на мишени два пьезика, между ними звукопроводящая среда.
в один пьезик шлепаем пульс, со второго снимаем отклик.
"красиво" имеем наше L
Ну так после попадания, после небольшой задержки мы имеем четыре числа. Выбираем из них меньшее и назначаем его нулевым отсчетом.Нам нужно измерять от момента попадания, а не от некого случайного момента времени.
Вы справедливо заметите, что есть вероятность, что пока импульс расползается по мишени, произойдет переполнение таймера. На этот случай смотрим за флагом переполнения. Кроме того выбираем период переполнения таким, чтобы он минимум раза в четыре был бОльшим, чем максимальное время "волнений" по мишени -- то самое L . Тогда все решается математикой.
Последний раз редактировалось Hand-Maker Чт янв 27, 2022 15:16:36, всего редактировалось 1 раз.
- GoldenAndy
- Поставщик валерьянки для Кота
- Сообщения: 1925
- Зарегистрирован: Чт июл 28, 2016 07:58:37
- Откуда: Kyiv, UA
- Контактная информация:
Re: Мишень для пневматики с определением точки попадания.
Hand-Maker, я об этом и написал.
Но импульс, скорее всего, должен быть мощный.
Но импульс, скорее всего, должен быть мощный.
- Hand-Maker
- Поставщик валерьянки для Кота
- Сообщения: 2142
- Зарегистрирован: Чт дек 12, 2013 11:18:14
- Откуда: Украина, Черновцы
Re: Мишень для пневматики с определением точки попадания.
Точно... Как-то я прогляделя об этом и написал.
Кстати, а если датчики прилепить не на плоскость листа резины, а не торцевые поверхности.
Тогда, теоретически, ударная волна пока дойдет от точки попадания до края листа, точно успеет преобразоваться в продольную, как в воздухе. Мне кажется, это должно уменьшить неопределенность.
- Andrey_B
- Сверлит текстолит когтями
- Сообщения: 1102
- Зарегистрирован: Пт апр 09, 2010 16:06:38
- Откуда: Тула
Re: Мишень для пневматики с определением точки попадания.
[uquote="Alexey1969",url="/forum/viewtopic.php?p=4169128#p4169128"]Как же не ноль, если он стартовый ?[/uquote]
Хорошо, если его принимать за ноль, то значение с противоположного ему датчика будет прямо пропорционально удалённости точки попадания от центра. Если задача определить именно координаты, то да, как Вы видимо и имели ввиду, нужен еще один дополнительный датчик по центру. Для STM32 с частотой 48МГц разрешающая способность захвата будет 21нс.
Хорошо, если его принимать за ноль, то значение с противоположного ему датчика будет прямо пропорционально удалённости точки попадания от центра. Если задача определить именно координаты, то да, как Вы видимо и имели ввиду, нужен еще один дополнительный датчик по центру. Для STM32 с частотой 48МГц разрешающая способность захвата будет 21нс.





