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!
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
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.
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.