24.08.2017, 08:36
|
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Контроль питающего напряжения PIC
Доброго времен!
Здается мне было такое, но не находиться...
Суть вопроса: PIC12F пусть 629. CMCON 0x14. GP1 - Analog, Input, подключен на +2,5 в, опорное. Vref - Vdd, порог 4,5 вольта. При моделировании в Протеусе, изменяя "опорное", вижу реакцию компаратора, всё гут. В железе, при изменении питания, при разном значении VRCON срабатывание всегда при при 4,1 вольта: для отладки подвесил светодиод. Тупик.
Вопрос 2: как в Протеусе изменять Vdd/Vcc?
Задать в Проект / Конфигурация шин питания, установить даже 0,5 вольт, моделирование продолжается.
ПС: "игрался" на работе, текст и железо там же. Результаты не раньше понедельника. Суть - контроль разряда питающей батареи, АЦП не предлагать.
__________________
Смотрящий под ноги - звёзды видит в лужах.
|
|
|
|
24.08.2017, 09:57
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,001
Сказал спасибо: 0
Сказали Спасибо 4,946 раз(а) в 2,373 сообщении(ях)
|
Re: Контроль питающего напряжения PIC
Сообщение от rusyvochka
|
Суть вопроса
|
собрать на макетке простейшую схему и написать три десятка команд, проверяя "вживую" - так сложно? заодно и оценив стабильность/дрейф/пороги срабатывания, смещение компаратора
воистину скажу вам - мир свихнулся
|
|
|
|
24.08.2017, 10:01
|
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: Контроль питающего напряжения PIC
Как бы я проверил срабатывание в железе без собранного устройства?
Как бы проверил работу в железе, без "трёх десятков" команд?
Вопрос читаем, потом воду льём.
__________________
Смотрящий под ноги - звёзды видит в лужах.
|
|
|
|
24.08.2017, 11:01
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,001
Сказал спасибо: 0
Сказали Спасибо 4,946 раз(а) в 2,373 сообщении(ях)
|
Re: Контроль питающего напряжения PIC
Сообщение от rusyvochka
|
Как бы я проверил срабатывание в железе без собранного устройства?
|
а как собираетесь проверить реальный разброс и внешние воздействия? и что там проверять - модель идеального компаратора даст идеальный результат это я в уме или на листе бумаги смоделирую
Сообщение от rusyvochka
|
Вопрос читаем, потом воду льём
|
воду, вернее сопли, льют постоянно протэзисты - пачаму ни работаииит? весь инет уж залили. сколько стоит 629 - несколько булок/бутылок пива? у вас там куча пиков - нельзя спроецировать на подобный 16, узлы ведь похожи? протэз даст реальную картину, если у вас там какие-то чувствительные цепи, силовые или неправильная трассировка платы?
можете не отвечать - ответы мне известны заранее
а контроль напряжения батареи с автовыключением я лет 10-12 назад делал для одного прибора... в железе... сразу. некогда было дырки в шпротах искать, деньги за готовый макет платили
|
|
|
|
24.08.2017, 11:45
|
|
Почётный гражданин KAZUS.RU
Регистрация: 16.05.2015
Адрес: Болгария
Сообщений: 1,462
Сказал спасибо: 287
Сказали Спасибо 1,121 раз(а) в 540 сообщении(ях)
|
Re: Контроль питающего напряжения PIC
TABLE 17-2: COMPARATOR SPECIFICATIONS
D301 Input Common Mode Voltage VICM 0— (VDD – 1.5) V
|
|
|
|
24.08.2017, 12:06
|
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: Контроль питающего напряжения PIC
Сообщение от rusyvochka
|
Доброго времен!
Вопрос 2: как в Протеусе изменять Vdd/Vcc?
.
|
Всего лишь.
Или я по турецки пишу? Чего хотел смоделировать в протеусе, реакцию компаратора на изменение "опорного" при Vref подключенного к Vdd? Без проблем. Тут и изобретать нечего. Получить реакцию при уменьшении питающего с постоянным опорным . В железяке я во внутрь не влезу, хоть в 16 хоть в 24. Вот оно лежит на столе и не работает как задумано. Порог всегда 4,1 вольт.
__________________
Смотрящий под ноги - звёзды видит в лужах.
Последний раз редактировалось rusyvochka; 24.08.2017 в 12:20.
|
|
|
|
24.08.2017, 18:49
|
|
Гражданин KAZUS.RU
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 756
Сказал спасибо: 368
Сказали Спасибо 842 раз(а) в 391 сообщении(ях)
|
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
|
|
|
24.08.2017, 19:03
|
|
Прописка
Регистрация: 24.02.2007
Адрес: Вольногорск, Украина
Сообщений: 59
Сказал спасибо: 0
Сказали Спасибо 33 раз(а) в 18 сообщении(ях)
|
Re: Контроль питающего напряжения PIC
Когда использовал компаратор в 629, но у меня была обратная ситуация, в железе работало, в протеусе компаратор нет.
Проверяйте конфигурацию.
|
|
|
Сказали "Спасибо" t_ruslan_w
|
|
|
25.08.2017, 09:54
|
|
Прописка
Регистрация: 02.03.2010
Сообщений: 139
Сказал спасибо: 12
Сказали Спасибо 49 раз(а) в 26 сообщении(ях)
|
Re: Контроль питающего напряжения PIC
Убедитесь, что отключен brown-out detect, проверьте TRISA, вочдог отключите.
Иногда светодиод гаснет совсем не по той причине, по которой ожидаешь =)
Само поведение компаратора я бы проверил изменяя внешнее напряжение, которое 2 с половиной, как реагирует на него.
ПыСы
вообще то неплохо работают компараторы на пике, в простом частотомере измерял падение на 3 кремниевых диодах, сравнивая с ШИМ, очень неплохо меряло температуру корпуса кварца.
Последний раз редактировалось 6ap6oc; 25.08.2017 в 09:57.
|
|
|
|
25.08.2017, 10:00
|
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: Контроль питающего напряжения PIC
Сообщение от j-Roger
|
Все работает, проверено в железе (на валявшемся рядом PIC12F683).
|
Чётко, кратко, лакончно. Респек!
То-то и оно, что когда-то лепил такое, со старта заработало, потому не заострялся. А вот через годы зеваю где-то и не расторможусь где.
Вопрос второй остается открытым: точно знаю, что можно, не нахожу где. Задать Vdd/Vcc в Proteus.
__________________
Смотрящий под ноги - звёзды видит в лужах.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:12.
|
|