Comments 115
ams1117-5.0 сильно греется при работе?
1) «Землю» никогда не разводят тонкой дорожкой, оббегающей всю плату, это прямой путь к неочевидным сбоям. В вашем случае — тупо полигоны с обеих сторон на всю плату, кроме высоковольтных частей, и переходных отверстий побольше.
2) Если вы не хотите помереть молодым при встрече с электрическим током, все низковольтные линии проводите на максимально возможном расстоянии от контактных групп реле, и более того — вырезайте между ними в плате паз шириной 1 мм.
3) Если вы не хотите, чтобы ваш бассейн однажды прокипятился, не используйте китайские реле, дублируйте отключение нагревателя вторым реле или симистором, а также предпринимайте меры для защиты контактов реле — снаббером или параллельно включённым симистором.
4) Не используйте ULN2803.
Не используйте ULN2803.
А почему? Я как раз использую. На нем какое-то проклятие?
дублируйте отключение нагревателя вторым реле или симистором, а также предпринимайте меры для защиты контактов реле — снаббером или параллельно включённым симистором.
А есть где-то легкая статья про эти слова?
А почему? Я как раз использую. На нем какое-то проклятие?
Большое падение напряжения, около вольта. Замедляет срабатывание реле и сужает его рабочий температурный диапазон чуть ли не до 25±5 °С. Ставьте обычный полевик типа IRLML2402 плюс на обмотку защитный TVS типа SMAJ5.0CA — SMAJ10CA.
А есть где-то легкая статья про эти слова?
У TE довольно много статей про продление жизни контактов реле
http://www.te.com/commerce/DocumentDelivery/DDEController?Action=srchrtrv&DocNm=13C3236_AppNote&DocType=CS&DocLang=EN
http://www.te.com/commerce/DocumentDelivery/DDEController?Action=srchrtrv&DocNm=13C3264_AppNote&DocType=CS&DocLang=EN
Про шунтирование симистором — https://habr.com/company/unwds/blog/390601/, очень рекомендуется на индуктивных нагрузках.
Ставьте обычный полевик типа IRLML2402 плюс на обмотку защитный TVS типа SMAJ5.0CA — SMAJ10CA.
Лучше смарт ключи — BTS4140, NCV8450 или многоканальные VN808, VNI8200. Там все защиты уже стоят.
Но из рогатки как-то проще.
Но из рогатки как-то проще.
Но не надежнее. Человек же вроде как не игрушку делает, а серьезный проект, который может дел натворить. Не касаясь выбора других решений в данном проекте — тут-то зачем экономить, если особенных знаний нет? Автор еще не разобрался, как убрать "перещелкиваение" ULNки при включении питания, а вы ему полевик подсовываете — думаете он с ним быстро разберется?
Почему?
Ну они выдерживают до 1Дж энергии. Это ж какой мощности реле должно быть?
И я таки не понял, в чём глубокий смысл замены 5-центового транзистора с таким же 5-центовым TVS на 50-центовый хайсайд-свитч. Лучше от этого станет что конкретно?
У NCV8450 это, положим, 29 мДж, что немножко меньше.
Ну пусть будет хоть 29мДж. Так для какой мощности реле этого недостаточно?
И я таки не понял, в чём глубокий смысл замены 5-центового транзистора с таким же 5-центовым TVS на 50-центовый хайсайд-свитч. Лучше от этого станет что конкретно?
Ну во первых не хайсайд, а просто смарт-свич. Они есть и лоусайд и скорей всего дешевле. Во первых избавляетесь от TVS или диода, во вторых получаете защиту от КЗ и перегрузки. Ну и применить его легче.
От КЗ в обмотке реле? От перегрузки обмоткой реле?
Ну да.
Транзистор управляется логическим уровнем, что может быть ещё легче?
Ну конечно, все очень легко — вы посоветовали 20-Вольтовый транзистор в 12-Вольтовую схему, да еще и зашунтировать обмотку TVSом на 5 Вольт. Думаете автору будет легко это все применить? Я думаю нет, так как дым у него повалит довольно быстро.
Ну, то есть, вы же ведь их видели, так?
(пожав плечами) Ну да, не посмотрел напряжение питания. Пусть поставит IRLML9301, там 30 В. Даташиты, полагаю, автор умеет читать без особых проблем.
Я так понимаю, что мой с вами опыт с реле отличается на года.
Повидал, также как и схемы, вроде предложенной вами, служащие для питания исключительно на плате установленных релюшек, но тем не менее с гавкнувшими транзисторами, которые закорачивались накоротко и держали реле своей цепкой хваткой. Только рубильник помогал. Ах да, все из-за того, что кто-то из снабженцев решил, что можно поставить реле подешевле… Или после ремонтника, у которого вместо нужного реле оказалось под рукой другое, но с очень подходящим футпринтом...
Поэтому не стоит рассчитывать, что автор читает и умеет интерпретировать даташиты правильно. Производители электронных компонентов пошли навстречу, предложив более надежный компонент, ценовые ограничения при таких обьемах производства не играют особой роли. Почему бы не использовать?
Напоминает ардуинщиков, которые лепят оптрон между ключевым транзистором и выходом микроконтроллера, потому что он «отсекает помехи от реле».
А на предложение повысить надежность аппаратной части — фыркает.
Надёжность аппаратной части вы можете повышать до бесконечности — поставьте супрессоры на каждую ногу микроконтроллера, сделайте 6-слойную плату с сигнальными линиями исключительно во внутренних слоях, не забудьте про radhard компоненты на диапазон -55...+125 °С, ни в коем случае не используйте корпуса из материалов, отличных от стали, и разъёмы без винтовой фиксации и рейтинга IP68…
Всегда пожалуйста.
Главное — не забывайте, что всё это не имеет смысла.
Надёжность аппаратной части вы можете повышать до бесконечности
Главное вовремя остановиться ;)
И я таки не понял, в чём глубокий смысл замены 5-центового транзистора с таким же 5-центовым TVS на 50-центовый хайсайд-свитч. Лучше от этого станет что конкретно?
Ну во первых не хайсайд, а просто смарт-свич. Они есть и лоусайд и скорей всего дешевле. Во первых избавляетесь от TVS или диода, во вторых получаете защиту от КЗ и перегрузки.
Сам я этих деталюх никогда не видел. Но. СтОит ли повышать надежность/ремонтопригодность устройства ценой, скажем, $10 удорожанием его на $0.4? В некоторых случаях да, в некоторых нет.
В хобби-проекте — скорее да, чинить в случае чего придется автору.
Потому что вы усиленно решаете то ли выдуманную проблему, то ли реальную, но другую.
Обоснование его не выглядит фантастичным.
«Снабженцы купили реле подешевле, в результате чего ток обмотки реле превысил допустимые для мелкого полевика три ампера, полевик пробило, а реле продолжило работать, спокойно рассеивая на своей обмотке несколько десятков ватт»?
А я смотрю, у вас и со схемотехникой всё хорошо. Не хуже, во всяком случае, чем с программированием.
olartamonov, извиняюсь, вы для своих устройств проходили испытания на электромагнитную совместимость, безопасность и климатику?
Так что и не буду.
Причем здесь обмотка реле к моему вопросу? Я спрашивал про испытания по отношению к вашей реплике:
Надёжность аппаратной части вы можете повышать до бесконечности — поставьте супрессоры на каждую ногу микроконтроллера, сделайте 6-слойную плату с сигнальными линиями исключительно во внутренних слоях, не забудьте про radhard компоненты на диапазон -55...+125 °С, ни в коем случае не используйте корпуса из материалов, отличных от стали, и разъёмы без винтовой фиксации и рейтинга IP68…
Всегда пожалуйста.
Главное — не забывайте, что всё это не имеет смысла.
А про сгоревшие транзисторы — действительно не приписывайте мне того, что я не говорил.
Я писал, что я лично менял эти реле? Я писал что-то про марку транзистора, что вы вдруг решили, что он 3 ампера должен выдерживать?
Отвечаю по пунктам:
1. Да, по земле в EasyEDA можно маску наложить, так что все где пусто — земля. И экранирование, как я понял, и дорожки толще.
2. Реле у меня по 12вольт цепи замыкают контакторы на DIN-рейке, которые находятся далеко от коробки, в щитке в куполе (а сам девайс в доме у котла). Поэтому мне все-равно сколько там между дорожками и их толщина.
3. Тут реле переключаются достаточно редко. Только при вклбючении/выключении подогрева по команде с устройства и по срабатыванию защиты. Не вижу проблем. Если вдруг обмотка реле сгорит, просто выключится подогрев.
4. Почему? Поясните.
4. Почему? Поясните.
Выше пояснил. Падение большое, на реле гарантируется не выше 4 В, при таком питании у него увеличивается дребезг при срабатывании и уменьшается допустимый температурный диапазон.
Можно и я свои 5 копеек вставлю по поводу реле и падения напряжения на них?
Сам недавно закончил проектирование и макетирование устройства, которое управляет пуском/остановом бензогенератора в автоматическом режиме. Использовал такие же реле для старта, зажигания и включения контактора, который подает напряжение в дом. И одно реле для определения наличия сетевого напряжения (при пропадании сети включить генератор и т.д.). Так вот, для исключения «эффекта инвертирования сигнала» (реле не срабатывали при включении питания) управляю реле с помощью TIP122 с включенным параллельно обмотке реле диодом. Ни нагрева, ни залипаний, ни падений напряжения. И стоит вся эта обвязка копейки. А вот с сигнальным реле произошел казус: при номинальном напряжении обмотки реле 12В реле срабатывает при 9В, а отпускает при 2В. Поэтому падение напряжения в 1-2В — «пыль для моряков».
Теперь еще один совет автору по разводке: про полигоны для земли уже сказали, а вот про питающие дорожки — нет (или я невнимательно читал комментарии). Дорожки с питанием (+3, +5 и т.д.) нужно стараться делать пошире. Меньше сопротивление и помех. И перед входом питания в контроллер желательно добавить конденсатор на 100-470 нан для фильтрации высочастотных помех.
Обычный диод заметно тормозит отпускание реле и уменьшает срок службы контактов.
Обычный диод заметно тормозит отпускание реле и уменьшает срок службы контактов.
Есть результаты измерений? В миллисекундах и тысячах срабатываний?
Миллисекунды — существенная разница. Не задумывался. Деды-прадеды завещали диод ставить, а оно вот как…
По сроку жизни контактов — не увидел результатов. Интересно, число срабатываний контактов из даташита по какой методике измеряют?
http://www.appliedrelaytesting.co.uk/media/appnotes/an050303.pdf
Сейчас большинство производителей силовых ключей перешло с диодов на супрессоры. Только ULNки с прошлых веков их еще имеют, но естественно, это также очень любимый продукт для ардуинщиков.
Дополню. Для плат такого типа вообще нет смысла делать дороги тоньше 0.3 мм, а лучше 0.5
Может и имеет смысл какая-никакая экономия?
Хороший DIY проект. Но сорри, буду критичен:
В заключение хочу сказать, что, разрабатывая подобное устройство, я получил отличный опыт с схемотехнике, разработке печатных плат, навыки монтажа SMD компонент, в архитектуре и программировании микроконтроллеров, вспомнил почти уже забытый C++ и бережному обращению памятью и прочим ограниченным ресурсам контроллера. Так же в некоторой степени пригодились знания HTML5, JavaScript, навыки отладки скриптов в браузере.
Окей, a можете сказать или подсчитать сколько часов своего времени вы потратили на изучение всего этого, на сборку, пайку, наладку и программирование своего контроллера, чтобы получить данный результат в виде рабочего изделия? Только желательно без преувеличения или преуменьшения.
Эти скилы и удовольствие, полученное при разработке устройства, – и есть основные полученные бенефиты
С такими бенефитами я согласен только если вы их сразу же собираетесь применять дальше — делать следующий контроллер — для полива, сауны, и т.д. и причем на той же элементной и программной базе(в чем я сомневаюсь, так как определенные проблемы вы уже открыли или вам откроют). Если нет — и это было затеяно только ради одного этого проекта, или следующий проект планируется не ранее, чем через пару лет — о данных бенефитах можно забыть — возможно вы тогда даже с со существующим кодом и железом не сможете разобраться — будете опять разбираться, что это вы такое несколько лет назад придумали.
Если нет — и это было затеяно только ради одного этого проекта, или следующий проект планируется не ранее, чем через пару лет — о данных бенефитах можно забыть
Тоже буду критичен: в таких темах всегда найдётся комментатор, который обязательно укажет автору, что тот совершенно неправильно проводит своё свободное время)
Я ж говорю, если хобби становится работой, приносящей и удовольствие и деньги, то это хорошо. Но если все это сделано ради одного проекта, который надо поставить и забыть о нем на годы, то это совсем другое.
Для дальнейшего совершенствования себя с учетом данного проекта автору статьи наверняка понадобятся знания по ЭМС, методам защиты от помех, возможно не один раз переосмыслить и переписать свой код, возможно побороться с периодическими зависаниями на первом этапе. Вопрос — нужно ли ему все это? Он к этому стремился?
Или, возможно, он просто хотел сэкономить на железе пару сотен рублей и воспользовался советом коммьюнити, где ему сказали — конечно, вперед, дерзай на ESP. Вот и получилась статья для Хабра.
Вот я, например, сделал себе "Умный Дом" такой, чтобы не выносил мозг и чтобы работал как часы, так как это не хобби, а необходимость, и так как свободного времени мало, и денег не так чтобы много. И хоть я обладаю почти всем багажем знаний, что здесь указывается, я не разводил плат, не писал на C++ да и вообще о моем Умном Доме и статьи особо не напишешь. Все скучно и обычно — но я так и хотел.
я не разводил плат, не писал на C++ да и вообще о моем Умном Доме и статьи особо не напишешь. Все скучно и обычно — но я так и хотел.
Это называется системная интеграция. По этому тоже можно написать статью :)
Да, не против был бы поработать в этой области, мне интересно, но пока в другой предлагают больше.
А найдите мне пожалуйста девайс схожей функциональности на рынке. Хоть даже за 500$. Ссылку плиз в студию!
Ну и согласен со вторым комментатором, что со временем идет качественная трансформация, даже если полученные знания напрямую не применяются.
P.S. В последнем комменте написал про время…
Ну и еще разобраться с этим всем надо, тоже времени куча потратится.
Я вижу в этом смысл, если делать умный дом целиком, это проект на килобаксы. Ну и если нужно потом будет прикрутить «еще один» бассейн, то да, тогда это то что надо.
Это самый простой модуль, темболее сильно устарел. Среди них есть и с встроенным веб-сервером. Дополнительные модули нужны будут только если имеющихся не хватает. А встроенных должно хватить для задачи такого рода.
Сейчас в моду вошли так называемые СофтПЛК — обыкновенный компьютер + ПЛК рантайм. Это очень удобно, так как софт не привязан к конкретному железу и последнее можно выбирать по своему усмотрению — от дешевого одноплатника до супернадежного и производительного сервера. Также тот же самый компьютер помимо ПЛК может выполнять кучу других задач. Я в своих проектах использую Raspberry Pi + Codesys.
В качестве I/O используются промышленные модули ввода/вывода. Я использую EtherCAT — так как на ebay их полно, другие используют дешевые модули на Modbus TCP с Али. Преимущество такого подхода — легкая расширяемость, широкий выбор, компьютер полностью развязан от I/O, также модули обычно сертифицированы под промышленные стандарты ЭМС и безопасности, поэтому нет проблем с "очень тонкие дорожки, супрессор для защиты, подтяжки и т.д", которые тут поднимались.
Задачи IoT в данном подходе решает установка на тот же ПЛК такой штуки как "сервер удаленного доступа и визуализации" — как я их называю. Т.е. это софт, который связывает различные сетевые протоколы, обеспечивает Web сервисы и прочие удобства. У меня хороший опыт с NodeRED и OpenHAB для этих целей, которые, ессно, тоже прекрасно уживаются на том же Raspberry Pi.
А найдите мне пожалуйста девайс схожей функциональности на рынке. Хоть даже за 500$. Ссылку плиз в студию!
На том же ForumHouse у меня есть проект умной ванны, где сделан аналогичный контроллер.
Ах да, насчет изучения. Самым сложным тут является изучение коммандной строки Linux, чтобы повводить нужные команды. Для программистов, по идее не должно быть проблем.
Второе по сложности — изучение среды Codesys, хотя я не знаю, что там может быть сложного — через час вы уже сможете сделать и запустить в реальном железе свой первый проект.
Главный прикол, что не железо обязывает, а вы выбираете на каком языке или какими методами вы все это будете программировать.
Программисты обычно выбирают паскале-подобный ST
Электрики любят Ladder Diagram, так как это повторяет работу релейных схем
Я люблю Матлаб, так как там удобное моделирование алгоритмов управления и автоматов состояний и я использую его по работе.
Тот, кто любит работать по шагам выбирает CFC.
Отладку в реальном времени, и протоколы берет на себя Codesys — тут ничего изучать не нужно.
"Cервер удаленного доступа и визуализации" — тут опять же каждый выбирает для себя сам, что ему больше подходит для изучения. Кстати забыл — сервер также обеспечивает логи и графики — это стандартная функция для них.
Но никаких знаний по разработке печатных плат и схем, SMD — монтажа, C++, например, не требуется.
ПС я по работе и схемы развожу и SMD монтаж делаю и на Cи программирую и МК разные применяю. Но то серийка с совсем другими требованиями. Т.е. мне изучать ничего не нужно, но тем не менее для такого проекта я бы точно плату не делал. Обленился наверное.
Так что можете вашу сумму в 538 евро умножать надвое.
А если здесь все это брать, будут везти под заказ, снова x2.
И это у вас еще нету модуля с web. Т.е. не включишь наливаться, если скажем вас нету дома или вы на другом этаже. Добавьте еще евро 200-300 (думаю, будет не меньше стоить).
значение сигнала от контроллера инвертируется, и все реле «перещелкиваются» при включении схемы. Я пока не придумал, как убрать эту особенность.
По умолчанию, при сбросе контроллера все выходы находятся в 3-м состоянии(поидее) поэтому простая подтяжка к нулю должна убрать проблему. Но непонятно почему это вообще является проблемой, реле дергаются явно не из-за этого — даже висячий в воздухе вывод ULN-ки ничего не даст т.к. по факту это простые составные транзисторы, им для срабатывания нужен входящий ток. От помех может конечно сработать, но и помеха должна быть достаточно мощная. Но чтобы стабильно и при сбросе контроллера — тут что-то не так. Возможно, контроллер в процессе инициализации дёргает свои ножки да ещё на значительное время раз даже реле успевают щелкать(полагаю порядка 50-100мс минимум).
Решить проблему можно простым костыльным методом — устроить задержку подачи питания на реле, может даже при помощи ещё одного реле, полевого транзистора и DRC-цепочки или, что предпочтительнее, супервизора питания с одновибратором.
Да, значение сигнала с контроллера всё-таки не инвертируется, лог. «1» по прежнему означает срабатывание реле.
![](https://habrastorage.org/webt/w-/o4/fs/w-o4fsqpvimtdwvj5kz9bvj9dbk.png)
Проблема действительно в PCF: «At power on, the I/Os are high.»
![](https://habrastorage.org/webt/io/vh/ri/iovhriqoojakeerczgidrlxjygi.png)
т.е. при включении до тех пор, пока с контроллера программно по I2C я не переведу выходы PCF в низкое состояние, они будут с высоким уровнем сигнала. А значит высокий уровень идет на ULN, а она же инвертирует сигнал и притягивает выход к земле. Упс, и через реле потек ток, т.к. вторым концом обмотки реле на питании.
А как советуете грамотно подтянуть выходы PCF к нулю, так что бы при переводе в высокий уровень это все не сгорело?
Из статьи
«Еще на схеме порта виден транзистор (3), который как раз может подтянуть порт к питанию напрямую. Но увы, он включается только на короткое время, чтобы обеспечить быстрое переключение порта в логическую единицу.» Вот в это время не сгорит?
Ещё у вас в районе батарейки очень характерный пример — места вокруг навалом, но изгибы дорожек устроены так что они подходят друг к другу на минимальное расстояние. Вот этого надо избегать. Перенеси изгиб одной дорожки на 5мм, и другой на 5мм и выглядеть будет гораздо лучше и разойдутся за километр.
Может, кстати, именно из-за этих косяков и щелкают реле при подаче питания.
В таких случаях всем советую эту книгу легко ищется в электронном виде. Просто почитать и принять к сведению. Она актуальна не только для цифровых и не только для высокоскоростных, пусть вас заголовок не запутывает. Практически любое цифровое устройство высокоскоростное(забудем про микросхемы 133, 155, 176 и 561 серии) даже если выдаёт импульсы частотой в 1Гц.
Как видно на фото, даже в заказанной черновой версии платы они широкие.
Но я повторюсь (уже писал выше), реле всего лишь управляют включением контактора на DIN рейке. Нагрузки там никакой. Контакторы стоят в куполе, а само устройство в доме у котла.
И да, я делал автороутингом все. Потом чуток долизывая ручками. Если я видел, что автороутингом получается слишком неоптимально, я старался поиграться с расположением компонент на плате, чтобы дорожки были покороче.
Знаю, что крутые «перцы» презирают аутороутинг. Для меня же это не приципиально, да и способ наделать меньше ошибок.
Спасибо за ссылку на книгу!
Автороутинг штука конечно офигенная, но только если его правильно настроить — задать запрещённые зоны, указать минимальное расстояние до соседних шин и т.д. и то даже в этом случае часто мозг видит сразу более оптимальный путь который программа нащупала бы часов через 8 оптимизации. Простые автороутеры не видят ситуаций где сигнальную дорожку можно прервать перемычкой в виде резистора нулевого сопротивления и это сильно упростит ситуацию на плате и т.д. миллион подобных моментов.
Послать в интернет это всё равно что послать нахрен.
"Радио" и несколько других журналов были единственным местом где любителю объясняли как надо. Причём все они редактировались профессионалами.
Поэтому не надо говорить "иди в интернет, учись", надо указывать конкретные места в интернете где можно научиться.
А более менее современные не заказные уже делал фоторезистом, и очень долго вылизывал прежде чем воплотить в «железо» ибо внутренний перфекционист грыз.
![image](https://habrastorage.org/getpro/habr/comment_images/730/31e/d54/73031ed54c326b475620d549661ee02e.jpg)
![image](https://habrastorage.org/getpro/habr/comment_images/053/956/1b1/0539561b14837aae123681b5f4f1c4b3.jpg)
Сорри, невозможно быть во всем профи. Не пиннайте сильно.
И языком попроще, да без воды, а то суперумных книжек достаточно, но на пятой странице уже читать не тянет.
Для 99 % любительских изделий, чтобы не делать в них грубых ошибок, достаточно знать и понимать (sic!) не слишком длинный набор правил, плюс уметь пользоваться калькуляторами типа Saturn PCB Toolkit.
P.S. Если проводить аналогию для программистов, то далеко не каждый проект требует строгого соблюдения MISRA C — обычно вполне достаточно знать базовые правила.
написать что ли статью аля «10 правил проектирования печатных плат»
Дада. =) все хотят.
Мой опыт работы с ESP8266 на базе модуля ESP-07 был не очень радужным. Почему-то периодически модуль зависал. Это случалось где-то раз в месяц.
У вас нестабильности работы не наблюдается?
Для всех без исключения полиэтиленовых труб рабочая температура ограничена 40 градусами по шкале Цельсия. В принципе, для бассейна этого более чем достаточно.
Гараздо дешевле и проще было взять полипропиленовые трубы — которые в каждом доме подводят нынче и горячую и холодную воду. Максимальная температура для труб горячей воды — 95С, что более чем достояно чтобы убрать пункты о перегреве из тех.требований.
p.s. А так прекрасная работа, спасибо.
p.p.s/ Купол отдельное удовольствие доставил, да.
Ну и процесс увлек…
Реально это было с ноября, в среднем по 2-3 часа в неделю, в основном когда укладывал детей то мог ночью посидеть: почитать, поизучать, присовать, попаять.
Не было идеи запустить устройство в серийное производство?
Ни один подрядчик-строитель бассейнов не будет использовать подобную автоматику.
Когда делаешь для себя — это одно. А, когда отвечаешь за безопасность и надежность, то на этом уже не экономишь и используешь сертифицированные промышленные устройства.
Полный цикл разработки IoT устройства управления подогревом бассейна на ESP8266 в среде Arduino