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.