Interrupt und Signal Analog

OP #1130933
Lesenswert?

Hallo Mikrocontrollerprofis,
Ich erlaube mir eine triviale Frage zu stellen. Da ich noch wenig Ahnung 
habe, mich das Thema aber interessiert und ich etwas mehr darüber wissen 
möchte, bitte ich um einen Lösungsvorschlag.
Ich programmiere einen At mega 8 Mikrocontroller und möchte mit einem 
Analogen Signal einen Interrupt auslösen, so als ob an dem Inter Up 
Eingang D1 Hi Signal kommen würde.
Wenn möglich bitte ich um einen kurzen Programmvorschlag.
Danke im Voraus!
Gast #1130936
Lesenswert?

hi

also ich kenn mich mit atmels nicht so super aus, aber folgendes wäre 
denkbar... nen comperator der auf deine schwellen vergleicht und der 
ausgang geht dann auf nen nmi-irq des uc.
alternativ kannste auf nen adc eingang gehen und mit nem timer immer den 
adc auslesen (vielleicht gibts auch continuierliche samplerate 
einstellung bei atmel) und dann entsprechend mit dem sollwert 
vergleichen.

version 1 ist halt analog und greift sofort version 2 ist halt sw 
getriggert.


mfg marcel
Gast #1131007
Lesenswert?

Die digitalen Eingänge der AVR haben dazu zwei relevante Eigenschaften:

-sie werden abgetastet. Wenn also die 0-1 Schwelle der analogen 
Eingangsspannung überschritten wurde, schalten sie bei der passenden 
Flanke des I/O-Taktes erst um. Das gibt zeitliche Streuung um + - einen 
I/O-Takt.

-Viele der Eingänge haben zusätzlich Schmitt-Trigger-Verhalten 
(Datenblatt nachsehen) die Schwelle ist aber exemplar- und 
temperaturabhängig und nur so auf einige 100 mV genau.

ein analoges Signal kann also durchaus für extint verwendet werden. Ob 
die dabei erreichbare Genauigkeit ausreicht, siehe Datenblatt oder 
Versuch.

Der Einsatz eines Komparators bringt eine wesentlich präzisere 
Schaltschwelle, so unter 10 mV Abweichung beim internen Komparator.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren