В данном небольшом обзоре я расскажу о своём опыте заказа печатных плат из Китая.Понадобилось мне одно устройство, ну точнее как понадобилось, всё началось с того что я подумал «было бы не плохо...» В общем в итоге у меня получилось хитрое реле задержки включения/выключения. Как говориться милости просим под «CUT» за подробностями.
А дело было так: В санузлах установлена принудительная вентиляция, Вентиляторы включались вместе с освещением, ну как и у большинства людей. Однажды находясь в санузле я подумал «было бы не плохо» что бы вентиляторы включались не сразу, а например через минуту, тем самым сохраняя тишину по ночам при кратковременном посещении ванной/туалета. А ещё «было бы не плохо» что бы вентиляторы после длительной работы продолжили работать после отключения освещения (например удаляя влажный воздух после приёма душа).А ещё «было бы не плохо» что бы время задержки отключения зависело от времени работы. Вот так вот после череды «было бы не плохо» у меня надумалось ТЗ на устройство.Разработка, прототип на бредборде, создание ПО и вот заказ
ну почти окончательного варианта платы у pcbway.
Заказывал я синий цвет… Получил что-то среднее между зелёным и синим… Есть неточности в размерах, размер заказанной платы 67мм*83мм*1,6мм, полученной 67,07мм*83,15мм толщина 1,6мм, впрочем, эти отклонения незначительные.Рассмотрим плату поближе.
Видно, что шелкография ниже и левее положенного, и если хорошо присмотреться то видно совсем минимальное смещение паяльной маски вправо. Есть следы от «flying probe test» (автоматическая проверка дорожек на замыкание и обрыв). Сказать особо нечего простые платы с приемлемым качеством за невысокую цену.
Для своего «творения» я хотел корпус, выбор пал на данную модель.
Корпус крепиться на DIN рейку и занимает 4 модуля.
Можно выломать отверстия под винтовые разъемы(отломав язычки и проломив отверстия).
Честно сказать покупка была не очень… Качество низкое, цена 10$ и как выясниться позже, не слишком удачная конструкция.
Ещё фото + чертёж + ссылка
Свой «девайс» реализовал я на простом микроконтроллере PIC12F683 (честно сказать arduino я недолюбливаю) готовое устройство обладает следующими особенностями.
2 независимых канала (вход 230В, управление реле с нормально открытыми контактами NO)
Встроенный модуль питания, работа от сети 230В.
Каждый канал можно конфигурировать изменяя параметры в EEPROM (нет необходимости модифицировать прошивку микроконтроллера)
Алгоритм позволяющий реализовать множество режимов работы(об алгоритме чуть ниже)
Печатная плата разрабатывалась как односторонняя (всего 3 перемычки)
Запись количества срабатывания реле в EEPROM.
Тестовый режим при включении с замкнутыми контактами 1 и 3 разъёма ICSP.
Корпус под DIN рейку, занимаемое место 4 модуля.
После сборки всё выглядит вот так.
Все выводные компоненты расположены на одной стороне,SMD на противоположной.
Из-за не слишком удачной конструкции корпуса пришлось использовать низкопрофильные реле.
Итоговый девайс выглядит вот так, я планировал использовать световоды, но ничего подходящего не получилось найти.(с радостью выслушаю идеи и опыт использования)
Теперь об алгоритме работы.
Цикл работы каждого канала устройства состоит из 4 этапов, ниже представлена схема которая поможет объяснить как это работает.
1)Сперва на вход подаётся сетевое напряжение (включился свет), начинает отсчитываться задержка включения управляемой нагрузки, время задержки (OD — on delay) выставляется с шагом в 0,1 с и храниться в 2х байтах памяти соответственно, доступные значения (0-6553,5c). После того как время работы 1 этапа превысит время задержки включения, начинается 2 этап.При отключении сетевого напряжения со входа до начала 2 этапа всё возвращается в исходное состояние.
2)На втором этапе включается управляемая нагрузка.Предусмотрен вариант когда управляемая нагрузка не включится, за это отвечает параметр R.Если R=1 — включение произойдёт, если 0 — нет. Независимо от того включилась ли управляемая нагрузка, на 2 этапе начинает отсчитываться задержка начала накопления (CD — count delay) выставляется с шагом в 0,1 с и храниться в 2х байтах памяти, соответственно доступные значения (0-6553,5c).После того как время работы 2 этапа превысит время задержки накопления начинает работать 3 этап.При отключении сетевого напряжения со входа до начала 3 этапа всё возвращается в исходное состояние.
3)На третьем этапе «накапливается» задержка отключения.Время задержки отключения формируется 2 параметрами CF (count factor) и MD (maximum delay). Время задержки отключения определяется по следующей формуле:
(CF/100)*(время работы в режиме накопления)
Время задержки не может быть больше чем MD.MD выставляется с шагом в 0,1 с и храниться в 2х байтах памяти соответственно, доступные значения (0-6553,5c).При отключении сетевого напряжения со входа начинается 4 этап.
4)на четвёртом этапе идёт задержка отключения накопленная на 3 этапе, Если R был равен 0 то управляемая нагрузка включается только сейчас.При отключении сетевого напряжения до окончания задержки отключения происходит возврат на 3 этап с восстановлением состояния управляемой нагрузки, накопление времени задержки будет не с нуля, а с оставшегося не использованного времени задержки отключения.
Параметры находятся в EEPROM
Цветами выделены ячейки памяти хранящие параметры, также присутствуют подсказки.
После сборки заводской платы я немного доработал устройство (изменения минимальные позволяющие использовать перемычки в SMD или просто провод)
Обновлённая версия платы и все необходимые файлы находятся здесь
www.dropbox.com/s/yltubhk5iszth0c/DRL.rar?dl=0
Всем спасибо за внимание.В комментариях отвечу на вопросы и выслушаю конструктивную критику.
Гибкие шлейфы умеет вроде альтиум рисовать
Подключил вытяжку в туалете, все работает как надо!!! Я очень рад!!! думаю теперь каким образом в ванной установить вентилятор, там просто нет выходного отверстия в систему вентиляции, и видимо нужно провести трубу через туалет. У меня к Вам в связи с этим несколько вопросов:
1. Вы писали здесь, что из ванной у Вас туннельная вытяжка, не могли бы пояснить как это? и если можно сфотографировать конструкцию?
2. В алгоритме работы устройства есть параметр R, от которого зависит включение нагрузки на 2-м и 4-м этапах, что это за параметр, как расчитывается? я не увидел в описании.
3. Можете написать тайминги для каждого канала по этапам, которые запрограммированы в файле DRL.hex? На 2-м канале вроде там они меньше, и нагрузка включается раньше, чем на первом канале, с чем это связано?
4. Я не понял как увидеть заданные временные периоды в прошивке и как их поменять, дайте хотя бы направление в какой программе открывать, я дальше сам разберусь.
Заранее спасибо.
1) Да у меня два вентилятора один в стене второй канальный закреплён на стене и через гофры тянет воздух из ванной и гонит его в стену где находятся вытяжные каналы.
Из-за большого диаметра вентилятора и расположения в канале решение очень тихое.
2,3,4 Данное устройство даёт возможность гибкой настройки режимов работы, более того оно рассчитано на таких людей как Вы (т.е. на тех кто просто сам сделал плату собрал и залил прошивку).Для изменения режимов работы не надо корректировать программный код микроконтроллера,все параметры хранятся в EEPROM, все цифры записаны в шестнадцатеричном формате. Я даже подсказки написал ))
На рисунке всё выделено цветами:
Розовый прямоугольник: счётчик срабатывания реле, верхние 4 байта 1 канал, нижние 4 байта 2 канал.
Голубой квадрат:OD (время задержки включения нагрузки с шагом 0,1с), верхние 2 байта 1 канал, нижние 2 байта 2 канал.
Зелёный квадрат:CD (время задержки включения счётчика накопления с шагом 0,1с), верхние 2 байта 1 канал, нижние 2 байта 2 канал.
Жёлтый квадрат:MD (максимальное время задержки отключения нагрузки с шагом 0,1с), верхние 2 байта 1 канал, нижние 2 байта 2 канал.
Красный квадрат:CF (коэффициент времени работы после отключения), верхние 2 байта 1 канал, нижние 2 байта 2 канал.Время задержки отключения определяется по следующей формуле: (CF/100)*(время работы в режиме накопления)
Фиолетовый квадрат:R (логический параметр 1-да 0-нет отвечает за включение нагрузки после задержки включения ), верхний 1 байт 1 канал, нижний 1 байт 2 канал.
В файле прошивки по умолчанию строчка настроек для первого канала 08 34 17 70 10 68 00 28 01 (адрес 0x0020-0x0028)
OD=0x0834=2100 задержка включения 210 секунд.
СD=0x1770=6000 задержки включения счётчика накопления 600 секунд.
MD=0x1068=4200 максимальное время работы нагрузки после отключения 420 секунд.
CF=0x0028=40 коэффициент времени работы после отключения 40 (на каждые 10 секунд работы 4 секунды работы после отключения но не более максимума).
R=0x1=1 нагрузка включится после прошествии времени задержки.
для второго канала 02 BC 13 88 07 08 00 32 01 (адрес 0x0030-0x0038)
Значения EEPROM можно просмотреть в ПО программатора которым прошиваете микроконтроллер.
Если есть ещё вопросы обращайтесь.
Вы все так грамотно и подробно изложили! Буду теперь переваривать и допиливать систему под свои запросы. За фото отдельная благодарность!
У меня пока все вот так, в тестовом режиме:
А вот с -тся/-ться просто беда, плакать хочется. Посмотрите tsya.ru, пожалуйста, там куда проще, чем программирование/схемотехника.
Ться-тся тоже режет, но держусь.
Данный обзор плюсанул.
Интересно, правда?
Возможно, будет интересно, что я не гуманитарий, а совсем даже технарь. Читаю в последнее время мало, больше по работе. На тся-ться уже смотрю сквозь пальцы, видели бы что молодежь по корпоративной почте пишет! Вроде бы начальники (маленькие пока)…
Опыта интернет-битв (да и чего ради?) не имею, так что долгой перепалки не будет.
Да и время у меня уже полночь.
Минус не мой.
Русские сами займутся образованием и просвещением своего дома, и будет это покруче.
Заслуженный плюс.
В остальном, схема понятная и правильная.
Я решил следующее в нормальном режиме работы модуль питания не должен разогреваться, если что-то пойдёт не так, то он будет перегружен и начнёт греться.
посмотрел я результаты обзора lygte-info.dk/review/Power%20Mains%20to%205V%200.6A%20Hi-Link%20HLK-PM01%20UK.html и решил поставить термопредохранитель на 75С для нештатных ситуаций…
Если Вы уж так заморочились, добавьте заодно дроссель на сетевом входе — варистору будел легче справляться с коммутационными и грозовыми перенапряжениями.
Добавил включатель света из сети bezkz.su/publ/shemy/vyklyuchateli-pereklyuchateliik-f/700211-prostoy-avtomaticheskiy-vyklyuchatel-sveta-na-ultrazvukovom-datchike.html Уж пару лет как система исправно работает.
Плату проектировалась как односторонняя, а изготовлена как двух-. Учитывая, что разницы в цене нет.
Размещать контроллер в щитке — кучеряво. Тянуть несколько кабелей, место в щитке. И зачем тогда светодиоды, кому они будут моргать в щитке?
Отсутствует самая напрашивающаяся вещь — датчик влажности.
Алгоритм работы обсуждать не буду.
У меня следующая ситуация: ванная и туалет рядом, во время ремонта был кинут 4 жильный провод от выключателя (фаза, нуль, свет в ванной, свет в туалете).Провод заведён в угол туалета где размещён маленький щиток с 3 автоматами и этой приблудой.Вытяжной вентилятор для ванной тунельный и расположен в туалете, всё это счастье спрятано за панелью.Светодиоды можно и не паять. 2 левых (D5 D9) заменяются перемычками,3 правых (D1 D6 D7) можно не впаивать (и резисторы R1 R5 R6 тоже). Однако я бы рекомендовал их оставить для ремонта и отладки они полезны.
Ага а для туалета датчик метана и аммиака ))). На самом деле благодаря напервый взгляд избыточному алгоритму управления можно реализовать множество режимов работы
просто повторитель как реле на 230В, простая задержка включения, задержка отключения фиксированная*, задержка отключения зависящая от времени работы, работа после отключения фиксированная*, работа после отключения с зависимостью от времени работы. И вентиляция санузлов это как пример, применений может быть гораздо больше.
Не менее странное решение.
Не вижу ничего смешного.
Устройство не способно адекватно вентилировать помещение. Эти пляски с бубном для программирования — только во вред. Обмануть не сложно — включаем горячую воду на полную. В считанные минуты влажность в малом помещении возрастает и включившийся на пару минут вентилятор ничего не сделает. В итоге получаем грибок.
Про универсальность применения и речи не может идти.
А все ваши перфекционистские заморочки означают что вы так конечный продукт и не выпустите, в отличии от автора. А если выпустите, то спустя дцать лет, очень дорогой и решать он будет кучу ненужных, неважных и уже устаревших задач, включая измерения магнитного поля земли и коррекцию по нему календаря.
У нас так почти вся автоматизация государственная работает :D
бредтренд, которым оправдывают плохое качество и недоработанность продуктов, вызванное желанием максимизировать прибыль. А расплачивается в итоге конечный пользователь. Причем, дважды.У меня есть несколько коммерческих продуктов. Специфичных, но востребованных. Готовых, в продаже.
Ещё раз по порядку. Устройство делалось «для себя» так сказать для души.Запускать в производство не планируется, поэтому тут есть «кучерявости» и я не пытаюсь сэкономить хоть пару центов для того, что бы на больших партиях получить значительные суммы экономии. Вы сами говорите: «конечного результата можно достичь множеством способов» и обзор посвящён одному из них, прошу обратить внимание что я не декларирую мои способ как единственный и самый правильный.
По поводу плат, Вы извините, но ведёте себя как зануда…
Да плата не на 100% односторонняя, у неё действительно есть и второй слой (шелкография и контактные площадки на обратной стороне), но при разработке в нём не размещались дорожки. Смысл такой: если Вы самоделкин и используете народный ЛУТ/Фоторезист, то вам достаточно взять односторонний фольгированный текстолит, а затем установить 3 перемычки (в ранней версии на фото было 2).Собственно, я и хотел заказать одностороннюю плату, но после того как выяснилось, что на мелкие заказы цена одинаковая и не зависит от того односторонняя плата или двухсторонняя, я сделал заказ двухсторонней платы нарисовав перемычку в верхнем слое.
и в качестве мелких радиаторов они незаменимы…
разве такие вещи не настраиваются глобальными установками?
Больше половины деталей можно отправить в помойку:
1. Питания достаточно бестрансформаторного, тогда контроль наличия фазы можно сделать проще и без оптронов
2. Реле заменить на симисторы, которыми управлять напрямую от микропроцессора
На будущее, давно пора переходить на микропроцессоры ARM.
А после чаепития, откройте документацию на любой симистор и изучите раздел, описывающий токи УЭ для четырех квадрантов. Особенно для четвертого.
Если симистор управляется от MCU (контроллера) напрямую, то делают импульсы именно отрицательным током.
BT138:
T2+ G+ 5 mA
T2+ G- 8 mA
T2- G- 10 mA
T2- G+ 22 mA
Ничего ужасного там не увидел…
Это вызывает разницу во времени срабатывания в разных периодах.
И вы серьезно считаете, что резистивный делитель — это достаточная защита входа микроконтроллера? Что будет, кода через прожженый кристалл и резистор R4 на электролит С2 попадет фазное напряжение?
Ничего не произойдет, во-первых по входу микропроцессора стоят защитные диоды.
Для понимания читайте например этот апнот
Во-вторых с током в 0,15 мА (в пике), что потечет через R4 отлично справится стабилитрон VD3. :)
Ошибок там нет, если считаете что есть потрудитесь их указать.
Поверьте, я занимаюсь разработкой устройств промышленной автоматизации достаточно давно, причем и как схемотехник, и как программист микропроцессоров и серверной части кода.
Надежность устройства автора можно увеличить, а устройство упростить, выше я написал как.
Что касается безопасности, то вас тряханет 220 В если влезете в подключенное к сети устройство автора, равно как и в то, что я предложил.
Но в любом случае автор — молодец. Сделал устройство, которое выполняет возложенные на него функции. Устройство получилось красивым внешне, но некрасивым схемотехнически. Автору есть куда расти, что ему и пожелаю.
Чем больше интеграция и меньше рассыпухи, тем надежнее устройство.
А можно на 1000, которое работать вообще не будет :)
П.С. Лично я делал платку, где было > 1500 элементов) И ни чего, работает.
Могу фото показать) если надо
Я еще застал компьютеры СМ на логике-рассыпухе. Компонентов в нем было на два-три порядка больше чем в современном PC. Работали они частенько только после пинка по шкафу.
Если это так, мне жаль ваших потребителей/покупателей/заказчиков.
БП на конденсаторе и стабилитроне — мало того, что весь ток потребления МК (и даже больше, около 30 мА в вашем случае) переходит в реактивный, так и еще нет никакой защиты от высоковольтных импульсов, которые могут быть в сети второй категории до 2 КВ. И от высокочастотных гармоник тоже, в принципе. Хорошо хоть резистор 300 Ом есть.
Был такой БП у меня (в китайской поделке) — через месяц сгорел стабилитрон. К счастью его просто замкнуло и плата осталась жива.
То же, в принципе, касается и датчика сетевого напряжения R4 — встроенные в МК диоды вряд ли спасут схему. Нужен хотя бы TVS. А лучше он + варистор.
Зачем? Из пушки по воробьям? Я с пиками не знаком, но тут задача для ATtiny13. Если, конечно, FFT сетевого напряжения делать вдруг в голову мысль не придет.
Единственное, что верно — так это использование симистора. Да, в наше время это удобно. Но вот только в вашей схеме ему просто может не хватить тока для открывания (как вам тут уже справедливо заметили) — по даташиту у него максимальный ток открытия — 70 мА в T2- G+. Да, типичный — 22 мА, но схему нельзя рассчитывать на типичный ток, надо на максимальный (или надо производить предварительный отбор деталей). Такой ток нельзя получить через резистор 100 Ом от 5 В принципиально, да и вряд ли МК способен на это вообще. Но и даже в вашем случае со 100 Ом, получается около 40 мА (зависит от падения напряжения на управляющем переходе симистора и сопротивления МК) — это больше, чем выдает ваш источник питания (30 мА), т.е. управлять надо исключительно короткими импульсами, в идеале — в начале каждого полупериода, но у вас МК отрицательных значений в сети не видит, т.е. импульсы надо гнать периодически, если нагрузку требуется включать.
В итоге то, что вы привели — это пример типичной схемы, используемой в китайских поделках. Сразу после включения заработает и ладно. До «правильной» ей как до Марса.
Почитайте про стандартные методы защиты входных и выходных цепей микроконтроллера от импульсных, высокочастотных и электростатических помех, про требования при сертификации устройств, а потом давайте советы, хорошо?
Если вы считаете что должно выгорать, то не будьте голословным минусатором, а укажите что именно и почему. :)
Хорошие разработчики именно тем и хороши, что умеют проектировать решения и надежные и недорогие, правда таких надо днем с огнем искать.
Защитные диоды в контроллере тоже слабы, макс 10мА и он выбивается а чего хорошего приводит к тиристорному защёлкиванию ещё раньше. У вас нет защиты от такой беды.
— Зачем? Я 5 лет езжу не пристегиваясь, да и все мои друзья тоже, и никаких проблем нет.
Что именно и как выгорает я описал в предыдущем посте.
Мы уже в 21 веке живем, надо забывать анахронизмы.
Тем более 8 разрядные стоят дешевле сильно
По похожей схеме собираются контрольные светодиодные «лампочки» на 220 В, только там роль стабилитрона выполняет сам светодиод и я не слышал чтобы эти контрольки сгорели.
Можно применить и STM8, если хочется.
Для промышленных партий это будет оправдано.
Есть такой протокол X10, так вот почти все устройства там с таким электропитанием и все работают не ломаясь, а выпущено их миллионами.
У нас по такому питанию работают модули сбора информации на NRF52832.
Их стоит уже не одна тысяча.
Факт в том, что в сети второй категории (а это обычная розетка в любом месте) допустимы выбросы до 2 КВ. И стабилитронно-конденсаторные БП горят «на ура». Лично такое видел не один раз.
TVS, варисторы, PTC — все это придумано не случайно и призвано защищать от подобных проблем. Но автор комментария, видимо, с ними не знаком.
Зачем? для каждой задачи своё решение.
Все пины МК задействованы и код почти на всю память
Это означает что данный МК отлично подходит и нет избыточности и лишних затрат.
Избыточность с ARM есть, но вот насчет затрат я бы не был столь категоричен.
Микропроцессор начального уровня серии STM32F0хх стоит раза в два дешевле того что вы применили. :)
Весь электроинструмент на 220 В использует «диммеры» для регулирования мощности. Я лично подключал диммер к вентиляторам — никаких проблем нет, только вентилятор от такой формы напряжения гудит сильнее (мне это не понравилось, заменил на переключатель с набором конденсаторов для регулировки скорости).
Я уже не первый раз заказываю на jlcpcb, так там 10 плат за 2$ + 6$ доставка.
на jlcpcb тоже заказывал, там акция первый заказ идет с бесплатной доставкой, но формально эта фича на сайте не работает, я написал прямо на сайте в тех поддержку акция работает или уже нет. они сказали что да. я говорю что я оплатил всю стоимость с доставкой с треком, и в ответ они мне вернули на пайпел лишние $ и оставили у себя 2$, и еще в инете тоже болт с инфой про несколько разных проектов на одной плате, то я налепил проект так чтобы жаба не просыпалась, плюс в наглую сделал надрезы для разделения плат как это возможно максимально удобно и всё сделали и прислали.
проект делал в easyEDA там сделал все схемы с общей землей чтобы заливку земли получить, нумерация там прёт через все компоненты на листе, но мне это не важно, всё равно макетки. сделал экспорт гербера в easyEDA и его в jlcpcb импортировал. самое интересное то что я уже заказывал на easyEDA платы а они с jlcpcb одно лицо ну всё равно прокатило как новорег, но с письменным обращением в тех поддержку
Ну так это одна плата выходит.
А если попробовать сделать с краями и местами для разломов, то не пропустят.
Так как у вас колхозно, сложно разъединить платы
на крайний случай, потенциальный материал — стеклянная палочка из лампы накаливания)
ну и, конечно, проще и правильней всего перенести сами диоды индикации на шлейфе из куска cat5 сколь угодно далеко
жаль, что нельзя будет обойтись одним джампером, чтобы отключать всю отладочную индикацию
да в нём жить можно, при более удачной компоновке? вопросы безопасности решаются же как-то в компактных силовых электротехнических изделиях…
вы планировали изготовить небольшую серию «на подарки», или более того?)
Очень интересует сам процесс.
Я собирал тоже самое для туалета и ванной на Sonoff Basic (ESP8266). На этапе ремонта заложена отдельная проводка на вентиляторы и выключатели, но последние используются только в туалете. Там используются таймеры на выключение вентилятора вне зависимости от света, присутствия и т.п. Может когда-то куплю VOC-датчик в туалет. В ванной к контроллеру датчик влажности. Включается выключается само. Стоимость ниже вашей с учётом корпусов. Удаленное управление, статистика, централизация и доработка алгоритмов.
Управление одним вентилятором, но две скорости в зависимости от уровня влажности
Два таймера на отключение вентилятора
Два датчика освещения чтобы не подключаться к проводам после выключателя. Один реализует включение когда кто-то зашел в туалет, второй может реализовывать блокировку пока кто-то есть в ванной.
Зато ни одного микроконтроллера и все работает в автоматическом режиме :)
Но в свете тем на форуме — как рассчитать резистор для светодиода, а то написал программу, а что дальше делать не знаю…
1. мне проще так, не программист я.
2. зачем ставить микроконтроллер туда, где он не особо был и нужен?
С чего бы? Эта плата отработала около 8 лет без одного сбоя, да и аппаратные решения обычно надежнее программных.
Сейчас микропроцессоры — сложные программно-аппаратные устройства, где возможные очень редкие программные сбои нивелируются аппаратной начинкой.
Разбирал недавно современный источник питания для телекоммуникационного оборудования с MTBF более 100 000. Всеми ключами командует один микропроцессор, он же управляется извне по шине CAN, в том числе по ней динамически регулируется выходное напряжение для работы в параллель в буферном режиме на АКБ.
Впрочем, если делалось 8 лет назад, то тогда и из Компэла многие фирмы таскали, а у них широкая линейка Premier Magnetics была.
Почти никогда не покупал готовые трансформаторы, только сам мотал, десятками.
Вы его где-нибудь описывали/обозревали?
Хороший вариант, если не заведен провод освещения к вентилятору.
Если б вы свои руки приложили, то честь бы вам и хвала…