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

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

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

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

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

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

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

Закрытая тема
Опции темы
Непрочитано 30.11.2014, 16:27   #1
vavan1983
Почётный гражданин KAZUS.RU
 
Аватар для 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,023
Сказал спасибо: 2,559
Сказали Спасибо 11,880 раз(а) в 5,957 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Не работает защита от КЗ.

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

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

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

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

Опросил бит порта оптрона 1 - послал бит(или инвертированный) на релюху 1
Опросил бит порта оптрона 2 - послал бит(или ннвертированный) на релюху 2
"если" тут не нужно
johanh вне форума  
Непрочитано 02.12.2014, 07:42   #9
vavan1983
Почётный гражданин KAZUS.RU
 
Аватар для 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,023
Сказал спасибо: 2,559
Сказали Спасибо 11,880 раз(а) в 5,957 сообщении(ях)
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 18:34


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot