Arduino Mega 2560 - как в компараторе заменить отсутствующий AIN0?

В процессе миграции проекта с Arduino Nano на Mega 2560, обнаружил отсутствие у последней выхода “наружу” пина 4 (AIN0) процессора.
В моём проекте он использовался в простеньком компараторе для контроля за питанием.
По прерыванию компаратора, при пропадании питания, производилась запись критических данных в EEPROM.


Програмная обработка с использованием библиотеки directACD.

Вопрос собственно в названии темы.

На шилде не выведен ? Возьмите с ноги …

4 ножка Atmeg’и (на плате Arduino Mega, обычно, не разведена).

Можно изменить схему.
Подавайте напряжение питания 12 В через делитель на AIN1.
AIN0 программно подключите к внутреннему напряжению 1,1 В

Это делается любым цифровым пином, зачем тут такие сложности.

А как в этом случае будет срабатывать компаратор? Не наоборот, случаем?
Я имею ввиду, что срабатывание будет по превышению контролируемого напряжения напряжения “опоры”?
Мне надо наоборот. Или это настраивается программно?

P.S.

Гм… С цифровым?? Это как так?
Подключить делитель к цифровому пину, выставить на нём уровень максимально близкий к лог. “0”. Так?
И как тогда отслеживать критический момент? Без прерывания, тупо в loop, мне категорически не подойдёт…

Про прерывания от уровня на пине не слышали?

нет видимо, первое что попалось, прерывания от АЦП, дальше не читал)))

Господа и товарищи тоже! :wink:
Давайте на минуточку вспомним, о чём мы тут…
А мы вообщем-то, об аналоговых сигналах, совсем не цифровых, однако!
Поэтому я и читал о прерываних аналогового компаратора.
Привычка такая, однако - использовать инструмент по назначению, не пытаясь им забивать гвозди…
Пожалуйста, давайте вернёмся к теме!
Например, к тому варианту, что предложил Upper.
Кто-нибудь может сказать, будет ли компаратор в таком варианте генерить прерывание по заданному условию?
И если “да”, то не упадёт ли “чувствительность” контроля, если “опора” с 3,3V уйдёт на 1,1V?

P.S. Кто-нибудь может подсказать, как на этом форуме редактировать сообщения?
Или такой возможности нет?

  1. Использовать другой вывод компаратора. Там всё настраивается.
  2. Использовать PCINT на любом выводе
  3. Использовать АЦП(кстати, вообще никаких выводов не понадобится). Но надо расчитывать схему,чтоб успеть понять что питание пропадает.

задача была описана как

коль не хотите не умеете, вывести нужный аналоговый пин на меге наружу, почему не решить эту задачу при помощи свободного цифрового пина?
религия?

компаратор не цифровое устройство, оказывается
в цифровом пине не компаратор, оказывается

Заблуждение. Имеем два состояния .
Любой цифровой вход по сути и есть компаратор.

rkit, te238s
не путайте людей, и не морочьте им головы, в дурдуине есть аналоговые и цифровые пины!
это все что нужно знать, настоящему ардуинщику!))

4 лайка

Вот ведь. Знаю единственный чип у которого есть аналоговые пины - 328 в квадратном корпуса А6 А7.

В указанной вами библиотеке есть описание в котором перечислены варианты настроек.

void ACOMP_attachInterrupt(void (*isr)(), ADC_modes source); // Включить прерывание компаратора и выбрать при каком событии оно будет вызвано (FALLING_TRIGGER, RISING_TRIGGER, CHANGE_TRIGGER)

ты хочешь окончательно добить неокрепшее сознание юного ардуинщика?

Да, всё так. Проверил, всё отрабатывает согласно задаче.
Вообще-то, я изначально так и собирался сделать, но смутило опорное напряжение в 1,1V.
Почему-то решил, что при низком опорном напряжении срабатывание компаратора будет при бОльшем снижении контролируемого.
Что соответственно приведёт к сокращению времени на запись критических данных.
Калькулятор и последующая проверка на практике, развеяли мои сомнения. :slight_smile:

xDriver, увы… Нету кнопочки…


Видимо, до Юпитера я ещё не дорос, посему - не положено! :slight_smile:

P.S. Вопрос решён.
Всем остальным, не упомянутым выше, также спасибо за “многоводные” консультации и рекомендации. :face_with_hand_over_mouth:
Лишний раз убедился в том, что если хочешь сделать хорошо - сделай сам.

1 лайк

К микроконтроллерам это не применимо ввиду того что суть МК как раз в универсальности. Даже модуль USI можно использовать как UART, SPI и как 4х битный счётчик. И это информация от производителя! Не существует “компаратора для контроля напряжения”, есть просто компаратор.