#1 23. Januar 2013 Zuletzt bearbeitet: 23. Januar 2013 Hi, hatte montag mein letztes praktikum im fach microkontroller, dabei ging es darum eine analoge größe (lichtstärke) zu messen und auszugeben (mit dem roboter asuro der eine atmega8 mC hat). ich tu mich grade verdammt schwer bei der ausarbeitung (die eig. glaube ich nicht schwer ist) und da ich grade etwas verzweifel, weil ich bis montag (start der klausurphase) noch EINIGES machen muss und mich irgendwie auf der stelle drehe... vielleicht könnt ihr mir bei einigen fragen helfen: 1. aus welchen teileinheiten besteht i.d.R. auf einem mC die adc-einheit 2. durch welche angaben wird ein adc spezifiziert? 3. welche software schreitte sind (der reihe nach) nötig um eine adc-messung durchzuführen? wäre super, wenn mir jemand helfen könnte! bewertung ist das mindeste! vielen dank gruss wayn //Edit: ok, schonmal ganz peinlich... MikroController meine ich natürlich (thread-titel).... + Multi-Zitat Zitieren
#2 24. Januar 2013 AW: MicroKontroller - ADU Praktikum 1. Grundsätzlich bestehen ADUs aus einem Sample-and-Hold-Baustein, was dann kommt kommt auf das Verfahren an. Für die succesive Approximation z.B. kommt dahinter ein Komperator, der die vorhergehene Wandlung, die mittels DAU in eine Anloge Spannung gewandelt wurde, mit dem aktuellen Spannungswert vergleicht. Das Wert wird so lange angepasst, bis bei gleich sind, das EWrgebnis ist dann ein binär Wert in einem Register. Je nach Modell gibts dann noch einen Multiplexer etc. 2. Auflösung, Umsetzzeit, Realisierungsverfahren, Quantisierungsrauschen, Quantisierungsfehler, Linearitätsfehler, Nullpunktfehler 3. Eingangskanalwählen, ectl. ADU auslösen, Ergebnis verarbeiten. Kommt natürlich auch immer auf den µC an etc, mit dem von dir genannten kenne ich mich leider nicht aus. + Multi-Zitat Zitieren
#3 24. Januar 2013 AW: MicroKontroller - ADU Praktikum mikrocontroller.net ist bei sowas eine super Anlaufstelle. Ich hab selber noch nicht wirklich was mit ADCs gemacht, aber hier ist ein ganz nettes Tutorial finde ich: AVR-Tutorial: ADC - Mikrocontroller.net Hier noch ein ganz einfaches C-Beispiel, nehme mal an du machst das auch in C und nicht in Assembler: Code: #include <mega8.h>; void main() { int sample,i,value; DDRB=0xFF; // PORTB als Ausgabeport ADMUX=0x00; // ADC Ref auf Avcc, PC0 gewählt, normale Formatierung ADCSRA=0x80; // ADC eingeschaltet, kein Prescale while(1) { sample=0; for(i=0;i<32;i++) { ADCSRA.6=1; //single conversion mode ein while(ADCSRA.6==1); //warten bis konvertierung abgeschlosen sample+=ADCW; //aufsummierung der samplewerte } value=sample/32; //aritmethisches mittel der samplewerte if (value<300) PORTB=0x01; //schaltet rote LED ein else if (value>=300 && value<600) PORTB=0x02; //schaltet gelbe LED ein else PORTB=0x04; //schaltet grüne LED ein } } Die Register und Funktionen sind ja alle im Datenblatt und dem Tut erklärt. 1 Person gefällt das. + Multi-Zitat Zitieren
#4 24. Januar 2013 AW: MicroKontroller - ADU Praktikum Das steht alles im Datenblatt vom Mega8: http://www.atmel.com/images/doc2486.pdf Seite 189ff. inkl. Blockschaltbild, Feauture liste und timing Diagrammen. Das Datenblatt sollte bei solchen Fragen immer die erste Anlaufstelle sein. + Multi-Zitat Zitieren