Deutsch English Français Italiano |
<vhmpif$i10a$2@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder2.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: pozz <pozzugno@gmail.com> Newsgroups: comp.arch.embedded Subject: Re: ATmega328PB and ADC Date: Thu, 21 Nov 2024 09:04:33 +0100 Organization: A noiseless patient Spider Lines: 57 Message-ID: <vhmpif$i10a$2@dont-email.me> References: <vh230f$23hme$1@dont-email.me> <vhk7aa$2fm1q$1@dont-email.me> <vhl2dj$5veu$1@dont-email.me> <vhmnen$i10a$1@dont-email.me> <vhmpa0$i69v$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Thu, 21 Nov 2024 09:04:32 +0100 (CET) Injection-Info: dont-email.me; posting-host="c5d231ee4f4c8774b62a7fdc8bdd4a6b"; logging-data="590858"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19eOU7Efb+KWTwBiWoBABAErjmd5ATgB1A=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:uk4f0w0e+wvXLzFW5TMr/nVC48g= In-Reply-To: <vhmpa0$i69v$1@dont-email.me> Content-Language: it Bytes: 3645 Il 21/11/2024 09:00, David Brown ha scritto: > On 21/11/2024 08:28, pozz wrote: >> Il 20/11/2024 17:23, David Brown ha scritto: >>> On 20/11/2024 09:40, pozz wrote: >>>> Il 13/11/2024 12:36, pozz ha scritto: >>>>> I couldn't understand if the first conversion after ADC is enabled >>>>> (ADEN bit) must be discarded or not. >>>>> >>>>> The datasheet suggests to discard the first conversion result after >>>>> changing the reference signal, but nothing after enabling ADC or >>>>> changing input signal (ADMUX). >>>>> >>>>> The only note is about the conversion time that is longer for the >>>>> first conversion after ADC is enabled. >>>>> >>>>> I'm asking this question because I'm noting a different behaviour >>>>> if I start conversion and enable ADC at the same time for each >>>>> conversion against leaving ADC enabled and starting only the >>>>> conversion (ADSC bit). >>>> >>>> For the future readers, I found my issue. Occasionally I put the MCU >>>> in sleep mode after enabling ADC and starting conversion. Even if >>>> ADC clock still runs in this mode, the result is not good. >>>> >>> >>> It is a while since I have used AVRs, but it sounds to me like you >>> are doing something wrong. You should get /better/ results if you >>> put the micro to sleep immediately after starting a conversion. This >>> is a well-established technique for getting higher accuracy from >>> small microcontroller ADCs, as you reduce the general digital noise >>> in the system. But you might have to pick the right kind of sleep mode. >>> >> >> Yes, you're right. However for AVRs the mechanism is different than >> what you described. >> >> If you want to start a /better/ ADC conversion, you should enable ADC >> peripheral and ADC interrupt and put the MCU in sleep mode (one >> specific sleep mode). This procedure automatically starts the ADC >> "super-accurate" conversion. >> >> In my case, I was starting the ADC in my code before entering sleep >> mode and this is not the correct procedure. >> >> Just for curiosity, I don't need high accuracy, so it's good to make >> conversion while the MCU is in active mode. > > It's certainly better to keep the MCU active than use the /wrong/ sleep > mode or sequence! > > Sleep modes are useful if you need to have low power (for battery use, > or to avoid heating), but they can complicate things a bit. I usually > don't bother with sleep modes unless I have a particularly good reason > for them. Yes, absolutely