Растолкуйте, друзья про AnalogReference!

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

Что-то я после прочтения разной информации по этой функции запутался. Прошу помощи "на пальцах" для идиёта :)

Плата - Ардуино Мега. Позволяет сделать опорным напряжение 1,1 в: "analogReference(INTERNAL1V1)".

Хочу посредством потенциометра вводить в Ардуину некие значения. Подключение  потенциометра: одна крайняя нога на пин GND, средняя нога  на пин аналогового входа. А с какого пина на Меге брать эти вот 1,1в?

Заранее списибо и простите за ламерство: как-то не уложилась в голове работа с этой функцией.

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

Формально, это напряжение есть на пине AREF, но потенциометр туда лучше не цеплять, ибо сказано: "Note that VREF is a high impedant source, and only a capacitive load should be connected in a system" (раздел 26.5 даташита).

Вообще, то, что у Вас возник такой вопрос, говорит о том, что Вы не поняли чего-то раньше и неправильно пошли к задаче.

negavoid
Offline
Зарегистрирован: 09.07.2016

Sonologist пишет:
Хочу посредством потенциометра вводить в Ардуину некие значения. Подключение  потенциометра: одна крайняя нога на пин GND, средняя нога  на пин аналогового входа. А с какого пина на Меге брать эти вот 1,1в?

Ни с какого, точнее, с любого. Включите между 5V пином на Меге и последним пином потенциометра резистор, в 5 раз превышающий номинал потенциометра.

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

Спасибо. Тогда немного расшифрую. Предполагаю вводить таким образом значение некоей переменной, В частности, 0-1023 собираюсь "размапировать" от 0 до 500. При этом желательно, чтобы это было поточнее. Поэтому хотел бы нагружать потенциометром стабилизированное напряжение. Тут, конечно, можно брать и 1.1 и 2.56 вольт, но только стабильное. Вот и вопрос: откуда (с какогог пина) его брать?

negavoid
Offline
Зарегистрирован: 09.07.2016

С любого, делителю без разницы. И полагаю, что вам не нужен 1.1V, для любительского применения хватит точности и при 5V.

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

Так, правильно ли я понял, что функция "аналогреференс" просто указывает, какое входное напряжение соответствует "1023" после оцифровки в АЦП? При этом стабильное напряжение можно брать с пина 5V, если запитывать плату 7-9 вольтами, а ее внутренний стабилизатор сделает на пине 5V эти 5 вольт стабильными?

negavoid
Offline
Зарегистрирован: 09.07.2016

Да, правильно. Или даже с любого цифро/аналогового пина в режиме выхода.

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

negavoid пишет:

Да, правильно. Или даже с любого цифро/аналогового пина в режиме выхода.

Друзья, спасибо, в голове уложилось. Но тогда еще один дурной вопрос: Предположим, я питаю Ардуину 9в. Разрешается ли в это время подключать разъем usb для прошивки в процессе написания и отладки программы? Или надо 9в отключать в это время? В последнем случае как работать с монитором порта?

kalapanga
Offline
Зарегистрирован: 23.10.2016

Sonologist пишет:

Спасибо. Тогда немного расшифрую. Предполагаю вводить таким образом значение некоей переменной, В частности, 0-1023 собираюсь "размапировать" от 0 до 500. При этом желательно, чтобы это было поточнее. Поэтому хотел бы нагружать потенциометром стабилизированное напряжение. Тут, конечно, можно брать и 1.1 и 2.56 вольт, но только стабильное. Вот и вопрос: откуда (с какогог пина) его брать?

Что значит "поточнее"?

Если не важно, что Вы не во все значения из диапазона сможете попасть, но важно как можно точнее знать, какое значение введено, тогда да нужен стабильный источник.

А если Вам важно иметь возможность ввести например и 399, и 400, и 401, то тут не стабильный источник, а многооборотный резистор нужен.

 

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

kalapanga пишет:

А если Вам важно иметь возможность ввести например и 399, и 400, и 401, то тут не стабильный источник, а многооборотный резистор нужен.

Кстати - вот тоже поле для размышлений. Или многооборотники (а они дорогущие) или энкодеры. Но последние лучше использовать на прерываниях, а их может не хватить...

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Sonologist пишет:

 

 или энкодеры. Но последние лучше использовать на прерываниях

не обязательно.  

negavoid
Offline
Зарегистрирован: 09.07.2016

Sonologist пишет:
Предположим, я питаю Ардуину 9в. Разрешается ли в это время подключать разъем usb для прошивки в процессе написания и отладки программы? Или надо 9в отключать в это время?

https://arduino.stackexchange.com/questions/893/what-happens-if-i-power-the-arduino-with-both-the-usb-and-external-power-voltage

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

Да, необязательно, но удобнее (на мой взгляд).

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

Ага, спасибо, схожу туда.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Sonologist пишет:

Да, необязательно, но удобнее (на мой взгляд).

Хочшь с прерываниями мудохаца, ну кто ж тебе смеет отказать. Но тогда освой PCINT, их много. 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Sonologist пишет:

Так, правильно ли я понял, что функция "аналогреференс" просто указывает, какое входное напряжение соответствует "1023" после оцифровки в АЦП? При этом стабильное напряжение можно брать с пина 5V, если запитывать плату 7-9 вольтами, а ее внутренний стабилизатор сделает на пине 5V эти 5 вольт стабильными?

Судя по тому, что Вы пишете, Вам вообще не нужен стабильный источник. Вам ужно, чтобы на потенциометр подавалось то же самое напряжение, которое используется в качестве опорного. Тогда вне зависимости от того, какое напряжение используется, при одном и том же положении потепнциометра Вы будете получать от АЦП одно и то же число.  С этим прекрасно справится питающее напряжение 5 В.

Могу еще посоветовать параллельно входу подключить конденсатор 0.01-0.1 мкФ.

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

спасибо!