Forum: Mikrocontroller und Digitale Elektronik microcontroller für präzise zeitmessung (schallmessung)


von jonas (Gast)


Lesenswert?

Hallo Leute,

ich kenne mich mit Microcontrollern leider nicht so gut aus. Mich würde 
interessieren, ob sowas überhaupt mit einem Microcontroller möglich ist, 
und wenn ja, welchen würdet ihr mir empfehlen?

Ich habe folgendes vor:
Der MC sollte 4 Eingänge haben. Alle 4 Eingänge werden von äußerem 
Einfluss fast gleichzeitig aktiviert. Die Zeitabstände der Aktivierung 
der einzelnen Eingänge liegt im micro-sekunden Bereich (1/1.000.000 
Sec). Diese Zeit würde ich gerne mit dem MC erfassen.

Ist das möglich? Ich habe bei einigen Microcontrollern in den 
Datenblättern gelesen dass die Timer nur im Millisekunden-Bereich 
liegen. Gibt es für soetwas spezielle Microcontroller?

Danke im Vorraus!

Gruss,
Jonas.

von chris (Gast)


Lesenswert?

welche Auflösung brauchst du, sonst kein Problem.

von jonas (Gast)


Lesenswert?

wie gesagt, im mikrosekunden-Bereich (1/1.000.000 Sek)

von chris (Gast)


Lesenswert?

µS Bereich ist lahm, das geht mit jedem.

von Alexander S. (esko) Benutzerseite


Lesenswert?

chris schrieb:
> µS Bereich ist lahm, das geht mit jedem.

Naja, das würde ich so nicht unterschreiben.
Bei 16MHz bleiben zwischen zwei Ereignissen gerade mal 16 Befehle 
inklusive Interrupt-Sprung übrig.
Da muss man wahrscheinlich schon mit ASM programieren.

Die Frage ist auch mit welcher Genauigkeit die Abstände erfasste werden 
sollen.

von jonas (Gast)


Lesenswert?

die Abstände sind wie gesagt im microsekunden Bereich.

Wieviel Mhz braucht dann der µC? Könnt ihr mir einen empfehlen?

von chris (Gast)


Lesenswert?

Naja, ohne ASM Programmierung kommt man da nicht rum, auch weil man 
mehrere Inputs gleichzeitig erfassen muß, wo man dann nicht weiß, 
welcher zuerst kommt.

von chris (Gast)


Lesenswert?

In so einem Falle würde ich eher zu einem Pic tendieren, weil ich da 
mehr erfahrung habe, einen mit internem OSC, 8Mhz würde ich da 
vorschlagen,
bei einem Avr, ein Tiny mit internem OSC sowie ev. PLL, um auf 8Mhz oder
darüber zu kommen.

von Rik Langobar (Gast)


Lesenswert?

Nimm eine ATmega644 (AVR). Der laueft mit 20MHz und du kannst alle GPIOs 
als Interrupteingang verwenden. Damit geht es auf jeden Fall.

von Stefan Salewski (Gast)


Lesenswert?

>Gibt es für soetwas spezielle Microcontroller?

Mit einem TDC kommst Du auf Auflösungen von einigen 10 ps.

http://www.acam.de/index.php?id=105

von zwieblum (Gast)


Lesenswert?

einen avr mit einem 16 bit timer der capture mode kann, atmega8515 zb., 
prescaler = 1, dann brauchst kein asm, sondern kannst alles gemütlich in 
C erledigen.

von chris (Gast)


Lesenswert?

So wie ich es verstanden habe, sind mehrere Mikrofone im Einsatz, auf
mehreren Eingangspins, und dann wird mittels Triangulation die Position
der Geräuschquelle ermittelt. Mit Input Capture, sowie Interrupt bedient 
man max 2 Mikrofone. Wenn das nicht zuwenig ist, kann man es in 
Hochsprache machen.

von Peter D. (peda)


Lesenswert?

jonas schrieb:
> die Abstände sind wie gesagt im microsekunden Bereich.

Du wiederholst Dich.

Gefragt sind min, max, Auflösung, Genauigkeit.

Die Auflösung kann beim AVR min 50ns betragen.
Vom Min-Wert und vom "fast gleichzeitig" Wert hängt ab, ob man es in C 
oder Assembler machen muß.


Peter

von Ulrich (Gast)


Lesenswert?

Bei einigen Controllern (z.B. Atmel Mega128 und einigen PICs) gibt es 
mehr als einen Input capture Kanal.

von Ralph (Gast)


Lesenswert?

Ein TMS470 oder CortexM3 von TI mit dem Modul HET ( HighEndTimer) solte 
hierzu ideal sein.
Der HET ist ein eigenständiger Timer der die Zeitmessungen unabhängog 
vom µC_Core erledigt. Auflösung je nach konfiguration bis in den ns 
Bereich.

Taktfrequenzen ab 48 MHz. Damit sollte auch ASM Programmierung unnötig 
sein.

Ansonsten ist wohl eher ein DSP als ein µC hierfür geeignet.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

jonas schrieb:
> die Abstände sind wie gesagt im microsekunden Bereich.
>
> Wieviel Mhz braucht dann der µC? Könnt ihr mir einen empfehlen?

Wenn's im professionellen Bereich ist, dann würd ich vom Rumgefrickel 
mit einem AVR abraten. Es sei denn, man findet einen mit 4 
Capture-Compare-Einheiten.

Wenn's ein µC sein soll würde ich eher zu einem TriCore TC1796 (µC mit 
DSP-Funktionen) neigen. Zu PIC, ARM, reinen DSPs kann ich nix sagen.

Johann

von Christian R. (supachris)


Lesenswert?

Nimm einen MSP430, einen etwas größeren mit Timer B, der hat 7 
unabhängige Capture Eingänge, da kannst du in Hardware die Signale 
erfassen. Mit den neuen MSP430 mit 25MHz kannst du dann in 40ns 
auflösen.

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
Noch kein Account? Hier anmelden.