Обсуждаем контроллеры компании Atmel.
Ответить

Разрабатываю устройство защиты от протечки воды.

Вт дек 17, 2019 00:32:04

Краны с электроприводом буду использовать «Гидролок ULTIMATE» питание 12 В. Данный кран не имеет выхода сигнала положения крана, но это не сложно исправить. Как получу краны, покажу на фотках как это реализовать.
Базовый модуль будет на МК ATmega8A. Частота тактирования от внутреннего генератора 8 МГц. Чтобы расширить выводы управления светодиодной индикацией, буду использовать регистры сдвига (SN74HC595 – просто потому что они у меня есть). Датчики планирую использовать беспроводные на базе радиомодуля nRF24L01+ (по той же причине – есть в наличии). Максимальное количество датчиков до 6 штук (но планирую 4 будет достаточно). Датчик будет на базе МК ATtiny24. Питание датчика от двух батареек АА.

Какую функцию будет реализовывать данное устройство? Главная задача это управление электрокранами при обнаружении одним из датчиков протечки воды. Дополнительные функции – следить за напряжением питания датчиков, контролировать обмен с датчиками, производить профилактическую перестановку крана (защита от закисания). Контролировать напряжение резервных батареек. Резервное питание будет осуществляться от 8 батареек АА.

На данный момент написан алгоритм для датчика и «скелет» алгоритма базового модуля. Осуществлена связь датчика и модуля.

Алгоритм датчика:
Проверка напряжения питания при старте. Установка конфигурации модуля связи. Отправка на базовый модуль текущее напряжение питания. Если всё прошло без замечаний, датчик вместе с модулем уходит в режим глубокого сна.
Один раз в сутки датчик измеряет своё напряжение питания и передаёт это значение базовому блоку. Суточный отсчёт реализован на работе сторожевого таймера.
Контроль наличия воды реализован от внешнего прерывания по INT0.

...

Добавлено after 4 hours 16 minutes 49 seconds:
Схема датчика:

Re: Разрабатываю устройство защиты от протечки воды.

Вт дек 17, 2019 06:02:54

Я бы снизил число светодиодов, мне кажется, можно и одним дофига передать, с учетом существования кода Морзе :)
Ну или, красный и зеленый + моргание какого-либо из них.
Ну или красный и желтый повесить на одну ногу.
Это высвободит один порт. Можно было б не подтягивать электроды к питанию, ни к плюсу, ни к минусу, а завести непосредственно в порт - возможно это дало бы более гибкую работу с датчиком, или что-то еще.
Срабатывание датчика по прерыванию не кажется надежным. Разве что датчик в виде поплавка с каким-то вариантом микрика, или холла...
С2 при батарейном питании не видится необходимым.
Вход от датчика воды последовательно развязать через резистор.

Re: Разрабатываю устройство защиты от протечки воды.

Вт дек 17, 2019 10:22:47

Я бы снизил число светодиодов, мне кажется, можно и одним дофига передать, с учетом существования кода Морзе :)

Для какой цели? Три светика передадут больше информации чем один (ИМХО). К тому же с кодом Морзе я не знаком… а если бы и знаком был, то при его использовании необходимо было бы всех домочадцев ему обучать… :facepalm: а это уже не вариант. :dont_know:
Это высвободит один порт.

В этом нет необходимости, так как количество выводов хватило чтобы реализовать задуманное.
Можно было б не подтягивать электроды к питанию, ни к плюсу, ни к минусу, а завести непосредственно в порт - возможно это дало бы более гибкую работу с датчиком, или что-то еще.

О какой гибкости идёт речь? Основная задача датчика обнаружить и передать информацию о наличии воды.
Срабатывание датчика по прерыванию не кажется надежным.

Хотелось бы услышать аргументы указывающие на это. Так как практика такого подхода показывает надёжность срабатывания… у меня на таком принципе работы имеется сигнализатор уровня воды на тини13… вот уже лет пять работает безупречно подавая звуковой сигнал при наполнении ёмкости водой. Потому эту схему и применил как надёжный проверенный вариант.
С2 при батарейном питании не видится необходимым.

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

Для какой цели?

Re: Разрабатываю устройство защиты от протечки воды.

Вт дек 17, 2019 11:10:11

от статики между проводами.....я бы ставил RC на ножку контроллера, заодно и от помех (сотового тлф)...
При питании от батарейки эти эффекты менее значительны, но не стоят, чтобы ими пренебрегать...
Изображение

Re: Разрабатываю устройство защиты от протечки воды.

Вт дек 17, 2019 11:51:50

Три светика передадут больше информации чем один
Согласен. А 4 - еще больше :)) но нужно ли здесь? о чем он будет сигнализировать? Об исправной работе? хорошо, пусть один зеленый морг в 5 секунд - это исправная работа. О необходимости заменить батарейку? Частый морганий зеленым. Протечка - моргание красным. Желтый лишний.
Но предположим, что моргание - запарно. Но тогда все равно придется обучать какой цвет что значит :)))
В этом нет необходимости, так как количество выводов хватило чтобы реализовать задуманное.
Соглашусь. Но... этож можно еще куда-то применить, и вдруг, не хватит порта? например, звук добавить. Но это исходя из будущего универсализма, можно, конечно и не заморачиваться.
О какой гибкости идёт речь? Основная задача датчика обнаружить и передать информацию о наличии воды.
И вдруг оказалось, что в этом месте вода ведет себя не так, большая влажность, случайные брызги и датчик пришлось переделать... Тут, конечно, Вам виднее, так как знаете, где будете ставить. Я исходил из вариантов, что где-то что-то пошло не так.
Срабатывание датчика по прерыванию не кажется надежным.

Хотелось бы услышать аргументы указывающие на это.
Вода не обязана проводить ток. И не обязана сразу.
У меня стоит тантал позволяющий уверенно передавать сигнал модулем связи при глубоком разряде батареек…
Вообще, батарейки дают довольно-таки нехилый ток, но: разработка батарейных решений предполагает минимизировать его. И лучше поставить еще одну батарейку тогда, если есть перегруз по току и просадка.
Вход от датчика воды последовательно развязать через резистор.

Для какой цели?
Правило помехозащищенности. Но на это уже ответили.

Re: Разрабатываю устройство защиты от протечки воды.

Вт дек 17, 2019 12:54:43

ИМХО. От статики в данном схемном решении RC не поможет…

Что касается наводок от телефонов… (ИМХО) так как вывод подтянут к плюсу питания, а так же вывод имеет внутренние защитные диоды, то наводимые напряжения не должны как-то повлиять… хотя проведу эксперимент… сейчас каждые 8 секунд датчик передаёт на базовый модуль своё измеренное напряжение питания… обложу его (датчик) сотовыми телефонами разных производителей (в количестве трёх штук) и понаблюдаю за работой несколько дней… если будут ложные срабатывания, то базовый модуль это зафиксирует…

ЗЫ. По поводу светиков… чуть позже выложу описание по их работе…

Re: Разрабатываю устройство защиты от протечки воды.

Вт дек 17, 2019 13:17:45

просто позвонить на тлф и посмотреть, чего ждать...))))...
На статику - шокером проверить... :) ......
===
Про статику я и сам не очень верил, но случай у меня был, что выбил вход 176 серии при прикосновении к голой кнопке, вылетали входы 174УН7 из-за прямого провода к регулятору громкости в тв (на общее кол-во - мизер, но факты были)...
На работе при 50 м любого кабеля везде использую защитные цепи на входы, на 10 м кабеля без защиты при коммутации 220 по соседним парам вылетали и входы 155й серии...

Re: Разрабатываю устройство защиты от протечки воды.

Вт дек 17, 2019 14:10:18

просто позвонить на тлф и посмотреть, чего ждать...))))...

Вот это легко… :)
В течении несколько минут подряд звонил поочерёдно на каждый из трёх телефонов… фото размещение телефонов прилагаю:

Ни каких ложных срабатываний или неисправности при передаче сигнала напряжения питания датчика зафиксировано не было. Датчик уверено продолжал передавать каждые 8 секунд значение напряжения на базовый блок, а базовый блок чётко принимал переданную информацию… телефоны пока так оставил рядом… понаблюдаю ещё… :beer:
На статику - шокером проверить... :) ......

Защита от шокера имеет в своём арсенале множество элементов в том числе разрядник… считаю что это не тот случай где необходимо «дуть на воду»… и защищаться от всего что существует в природе… :)
На работе при 50 м любого кабеля везде использую защитные цепи на входы, на 10 м кабеля без защиты при коммутации 220 по соседним парам вылетали и входы 155й серии...

Это совсем другое… :)

ЗЫ. Теперь об обещанном…
Опишу информативность передаваемую светодиодами датчика:
Красный светик сигнализатор проблем с питанием. При подаче питания красный светик загорается. После завершения замеров напряжения питания он выключается (при условии если питание выше минимального значения которое равно 2,1 В). Если напряжение питания ниже 2,1 В, то красный светик будет мигать, сигнализируя о низком напряжении питания. При этом все функции датчика блокированы.
В режиме ежесуточного мониторинга напряжения питания датчик не сравнивает измеренное значение напряжения с минимальной уставкой, а лишь передаёт это измерение на базовый модуль. Который в свою очередь отслеживает минимальный порог каждого датчика. Сравнение с минимальной уставкой напряжения датчиком производится только тогда, когда возникают проблемы с передачей данных по радиоканалу, или когда модуль связи не отвечает на запросы МК.

Зелёный светик – сигнализирует об отправке датчиком информации по радиоканалу. Этот светик загорается при записи в радиомодуль информации для отправки. И тухнет когда радиомодуль получает сигнал о принятом сообщении с базового блока.

Жёлтый светик сигнализирует (горит не прерывно) о наличия воды между контактами чувствительного элемента. Светик тухнет когда с чувствительного элемента ветошью удаляется влага замыкающая контакты.
При неисправности радиомодуля датчика, или его отсутствие, или нет связи с базовым блоком, Зелёный и жёлтый светодиоды попеременно мигают.

Re: Разрабатываю устройство защиты от протечки воды.

Вт дек 17, 2019 14:22:53

так а где антенна из проводов к датчику ?....или датчик здесь же на плате ?

Re: Разрабатываю устройство защиты от протечки воды.

Ср дек 18, 2019 01:20:31

так а где антенна из проводов к датчику ?

Чувствительный элемент (ЧЭ) под основной платой… в готовом варианте он будет расположен на внешней стороне корпуса датчика.
Чувствительный элемент контактирующий с водой у меня выглядит так:


Добавлено after 1 hour 21 minute 13 seconds:
По настоятельной рекомендации установил на вывод датчика резистор 470 Ом. Неоднократная проверка показала уверенную сработку датчика при касании воды чувствительным элементом. Решил оставить резистор на выводе может и поможет от чего-то. :)
схема:
1.png
(22.27 KiB) Скачиваний: 84


Добавлено after 34 minutes 47 seconds:
Так выглядит датчик в корпусе: :)


Корпус приобретал тут, может этот уже не помню но размер и маркировка один в один

Добавлено after 8 hours 51 minute 5 seconds:
Если с датчиком в основном всё просто, то с базовым блоком немного сложнее.
Что пока приходит на ум для реализации…

Кнопки управления:
Для себя я решил, что мне понадобится шесть (6) кнопок управления:
1) Кнопка управления открытием крана холодной воды.
2) Кнопка управления закрытием крана холодной воды.
3) Кнопка управления открытием крана горячей воды.
4) Кнопка управления закрытием крана горячей воды.
5) Кнопка «Приём».
6) Кнопка «Сброс».

Первые четыре кнопки в описании особо не нуждаются, так как говорят сами за себя. А вот две последующие «Приём» и «Сброс» необходимо описать.

Кнопка «Приём» будет отключать звуковую сигнализацию которая будет включатся при тревожных ситуациях. Это тревога при обнаружении утечки воды, предупреждение при снижении ниже минимальной уставки питания какого либо датчика, предупреждение при снижении ниже минимальной уставки питания резервной батареи, предупреждение при пропадании сетевого питания, предупреждение по неисправности при перестановке кранов, тревога при неисправности радиомодуля. Звуковой сигнал при тревоге будет звучать прерывисто но протяжённо - типа ПИК_ПИК_ПИК_ПИК…, а при предупреждении кратковременно один раз в минуту – типа ПИииК.

Кнопка «Сброс» будет сбрасывать различные «флаги» сформированные при различных внештатных ситуациях.

Звук:
Буззер для звуковой сигнализации будет применятся с внутренним генератором, так как выводы на которых можно было бы реализовать генератор для обычного буззера заняты под радиомодуль. Так уж совпало у данного МК.

Светодиодная индикация:
........

Re: Разрабатываю устройство защиты от протечки воды.

Ср дек 18, 2019 13:35:20

Светодиодная индикация:
По два светодиода положения крана холодной и горячей воды (красный, зелёный) – итого 4 шт.
Четыре жёлтых светика для индикации низкого напряжения датчиков. И четыре зелёных светодиода сигнализирующих наличия датчика в работе. – Итого 8 светодиодов на индикацию датчиков.
Один синий светодиод сигнализирующий об утечке воды – Авария.
Белый светодиод сигнализирующий о приёме переданной информации от датчиков.
Жёлтый светодиод сигнализирующий о низком напряжении резервного питания.
Итого 15 светодиодов для индикации.

14 светиков будут подсоединены к регистрам сдвига и один (Белый) будет подсоединён к выводу МК.

Кнопки я буду использовать со встроенными светодиодами. Вот такие:

Что уже реализовано в базовом алгоритме модуля:
Написан алгоритм для радиомодуля – ранее уже писал.
Реализована отправка значений в регистры сдвига (задействован аппаратный SPI) для управления светодиодами.
Функционируют все кнопки управления. А так же и управление исполнительными механизмами (кранами), как ручное, так и автоматическое (аварийное закрытие по сигналу от датчика). Производится контроль положения кранов.

Реализован контроль по перестановке крана. Как заявляет производитель, время поворота крана на 90 градусов составляет 15…18 секунд. В моём алгоритме на перестановку крана отведено 40 секунд. Остановлюсь на этом немного подробней. При подаче сигнала управления на перестановку крана устанавливается соответствующий «флаг» контроля хода данного крана. По этому флагу запускается отсчёт временного таймера. Как только положение крана примет противоположное состояние, отсчёт таймера прекратится, произведётся очистка переменной данного таймера, а так же произойдёт сброс данного флага контроля.
Если кран в течении 40 секунд не принял правильное положение, то устанавливается «флаг» неисправности перестановки данного крана, включается звуковое сообщение (предупреждение), данную неисправность будет показывать и световая индикация (начнёт мигать тот светодиод который светился до перестановки), сигнал управления на перестановку крана сбрасывается, флаг контроля за перестановкой тоже сбрасывается.

Реализована подача сигнала на буззер (со встроенным генератором).

Реализована «защита крана от закисания». Что это такое? Этот алгоритм отслеживает время неактивности крана. То есть раз в две недели кран автоматически произведут перестановку крана на 180 градусов. Данный алгоритм работает только тогда когда кран открыт. При закрытом положении крана отсчёт неактивности не производится.

......

ЗЫ. Осталось реализовать алгоритм замера напряжения резервного питания и снятия питания с кранов при питании от резервной батареи при остаточной ёмкости менее 50%. Для экономии расхода энергии.

Наверно и всё. :dont_know:

Re: Разрабатываю устройство защиты от протечки воды.

Чт дек 19, 2019 12:13:27

Предварительная схема базового модуля:
Базовый модуль.png
(59.75 KiB) Скачиваний: 102

В архиве схема базового модуля и датчика нарисованная в splan 7.0
Схема_splan7.zip
(751.32 KiB) Скачиваний: 71


ЗЫ. На схеме не нарисован разъём для программирования МК, но на будущей плате он будет. Обращаю внимание, что МК базового модуля выбран в корпусе TQFP так как используется аналоговый вход ADC7.

Re: Разрабатываю устройство защиты от протечки воды.

Чт дек 19, 2019 14:35:16

На картинке плоховато видно. А сплан не у всех ;)

Re: Разрабатываю устройство защиты от протечки воды.

Чт дек 19, 2019 17:07:52

Изображение

Re: Разрабатываю устройство защиты от протечки воды.

Чт дек 19, 2019 17:38:58

Пренебрегать конденсаторами по питанию около 595-ых регистров, на мой взгляд, не есть хорошо. Зачем лишний шум от них?

Re: Разрабатываю устройство защиты от протечки воды.

Чт дек 19, 2019 17:48:33

Я бы вообще два 595-х регистра рекомендовал заменить на STP16DP05.
В магазине имеются.

Можно помельче (иногда удобнее, например, между индикаторами втиснуть) - STP08DP05 (чип-дип).

Эти микросхемы позволяют избавиться от пучка резисторов и автоматом подравнять токи через диоды. Управление 1:1 с народным 595-м регистром.
Из минусов - у них открытый сток, поэтому придётся логику немного подправить. Но из плюсов - при подаче питания в них не мусор, как в 595 (и их надо ресетить), а чётко всё выключено.

Re: Разрабатываю устройство защиты от протечки воды.

Чт дек 19, 2019 19:16:44

Зачем лишний шум от них?

А какой от них может быть «шум»? :dont_know: Раскройте мысль полностью, чтобы самому не домысливать. :)

Добавлено after 17 minutes 37 seconds:
Я бы вообще два 595-х регистра рекомендовал заменить на STP16DP05.
В магазине имеются.

За 160 р не готов его брать, так как сам МК выходит дешевле. :)

Re: Разрабатываю устройство защиты от протечки воды.

Чт дек 19, 2019 19:22:46

Современные цифровые микросхемы, особенно БИС, тоже являются источниками НП (НП: Наносекундные помехи). В момент переключения сотни и тысячи транзисторов внутри БИС меняют свои состояния, в результате сотни и тысячи паразитных емкостей перезаряжаются (например, емкости затворов в КМОП микросхемах). В результате через ножки земли и питания микросхем протекают импульсные токи наносекундной и суб-наносекундной длительности и большой амплитуды. Распространяясь по шинам земли и питания платы, эти токи несколько ухудшают суммарную помехоустойчивость устройства, но сами по себе, как правило, причиной сбоев не являются.

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

Сказанное является прописной истиной. Тем не менее, достаточно часто приходится слышать такие высказывания: "мое устройство сбоит, я поставил больше конденсаторов в питание, а оно все равно сбоит". Складывается впечатление, что некоторые разработчики считают, будто развязывающе конденсаторы ставятся для защиты от внешних помех. Это, конечно, заблуждение. Как следствие такого заблуждения, иногда встречаются платы, где развязывающие конденсаторы стоят вдалеке от микросхем, хотя ничто не мешало поставить их гораздо ближе к выводам питания.

(с) http://caxapa.ru/lib/emc_immunity.html

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


Добавлено after 3 minutes 15 seconds:
Добавлено after 17 minutes 37 seconds:
Я бы вообще два 595-х регистра рекомендовал заменить на STP16DP05.
В магазине имеются.

За 160 р не готов его брать, так как сам МК выходит дешевле. :)


да и 595 стоит значительно дешевле, 5 или 7 рублей отдавал за ST

Re: Разрабатываю устройство защиты от протечки воды.

Чт дек 19, 2019 20:46:41

да и 595 стоит значительно дешевле, 5 или 7 рублей отдавал за ST

Я уже и не помню по какой цене я их брал… давненько это было… брал на алли 50 шт, теперь пользую…

Добавлено after 1 hour 1 minute 2 seconds:
Эти микросхемы позволяют избавиться от пучка резисторов и автоматом подравнять токи через диоды.

Согласен есть преимущество, но вот в моём случае как раз подход должен быть индивидуальный, так как некоторые светики (два зелёных в первом регистре) нуждаются в повышенном токе чем все последующие. Иначе их свечение плохо заметно. А если выбрать ток для всех исходя из этих двух, то получится не эффективный расход энергии при питании от резервной батареи. Но 8 битный драйвер куплю для попробовать на будущее.

Re: Разрабатываю устройство защиты от протечки воды.

Чт дек 19, 2019 20:49:28

Я тоже их взял горсть, в Компэле, теперь пихаю, куда ни попадя, особенно вот так же на светодиоды :)
Жаль, суммарный ток маловат, 70 мА у моих.
Ответить