|
|
  |
проблема с прерываниями PIC16F84A, при включении в сеть нагрузок, проц "глючит" |
|
|
|
Jun 8 2009, 20:03
|
Участник

Группа: Участник
Сообщений: 18
Регистрация: 11-07-06
Из: М.О. г. Клин
Пользователь №: 18 749

|
Простой процессор, а мозг уже плавится. Вообщем такая проблема: RB4-RB7 настроены на вход. эти входы подключены к контактам реле устройств, которые нужно контролировать. (NО-контакты реле замыкают входы проца на землю.) устройство включается, реле замыкает соответствующий вывод проца на землю (и находится в этом состоянии), порт А процессора в это время управляет нагрузками (последовательно их включает через реле). как только процесс включения нагрузок закончен, прога ожидает поднятия флага изменения состояния на входах (где подключены реле) В это время в соседние розетки что-нить включаю (телек, обычный слабенький линейный БП или лампу дневного света) Проц начинает обрабатывать прерывание по изменению состояния порта В!!! Но реле то замкнуто! И не размыкалось. Состояние порта физически не менялось Кондёры на проце висят, всё гальванически развязано от сети. Кто-нить сталкивался с такой проблемой?
Сообщение отредактировал crow - Jun 8 2009, 20:09
--------------------
-=voron=-
|
|
|
|
|
Jun 9 2009, 06:09
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 11-03-09
Пользователь №: 45 975

|
Цитата Состояние порта физически не менялось Вероятно менялось. Подтягивающие резисторы 10к по входам RB и емкости 0,1мкФ на землю должны помочь.
|
|
|
|
|
Jun 9 2009, 09:03
|
    
Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731

|
Цитата(crow @ Jun 9 2009, 00:03)  В это время в соседние розетки что-нить включаю (телек, обычный слабенький линейный БП или лампу дневного света) Проц начинает обрабатывать прерывание по изменению состояния порта В!!! Но реле то замкнуто! И не размыкалось. Состояние порта физически не менялось По-видимому, на входы контроллера пролезает импульсная помеха. Цитата Кондёры на проце висят, всё гальванически развязано от сети. Кондеры по питанию или по входам? Придумайте какой-нить программный или аппаратный антидребезг на 20-30 мс и/или не работайте по прерываниям от входов. Может попробовать опрашивать входы по таймеру, фильтровать их состояние, и, если состояние входа изменилось и осталось стабильным в течение интервала антидребезга, уже тогда рулить выходом?
|
|
|
|
|
Jun 9 2009, 10:13
|
Участник

Группа: Участник
Сообщений: 18
Регистрация: 11-07-06
Из: М.О. г. Клин
Пользователь №: 18 749

|
Цитата(bolt @ Jun 9 2009, 10:09)  Вероятно менялось. Подтягивающие резисторы 10к по входам RB и емкости 0,1мкФ на землю должны помочь. Состояние точно не менялось, видел по индикаторам задающего устройства в момент помехи. подтягивающие резисторы подключены программно, попробую теперь ёмкости поставить. Цитата(xemul @ Jun 9 2009, 13:03)  По-видимому, на входы контроллера пролезает импульсная помеха.
Кондеры по питанию или по входам? Придумайте какой-нить программный или аппаратный антидребезг на 20-30 мс и/или не работайте по прерываниям от входов. Может попробовать опрашивать входы по таймеру, фильтровать их состояние, и, если состояние входа изменилось и осталось стабильным в течение интервала антидребезга, уже тогда рулить выходом? Кондёры по питанию стоят. Не хотелось бы программным путём решать сей конфуз, но, видимо, придётся. Неужели проц так чувствителен к помехам на входах??? На пиках такого никогда не видел, причём схемы строил с различными мощными импульсными преобразователями непосредственно рядом с пиком... странно...
--------------------
-=voron=-
|
|
|
|
|
Jun 9 2009, 10:39
|
    
Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731

|
Цитата(crow @ Jun 9 2009, 14:13)  Кондёры по питанию стоят. Не хотелось бы программным путём решать сей конфуз, но, видимо, придётся. Дык Вы же собрались конденсаторы по входам повесить. Я бы решал аппаратно-программно. Аппаратно - защиту входа, программно - борьбу с ложными срабатываниями. Цитата Неужели проц так чувствителен к помехам на входах??? На пиках такого никогда не видел, причём схемы строил с различными мощными импульсными преобразователями непосредственно рядом с пиком... странно... Схему Вы не привели, попробую потелепатировать. Реле на 2 группы контактов, одна - по силе, другая - на вход контроллера. Пусть емкость между группами 1 пФ, емкость входа контроллера с обвязкой и дорогами 20 пФ. По силе приключается импульс помехи амплитудой 300 В (средненько так, без экстрима). Угадаете, сколько получится на входе контроллера?
|
|
|
|
|
Jun 9 2009, 11:49
|
Частый гость
 
Группа: Участник
Сообщений: 118
Регистрация: 23-01-06
Пользователь №: 13 477

|
Цитата(crow @ Jun 9 2009, 13:13)  Состояние точно не менялось, видел по индикаторам задающего устройства в момент помехи. подтягивающие резисторы подключены программно, попробую теперь ёмкости поставить. Правильный совет про внешние резисторы по 10 кОм - внутренние резисторы это не резисторы, а сплошная неоределенность.
|
|
|
|
|
Jun 9 2009, 12:38
|
Участник

Группа: Участник
Сообщений: 18
Регистрация: 11-07-06
Из: М.О. г. Клин
Пользователь №: 18 749

|
ага. попробую внешние резюки поставить + емкости по входам.
--------------------
-=voron=-
|
|
|
|
|
Jun 10 2009, 16:43
|
Участник

Группа: Участник
Сообщений: 18
Регистрация: 11-07-06
Из: М.О. г. Клин
Пользователь №: 18 749

|
нет. процессор в колодку вставляется (DIP-корпус). Завтра ставлю ёмкости и резюки. отпишусь о результате
Сообщение отредактировал crow - Jun 10 2009, 16:44
--------------------
-=voron=-
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|