Конденсатор на AREF

andreykrasnodar
Offline
Зарегистрирован: 04.10.2020

Прошу объяснить невежде, зачем между AREF и землёй на платах Arduino (думаю, на всех) ставят конденсатор 0.1 мкф.

Почему именно этой ёмкости?

Чем грозит его отсутствие?

И теоретически может ли на конденсаторе возникнуть разность потенциалов, которая приведёт к неправильной работе?

P.S. Читал, что перед чтением данных с аналогового пина рекомендуют "впустую" считывать значение, а повторно считанное использовать. Это как-то связано с наличием этого конденсатора?

Спасибо.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

См. AN2519 стр.6. А вообще, там много полезного и про питание и много про что.

Что-то у меня линка странно себя ведёт. Если что, скопипастите в окно адреса - http://ww1.microchip.com/downloads/en/Appnotes/AN2519-AVR-Microcontroller-Hardware-Design-Considerations-00002519B.pdf

andreykrasnodar пишет:

P.S. Читал, что перед чтением данных с аналогового пина рекомендуют "впустую" считывать значение, а повторно считанное использовать. Это как-то связано с наличием этого конденсатора?

Нет. Кстати, конденсатор нужен не всегда. Да "впустую" читать надо не всегда. Почитайте даташит, там чётко написано когда надо, а когда - нет.

andreykrasnodar
Offline
Зарегистрирован: 04.10.2020

Вот с чтения даташита вопросы и начались. Для меня это (чтение) - дело непривычное, пытаюсь разобраться, как работает АЦП, но ни одной статьи с подобным разбором не нашёл.

Как я понимаю, этот конденсатор ни какого отношения к АЦП не имеет, а нужен для фильтрации помех по питанию (или что-то типа того)

А вот на АЦП есть свой конденсатор (один на все пины) - он заряжается перед оцифровкой аналогового сигнала? А когда разряжается? И раз уж он один на всех, то он может оказать влияние на последующее измерение.

nik182
Offline
Зарегистрирован: 04.05.2015

А что-нибудь типа https://chipenable.ru/index.php/programming-avr/18-uchebnyy-kurs-atsp-mikrokontrollera-avr-ili-kak-podklyuchit-4-knopki-k-odnomu-vyvodu-chast-1.html читали? 

Конденсатор на Aref нужен что бы уменьшить погрешность преобразования АЦП. Питание аналоговой части ардун выполнено отвратительно. Поэтому конденсатор на Aref для ардуины мало влияет на конечный результат. Если разводить питание правильно, то можно получить приличные результаты АЦП. Повторное считывание рекомендуют от не знания внутренней кухни АЦП. С помощью повторного считывания организуют задержку, для заряда всех конденсаторов АЦП. Особенно после изменения Uref. Если Uref не менялось и сопротивление источника сигнала меньше 10кОм, то никаких повторных считываний не надо. 

andreykrasnodar
Offline
Зарегистрирован: 04.10.2020

Не читал. Но там про зарядку конденсаторов (конденсатора, я так понял, он один) АЦП ни слова.

nik182 пишет:

Повторное считывание рекомендуют от не знания внутренней кухни АЦП. С помощью повторного считывания организуют задержку, для заряда всех конденсаторов АЦП. Особенно после изменения Uref. Если Uref не менялось и сопротивление источника сигнала меньше 10кОм, то никаких повторных считываний не надо. 

Не раз в интернете натыкался на проблему, когда при чтении значений с 2 или 3 пинов подряд значения оказываются неправильными.

nik182
Offline
Зарегистрирован: 04.05.2015

Конденсатор в АЦП AVR 14pF. Сам можешь посчитать сколько времени ему надо на зарядку, если выходное сопротивление источника 10кОМ? И сравнить с временем от команды на переключения канала до команды старта преобразования? Если получится что время заряда больше, то надо задержать на разность времён начало преобразования. А если сопротивление источника 1кОм и меньше, то всегда будет выполняться условие что время заряда меньше чем переход программы к преобразованию. И ещё раз повторю. Все натыкания на проблему при чтении значений с 2 или 3 пинов подряд только от не знания принципов работы АЦП и не соблюдения требований даташита на МК пишущими в интернет.

-NMi-
Offline
Зарегистрирован: 20.08.2018

Очень интересное чтиво.

andreykrasnodar
Offline
Зарегистрирован: 04.10.2020

nik182 пишет:

И ещё раз повторю. Все натыкания на проблему при чтении значений с 2 или 3 пинов подряд только от не знания принципов работы АЦП и не соблюдения требований даташита на МК пишущими в интернет.

Вот незнание принципов работы АЦП - это как раз обо мне.