Hallo Ich möchte den Aufprall eines Diabolo-Geschosses auf einen Kugelfang mit einem Mikrofon elektronisch erkennen. Der Knall muss in weniger als 30µs erkannt sein. Bisher fällt mir nur ein, den Frequenzgang zu analysieren. AD-Wandler und FFT sind wohl viel zu langsam. Könnte man analog mit OPAMPs o.ä. charakteristische Frequenzen und damit den Knall detektieren? Gibt es andere Vorschläge oder Ideen dazu?
Ich denke, ein relativ einfacher Ansatz wäre tatsächlich, das analog mit Filtern zu lösen. Vielleicht ist auch einfach die Lautstärke des Geschoßaufpralls im Mikrofon so groß, daß man lediglich den Impuls erkennen muß, z.B. über Komparator.
Bei einem uP mit 100Mhz haste also höchsten 3000 Takte um sicherzustellen dass es wirklich ein Aufprall ist. Diese Anzahl verzögert sich natürlich noch um die analogen Baugruppen...
Du hast daran gedacht, dass der Schall auch Zeit braucht, um zum Mikrofon zu kommen? virtuPIC /ggadgets for tools & toys
Mal als Denkansatz: Schallgeschwindigkeit in Luft ist ungefähr 340m/s. Die Reaktionszeit soll 30µs betragen. s = v*t = 0,0102m Das Mikrofon müsste also etwa 1cm neben der Aufprallstelle positioniert werden. Das ist sicherlich nicht gerade trivial.
>Der Knall muss in weniger als 30µs erkannt sein. >Bisher fällt mir nur ein, den Frequenzgang zu analysieren. AD-Wandler >und FFT sind wohl viel zu langsam. Schonmal überlegt, welche Frequenzen das sein müssten? Ich komme bei einer Wellenlänge von 30 µs PI mal Daumen auf 11 MHz... Also auch eine Laufzeit von 0 s bis zum Mikro würde dir nichts bringen. Womit sich mal wieder die Frage aufdrängt, warum muss es so genau sein? Für mich hört sich das alles eher nach Lichtschranke an - oder du rechnest die Laufzeiten bis zum Mikro und für die Analyse einfach wieder raus.
> oder du > rechnest die Laufzeiten bis zum Mikro und für die Analyse einfach wieder > raus. Und woher kennst du den Aufprallpunkt des Geschosses so genau? Wie oben bereits errechnet, bedeuten 30 Mikrosekunden (Das ist übrigens eine Millionstel-Sekunde, könnte hier das Problem liegen?) einen Positionsabweichung von gerade mal einem Zentimeter.
Das Ganze dreht sich um ein solches Schießkino: http://www.luftgewehr-schiesskino.de/ Es wird mittels Beamer ein Bild auf eine Papierleinwand geworfen, hinter der sich ein Kugelfang befindet. Der Beamer wirft ein Bild auf die Leinwand, die man mit der Pistole o.ä. treffen muss. Der Einschlagpunkt des Geschosses wird erkannt und der Beamer stellt daraufhin ein neues Bild mit getroffenem Ziel her. Es gibt an den vier Ecken jeweils ein Mikrofon. Das erste Mikrofon erkennt irgendwann das Aufprallgeräusch. Danach werden die Zeiten genommen, die es braucht, bis die drei anderen Mikrofone auslösen. Aus diesen drei Zeiten habe ich rechnerisch bereits die Koordinaten des Aufpralls errechnet. Genauigkeit hängt hier von der Schnelligkeit der Messung ab. 10cm ist schon ein Muss. Das waren irgendwie die 30µs. Dass man nicht ganz an den Rand schießen muss, habe ich nicht bedacht. War irgendwie WorstCase-Denken. Es bleibt also etwas mehr Zeit. Viel mehr Zeit bleibt, wenn man die Mikrofone weiter weg montiert. Die Lautstärke (Impuls von Sebastian) selber kann ich vielleicht nicht verwenden, da ich auch mit CO2-Pistolen darauf schießen möchte. Deren Müdnungsknall ist deutlich lauter als der Einschlag in den Kugelfang. Wenn man allerdings fertig mit der Lautstärkemessung ist bevor der Mündungsknall am Mikrofon ist und das ist ja der Fall, könnte das vielleicht wirklich einfacher sein. Im Endeffekt muss ich erst einmal das Mikrofon an mein Oszilloskop anschließen und den Aufprall messen. Habe dafür nur diesen 150 Euro Bausatz von ELV. Der kann aber auch einen Frequenzgang darstellen. Ich werde das über das Wochenende einmal versuchen. Was bleibt dann prinzipiell? - analoge Filter für ein paar charaktieristische Frequenzen? - wie schnell wandeln denn erhältliche normalpreisige DSPs AD und erkennen die charaktieristischen Frequenzen? Das Ganze soll auch nicht zu teuer werden bzgl. DSP-Boards und Brenner usw. Würde analoge Lösung vorziehen. Und reicht es aus, wenn man irgendwie durch Messung später Filter weiß, dass jetzt z.b. 100Hz, 200 Hz und 456khz stark ausgeprägt sind, um auf den Einschlag im Kugelfang zu schließen?
Wenn die verzögerung bei allen 4 mikrophonen gleich ist, kannst du diese einfach rausrechnen. selbst die schallgeschwindigkeit spielt keine so große Rolle mehr. Diese muss nur für den "Raum" um das Geschoss nur gleich sein. vieleicht solltest du nur 3 Mikrophone verwenden, wenn der knall nur am Geschossfang erzeugt wird, reicht das doch locker aus. Wenn du einen vierten verwendest kannst du sogar noch den knall im Raum orten. dann muss er nurnoch auf den Geschossfang sein und kannst sicher sein das es nicht der CO2-Knall war. die 30 µs die du meinst sind nur die Auflösung die du brauchst. ab das 10 ms früher oder später passiert ist relativ egal, wichtig nur das es immer die gleiche zeit ist. diesen offset kannst du dann konstant abziehen.
Hm. das mit der verzögerung ist einleuchtend. die schallgeschwingikeit würde ich errechnen über die zeit, die der schall braucht, um von einem zum anderen mirkofon zu kommen. den abstand kennt man ja. gerade weil die sich mit der temperatur ändert und ich abstände über diese geschwindkeit berechnen muss. problematisch wird es aber dann, wenn die filter nicht alle gleich schnell sind. on man das gewährleisten kann mit analoger elektronik? Mit welchen charteristischen Frequenzen muss ich beim aufprall rechnen? die sollen recht hoch sein. Wenn diese zwischen 333khz und 500khz liegen, könnte ich den ne567 bemühen. solche fertigen frequenzerkenner haben sicher den vorteil, dass die filter recht ähnlich sind und so kaum unterschiede auftreten würden. kann mir nicht vorstellen, dass die laufzeit durch opamp-bandpässe immer gleich ist.
Hallo Wie schnell du erkennst, ob ein Aufprall stattgefunden hat und wo dieser war ist nicht sehr kritisch. Wichtig ist ja nur den Zeitunterschied zwischen den Aufprallsignalen der 4 Mikrofonsignale zu ermitteln und daraus die Position zu berechnen. Wichtiges Stichwort hierzu: BEAMFORMING. (Evt. auch akkustische Kameras).Mach dich darüber mal schlau. Wenn dus ganz wissenschaftlich willst: hier ein paar Links: http://www.gfai.de/~heinz/publications/papers/2007_DAGA_Reko.pdf http://www.bksv.com/pdf/bv0056.pdf Gruss Gregor
Na mal nicht komplizierter machen als nötig. Wenn das Aufprallgeräusch halbwegs charakteristisch und laut genug ist, dann sollte es reichen ein aufgenommenes Referenzsignal mit allen Mikrofonen zu korrelieren und aus den Positionen der Maxima die Laufzeiten zu bestimmen.
Meinst du das ein Filter von der Güte b.z.w. Bandbreite so schnell einschwingt ? Je höher die Güte kleiner die Bandbreite wird um so länger braucht das Filter um einzuschwingen. Auch beim Tondekoder mit dem PLL IC NE567 ist das so je kleiner die Loop Bandbreite ist desto länger braucht die PLL um einzuschwingen. Auch ist die Frage wo du Mikros herbekommst mit 500KHz Bandbreite. Gruss Helmi
@Andreas Schwarz Das Beamforming ist ja fast eine Korrelation nur dass die einzelnen Abtastwerte addiert statt multipliziert werden und danach über den Betrag aufsummiert wird. Also eher weniger Rechenaufwand und vorallem bleibt der Wertebereich einigermassen klein (Fixkomma). Mit einem PC und Matlab würde ich wohl auch eher korrelieren. Hast schon recht, die Infos unter den angegebenen links sind schon zu kompliziert für diese Aufgabe, aber trotzdem könnte es "gast" vielleicht interessieren. Gruss Gregor
Wie hoch ist eigentlich die Geschoßgeschwindikgeit ich habe mal früher was von 100-150 m/s bei CO-Wachen gelesen da der Schall aber schneller ist könnte man doch einfach den ersten Schallimpuls ignorieren und erst den 2ten auswerten. Oder man arbeitet mit Körperschall, das wird sicher unempfindlicher sein, also 4 Klopfsensoren jeweils in die Ecke einer Metallplatte festschrauben.
Allerdings muss man beim Körperschall noch schneller sein, Schallgeschwindigkwit in eisen ist 5900m/s
das wären dann 5,9 Meter / 1 mSek ; 59 Zentimeter pro 100µSek ; 5,9 Zentimeter / 10 µSek ; 5,9 Millimeter / 1µSek bischen knapp auch für nen 20 MHz AVR. Vielleicht ein Material nehmen das Körperschall nicht ganz so gut leitet, welches das ist habe ich aber keine Ahnung könnte mir vorstellen das Alu oder Kupfer in Frage komt weil das weicher als Stahl ist. 3 Sensoren werden bestimmt auch ausreichen wird ja bei der Funkpeilung auch nur mit 3 Antennen gemacht. Das Zeitkritische ist ja nur das starten des Timers beim ersten detektieren und das Stoppen oder abspeichern der Timerwerte bei den nächsten 3 Impulsen für die Berechnung kann man sich dann natürlich wieder mehr Zeit lassen.
Hallo, Körperschall fände ich machbar, irgendwelche Sensoren oder Körperschallmikrofone sollte es doch geben? Analog aufbereiten, um einen Impuls zu bekommen, müßte auch machbar sein. Dann etwas schnelle Logik (ACT-Serie?), der erste eintreffende Impuls startet für jeden Sensor einen schnell getakteten Zähler duch setzen je eines Flip-Flops, die legen gleichzeitig ihren Reset an die Sensoren und stoppen so, wenn die Impulse an den anderen ankommen. Der startende Zähler läuft logischerweise dabei durch und stoppt z.B. beim Übertrag. Dann in Ruhe die Zählerstände einlesen und den AVR darüber nachdenken lassen. Irgendwer wird jetzt einen FPGA o.ä. aus dem Hut zaubern, da habe ich aber keine Ahnung von. ;-) Gruß aus Berlin Michael
Mit 4 Mikrofonen ist es einfacher, da man bei geeigneter anordnung direkt eine art Koordinaten hat. Mit 3 Mikrofonen müsste man das erst ausrechnen, aber ich denke das sollte bei normaler Schussfrequenz auch von nem AVR zu erledigen sein ;) Das Problem wird nur das exakte erfassen sein. Ich würde so vorgehen: Ein paar testaufnahmen machen und so charakteristische Frequenzen raussuchen (hängt wohl vom Geschoss und von der größe der Platte ab. Dann einen analogen bandpass aufbauen, der nur eine (oder mehrere) der spezifischen Frequenzen durchlässt. Optimalerweise diese, die nicht durch die Waffe selbst erzeugt werden. Jetzt das signal zu einem einzelnen Puls umformen (gleichrichter, komparator). Jetzt muss die Zeitdifferenz noch möglichst genau bestimmt werden. Es gibt einige AVRs die schnelle Timer haben (64MHz), ich weiß aber gerade nicht, ob die sich auch per Input Capture triggern lassen. Sonst müsste man das wie oben beschrieben mit externen Zählerbausteinen aufbauen.
Hallo Gast, ich meine den Fragesteller.... bist Du hier noch am mitlesen? Gruss, Achim
>Hallo Gast, >ich meine den Fragesteller.... >bist Du hier noch am mitlesen? Bei dem umwerfenden Trafik der letzten Zeit - bestimmt. Ich hätte es mit Körperschallsensoren (Glasbruch, Piezo) probiert. Der Impuls wird üblicherweise in Metallen schneller transportiert. Die Filterung gestaltet sich einfacher.
gast schrieb: > Es wird mittels Beamer ein Bild auf eine Papierleinwand geworfen, hinter > der sich ein Kugelfang befindet. Der Beamer wirft ein Bild auf die > Leinwand, die man mit der Pistole o.ä. treffen muss. Der Einschlagpunkt > des Geschosses wird erkannt und der Beamer stellt daraufhin ein neues > Bild mit getroffenem Ziel her. Hatten wir diese Aufgabe nicht schon vor 2 Jahren bereist, als jemand mit Pfeilen sind Schiesskino betrieben hatte und nach Möglichkeiten suchte, die Treffer zu detektieren? Wurde seinerzeit mit einem Arduino gelöst, wenn ich mich recht entsinne. Den Knall in 30us zu erkennen, wenn die Kugeln trifft, ist ein Blösinn, wenn die Kugel selber nur mit maximal 300 m/s fliegt. Da geht es eher um Millisekunden, meine ich. Ausserdem könnte man auch schon die Mach-Welle erkennen, bevor es einschlägt. Machen die Profis auch so.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.