| Deutsch English Français Italiano |
|
<vhmpa0$i69v$1@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: David Brown <david.brown@hesbynett.no> Newsgroups: comp.arch.embedded Subject: Re: ATmega328PB and ADC Date: Thu, 21 Nov 2024 09:00:00 +0100 Organization: A noiseless patient Spider Lines: 54 Message-ID: <vhmpa0$i69v$1@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> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Thu, 21 Nov 2024 09:00:04 +0100 (CET) Injection-Info: dont-email.me; posting-host="b6ed00619860c2c2b961b44de806e1e6"; logging-data="596287"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+bWmjGUf61FhtSejdeAzk8Ly0b7lk4cW0=" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Cancel-Lock: sha1:QeY5uPt93J6i3uQ+Es68XZNHSeg= In-Reply-To: <vhmnen$i10a$1@dont-email.me> Content-Language: en-GB Bytes: 3565 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.