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