Hjelp til ADC ATMEGA8535

E

Ex4

Guest
Beklager hvis dette temaet har blitt lagt til
Kan noen fortelle meg hvor å endre kanalvalg på ADMUX på ATMEGA8535 på rett måte??
Jeg har prøvd alt, men alltid stucks på den første kanalen (jeg kan lese alle de åtte kanalen ner, men ved første lesning alltid får tilfeldige tall, som bør være ADC0 verdi)

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Trist" border="0" />mine er som dette:

-set ADC kanal = 0
skriver det inn til ADMUX
aktivere ADC og den andre innstillingen i ADCSRA
-vente ADIF flagg før det er satt
-lese ADCL og ADCH
-sende til USART
-increment kanalen
-gå tilbake til det øverste trinnet

det fungerer, men den første konverteringen alltid tilfeldig nummer ???????
noen har noen ide??Lagt etter 8 minutter:beklager for de feil:
Gå tilbake til toppen trinn, mener jeg inn nye ADMUX innstillingen med et nytt kanalvalg
takkLagt etter 42 sekunder:beklager for de feil:
Gå tilbake til toppen trinn, mener jeg inn nye ADMUX innstillingen med et nytt kanalvalg
takk

 
Har du sett Bit 5 (ADATE) av ADCSRA registrere og ADTS2: 0 i SFIOR gratis å kjøre 000?
Hvis JA prøve en konvertering til alle 8 kanaler med denne smule klarnet.
Husk å sette bit 6 (ADSC) hver gang du ønsker å starte en konvertering i Single konvertering-modus.
Du kan prøve å redusere litt på ADC klokke fra 200KHz også.

Kanskje Atmel ingeniører ikke lykkes å løse den gamle utgaven av AT90S8535 og feilene er arvet i ny design.
Jeg sa kanskje siden det ikke er en errata for ATMEGA8535 på Atmel nettsted.

Les den gamle errata ark for AT90S8535: http://www.atmel.com/dyn/resources/prod_documents/DOC1657.PDFFeil Channel Endringer i Free Running Mode
Dersom ADC opererer i Free Running Mode og kanaler er forandret ved å skrivetil ADMUX kort tid etter ADC Interrupt Flag (ADIF i ADCSR) er satt, den nyeinnstilling i ADMUX kan påvirke den pågående konverteringen.

Problem Fix / Løsning
Bruk Single Conversion modus ved skanning av kanaler, eller unngå å endreADMUX til minst 0,5 ADC klokken sykluser etter ADIF går høyt.Hvis du bruker 200KHz for ADC klokke 0,5 ADC betyr 2,5 oss.
Jeg hadde lagt merke til i programmet strøm som etter ADIF flagget er satt, du lest ADCL og ADCH, send den til UART og skriv deretter inn den nye ADMUX innstillingen med en ny kanalvalg.
Jeg tror at tiden som kreves for alle disse instruksjonene faller Bellow 2,5 oss (hvis du bruker en lavere ADC klokke så få ting verst) (opplagte antar du ikke vente til UDRE bit er angitt).Prøv å vente litt etter at du har lest ADCL og ADCH registre eller like etter sending verdiene til UART.

Men hvorfor bare når du endrer på første kanal?
Bare Atmel vet!

 
er spenning på -0,7 Vdc til 5VDC trygt for ADC på ATMEGA8535??

 
Ifølge absolutt høyeste karakterer spenningen på en pinne med hensyn til bakken er -0,5 v å Vcc 0,5 v
I denne serien tror jeg det er trygt, selv for ADC inputs.

 
Salam,

Disse filene kan hjelpe u

http://www.atmel.com/dyn/resources/prod_documents/avr120.PDF
http://www.atmel.com/dyn/resources/prod_documents/avr401.PDF

Håper jeg har hjulpet u

 
Hentet fra Atmel søknad note:
Quote:

Uavhengig av konvertering-modus, en inngangsspenning på en kanal må bo

.
mellom GND og AVCC.I én konvertering ........ Den 10-bits ADC av AVR derfor konverterer kontinuerlig

to discrete output values from 0 to 1023.
inngangsspenning fra GND til VREF
til diskrete output verdier 0 til 1023.
 

Welcome to EDABoard.com

Sponsor

Back
Top