Летом и осенью я сделал немало устройств упрощающих жизнь в дачных условиях. Но наступила зима, да и времени было мало — была пауза в обзорах. Сейчас появилось время, и я продолжил свое творчество для дачи. Данная микросхема позволяет размножить выходы контроллера для управления большИм количеством устройств. Под катом краткий обзор микросхемы и изготовление устройства, ардуинство + программная часть…
Данная микросхема уже обозревалась
здесь. Но там был пример, приведенный в большинстве инструкций по этой микросхеме. В данном обзоре постараемся рассмотреть реальное практическое применение.
Посылка дошла за 3 недели, никаких проблем с микросхемами в дороге не произошло.
Вид:
В прошлом обзоре уже привели основные свойства микросхемы, кратко скажу только следующее:
Датшит на микросхему.
Микросхема 74HC595 — один из самых распространённых сдвиговых регистров: синхронный, с регистром данных (latch). Она позволяет увеличивать количество выходов микроконтроллера.
Чип преобразовывает входящий последовательный сигнал на 1 пине (Ds) в выходной параллельный на 8 пинах (Qx). Последовательная передача синхронна: для такта используется дополнительный пин (SHcp). Также отдельным пином управляется регистр данных (STcp), что позволяет изменять сигнал на 8 выходах единовременно, когда все данные переданы.
Таким образом образом из трёх пинов микроконтроллера, такого как Arduino, можно получить 8 цифровых выходов. Из регистров 74HC595 можно делать каскады, подключая один за другим (через пин Q7’), и таким образом из всё тех же 3 входящих линий получать 16, 24, 32 и т.д. цифровых выходов. Естественно, что скорость передачи данных снизится.
Выпускается в корпусах:
В нашем случае микросхема 74HC595N, соответственно она имеет DIP-16 корпус.
Обозначения выводов:
Типовая схема включения одной микросхемы:
Типовая схема каскадного включения:
Выводы DS, ST_CP, SH_CP — подключаются к микроконтроллеру и позволяют формировать все возможные комбинации на выходе микросхемы.
Программирование в среде Arduino подробно описано
здесь.
У микросхемы из обзора есть брат 74HC165. С помощью этой микросхемы по тому же принципу, можно размножать входы контроллера.
Теперь к нашим попугаям. Я публиковал одним из первых обзор
электрического шарового крана. Там же была описана плата управления данными кранами. Летом конечно я это все внедрил для полива огорода… но описанная там плата управляет только 4-мя шаровыми кранами, а у меня их уже 6… Временно я решил эту проблему подключив блок из 4-х реле для управления двумя кранами на которые не хватило управляющих выводов. Процесс смены полярности двумя реле я описал в обзоре про
автоматизацию теплицы. И вот пришло время заменить одной платой все, что я там нагородил.
Маленькое отступление. Для Arduino Uno есть
мотор -шилд, который позволяет без лишних паек управлять 4-мя двигателями. Но во первых там также всего 4 двигателя, во вторых устройство получается довольно громоздкое (следует учесть еще и сетевой модуль). Поэтому принято решение делать свое устройство.
И так исходные данные: необходимо по сети управлять минимум 6-ю электрическими шаровыми кранами, устройство должно питаться от блока питания и формировать все необходимые для себя напряжения + выдавать напряжение 12 Вольт нужной полярности на заданный кран.
Схему на компьютере я не рисовал, так на макетке прикинул по документации (я лентяй- не делайте как я). Печатную плату рисовал в простой программе Sprint Layout
результат:
В качестве заготовки использовал текстолит (скорее бакелит как в
этом обзоре) размером 7 на 10 сантиметров, удалось вписать в этот прямоугольник все требуемые элементы. Все элементы и выводы на плате обозначены, поэтому совсем не трудно понять мою простую логику. Верху видно 8 винтовых клемников — для подключения 8-ми шаровых кранов. Далее идет ряд из 4-х микросхем L293D — драйверов двигателей, каждая из них может управлять 2-мя двигателями и изменять направление вращения — меняя полярность. Далее идут две микросхемы (предмета этого обзора) — которые позволяют из 3-х выводов Arduino Pro Mini (d4,d5 и d6) управлять всеми 8-ю шаровыми кранами. Также виден сетевой шилд enc28j60 (его особенности я описал
в этом обзоре). Ну а правая часть относится к питанию: собственно сам раъем, импульсный преобразователь cn1584 (получает 5 В из входных 12), линейный стабилизатор напряжения lm317 получает 3.3 вольта из 5 Вольт для питания сетевого модуля. Электролитические конденсаторы номиналом 470 мкФ 25 Вольт. Дорожки я делал разными, силовые шириной 1 мм на шинах и 0.6 мм локально, сигнальные 0.4 мм. Постарался все разместить компактно.
Далее изготовление платы. Использовал лазерный утюг (ЛУТ), подробнее как я это делаю можно прочитать
тут.
Тонер перенесен на текстолит и просверлены большие отверствия:
Результат травления в хлорном железе:
Результат лужения сплавом Розе:
Ну и готовое устройство:
На импульсном преобразователе виден лак для ногтей, им перестраховался от случайного поворота потенциометра, после выставления 5В на выходе.
При подключении устройство отказалось работать… Немного анализа и совсем мало нецензурных слов, выявили 2 ошибки: одну микросхему l293d припаял вверх ногами (хм ...) и один вывод сетевого адаптера тоже неправильно подключил… Берем оплетку выпаиваем микросхему, режем дорожку и припаиваем проводок… Вид:
Смываем флюс:
Тестируем, убеждаемся что все компоненты устройства проходят простой набор тестов… Покрываем защитным лаком Plastik-71 плату:
Ну и итог:
Переходим к программной части… У нас есть сетевой модуль, необходимо управлять всеми кранами через веб. Нужно описать каждый кран и сделать универсальные средства управления. При включении питания неизвестно состояние кранов, поэтому нужно перевести их в нормальное для каждого состояние. Еще пара важных моментов, хоть в момент остановки кран не потребляет ток, не хотелось бы длительно держать его под напряжением, всякое может быть в огороде. И хоть мне и известно потребление крана при движении, возможны нештатные ситуации — разрешим движение только одного крана в один момент времени. Это все ключевые моменты, которые позволят интересующимся разобраться с кодом. Могу сказать, что я модифицировал код, который исправно проработал все лето поливая огород, соответственно какая-то доля уверенности в его работе у меня есть. Хотелось бы еще внести ряд доработок в код, одна из них отключение полива по аварийному таймеру (например если связь с центральным сервером пропала) и тд. Но это предмет будущего, время есть.
Собственно
сам код:
Загружаем код в контроллер, с помощью usb-ttl конвертора и проверяем логику:
В период открытия крана присутствует напряжение одной полярности.
В период закрытия крана напряжение меняет полярность
В остальное время напряжение отсутствует. Таким образом, я проверил все 8 кранов, на всех одна и та же ситуация, которой хотелось достичь.
Важный момент обозреваемой микросхемы, при включении питания регистры находятся в случайном состоянии, и важно обнулить состояние 74HC595:
digitalWrite(ST_CP_PIN, LOW);
shiftOut(DS_PIN, SH_CP_PIN, MSBFIRST, 0b00000000);
shiftOut(DS_PIN, SH_CP_PIN, MSBFIRST, 0b00000000);
digitalWrite(ST_CP_PIN, HIGH);
Конечно можно было по датшиту использовать дополнительные входы управления, но я посчитал, что во первых я привожу все краны при загрузке в нормальное для них состояние, во вторых промежуток очень маленький до устранения мусора в регистрах.
Тем кто захотел повторить, выложу
файлик печатной платы. В нем уже исправлена ошибка с сетевым адаптером, поэтому у Вас не будет неаккуратного проводка на обратной стороне.
Компоненты использованные при построении устройства:
Arduino Pro Mini
сетевой модуль enc28j60
микросхемы регистров 74HC595
микросхемы драйверов двигателей L393D
понижающий преобразователь напряжения CN1584
линейный стабилизатор напряжения LM317
двойные винтовые клемники
разъем питания
светодиод 3мм
электролитические конденсаторы 470 мкФ 25В
резистор 1 кОм (для светодиода индикации питания)
керамический конденсатор 1 мкФ (в схеме подключения 74HC595) офлайн
резистор 4.7 кОм для будущего подключения к схеме шины 1-wire
односторонний текстолит
штырьковые разъемы разных цветов
проводки
+ флюс ЛТИ120, припой
На этом заканчиваю. У меня есть планы по модернизации многих дачных процессов, если будет интересно — обязательно опишу. Спасибо всем, кто дочитал до конца! Надеюсь, что кому-то приведенная информация окажется полезной.
Хищник тоже скучает по даче
можно конечно, есть споры об этом, я для себя решил всю лудить — времени не на много больше занимает толстым жалом поводить, а дефекты ЛУТ-а сглаживает и для меня приятней выглядит
там наверно маска потребуется, либо лить все включая места пайки
делаю что-то вечером когда все спят
Пользуюсь двухкомпонентными FSR8000, FSR4000. Лучше пока ничего не встречал.
на открытие нужно 10 на закрытие 01
без доп элементов не приходит в голову как сделать
На открывание 11, на закрывание 01, неактивно 00 и 10
Так что всё упрощается (просто я так уже делал)
www.ti.com/lit/ds/symlink/l293.pdf
есть разрешения и входы направления движения
А, понял, Вы имеете в виду требуется инверсия? Это не проблема.
то есть все-равно два сигнала нужно на каждый кран
если только демультиплексор ставить для выбора крана и 2 сигнала на выбор направления, тогда можно 74HC595 убрать и 5 выходов контроллера задействовать
8 на выбор двигателя и 8 на направление вращения + инвертор )
как-то так
если двигать только одним то — можно вместо второго 74HC595 задействовать пару выводов контроллера, либо один вывод + инвертор — мне так показалось проще + универсальней
Если использовать 74HC595, потребуется 4 линии
мне так как сделано показалось проще и универсальней
Это Ваш выбор — он действительно более универсален, но имеет одну особенность — двигатель в неактивном состоянии закорочен. Это в некоторых случаях может привести к проблемам при останове и реверсе из-за перегрузки микросхемы по току.
токи там далеки до возможностей микросхемы, в обзоре про кран измерял…
ну и практика использования не выявила каких либо проблем за прошлый сезон
ватч дог стоит на розетке с блоком питания, и уже пригодился — коммутатор в сарае за лето 2 раза повис намертво
обоснован ценой и требуемыми функциями, в обзоре есть ссылка на мой обзор сетевых модулей — преимуществ w5100 здесь не требуется
скетч вроде целый
я же говорю — коммутатор в сарае за лето 2 раза повис — в нем не сделать — не откликается устройство передернуть розетку вместе с коммутатором
тут и 5100 много )
альтернатив много в теплице у меня роутер tplink 3020 + nano
Хардварный? софтовый не применяете?
единственное что приходит в голову ардуина с мотор-шилдом и сетевым шилдом — но там тоже не сильно готовое и всего 4 крана… — это упомянул в обзоре
Всё было интересно:
собирать Акустику из чего только можно,
паять УНЧи,
разные самопалы с журналов «Радио»…
Сейчас… только за БАБЛО!!!
Как только электроника стала бизнесом — желание экспериментировать пропало начисто!!!
О, как!
Психология!!!
Поэтому перешло из разряда дорогостоящего хобби
( а раньше так и было!!!),
в разряд — работа для зарабатывания…
Но я нашёл себе новое хобби!!!
… на порядок более дорогостоящее!!!...)))
Но всё равно плюс за пряморукость :)
сейчас заказываю в корпусах для поверхностного монтажа
+ односторонняя плата дип норм, сверлилка у меня в обзоре про кран есть — быстро насверлить
ЛУТ у вас отличный, а пайка нет.
По датчикам влажности в почве, по таймеру или ещё как?
у меня использовался ручной )
запустить полив с телефона
возможно в этом году сделаю иначе
использование подобной техники для подобных нужд говорит многое о Русских (с большой буквы).
как говаривал один немец устами одного сатирика «наверно поэтому мы (немцы) и проиграли войну»
я про специфическое мышление и реакцию на события.
например очевидно, что в минивэн влезает больше чем в седан, но покупать Ларгус в кредит чтоб возить больше лопат и картофана на дачу как-то странновато, хотя и не лишено смысла.
я может не все знаю и у топикастера плантация скажем клубники на 2 гектара, тогда автоматизация оправдана
второй вариант что делает он это исключительно из спортивного интереса — загородноземельный инженеринг.
нестандартность мышления и неожиданные решения переигрывают дисциплину и чопорность в критических ситуациях но проигрывают «в долгую»
Я рассматриваю это занятие как хобби, кто то марки собирает, кто то играет управляемыми машинками, кто-то крестиком вышивает… мне нравится делать полезные устройства облегчающие рутинные процессы
Дело не в плантации — когда можно с телефона полить огород, проветрить теплицу, контролировать температуру, включать и выключать свет, управлять звуком… и тд
С такими устройствами — нормально звучит фраза — полей огород, а то я телефон оставил в другой комнате…