Плата ввода с опторазвязкой для ардуино

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

akouz
Сообщения: 254
Зарегистрирован: Ср июл 09, 2014 3:48 pm
Благодарил (а): 6 раз
Поблагодарили: 41 раз

Re: Плата ввода с опторазвязкой для ардуино

Сообщение akouz » Вс дек 04, 2016 11:53 pm

SolarW писал(а):akouz, интересно было бы услышать ваше мнение по вот этой дискуссии...
Я уже приводил ссылку на статью о наносекундных помехах и способах борьбы с ними. "Ферритовые защелки" - это один из способов поставить барьер. Резистор - это тоже барьер, причем даже более эффективный. Но резистор нельзя вставить в силовые и выходные цепи, там ферриты более уместны. Установка барьера - не единственный способ борьбы, правильная компоновка устройства и разводка земель тоже эффективны. Надо все методы сочетать.
skysilver писал(а):akouz, а что насчет диодов? Какие можно поставить? Или, может, под это дело даже сборка есть?
Любые маломощные, например, 1N4148, 1N914, КД522, и т.п. Есть и сдвоенные, BAS99. Для защиты аналоговых входов есть сдвоенные BAS199, у них очень маленькие токи утечки, при их использовании АЦП не будет привирать.

Можно и маломощные шоттки диоды, BAS54 и т.п. Считается что шоттки даже лучше, поскольку у них меньше падение напряжения, теоретически при использовании шоттки можно даже R4 не ставить. Но у них больше токи утечки, поэтому я их как-то недолюбливаю...
За это сообщение автора akouz поблагодарили (всего 2):
SolarW (Пн дек 05, 2016 12:02 am) • skysilver (Вт дек 06, 2016 9:35 am)
Рейтинг: 2.33%
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Плата ввода с опторазвязкой для ардуино

Сообщение olehs » Пн дек 05, 2016 12:20 am

akouz писал(а):Есть и сдвоенные, BAS99.
Наверное, имелись в виду BAV99?
akouz
Сообщения: 254
Зарегистрирован: Ср июл 09, 2014 3:48 pm
Благодарил (а): 6 раз
Поблагодарили: 41 раз

Re: Плата ввода с опторазвязкой для ардуино

Сообщение akouz » Пн дек 05, 2016 1:26 am

olehs писал(а):
akouz писал(а):Есть и сдвоенные, BAS99.
Наверное, имелись в виду BAV99?
Да, BAV99 и BAV199
katafey
Сообщения: 30
Зарегистрирован: Сб июн 04, 2016 9:24 am
Благодарил (а): 12 раз
Поблагодарили: 8 раз

Re: Плата ввода с опторазвязкой для ардуино

Сообщение katafey » Вт дек 06, 2016 9:31 am

Всем привет
Думаю мне сюда.
Имеем ардуину в связке c NRF24 - управляет температурой бойлера (силовая висит на BT139-600E), вкл\выкл вентилятора вытяжки(висит на плате с реле+опторазвязка), счетчик воды(YF-s201)ну и плюс ко всему датчик движения.
Проблема в следующем:
При включении вентилятора срабатывает прерывание на счетчик воды .
кабель к счетчику экранирован, резистор на 5к подтянут к +5в и данные.
как избавится от наводок.
akouz
Сообщения: 254
Зарегистрирован: Ср июл 09, 2014 3:48 pm
Благодарил (а): 6 раз
Поблагодарили: 41 раз

Re: Плата ввода с опторазвязкой для ардуино

Сообщение akouz » Ср дек 07, 2016 1:37 am

katafey писал(а): вкл\выкл вентилятора вытяжки(висит на плате с реле+опторазвязка)
...
При включении вентилятора срабатывает прерывание на счетчик воды
Странно что не при выключении вентилятора срабатывает.

Коммутация силовых цепей механическими контактами создает помехи. Если помеха возникает при включении, то у нее "емкостной" характер - где-то есть некий конденсатор (хотя бы емкость самих проводов), который при замыкании контакта мгновенно разряжается, создавая большие токи. Если помеха возникает при выключении, то у нее "индуктивный" характер - то есть, в цепи нагрузки есть некая индуктивность (обмотка мотора, и т.п, или хотя бы индуктивность самих проводов), которая накопила некоторую энергию за счет протекающего тока, и в момент размыкания эта энергия выплескивается в виде броска напряжения. Если контакт "дребезжащий", то при замыкании возникают оба типа помех.

Основная защита - правильная разводка. Силовые цепи должны быть проложены отдельно и вдалеке от сигнальных. Слаботочные схемы должны быть изолированы и отделены барьерами от силовых.

Дополнительная зашита - ослабление самих помех. Для ослабления бросков тока на силовые провода надевают ферритовые клампы (защелки) или ферритовые кольца. Для ослабления бросков напряжения контакты шунтируют RC-цепочками.

Для начала попробыйте зашунтировать контакт реле RC-цепочкой, состоящей из резистора 47...100 Ом и конденсатора 0.01...0.1 мкФ. Резистор должен быть или проволочным, или хотя бы достаточно мощным, порядка 1 Вт или более, но не потому что он будет греться, а чтобы мог выдерживать броски тока. Конденсатор должен быть типа Х2, на таком конденсаторе написано "250Vac". Это значит, что при выходе конденсатора из строя от него не будет пожара. На худой конец можно ставить обычный конденсатор на 630 В.
katafey писал(а): резистор на 5к подтянут к +5в и данные.
Невозможно понять, что значит "и данные". Между входным сигналом и пинoм процессора должен стоять резистор порядка 10к.
katafey писал(а): кабель к счетчику экранирован
Если экран не заземлен, от него нет никакого толка. Если экран заземлен в неправильной точке, то от него только вред и никакой пользы. Так что поробуйте для начала просто отсоединить экран. Пусть он лучше в воздухе болтается, чем
- или наводит словленную помеху в то место, куда вы его сейчас соединили
- или берет из этой точки помеху и сам наводит ее на сигнальные провода
Кто вас знает, куда вы там экран присобачили, телепатов нет.
Руслан
Сообщения: 193
Зарегистрирован: Чт дек 17, 2015 10:08 am
Откуда: Уфа
Благодарил (а): 36 раз
Поблагодарили: 14 раз

Re: Плата ввода с опторазвязкой для ардуино

Сообщение Руслан » Ср дек 07, 2016 9:01 am

думал я "маньяк" по защите контроллеров ;)))
Безымянный.png
Безымянный.png (28.23 КБ) 6320 просмотров
есть "похуже" ребята;)
olehs писал(а):На фото нижняя плата слева - 24х канальная опторазвязка. Маленькая поверх - подавитель дребезга на MC14490.
А правая служила временной заменой контроллера: J-K триггера работали переключателями.
Вложение IMG_2710.JPG больше недоступно
Последний раз редактировалось Руслан Ср дек 07, 2016 1:02 pm, всего редактировалось 1 раз.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Плата ввода с опторазвязкой для ардуино

Сообщение serghei » Ср дек 07, 2016 9:36 am

Если по поводу картинки
Вложения
IMG_2710.JPG
IMG_2710.JPG (139.65 КБ) 6312 просмотров
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Victor_S
Сообщения: 265
Зарегистрирован: Пт дек 26, 2014 1:58 pm
Благодарил (а): 33 раза
Поблагодарили: 24 раза

Re: Плата ввода с опторазвязкой для ардуино

Сообщение Victor_S » Ср дек 07, 2016 11:21 am

akouz, спасибо за просветительскую работу...:)
Я тут на старости лет тоже решил немного позаниматься самодеятельностью... Темой "умного дома" увлекся пару лет назад и уже много чего попробовал и реализовал. Однако до настоящего времени использовал в основном покупные устройства. К сожалению в каждом из них есть те или иные неудобства или недоработки(с моей точки зрения). Поэтому как только появилось немного свободного времени решил попробовать что-то реализовать самостоятельно под свои задачи. Увы, базовых знаний не так много, а объем информации для изучения стремится к бесконечности...:) В сети же много противоречивой информации и без опыта и знаний сложно "отделить семена от плевел"... Поэтому буду крайне признателен если сможете немного помочь таким нубам как я, хотя бы в некоторых вопросах по электронике. Хотелось бы именно понять, хотя бы в общих чертах, принципы те или иных решений, а не тупо пытаться их копировать. В общем, как мне кажется, на сегодняшний день, для своих поделок, как основу имеет смысл рассматривать arduino pro mini(atmega328p, в варианте 5В и 3.3В) и esp8266(3.3В). Собственно электронную "развязку" IO портов данных микроконтроллеров для двух базовых напряжений и хотелось бы обсудить. Именно самих микроконтроллеров в плане их защиты и исключения взаимных помех, не касаясь конкретных датчиков и исполнительных устройств(пока...;)).
Итак, в общем случае порт(бит,ножка) может находиться в одном из трех состояний:
1. Неопределеный(N/A). Понятно, что лучше в программе определить как либо порт(как лучше?) даже если мы его у себя и не планируем использовать. Но не всегда мы заливаем в контроллер свою прошивку и у нас есть ее исходники. Что делать с такой ножкой? Оставить "висеть в воздухе", притянуть к земле, или к питанию, через что(какое сопротивление для каждого из опорных напряжений)?..
2. Выход(OUT). К выходу мы можем подключить реле, симистор, ШИМ... Как поступить с данной ножкой в общем случае? Ну и в принципе общие схемы каждого из подключений с пояснениями тоже интересны... А если ножка просто определена как выход, но ничего к ней не подключаем?...
3. Вход(IN). Общая "развязка", если ничего не подключено...
а) "сухой контакт". Кнопка, геркон, датчик движения... Варианты аппаратного решения "дребезга" контактов...
Длинные линии, снижение помех...
б) цифровой вход. Общая схема подключения, при отсутствии датчиков, распространенные далласовские датики...
в) аналоговый вход. Общая схема подключения, при отсутствии датчиков...

В общем как-то так...:) Возможно многие вопросы надуманные, другие слишком объемные, просьба лишь направить на путь истинный, а там уж "дорогу осилит идущий"...:)
За это сообщение автора Victor_S поблагодарил:
SolarW (Ср дек 07, 2016 10:36 pm)
Рейтинг: 1.16%
akouz
Сообщения: 254
Зарегистрирован: Ср июл 09, 2014 3:48 pm
Благодарил (а): 6 раз
Поблагодарили: 41 раз

Re: Плата ввода с опторазвязкой для ардуино

Сообщение akouz » Ср дек 07, 2016 12:43 pm

Victor_S писал(а): Итак, в общем случае порт(бит,ножка) может находиться в одном из трех состояний:
1. Неопределеный(N/A). Понятно, что лучше в программе определить как либо порт(как лучше?) даже если мы его у себя и не планируем использовать. Но не всегда мы заливаем в контроллер свою прошивку и у нас есть ее исходники. Что делать с такой ножкой? Оставить "висеть в воздухе", притянуть к земле, или к питанию, через что(какое сопротивление для каждого из опорных напряжений)?..
2. Выход(OUT). К выходу мы можем подключить реле, симистор, ШИМ... Как поступить с данной ножкой в общем случае? Ну и в принципе общие схемы каждого из подключений с пояснениями тоже интересны... А если ножка просто определена как выход, но ничего к ней не подключаем?...
3. Вход(IN). Общая "развязка", если ничего не подключено...
а) "сухой контакт". Кнопка, геркон, датчик движения... Варианты аппаратного решения "дребезга" контактов...
Длинные линии, снижение помех...
б) цифровой вход. Общая схема подключения, при отсутствии датчиков, распространенные далласовские датики...
в) аналоговый вход. Общая схема подключения, при отсутствии датчиков...
1. Неопределеный(N/A).

Если ножка не используется, а программа пишется самим, то с ней моно поступить любым из нижеперечисленных способов:
1. Никуда не подключать, а пин программно настроить на выход. Так рекомендуют делать серьезные ребята из Texas Instruments. По мне так это лучшее решение.
2. Притянуть к плюсу питания через резистор, а в программе пин совсем не трогать, т.е. оставить его настроенным как вход. Цена решения - лишний резистор.
3. Притянуть к плюсу питания через внутренний подтягивающий резистор, если он на этом пине есть. Соответственно, придется пин программно настроить.
4. Соединить с землей или с плючом питания напрямую, а в программе опять таки оставить его настроенным как вход. Это самое негибкое решение, если захочется потом пин использовать, то удастся ли его освободить - неизвестно.

Если ножка не используется, а программа написана кем-то другим и потому неизвестно как пин настроен, то лучше использовать выриант 2, с внешним подтягивающим резистором.

2. Выход(OUT).

Неиспользуемый выход можно никуда не подключать, в этом нет никакого криминала.

Выход, управляющий чем-то внешним, можно подключать к этому внешнему устройству напрямую только если расстояния малы а земли одинаковы. Например, напрямую можно подключить к рядом расположенной микросхеме. Если расстояния превышают сантиметров 10 примерно, то лучше выход соединить через резистор, ом 100 хотя бы. Например, не советую управлять затворами внешних транзисторов напрямую, ставьте в цепь затвора резистор. Для управления биполярными транзисторами так или иначе все равно нужен резистор в цепи базы, что хорошо и для помехоустойчивости.

3. Вход(IN).

Собственно, для "кнопки, геркона" обсуждение в топике уже было.

Аппаратное подавление дребезга контактов можно реализовать при помощи триггеров. Например, обычным RS-триггером и т.п. Используется редко, поскольку проще дребег подавить программно.

Схема защиты аналогового ввода мало отличается от обсуждавшейся схемы ввода для контактных датчиков с двумя диодами. Только резисторы R1 и R3 надо выкинуть, а номинал R2 уменьшить до 5...10 кОм. Диоды надо ставить с малыми утечками, например, BAV199. Что делать при отсутствии датчиков - общего решения не существует.
За это сообщение автора akouz поблагодарили (всего 2):
Victor_S (Ср дек 07, 2016 3:35 pm) • SolarW (Ср дек 07, 2016 10:35 pm)
Рейтинг: 2.33%
Victor_S
Сообщения: 265
Зарегистрирован: Пт дек 26, 2014 1:58 pm
Благодарил (а): 33 раза
Поблагодарили: 24 раза

Re: Плата ввода с опторазвязкой для ардуино

Сообщение Victor_S » Ср дек 07, 2016 3:43 pm

Спасибо, начинает потихоньку складываться картинка...:)
По N/A и OUT все понял, кроме одного. Каким образом рассчитываются номиналы подтягивающих резисторов. От чего они зависят. Вижу на примерах стоят везде по 10к. В даташитах на микроконтроллеры разные значения внутренних подтягивающих резисторов. Есть ли какая зависимость номиналов от контроллера и питающего напряжения? Опять же каков принцип выбора номинала последовательного резистора на выходе?
По входам более конкретные вопросы сформулирую вечерком..
Ответить