erstellt 05.12.2011
|
||||||||||||||||||||||||||||||||||||||
Analog
Komparator
am
Atmega
Mikroprozessor
|
||||||||||||||||||||||||||||||||||||||
Der Atmega Mikroprozessor hat zwei
Eingänge die als Komparator (Vergleicher) bezeichnet werden, damit
hat man die Möglichkeit zwei Spannungen miteinander zu vergleichen. Die Eingangspins´haben die Bezeichnung AIN0 und AIN1. Beim Atmega 8 sind das die Anschlüsse 12 und 13, bei Atmega 32 sind es die Anschlüsse 3 und 4. Durch das Register ACSR ( Analoge Comparator Status Register ) wird das Verhalten der beiden Komparator Eingänge beeinflusst. Das Register besteht aus 8 Bits wobei das Bit 7 das Höherwertige ist. Mit dem Komparator kann man zwei Eingangsspannungen miteinander vergleichen, und wenn nötig bei Spannungsgleichheit einen Ausgang schalten oder aber einen Interrupt auslösen, der wiederum eine Interrupt Routine in Gang setzen kann. Es gibt auch die Möglichkeit nur einen Eingang zu benutzen und die am Eingang anliegende Spannung mit einer internen Referenzspannung zu vergleichen, um ebenfalls einen Ausgang oder Interrupt zu schalten. Die interne Referenzspannung beträgt in etwa 1,36 Volt. Der Eingang AIN0 ist der Positive und AIN1 der Negative Eingang, der Ausgang wird nur aktiviert wenn die Spannung am Positiven Eingang einen höheren Wert angenommen hat als am Negativen Eingang. |
||||||||||||||||||||||||||||||||||||||
Im
Beispiel am Atmega 32 (unten), sehen wir das beiden
Analogeingänge mittels
Potentiometer eine einstellbare Spannung zugeführt bekommen ,die
Werte
zwischen 0 und 5 Volt annehmen können. Led 1 wird ausgeschaltet sobald die Spannung am AIN0 die der am AIN1 überschreitet.Die Höhe der Spannung ist Variable kann sich also zwischen 0 und 5 Volt bewegen. |
||||||||||||||||||||||||||||||||||||||
Das dazu
gehörige Programm in Bascom
|
||||||||||||||||||||||||||||||||||||||
Beispiel
für eine Registerzuweisung: ASCR=&B00000000 Wollen wir nur einen Eingang benutzen können wir am Eingang AIN0 eine interne Referenzspannung zuschalten indem wir das Bit ACBG auf Eins setzen.Somit können wir auf das Poti P 1 verzichten . Die interne Spannungsreferenz ( also unsere Schaltschwelle )liegt bei etwa 1,36 Volt. In diesem Fall muss das Register folgendermaßen gesetzt werden: ASCR=&B01000000 |
||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
Noch
etwas zum Stromverbrauch, standardmäßig ist der Komparator
immer eingeschaltet und verbraucht somit auch Strom, um also Strom zu
sparen z. B. bei Batterie Betrieb sollte man den Komparator evtl.
ausschalten wenn er nicht benötigt wird. Das lässt sich
einmal durch die Registeranweisung wie folgt erledigen : Acsr = &B10000000 oder aber durch die direkte Bascom Anweisung : Stop AC Unten sehen wir das Blockschaltbild zum Komparator, damit lässt sich dann einiges besser verstehen. Daran erkennen wir auch das die Referenzspannung (Bandgab Reference) nur am Eingang AIN0 wirkt. |
||||||||||||||||||||||||||||||||||||||
Blockschaltplan |
||||||||||||||||||||||||||||||||||||||
Beispielprogramm mit Atmega 8 bei dem nur ein Poti benutzt wird und bei einem Spannungsvergleich mit der internen Referenzspannung bei jeder steigender Flanke ein Interrupt ausgelöst wird. | ||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||
Aktualisiert 12.09.2014 |
||||||||||||||||||||||||||||||||||||||
Copyrigfht by Ms 2009 |