|
|
  |
FAQ: защита дискретных и аналоговых входов, Выборка из истории форума |
|
|
|
Aug 30 2012, 14:39
|
Группа: Новичок
Сообщений: 6
Регистрация: 31-05-08
Пользователь №: 37 940

|
Вот набросал схемку. Покритикуйте, пожалуйста. Будет работать? Меня смущает только то, что на открытом симисторе MOC3023 падает около 2В и CPC1035 может не закрыться.
Сообщение отредактировал Neketos - Aug 30 2012, 14:40
Эскизы прикрепленных изображений
 РЈРСеньшено Р Т‘Р С• 73%
640 x 480 (51.83 килобайт)
|
|
|
|
|
|
Aug 30 2012, 18:18
|
Участник
  
Группа: Свой
Сообщений: 462
Регистрация: 2-04-07
Из: Иркутск
Пользователь №: 26 695

|
Цитата(Neketos @ Aug 30 2012, 23:39)  Меня смущает только то, что на открытом симисторе MOC3023 падает около 2В и CPC1035 может не закрыться. Во входную цепь CPC1035 включить последовательно пару диодов или 1 красный светодиод, напряжение открывания будет выше 2V и симистор будет отключать нагрузку.
|
|
|
|
|
Aug 21 2013, 06:17
|
Частый гость
 
Группа: Участник
Сообщений: 89
Регистрация: 3-01-11
Пользователь №: 61 997

|
Цитата(vladec @ Aug 21 2013, 09:00)  Возможны варианты, самый простой - берете оптрон, например, PC817, ставите последовательно на входы пару одноватных гасящих резисторов килоом по пятьдесят, для пропускания обратной полуволны шунтируете светодиод, обычным диодом, включенным в обратном направлении и сигнал с оптрона заводите на GPIO вход контроллера, включив на нем PULLUP резистор. Имеете на входе последивательность 50 Гц импульсов низкого уровня. Необходимо опрашивать 50 раз в секунду вход МК и если за 1 секунду было 50 импульсов, считать что на входе есть сигнал, я правильно понимаю алгоритм?
|
|
|
|
|
Aug 21 2013, 06:26
|
Частый гость
 
Группа: Участник
Сообщений: 89
Регистрация: 3-01-11
Пользователь №: 61 997

|
Цитата(Егоров @ Aug 21 2013, 09:20)  Программистам не оптрона, им вычислительной мощности процессора не хватает чтобы один логический датчик обработать Попробуйте втиснуться в массив в 50 слов байтовых. Было бы в памяти 4к 32-разрядных и тактовая вчетверо выше - тогда кое-как. А пока с этим отдельный 100-ножечный процессор еле справляется. Ох-хо-хо... печаль и только. зачем массив, если достаточно 1 переменной счетчика, вообще непонятны ваши опасания по поводу производительности процессора. никто вроде не говрил про какие -либо ограничения со строны МК
|
|
|
|
|
Aug 21 2013, 08:01
|
Знающий
   
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725

|
Цитата(batisto4ka @ Aug 21 2013, 06:34)  Подскажите, пожалуйста, схему дискретных входов на 220 В (на оптопаре) и алгоритм опроса таких входов. В отличие от vladec я бы порекомендовал оптрон с AC-входом, то есть - двумя антипараллельными светодиодами внутри, как, например, H11AA1. В качестве гасящих сопротивлений - три последовательно-соединенных сопротивления minimelf порядка 33K, чтобы получить в общей сложности 100K. Почему три? Во-первых, нужно учитывать допустимое максимальное напряжение на сопротивлении, чтобы не случилось пробоя. Для minimelf это, как правило, 125V, что дает 375V для трех, то есть, амплитуду для 265V AC. Во-вторых, три сопротивления распределят максимально возможную мощность в 0.7W между собой, по 0.23W "на нос", что в рамках спецификации для minimelf. Реально рассеиваемая мощьность будет меньше, т.к. номинальное напряжение сети - 220V AC. Ны выходе оптрона - транзистор с эмиттером на земле, а коллектором - на вход CPU и сопротивлением, скажем, 10K на питание CPU. При приложении АС напряжения на вход там будет сигнал в 100Hz, длинные нули, короткие единицы. Алгоритм может быть таков: прием трех импульсов в течение некоторого времени (скажем, 5 периодов, то есть, 50мс) считается активным (напряжение подано). Каждая такая активация (пере)запускает таймаут на, скажем, 10 периодов (100мс). Если таймаут истек, принимается пассивное состояние (напряжение снято).
|
|
|
|
|
Aug 21 2013, 08:29
|
Участник

Группа: Участник
Сообщений: 54
Регистрация: 25-01-06
Из: Самара
Пользователь №: 13 578

|
Цитата(KnightIgor @ Aug 21 2013, 12:01)  я бы порекомендовал оптрон с AC-входом, то есть - двумя антипараллельными светодиодами внутри, как, например, H11AA1. В качестве гасящих сопротивлений - три последовательно-соединенных Ны выходе оптрона - транзистор с эмиттером на земле, а коллектором - на вход CPU и сопротивлением, скажем, 10K на питание CPU. При приложении АС напряжения на вход там будет сигнал в 100Hz, длинные нули, короткие единицы. Масса программных вариантов - таймеры, счетчики, прерывания... Но для нескольких входов лучше действительно оптроны с относительно высокоомной нагрузкой (проще - PullUp) и конденсатор параллельно оптрону. Задержку "отпускания" RC схемы выбрать из соображений динамики процессов, но не меньше пары-тройки полупериодов сети.
|
|
|
|
|
Aug 21 2013, 08:44
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(batisto4ka @ Aug 21 2013, 09:17)  Необходимо опрашивать 50 раз в секунду вход МК и если за 1 секунду было 50 импульсов, считать что на входе есть сигнал, я правильно понимаю алгоритм? Возможно, секунды будет даже слишком много. Смотря зачем вам это нужно. Например, UPS после втыкания в него силовой вилки подключает нагрузку к сети (соответственно отключая ее от аккумуляторов) не мгновенно, а где-то через секунду, для подавления "дребезга". А вот на пропадание сети он реагирует мгновенно. Алгоритм может быть таким. Например, настраиваете таймер на прерывание основной программы 500 раз в секунду. В каждом обработчике прерывания опрашиваете вход и складываете в два отдельных счетчика нули и единички. На 500-м прерывании сравниваете счетчики - они должны быть примерно равны (по ~250 каждый). Вообще, алгоритмов можно придумать множество ...
|
|
|
|
|
Aug 21 2013, 09:04
|
Знающий
   
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725

|
Цитата(Егоров @ Aug 21 2013, 09:11)  Почему 100кОм и зачем сеять впустую не менее 0.7 ватта? Разве пропустить 1мА через оптрон мало? Или даже 0.5мА? Оптроны имеют большой разброс по чувствительности. Надо пробовать и выбирать такое сопротивление, чтобы работало всегда. Я расчитываю на 2мА. Собственно, если принять "усиление" оптрона для худшего случая в 65%, то Ваши 0.5мА превратятся на выходе в 0.3мА или 10К подтяжка при 3.3V питания, если "забить" на фронты. Можно и так. Цитата Выборка по трем значениям скопирована с дребезжащего контакта? Оптрон так дребезжать не будет. Случайно, по мифическим "помехам" он не подрабатывает. Достаточно поймать один фронт, чтобы уверенно говорить: на ближайшие 10-20мс напряжение подано. В хороших условиях - да. Все зависит от требуемой надежности. Я наблюдал достоверно точно, что если силовые кабели проложены параллельно, то на соседнем могут наводиться приличные напряжения, приводящие к срабатыванию.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|