Ich habe einen ATMEGA32 und das STK500 mit der Library von http://www.procyonengineering.com/avr/avrlib/index.html in Verwendung (a2dtest). Ich habe zum Test die 5Volt mit 2*2k2 halbiert und an den AD Eingang gelegt. Da gibts alle Werte von 512 bis 524. Ein parallel angeschlossenes Fluke zeigt eine stabile Spannung. Die eingestellte Frequenz war 4 MHZ, AD Teiler ist 128. Kann mir jemand sagen, was ich tun muß, daß der Wert bestenfalls zwischen 514 und 516 zittert (was ich schon als sehr viel empfinde) ??!!
soll das Ergebnis stabil sein, darf weder die angelegte Spannung noch die Referenzspannung Störungen aufweisen. Also Entkopplung mit RC-Glied. Weiterhin empfiehlt sich die Stilllegung des CPU-Core während der Wandlung.
hi mario, irgendwie erscheint mir deine library sehr hässlich und überflüssig... warum versuchst du nicht mit das hier? bei mir tut's mit tiny26, 90s4433 und mega8 ganz stabil... #include <mega32.h> #define ADC_VREF_TYPE 0xC0 // Read the AD conversion result unsigned int read_adc(unsigned char adc_input) { ADMUX=adc_input|ADC_VREF_TYPE; // Start the AD conversion ADCSR|=0x40; // Wait for the AD conversion to complete while ((ADCSR & 0x10)==0); ADCSR|=0x10; return ADCW; } void main(void) { // ADC initialization // ADC Clock frequency: 31,250 kHz // ADC Voltage Reference: Int., cap. on AREF ADMUX=ADC_VREF_TYPE; ADCSR=0x87; while (1) { // Place your code here }; }
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.