Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
проблема с индуктивной наводкой на входах pic16f84a
tesla88 Дата: Чт, 20.01.2011, 11:15  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 114
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

Добрый день уважаемые колеги, у меня такая проблема-
я собрал блок управления двигателями на pic16f84a , принцеп такой: контролер подаёт сигнал на оптопару, а она на симистор, а симистор управляет пускателем и запускается двигатель, на нём есть магнит который в свою очередь замыкает геркон , а геркон подаёт сигнал на контролер и тот переходит к другому двигателю, всё работает прекрастно до тех пор пока не подключен двигатель , после подключения контролер сбрасывается в начяло.
я выяснил что это происходит из за помех от наводки двигателя, подскажите как этого избежать ? заранее благодарен. вот сама программа:-
init:
TRISA = %00011111
PORTA = %00000000
PORTB = %00000000
TRISB = %00000000
DTK VAR PORTA.1 'КНОПКА ДВИЖЕНИЯ В ЛЕВО
DTL VAR PORTA.2 'ДАТЧИК ЛЕВЫЙ ДЕЛИТЕЛЯ
DTP VAR PORTA.3 'ДАТЧИК ПРАВЫЙ ДЕЛИТЕЛЯ
DTR var PORTA.4 'ДАТЧИК РАСТОЙКИ {ЗВЁЗДОЧКА)
DTG VAR PORTA.0 'ДАТЧИК ГОЛОВКИ
symbol MT1 = PORTB.0 'МОТОР В ЛЕВО
symbol MT2 = PORTB.1 'МОТОР В ПРАВО
SYMBOL LED = PORTB.7 'СИГНАЛЬНАЯ ЛАМПА
symbol MT3 = PORTB.2 ' МОТОР ГОЛОВКИ
SYMBOL LED1 = PORTB.4 'СИГНАЛ ЛЕВЫЙ
SYMBOL LED2 = PORTB.5 ' CИГНАЛ ПРАВЫЙ
SYMBOL LED3 = PORTB.3 ' СИГНАЛ ГОЛОВКИ
MAIN:
led = 1 'КНОПКА НАЧАЛЬНОЙ УСТАНОВКИ
if dtk = 0 then main1 ' если кнопка дтк нажата перейти к к установке на начало
goto main ' если нет то начять сначала
main1:
led = 0
LED1 = 1
HIGH MT1 ' движение к начальной точке
if dtl = 0 then main2 ' если кнопка дтл не нажата то перейти к опросу датчика дтр
goto main1 ' начать с мэин1
main2: '
LOW mt1 ' остановка на начальной точке
LED1 = 0
if dtr = 0 then main3 ' если датчик дтр сработал то перейти к движению вправо
goto main2 ' если нет то в начало мэин2
main3: '
mt2 = 1
LED2 = 1
LED3 = 1 ' движение вправо
MT3 = 1 ' РАБОТА ГОЛОВКИ
IF DTG = 0 THEN MAINA
GOTO MAIN3
MAINA:
MT2 = 1
LED2 = 1
pause 500
LED3 = 0
MT3 = 0
IF DTP = 0 THEN MAIN4
GOTO MAINA
main4:
mt2 = 0 ' остановка в правой половине
LED2 = 0
if dtr = 0 then main5 ' если датчик дтр сработал перейти к движению влева
goto main4 ' если нет то ждать
main5:
mt1 = 1 ' движение влево
LED1 = 1
LED3 = 1
MT3 = 1 ' РАБОТА ГОЛОВКИ
if dtG = 0 then mainB ' если дтл сработал то перейти к начальной точке
goto main5 ' если нет то продолжить
MAINB:
MT1 = 1
LED1 = 1
pause 500
LED3 = 0
MT3 = 0
IF DTL = 0 THEN MAIN2
GOTO MAINB
end
ЯНДЕКС Дата: 20.01.2011
retas Дата: Чт, 20.01.2011, 11:48  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 445
Репутация: 11   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

Подобная проблема обсуждалась сдесь и была решена http://picbasic.ru/forum/16-513-1
terrarus Дата: Чт, 20.01.2011, 12:26  |                                                                                                                Сообщение # 3
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 451
Репутация: 17   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

Советую запитывать микроконтроллер через DC/DC преобразователь. Получите и высококачественную фильтрацию ВЧ помех по питанию и гальваническую развязку от другой части схемы.
Инфа о DC/DC преобразователях на http://catalog.compel.ru/ps_dcdc/list


Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
tesla88 Дата: Чт, 20.01.2011, 15:26  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 114
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

dc-dc это конечно хорошо, но проблема в том ,что даже если поставить двигатель на провода от датчиков(геркон) мк сбрасывается , хотя двигатель всего 30 ват, а наводка идёт по проводам и прямо на входа мк, но всё равно спасибо за совет.
retas Дата: Пт, 21.01.2011, 00:09  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 445
Репутация: 11   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

Что то не вижу в вашей прогре борьбы с дребезгом.
tesla88 Дата: Пт, 21.01.2011, 06:56  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 114
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

поставил я детали как на схеме и диод по питанию поставил (http://picbasic.ru/forum/16-513-1) , а контролер всё равно сбрасывается, стоит лишь поднести двигатель поближе к проводам герконов, что делать ума не приложу?
Помогите pray
terrarus Дата: Пт, 21.01.2011, 09:02  |                                                                                                                Сообщение # 7
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 451
Репутация: 17   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

Я для себя давно эту пробему решил, и пользуюсь таким схемным решением (смотрите приложенный рисунок), особенно в цеху где очень много электродвигателей от 10 до 250 кВт работающих под управлением частотных преобразователей.
Прикрепления: 7471487.gif (89.4 Kb)


Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
retas Дата: Пт, 21.01.2011, 09:46  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 445
Репутация: 11   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

Ну и где же ваши старания в борьбе с дребезгом или вы этого не проходили?

k1, k2 - копилки (байтовые либо word)
k1=0 : k2=0

If PORTX=0..................................................вроде бы сработал порт
...For k1=1 To 3000......................................теперь много раз под ряд будем его проверять
...If PORTX=0 Then Inc k2
...Next : k1=0
...If k2 > 2000 Then делаем что нужно............если 2/3 проверок подошли.

Удачи.

Сообщение отредактировал retas - Пт, 21.01.2011, 09:47
onesmalk Дата: Пт, 28.05.2021, 17:17  |                                                                                                                Сообщение # 9
Группа: Заблокированные
Ранг:  Новенький
Сообщений: 10
Репутация: 0   ±
Замечания:   ±
На сайте с 28.05.2021

Статус: Offline

[url=https://onenews24.ru/]
новости рынка зерна в россии[/url]
https://onenews24.ru/


выход на пенсию мужчин
  • Страница 1 из 1
  • 1
Поиск: