Hi, ich habe hier ein periodisches digitales Signal. Es werden alle 50ms Peaks mit geringer Länge und einer maximalen Spannung von 0.5 Volt gesendet. Mein Atmega32 läuft mit 5 Volt. Ich möchte detektieren wann ein Solcher Peak "kommmt". Dies ist eine zeitkritische Aufgabe. Ich habe mir selber schon einige Gedanken gemacht, würde aber gern mal hören wie ihr das machen würdet. Mfg Samuel
>geringer Länge Die da wäre? 1ms oder 1ns? >Ich habe mir selber schon einige Gedanken gemacht Dann lass mal hören... (Ich sag jetzt nicht dass das Hausaufgaben sind, aber solche Formulierungen erinnern mich immer dran.)
Die genaue Länge weis ich im Moment nicht. Aber sowas in 1 ms-Bereich. Ich hätte ja auch schreiben können ich weis nicht wie man das macht, aber ich wollte das wahrheitsgemäß schreiben.... - Signal verstärken + Interruptschaltung auf Flanke - ADC aufs Signal anwenden und schauen wann Werte > 10 (oder anderer minimaler Wert) ankommen. Mfg Samuel
Schnellschuss: (R2R) OPV als Komparator, 1ms ist ja geradezu lächerlich...
Wozu einen externen OPV, der ATmega32 hat doch einen internen Analog-Komparator.
Die 0,6 V über einen 10 nF Kondensator an den Komparatoreingang legen. Den Eingang mit 2 mal 100 k auf UB-Halbe legen: B & W.
@Martin:
Ich denke ich verstehe prinzipiell was du meinst. Du vergleichst den
digitalen Peak mit einer Referenzspannung und wenn der Peak größer ist,
so wird ein TImer/Interrupt ausgelöst, richtig?
>Den Eingang mit 2 mal 100 k auf UB-Halbe legen: B & W.
Meinst du damit, dass ich die halbe Peakhöhe als Spannung an AIN0 legen
soll, wenn mein Signal an AIN1 liegt?
Ja, du kannst den einen Eingang z. B. fest auf 0,3 V legen und den anderen Eingang mit deinem Signal "füttern". Bitte im Datenblatt prüfen, wie weit die Spannungen des AVR-Komparators an VCC/GND gehen darf.
Alles klar. Weist du vielleicht auch noch in etwa wie kurz mein Puls sein dürfte? (Grobe Größenordnung wäre schon gut) Ich hab im Datenblatt nachgesehen, dazu aber nichts gefunden. Im SVR-GCC Tutorial stand nur das der AC unabhängig vom Prozessor arbeitet. Mfg Moebius
Samuel P. schrieb: > Alles klar. Weist du vielleicht auch noch in etwa wie kurz mein Puls > sein dürfte? (Grobe Größenordnung wäre schon gut) Da es sich hier um eine reine Hardware-Detektierung handelt, wird die (wiederholende) minimale Zeit davon abhängen, wie schnell du Interrupts maximal abarbeiten kannst. Denn erst wenn eine ISR unterwegs ist, kann das nächste Ereignis das Interrupt Flag erneut setzen.
Nein, Atmel scheint sich da bedeckt zu halten. Das "schnellste" Signal das ich verarbeitet habe war 125 µs.
>Wozu einen externen OPV, der ATmega32 hat doch einen internen >Analog-Komparator. Wo du Recht hast...
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.