Experimentieren mit einem ADC
| Erstellt am 26.03.2002 16:09:59 | Klicks [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.
|
|
| Begleitende Layoutangaben | |