Что бы еще такого сделать?... Предлагайте! Обсудим все!!!
Ответить

Re: Мишень для пневматики с определением точки попадания.

Чт янв 27, 2022 15:46:36

GoldenAndy писал(а):...Поэтому предлагаю вот такую штуку.
На пьезик Х0 даем импульс, запускаем таймер - и ждем прихода отклика на Х1. Имеем длину L по оси Х.
Теперь то же самое делаем по оси Y....

Hand-Maker писал(а):...Кстати, а если датчики прилепить не на плоскость листа резины, а не торцевые поверхности...

Коллеги, "...все украдено до нас!" - в смысле не нужно повторно изобретать велосипед, достаточно прочитать упомянутую в начале обсуждения статью в Радио, там все это есть.

Еще хочу обратить ваше внимание на то, что в статье пьезики, закрепленные на торцах мишени, длинные, почти на всю длину торца, а не локальные пятаки.
Что это дает:
1. фронт волны в мишени всегда достигает пьезика по кратчайшему расстоянию - по катету а не по гипотенузе - и вычисления сразу упрощаются;
2. нет ошибки, связанной с размером пятака пьезика, прилепленного к плоскости мишени.

Пояснение к п.1: из картинки видно, что время прохождения волны от точки попадания М до длинного (распределенного) пьезика на торце (желтые линии) существенно отличается от времени прохождения до локальных пятаков пьезиков в точках А, В. С. D (голубые линии).
Изображение

Re: Мишень для пневматики с определением точки попадания.

Чт янв 27, 2022 17:52:48

bolek, Спасибо за резюме, а то идеи пошли по кругу :)

Добавлено after 5 minutes 58 seconds:
Изображение

Код:
;**********************************************************************
;                                                                     *
;    Filename:            1.bas                                        *
;    Date:          24.01.2022                                        *
;    File Version:  1.00                                              *
;                                                                     *
;    Author:        Alexey Petrushev                                  *
;    Company:       http://autobills.ru/                                                  *
;                                                                     *
;**********************************************************************
;                                                                     *
;    Files required:                                                  *
;                                                                     *
;**********************************************************************
;                                                                     *
;    Notes:  Мишень акустическая                                      *
;    PIC16F628a        v 1.0                                          *
;**********************************************************************
 
'установить
'    __CONFIG _WDT_ON & _XT_OSC & _PWRTE_ON &_CP_OFF & _MCLRE_OFF& _BODEN_ON & _LVP_OFF

'если какойто из датчиков не срабатывает, то сброс по аварийному таймеру
'нельзя допускать переполнения таймера, переполнение это выход за границы мишени
 


            'системные определения
            DEFINE   OSC      20                             ' Тактовая частота MHZ

      
            Include "modedefs.bas"
      
            'определения портов ввода/вывода
            OUT       VAR    PORTB.3                  'выход порта на UART
            
            'определение переменных
            X0         VAR      BYTE                     'точка X0
            X1         VAR      BYTE                     'точка X1
            Y0         VAR      BYTE                     'точка Y0
            Y1         VAR      BYTE                     'точка Y1

            MASK      VAR      BYTE                     'маска
            TEMP      VAR      BYTE                     'временная
            SAVE_INTCON   VAR      BYTE                     'регистр хранения
            

            'Исходные значения установок


Main:         PORTA = %11111111                        'настройка PORTA
            TRISA = %11111111                        'настройка PORTA
            PORTB = %11110111                        'настройка PORTB
            TRISB = %11111111                          'настройка PORTB
            OPTION_REG = %00001000                       'отключить подтягивающие резисторы, предделитель отключить от таймера
            CMCON = %00000111                         'отключим комрараторы   
            STATUS = %00000000                         'обнулим регистр статуса
            INTCON = %00000000                        'настройка прерываний (нет)

            
            SEROUT OUT,T9600, ["START", 13]               'сообщаем о готовности.

Start:   
            'готовим переменные
            X0 = 0
            X1 = 0
            Y0 = 0
            Y1 = 0
            MASK = %11110000                         'маска порта на прием сигнала   

            'ожидание появления импульса от любого датчика
            'для ускорения на ASM
            ASM
A_Wait_Start:      CLRWDT
               MOVF PORTB,W                        ;TEMP = PORTB & MASK   
               ANDWF _MASK,W
               MOVWF _TEMP
               BTFSC   STATUS, Z                     ;проверим, если 0, ничего не пришло
               GOTO A_Wait_Start
               CLRF TMR0                            ;сбросим таймер
               BCF INTCON, T0IF                     ;сбросим флаг переполнения таймера
            ENDASM
            INTCON.2 = 0
            ;цикл опроса и счета датчиков, выход по сторожевому таймеру
            ;маскируем сработавший датчик

            ASM

A_Read_Next:      MOVF _TEMP, W                        ;MASK = TEMP ^ MASK           
               XORWF _MASK,F
               BTFSC   STATUS, Z                     ;MASK = 0, все считали, выходим
               GOTO A_Read_End


A_Read_1:         MOVF PORTB,W                        ;TEMP = PORTB & MASK
               ANDWF _MASK,W
               MOVWF _TEMP
               BTFSC   STATUS, Z                      ;усли 0, ничего не пришло, сразу к ожиданию
               GOTO A_Read_1


               ;сохраним регистр INTCON, чтобы потом убедится, не переполнялся ли таймер
               ;в принципе можно просто зациклить до сброса
               MOVF INTCON, W
               MOVWF _SAVE_INTCON

               ;тут чтото пришло, надо посмотреть что
               ;находим, куда записать   таймер
               MOVF TMR0, W
               BTFSC   _TEMP, 4                     ;X0
               MOVWF _X0
               BTFSC   _TEMP, 5                     ;X1
               MOVWF _X1
               BTFSC   _TEMP, 6                     ;Y0
               MOVWF _Y0
               BTFSC   _TEMP, 7                     ;Y1
               MOVWF _Y1

               GOTO A_Read_Next
A_Read_End:
            ENDASM


            IF SAVE_INTCON.2 = 1 THEN      'таймер был переполнен, попадание вне поля мишени
               X0 = 255
               X1 = 255
               Y0 = 255
               Y1 = 255
            ENDIF
         
            'передаем тайминги в порт
            SEROUT OUT,T9600, [ #X0, " ", #X1, " ", #Y0, " ", #Y1, 13]
            

            PAUSE 1000
             
            GOTO Start   


   END
   

Re: Мишень для пневматики с определением точки попадания.

Пт янв 28, 2022 04:02:07

Alexey1969, код написан на PicBasic Pro?

В схеме PB0-PB3 посадить на землю, отказаться от маски и в
A_Wait_Start: ...
выкинуть
Код:
     
               ANDWF _MASK,W
               MOVWF _TEMP

и т.д.

Re: Мишень для пневматики с определением точки попадания.

Пт янв 28, 2022 07:39:22

bolek,
bolek писал(а):код написан на PicBasic Pro?

Ага. Хотя он тут скорее в качестве оболочки :)

bolek писал(а):В схеме PB0-PB3 посадить на землю, отказаться от маски и в
A_Wait_Start: ...
выкинуть
Код:
     
               ANDWF _MASK,W
               MOVWF _TEMP


Можно. Немного укорит. Просто думал туда еще пару джемперов привесить, на будущее, мало ли какие настройки делать.

Да и торопится, как выяснилось, некуда. Как я понял, удар пульки порождает не звуковую волну, а волну упругой деформации, во всяком случае ЗП-3 именное ее ловят. Ее скорость в резине 37-60 м/с , Выбросы на осциллограмме весьма длинные, не пропустить.
Хватило бы и тактовой на 4 мГц. для МК

Добавлено after 45 minutes 52 seconds:
Изображение

Пульнул пару раз, что то читает :)

Добавлено after 22 minutes 13 seconds:
Судя по цифрам, верхняя строчка говорит что попал в 1 на 2 часа

Re: Мишень для пневматики с определением точки попадания.

Пт янв 28, 2022 09:56:36

Alexey1969 писал(а):Пульнул пару раз, что то читает

Так это самое интересное

Alexey1969 писал(а):Судя по цифрам, верхняя строчка говорит что попал в 1 на 2 часа

А в реальности? :))

Re: Мишень для пневматики с определением точки попадания.

Пт янв 28, 2022 10:02:15

bolek писал(а):Alexey1969 писал(а):
Судя по цифрам, верхняя строчка говорит что попал в 1 на 2 часа

А в реальности?


Да фиг его знает :) Куда то в центр круга точно попал. Потом пришла жена и сказала, что не фиг дурью маяться в час ночи :)

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

Re: Мишень для пневматики с определением точки попадания.

Пт янв 28, 2022 11:17:37

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

Re: Мишень для пневматики с определением точки попадания.

Пт янв 28, 2022 17:26:50

Alexey1969 писал(а):...Потом пришла жена и сказала, что не фиг дурью маяться в час ночи...

Увлеченность - суровая штука, и поесть забываешь, и пашешь без отдыха: ну вот еще чуть-чуть и... ага, только вот это доделаю и ... :)))
Alexey1969 писал(а):Сейчас надо как то от соплей избавится

Насморк, если его лечить, проходит всего за неделю. А если не лечить - тянется целых семь дней. :)))

Re: Мишень для пневматики с определением точки попадания.

Пт янв 28, 2022 17:40:08

Hand-Maker писал(а):Alexey1969 писал(а):
Сейчас надо как то от соплей избавится

Насморк, если его лечить, проходит всего за неделю. А если не лечить - тянется целых семь дней.


Имелось ввиду провода подобрать, попадание пульки в кучу проводов, не самое лучшее :)

Добавлено after 3 minutes 42 seconds:
Вдогонку, мысль по поводу стартового датчика.

Щит мишени склеен из пластины металла и резины. Лицевая сторона резина. На нее размещены 3 датчика, с обратной стороны, по центру, на металле стартовый датчик.

Re: Мишень для пневматики с определением точки попадания.

Пт янв 28, 2022 19:22:58

Alexey1969, замахаетесь со стартовым датчиком
попробуйте автокалибровку сделать лучше.

Re: Мишень для пневматики с определением точки попадания.

Пт янв 28, 2022 19:28:39

Это в процессе., но и о другом думать не мешает :)

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

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

Re: Мишень для пневматики с определением точки попадания.

Сб янв 29, 2022 18:36:14

Изображение

Удалось выяснить, куда то попал :)

Добавлено after 3 minutes 53 seconds:
GoldenAndy писал(а):попробуйте автокалибровку сделать лучше.


Все проще, повесить бумажную, потом сравнить и ввести поправки. Один раз.

Re: Мишень для пневматики с определением точки попадания.

Вс фев 06, 2022 17:24:17

Re: Мишень для пневматики с определением точки попадания.

Вс фев 06, 2022 17:32:25

Круто!

Re: Мишень для пневматики с определением точки попадания.

Вс фев 06, 2022 17:39:18

... - дендерная технология, чо :)
Материалы выложу на страничке, включая верхнее ПО

Re: Мишень для пневматики с определением точки попадания.

Вс фев 06, 2022 21:51:55

Есть одна бяка: надо придумать, как центровать бумажную мишень относительно резиновой. А то попадать будет в разные места на бумажке и экране..

Re: Мишень для пневматики с определением точки попадания.

Вс фев 06, 2022 21:59:50

вероятно, по центру? :)

Re: Мишень для пневматики с определением точки попадания.

Пн фев 07, 2022 05:29:27

TrumPIC писал(а):как центровать бумажную мишень относительно резиновой


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

Re: Мишень для пневматики с определением точки попадания.

Пн фев 07, 2022 05:30:52

Интересно!
Насколько точно совпадает отметка попадания на бумажной мишени с отметкой на экране? Для оценки погрешности стрелять нужно не в центр, а в 1-2 на 1-2 часа или аналогичные места в других квадрантах.

TrumPIC писал(а):Есть одна бяка: надо придумать, как центровать бумажную мишень относительно резиновой.

Самое очевидное решение - совмещать линии осей X,Y, проходящие через центр бумажной мишени, с соответствующими линиями на резиновой (металлической) мишени.

Re: Мишень для пневматики с определением точки попадания.

Пн фев 07, 2022 05:55:08

bolek писал(а):Насколько точно совпадает отметка попадания на бумажной мишени с отметкой на экране?


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

bolek писал(а):Для оценки погрешности стрелять нужно не в центр, а в 1-2 на 1-2 часа или аналогичные места в других квадрантах.

Ну я не настолько хорошо стреляю, чтобы по заказу в нужный квадрант, так что как уж получается:)

bolek писал(а):проходящие через центр бумажной мишени, с соответствующими линиями на резиновой


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