Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

Контроль питающего напряжения PIC

Непрочитано 24.08.2017, 08:36  
rusyvochka
Гражданин KAZUS.RUN
 
Аватар для rusyvochka
 
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
rusyvochka на пути к лучшему
Вопрос Контроль питающего напряжения PIC

Доброго времен!
Здается мне было такое, но не находиться...

Суть вопроса: PIC12F пусть 629. CMCON 0x14. GP1 - Analog, Input, подключен на +2,5 в, опорное. Vref - Vdd, порог 4,5 вольта. При моделировании в Протеусе, изменяя "опорное", вижу реакцию компаратора, всё гут. В железе, при изменении питания, при разном значении VRCON срабатывание всегда при при 4,1 вольта: для отладки подвесил светодиод. Тупик.
Вопрос 2: как в Протеусе изменять Vdd/Vcc?
Задать в Проект / Конфигурация шин питания, установить даже 0,5 вольт, моделирование продолжается.
ПС: "игрался" на работе, текст и железо там же. Результаты не раньше понедельника. Суть - контроль разряда питающей батареи, АЦП не предлагать.
Реклама:
__________________
Смотрящий под ноги - звёзды видит в лужах.
rusyvochka вне форума  
Непрочитано 24.08.2017, 09:57  
jump
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,011
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Контроль питающего напряжения PIC

Сообщение от rusyvochka Посмотреть сообщение
Суть вопроса
собрать на макетке простейшую схему и написать три десятка команд, проверяя "вживую" - так сложно? заодно и оценив стабильность/дрейф/пороги срабатывания, смещение компаратора
воистину скажу вам - мир свихнулся
jump вне форума  
Непрочитано 24.08.2017, 10:01  
rusyvochka
Гражданин KAZUS.RUN
 
Аватар для rusyvochka
 
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
rusyvochka на пути к лучшему
По умолчанию Re: Контроль питающего напряжения PIC

Как бы я проверил срабатывание в железе без собранного устройства?
Как бы проверил работу в железе, без "трёх десятков" команд?
Вопрос читаем, потом воду льём.
__________________
Смотрящий под ноги - звёзды видит в лужах.
rusyvochka вне форума  
Непрочитано 24.08.2017, 11:01  
jump
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,011
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Контроль питающего напряжения PIC

Сообщение от rusyvochka Посмотреть сообщение
Как бы я проверил срабатывание в железе без собранного устройства?
а как собираетесь проверить реальный разброс и внешние воздействия? и что там проверять - модель идеального компаратора даст идеальный результат это я в уме или на листе бумаги смоделирую
Сообщение от rusyvochka Посмотреть сообщение
Вопрос читаем, потом воду льём
воду, вернее сопли, льют постоянно протэзисты - пачаму ни работаииит? весь инет уж залили. сколько стоит 629 - несколько булок/бутылок пива? у вас там куча пиков - нельзя спроецировать на подобный 16, узлы ведь похожи? протэз даст реальную картину, если у вас там какие-то чувствительные цепи, силовые или неправильная трассировка платы?

можете не отвечать - ответы мне известны заранее
а контроль напряжения батареи с автовыключением я лет 10-12 назад делал для одного прибора... в железе... сразу. некогда было дырки в шпротах искать, деньги за готовый макет платили
jump вне форума  
Непрочитано 24.08.2017, 11:45  
OakRidge
Заблокирован
 
Регистрация: 16.05.2015
Адрес: Болгария
Сообщений: 1,464
Сказал спасибо: 287
Сказали Спасибо 1,122 раз(а) в 540 сообщении(ях)
OakRidge на пути к лучшему
По умолчанию Re: Контроль питающего напряжения PIC

TABLE 17-2: COMPARATOR SPECIFICATIONS
D301 Input Common Mode Voltage VICM 0— (VDD – 1.5) V
OakRidge вне форума  
Непрочитано 24.08.2017, 12:06  
rusyvochka
Гражданин KAZUS.RUN
 
Аватар для rusyvochka
 
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
rusyvochka на пути к лучшему
По умолчанию Re: Контроль питающего напряжения PIC

Сообщение от rusyvochka Посмотреть сообщение
Доброго времен!
Вопрос 2: как в Протеусе изменять Vdd/Vcc?
.
Всего лишь.
Или я по турецки пишу? Чего хотел смоделировать в протеусе, реакцию компаратора на изменение "опорного" при Vref подключенного к Vdd? Без проблем. Тут и изобретать нечего. Получить реакцию при уменьшении питающего с постоянным опорным . В железяке я во внутрь не влезу, хоть в 16 хоть в 24. Вот оно лежит на столе и не работает как задумано. Порог всегда 4,1 вольт.
__________________
Смотрящий под ноги - звёзды видит в лужах.

Последний раз редактировалось rusyvochka; 24.08.2017 в 12:20.
rusyvochka вне форума  
Непрочитано 24.08.2017, 18:49  
j-Roger
Гражданин KAZUS.RUN
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 839
Сказал спасибо: 379
Сказали Спасибо 943 раз(а) в 451 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: Контроль питающего напряжения PIC

rusyvochka, вдруг окажется полезным - только для данного случая (CIN- подключен к внешней опоре).

Вопрос: "При каком Vdd сработает компаратор?"
Ответ - смотря как настраивать VRCON для модуля 'Comparator Reference Module'.
Для случая с внешней "опорой" 2.5V (напряжения выше допустимых - отбросить) :
Нажмите, чтобы открыть спойлер

Cin- = 2,50 V
======================================
VRCON, VRR = 1 (low range)
VRCON: 1x1x 0001 -› Vdd=60,00 V
VRCON: 1x1x 0010 -› Vdd=30,00 V
VRCON: 1x1x 0011 -› Vdd=20,00 V
VRCON: 1x1x 0100 -› Vdd=15,00 V
VRCON: 1x1x 0101 -› Vdd=12,00 V
VRCON: 1x1x 0110 -› Vdd=10,00 V
VRCON: 1x1x 0111 -› Vdd=8,57 V
VRCON: 1x1x 1000 -› Vdd=7,50 V
VRCON: 1x1x 1001 -› Vdd=6,67 V
VRCON: 1x1x 1010 -› Vdd=6,00 V
VRCON: 1x1x 1011 -› Vdd=5,45 V
VRCON: 1x1x 1100 -› Vdd=5,00 V
VRCON: 1x1x 1101 -› Vdd=4,62 V
VRCON: 1x1x 1110 -› Vdd=4,29 V
VRCON: 1x1x 1111 -› Vdd=4,00 V
-------------------------------------
VRCON, VRR = 0 (high range)
VRCON: 1x0x 0001 -› Vdd=8,89 V
VRCON: 1x0x 0010 -› Vdd=8,00 V
VRCON: 1x0x 0011 -› Vdd=7,27 V
VRCON: 1x0x 0100 -› Vdd=6,67 V
VRCON: 1x0x 0101 -› Vdd=6,15 V
VRCON: 1x0x 0110 -› Vdd=5,71 V
VRCON: 1x0x 0111 -› Vdd=5,33 V
VRCON: 1x0x 1000 -› Vdd=5,00 V
VRCON: 1x0x 1001 -› Vdd=4,71 V
VRCON: 1x0x 1010 -› Vdd=4,44 V
VRCON: 1x0x 1011 -› Vdd=4,21 V
VRCON: 1x0x 1100 -› Vdd=4,00 V
VRCON: 1x0x 1101 -› Vdd=3,81 V
VRCON: 1x0x 1110 -› Vdd=3,64 V
VRCON: 1x0x 1111 -› Vdd=3,48 V


Для других значений - вот исходник на C#:
Нажмите, чтобы открыть спойлер

Код:
using System;

namespace PicComparator
{
    // Для PIC12F683, 626, 675 и им подобных
    class Program
    {
        static void Main(string[] args)
        {
            CalculateVddForVRef(2.5); // Outer reference 2.5V
            CalculateVddForVRef(1.0); // Outer reference 1.0V
            Console.ReadKey();
        }

        /// Рассчитать требуемое Vdd для заданного опорного напржения на входе Cin- компаратора.
        /// Расчет производится перебором всех комбинаций битов VRR и VR[3..0] в регистре VRCON узла 'Comparator Reference Module'.
        /// Условия: 
        ///  - на вход Cin- компаратора подается внешняя "опора" с уровнем uref;
        ///  - вход Cin+ компаратора подключен к 'Comparator Reference Module'.
        private static void CalculateVddForVRef(double uref)
        {
            Console.WriteLine(string.Format("Cin- = {0:0.00} V", uref));
            Console.WriteLine("======================================");
            Console.WriteLine("VRCON, VRR = 1 (low range)");
            for (byte i = 1; i ‹ 16; i++)
            {
                Console.WriteLine(string.Format("VRCON: 1x1x {0}  -›  Vdd={1:0.00} V", LowNibble(i), CalculateVdd(uref, true, i)));
            }
            Console.WriteLine("-------------------------------------");
            Console.WriteLine("VRCON, VRR = 0 (high range)");
            for (byte i = 1; i ‹ 16; i++)
            {
                Console.WriteLine(string.Format("VRCON: 1x0x {0}  -›  Vdd={1:0.00} V", LowNibble(i), CalculateVdd(uref, false, i)));
            }
            Console.WriteLine();
            Console.WriteLine();
        }

        private static double CalculateVdd(double uref, bool vrr, byte vr3_0)
        {
            double Vdd;
            if (vrr)
            {
                Vdd = uref * 24 / ((double)vr3_0);
            }
            else
            {
                Vdd = uref / (1 / 4.0 + ((double)vr3_0 / 32.0));
            }
            return Vdd;
        }

        private static string LowNibble(byte b)
        {
            return ((b & 0x08) == 0 ? "0" : "1") + ((b & 0x04) == 0 ? "0" : "1") + ((b & 0x02) == 0 ? "0" : "1") + ((b & 0x01) == 0 ? "0" : "1");
        }
    }
}

Там в ПИКе нужно правильно настроить регистры VRСON, CMCON и TRIS.
Все работает, проверено в железе (на валявшемся рядом PIC12F683).
j-Roger вне форума  
Сказали "Спасибо" j-Roger
rusyvochka (25.08.2017)
Непрочитано 24.08.2017, 19:03  
t_ruslan_w
Прописка
 
Регистрация: 24.02.2007
Адрес: Вольногорск, Украина
Сообщений: 59
Сказал спасибо: 0
Сказали Спасибо 33 раз(а) в 18 сообщении(ях)
t_ruslan_w на пути к лучшему
По умолчанию Re: Контроль питающего напряжения PIC

Когда использовал компаратор в 629, но у меня была обратная ситуация, в железе работало, в протеусе компаратор нет.

Проверяйте конфигурацию.
t_ruslan_w вне форума  
Сказали "Спасибо" t_ruslan_w
rusyvochka (25.08.2017)
Непрочитано 25.08.2017, 09:54  
6ap6oc
Прописка
 
Регистрация: 02.03.2010
Сообщений: 137
Сказал спасибо: 12
Сказали Спасибо 49 раз(а) в 26 сообщении(ях)
6ap6oc на пути к лучшему
По умолчанию Re: Контроль питающего напряжения PIC

Убедитесь, что отключен brown-out detect, проверьте TRISA, вочдог отключите.
Иногда светодиод гаснет совсем не по той причине, по которой ожидаешь =)
Само поведение компаратора я бы проверил изменяя внешнее напряжение, которое 2 с половиной, как реагирует на него.
ПыСы
вообще то неплохо работают компараторы на пике, в простом частотомере измерял падение на 3 кремниевых диодах, сравнивая с ШИМ, очень неплохо меряло температуру корпуса кварца.

Последний раз редактировалось 6ap6oc; 25.08.2017 в 09:57.
6ap6oc вне форума  
Сказали "Спасибо" 6ap6oc
rusyvochka (25.08.2017)
Непрочитано 25.08.2017, 10:00  
rusyvochka
Гражданин KAZUS.RUN
 
Аватар для rusyvochka
 
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
rusyvochka на пути к лучшему
По умолчанию Re: Контроль питающего напряжения PIC

Сообщение от j-Roger Посмотреть сообщение
Все работает, проверено в железе (на валявшемся рядом PIC12F683).
Чётко, кратко, лакончно. Респек!
То-то и оно, что когда-то лепил такое, со старта заработало, потому не заострялся. А вот через годы зеваю где-то и не расторможусь где.
Вопрос второй остается открытым: точно знаю, что можно, не нахожу где. Задать Vdd/Vcc в Proteus.
__________________
Смотрящий под ноги - звёзды видит в лужах.
rusyvochka вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парапсихология, гомеопатия и паранаука Marc2005 Отвлекитесь, эмбеддеры! 2616 05.09.2014 23:07
Контроль высокого напряжения по импульсам на первичке ampy Источники питания и свет 9 25.04.2013 19:52


Часовой пояс GMT +4, время: 19:11.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.