mikrocontroller.net

Forum: Compiler & IDEs Digitale Spannung mit Atmega detektieren


Autor: Samuel P. (mo3bius)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: foo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.)

Autor: Samuel P. (mo3bius)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: foo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schnellschuss: (R2R) OPV als Komparator, 1ms ist ja geradezu 
lächerlich...

Autor: foo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(Ausgang OPV an den INT-Eingang)

Autor: R. Max (rmax)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wozu einen externen OPV, der ATmega32 hat doch einen internen 
Analog-Komparator.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Samuel P. (mo3bius)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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?

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Samuel P. (mo3bius)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, Atmel scheint sich da bedeckt zu halten. Das "schnellste" Signal 
das ich verarbeitet habe war 125 µs.

Autor: foo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wozu einen externen OPV, der ATmega32 hat doch einen internen
>Analog-Komparator.
Wo du Recht hast...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.