• Welcome to LusoRobótica - Robótica em Português.
 

Detectar bala de espingarda

Started by amando96, 09 de December de 2020, 22:52

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

amando96

Olá! Há uns tempos fui dar uns tiros na associação local, e tinham um alvo electrónico que detectava onde a bala passava e depois mostrava num ecran que estava ao meu lado.

Alguém faz ideia de como detectar isto? Mesmo uma pressão de ar "fraca" manda o projéctil a 200 metros por segundo. Realisticamente preciso de algo que detecta até balas supersónicas(>330m/s).



Alguém sabe algo que psosa fazer isto?

Preciso de ideias  :)

Obrigado!

jm_araujo

Nada que não se descubra numa demonstração de google-fu.
https://youtu.be/NCbtHYN1viU

amando96

#2
O primeiro teste será então 4 destes em cada canto de uma superficie ainda por decidir  :P

https://www.arduino.cc/en/Tutorial/BuiltInExamples/Knock

Depois é ver se consigo fazer umas matemáticas tendo em conta o delay entre cada "knock".

jm_araujo

Não sei se não vais precisar de sensores "especiais"
No aço a velocidade do som é aprox 6km/s., o que dá 6m/ms ou 6mm/us (6 milimetros por micro-segundo).

O que quer dizer que se quiseres manter uma precisão de medida abaixo de 1cm (parece-me razoavel para um alvo de tiro), precisas de garantir um erro inferior a 1us desde o sensor até à variável no arduino. Cada 1us de erro que adiciones à imprecisão é mais de 1cm de diâmetro de erro na posição.
Os sensores até pode não ser crítico, se tiverem uma resposta consistente deve-se conseguir a precisão por calibração, mas o código para apanhar o momento que cada um dos sensores é disparado é crítico e não trivial. Talvez usando o ICP/ICR do Timer 1 com alguma lógica externa, ou então um micro com mais ICPs (o arduino mega acho que tem 4).

Em principio só com interrupts não sei se safa, cada 1us são 16 clocks, e tens de atender o mesmo, ler contadores e arrumar a casa, não chega para nada e quando deres por ela está a pisar os calos de outro sensor.