Experimentieren mit einem ADC

Erstellt am 26.03.2002 16:09:59Klicks [7821]

Wer schon immer mit einem Analog Digital Wandler experimentieren wollte - großen Aufwand scheute -
ist mit diesem Projekt von Robert genau richtig. Mit dem ADC 0804 wird gezeigt wie einfach das
Programmieren des ADC ist.

Dieser Beitrag wurde von Robert Parusel für www.digital-hobby.de zu Verfügung gestellt.

Einfacher ADC an AVR.

Die folgende Schaltung beschreibt den Anschluss eines ADC0804 an einem AVR. Manchmal will man eine analoge Spannung mit einem Prozessor messen, um z.B. mit einem Poti die Geschwindigkeit eines Motors einzustellen, oder um mit einem PTC/NTC die Temperatur zu messen usw. Will man viele analog Werte erfassen empfiehlt es sich einen AT90S8535 einzusetzen, dessen PortA als 8-fach ADC programmiert werden kann. Wenn man aber nur eine Spannung messen will, und noch 10 - 11 freie Bits am AVR hat, kann man die folgende Schaltung verwenden, die übrigends nicht auf Atmel beschränkt ist, sondern auch mit anderen Prozessoren zusammen funktioniert.

Die Chip Select Leitung CS des ADC0804 liegt konstant auf Masse.Damit ist dieser Chip immer ausgewählt. Mit einem LOW Pulse ( min. 100 ns ) an WR wird die Messung gestartet. Die Messung ist beendet, wenn am INTR eine 0 anliegt. Zum Lesen wird dann RD auf LOW gezogen. Damit wird das Ausgangslatch an ADC0804 eingeschaltet Der Wert wird  gelesen und RD wieder auf HIGH gesetzt In dem Beispielprogramm werden 2 mögliche Arten gezeigt wie der Chip abgefragt werdenkann, Polling und Interruptbetrieb. Im 1. Fall wird in einer Schleife auf ein LOW an INTR gewartet, im 2. erledigt die Abfrage die INT0 Interruptroutine. Wer knapp an Leitungen ist kann auf die INTR Leitung ganz verzichten. Man wartet dann einfach nach dem Start der Messung ein paar ms. Danach ist die Messung mit Sicherheit abgeschossen.

Der Baustein schafft bei 640kHz Takt ca. 8888 Messungen/sec. Es gibt auch noch den "free running mode". Dabei werden die Leitungen WR und INTR zusammen geschaltet. Dann startet nach einer Messung der Chip selbst über die INTR Leitung die nächste Messung.



Beispiel Programm: Source Code Datenblatt : PDF File


Begleitende Layoutangaben