Low VDD Detector

Сделал тут на днях небольшую платку дополнение, которая следит за уровнем питания и сохраняет настройки в EEPROM при понижении ниже определенного уровня. Все как описывал здесь. В качестве компаратора используется встроенный в PIC16f877a.

Смотрится конечно как аппендикс, но функция уж слишком полезная, чтобы ей пренебрегать.

Напоминаю как выглядит схема в общих чертах:

Теперь вкратце по коду:

Сначала настраиваем прерывания по компаратору:

if (CMIF)
 {
 __delay_ms(20);           //антидребезг
   if (C1OUT)              //Сработал компаратор в сторону <
    {
      SaveStatusFlag = 1;  //переменная флаг
    }
  CMIF = 0;
 }

Переменную-флаг отлавливаем в главном коде:

if (SaveStatusFlag)
{
 SaveState();
 SaveStatusFlag = 0;
}

Функция SaveState() – функция сохранения настроек в EEPROM, про нее я писал здесь.

Небольшая демонстрация работы схемы:

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

Low VDD Detector: 10 комментариев

  1. Это зависит от того, какое падение вам необходимо получить.
    В моем случае на диоде падение было 590 мВ, а значит нужно подобрать такие резисторы, чтобы на них при 5 В было больше 590 мВ, а при 4.7 меньше. Если считать что вход мк не имеет сопротивления и отбросить 5% разброс резистор, то для моих условий хорошо подходят резисторы 130К и 18К. Если не попали, подбирать экспериментальным путем, либо приобретать 1% резисторы :)

    Ответить

  2. А для диода резистор рассчитывается так, чтобы обеспечить нужный ток на падение в 0.6 В. По даташиту 1n4148 у него типовой ток при падении 600 мВ – 5 мА. То есть минимальное падение на резисторе может быть 4.1 В => 4.1/5mA = 820 Ом – даже попадает в ряд Е24

    Ответить

  3. У меня получилось использовать внутренний источник опорного напряжения. Юзаю PIC16F887. В качестве опорного задал значение 2,5 В. В качестве напряжения для сравнения на пин RA1 завёл средний вывод подстроечника, номиналом в 33 кОм. Ёмкость электролитического конденсатора примерно 1000 мкФ. Перед конденсатором стоит диод. А да. После диода напряжение питания не 5 В, а 4,7 В получилось. Поэтому опорное напряжение снизилось где-то до 2,3 В. При этом конфигурацию регистра VRCON не менял

    Ответить

  4. Есть возможность использовать внутреннее опорное напряжение, значением 0,6 В. Так сначала и получилось. А потом на 2,% В сделал. Думаю, что вариант с 0,6 В будет лучше. Или на диодах собирать, как у Вас.

    Ответить

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

    Ответить

  6. У меня работает вот почему. Напряжение на делитель я взял с точки до диода. Оно падает быстрее, чем напряжение с конденсатора, которое подаётся на контроллер и потом используется для опорного напряжения. Соберу на диоде.

    Ответить

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

    Ответить

    sarge Ответил:

    Конечно можно, но в данном случае мне хотелось собрать именно Low VDD detector :)

    Ответить

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.