Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Источники питания и свет Актуальные вопросы и ответы по источникам питания, световому оборудованию.

Ответ
Опции темы

Не работает защита от КЗ

Непрочитано 30.11.2014, 16:27   #1
vavan1983
Почётный гражданин KAZUS.RUN
 
Аватар для vavan1983
 
Регистрация: 26.12.2007
Сообщений: 1,198
Сказал спасибо: 70
Сказали Спасибо 80 раз(а) в 69 сообщении(ях)
vavan1983 на пути к лучшему
По умолчанию Не работает защита от КЗ

Нажмите на изображение для увеличения
Название: chem.jpg
Просмотров: 548
Размер:	36.4 Кб
ID:	72439

Код:
unsigned short i=8,l=1;
void main(void)
{
OPTION_REG=0x7f;      //глобал разрешение подтяжкирезисторов
WPU=0x12;             //подтягиваем резисторы на ножки GP1 и GP4
TRISIO=0X12;          //ножки GP1 и GP4 как входы остальные выходы
OSCCON=0X75;          //внутреней тактовый ген 8 МГц
CMCON0=0X07;          //компораторы выключены
ANSEL=0X00;           //все порты ввода вывода цифровые
GPIO=0;               //установка лог. 0 на всех портах
PWM1_Init(40000);     //работа CCP в режиме ШИМ на частоте 40 КГц
PWM1_Set_Duty(i);     //начальная скважность 8.
PWM1_Start();         //старт CCP
Delay_ms(500);
GPIO.GP0=1;                     //включает реле для подачи плюса 280 вольт на MOSFET-ы
if(!GPIO.GP1 && !GPIO.GP4)      //проверка КЗ на выходах J1, J2, J3 (см. схему)
{
for(i=5; i‹=128; i++)           //КЗ между J1, J2, J3 нет. Увеличиваем скважность ШИМ до 128
{
Delay_ms(1);
PWM1_Set_Duty(i);
}}
while(1)
{
if((GPIO.GP1 || GPIO.GP4)&&l)  //произошло КЗ между J1, J2, J3
{
GPIO.GP0=0;                    //отключает плюс от полумоста на MOSFET-тах
PWM1_Set_Duty(8);              //сброс скважности до стартовой
Delay_ms(500);
GPIO.GP0=1                     //включает реле для подачи плюса 280 вольт на MOSFET-ы
l=0;
}
if(!GPIO.GP1 && !GPIO.GP4&&!l)   //проверка КЗ на выходах J1, J2, J3 (см. схему)
{
l=1;
Delay_ms(500);
for(i=8; i‹=128; i++)             //КЗ между J1, J2, J3 нет. Увеличиваем скважность ШИМ до 128
{
Delay_ms(1);
PWM1_Set_Duty(i);
}
}
}
}
В целом блок питание понижающий с 220 переменного на 48 вольт двух полярного по 24 вольта в плечё работает отлично. Мягкий старт есть.

Возникла проблемка защиты от КЗ каждого плеча в отдельности, а именно если накоротко замкнуть J1 и J2 то всё хорошо защита срабатывает как надо но когда замыкаю отдельно J1 и J3 или J2 и J3 то защита не срабатывает, то есть выполняются все условия if() по порядку в теле цикла while(1).
Реклама:

Последний раз редактировалось vavan1983; 30.11.2014 в 16:32.
vavan1983 вне форума   Ответить с цитированием
Непрочитано 30.11.2014, 16:38   #2
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Не работает защита от КЗ.

Сообщение от vavan1983 Посмотреть сообщение
!GPIO.GP4&&!l
Что Вы ожидаете получить, сделав "!0х01"? Отсюда и ноги растут у непоняток.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума   Ответить с цитированием
Непрочитано 30.11.2014, 17:05   #3
vavan1983
Почётный гражданин KAZUS.RUN
 
Аватар для vavan1983
 
Регистрация: 26.12.2007
Сообщений: 1,198
Сказал спасибо: 70
Сказали Спасибо 80 раз(а) в 69 сообщении(ях)
vavan1983 на пути к лучшему
По умолчанию Re: Не работает защита от КЗ.

Сообщение от akegor Посмотреть сообщение
Что Вы ожидаете получить, сделав "!0х01"? Отсюда и ноги растут у непоняток.
Предложите ваш вариант если не трудно.
vavan1983 вне форума   Ответить с цитированием
Непрочитано 30.11.2014, 17:15   #4
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Не работает защита от КЗ.

Сообщение от vavan1983 Посмотреть сообщение
!GPIO.GP4&&!l
Эта конструкция вообще лишняя. "0" есть "ложь", не "0" - "истина". Истина будет при любом ненулевом результате, поэтому "&&1" и подобное - излишество. Считаете необходимым подчеркнуть или просто явно указать для лучшего понимания (или других соображений, скажем, особенности компилятора) - используйте true и false. Или они уже определены в либах, или определите сами.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.

Последний раз редактировалось akegor; 30.11.2014 в 20:57.
akegor вне форума   Ответить с цитированием
Непрочитано 30.11.2014, 19:03   #5
vavan1983
Почётный гражданин KAZUS.RUN
 
Аватар для vavan1983
 
Регистрация: 26.12.2007
Сообщений: 1,198
Сказал спасибо: 70
Сказали Спасибо 80 раз(а) в 69 сообщении(ях)
vavan1983 на пути к лучшему
По умолчанию Re: Не работает защита от КЗ.

Вот и я столкнулся с ЭМИ влияющим на МК
vavan1983 вне форума   Ответить с цитированием
Непрочитано 30.11.2014, 22:36   #6
vavan1983
Почётный гражданин KAZUS.RUN
 
Аватар для vavan1983
 
Регистрация: 26.12.2007
Сообщений: 1,198
Сказал спасибо: 70
Сказали Спасибо 80 раз(а) в 69 сообщении(ях)
vavan1983 на пути к лучшему
По умолчанию Re: Не работает защита от КЗ

Народ кто знает какое сопротивление имеют внутреннее резисторы в МК pic12f683?
vavan1983 вне форума   Ответить с цитированием
Непрочитано 01.12.2014, 00:10   #7
ForcePoint
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,456
Сказал спасибо: 3,225
Сказали Спасибо 3,509 раз(а) в 2,390 сообщении(ях)
ForcePoint на пути к лучшему
Стрелка Re: Не работает защита от КЗ

Сообщение от vavan1983 Посмотреть сообщение
Народ кто знает какое сопротивление имеют внутреннее резисторы в МК pic12f683?
Точно - знает datasheet. А так - десятки килоом.
ForcePoint вне форума   Ответить с цитированием
Непрочитано 01.12.2014, 21:57   #8
johanh
Почётный гражданин KAZUS.RUN
 
Регистрация: 28.03.2006
Сообщений: 3,609
Сказал спасибо: 141
Сказали Спасибо 427 раз(а) в 377 сообщении(ях)
johanh на пути к лучшему
По умолчанию Re: Не работает защита от КЗ

Опросил бит порта оптрона 1 - послал бит(или инвертированный) на релюху 1
Опросил бит порта оптрона 2 - послал бит(или ннвертированный) на релюху 2
"если" тут не нужно
johanh вне форума   Ответить с цитированием
Непрочитано 02.12.2014, 07:42   #9
vavan1983
Почётный гражданин KAZUS.RUN
 
Аватар для vavan1983
 
Регистрация: 26.12.2007
Сообщений: 1,198
Сказал спасибо: 70
Сказали Спасибо 80 раз(а) в 69 сообщении(ях)
vavan1983 на пути к лучшему
По умолчанию Re: Не работает защита от КЗ.

Сообщение от akegor Посмотреть сообщение
Что Вы ожидаете получить, сделав "!0х01"? Отсюда и ноги растут у непоняток.
if(!GPIO.GP1 && !GPIO.GP4&&!l)
{
}

или вот так

if(GPIO.GP1==0 && PIO.GP4==0 && l==0)
{
}
можно вот

if(!(GPIO.GP1 && GPIO.GP4&&l))
{
}

или даже так

if((GPIO.GP1 && GPIO.GP4&&l)==0)
{
}

а результат во всех случаях будет одинаков.
vavan1983 вне форума   Ответить с цитированием
Непрочитано 02.12.2014, 08:00   #10
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Не работает защита от КЗ

Просю пардона, Поторопился и не все досмотрел.

ПС. Однако. Неплохо бы разделять логику и арифметику. На эту тему попадалась статья, что не во всех компиляторах микс будет работать как ожидаемо. Связано с представлением false и true, соответственно и восприятие компилятором.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.

Последний раз редактировалось akegor; 02.12.2014 в 13:49.
akegor вне форума   Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SD/MMC не работает Ankkkk Микроконтроллеры, АЦП, память и т.д 2 29.05.2010 05:41
АЦП mega8 Proteus не работает AGAT0365 Proteus 16 27.04.2010 19:53
Не работает команда write_program_eeprom hubble Микроконтроллеры, АЦП, память и т.д 1 21.05.2008 21:57
Кто работает с фирменным ICD2 ? FreeTramp Микроконтроллеры, АЦП, память и т.д 4 06.06.2007 18:40
Плохо работает сенсорная кнопка init_sub Микроконтроллеры, АЦП, память и т.д 4 23.12.2004 17:34


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


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