Продолжим тему дачной автоматики, сдвиговый регистр 74HC595 для полива огорода

  • Цена: $0.94 (за 10 штук)

Летом и осенью я сделал немало устройств упрощающих жизнь в дачных условиях. Но наступила зима, да и времени было мало — была пауза в обзорах. Сейчас появилось время, и я продолжил свое творчество для дачи. Данная микросхема позволяет размножить выходы контроллера для управления большИм количеством устройств. Под катом краткий обзор микросхемы и изготовление устройства, ардуинство + программная часть…

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

Посылка дошла за 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, припой

На этом заканчиваю. У меня есть планы по модернизации многих дачных процессов, если будет интересно — обязательно опишу. Спасибо всем, кто дочитал до конца! Надеюсь, что кому-то приведенная информация окажется полезной.

Хищник тоже скучает по даче

Планирую купить +83 Добавить в избранное +101 +208
+
avatar
  • Psalmir
  • 08 января 2016, 10:47
+20
Люблю такие обзоры! Спасибо Вам!
+
avatar
  • yurok
  • 08 января 2016, 10:55
+17
спасибо, ради этого и писал
+
avatar
  • DenOFF
  • 08 января 2016, 11:33
+3
Спасибо за обзор, как говорится ОТ и ДО.
+
avatar
+4
Классная статья (язык не повернется называть такой труд обзором). Такой вопрос — обязательно ли лудить всю плату, если я впоследствии хочу покрыть её изоляционным лаком? Можно же облудить только места пайки?
+
avatar
  • yurok
  • 08 января 2016, 11:11
+5
спасибо!
можно конечно, есть споры об этом, я для себя решил всю лудить — времени не на много больше занимает толстым жалом поводить, а дефекты ЛУТ-а сглаживает и для меня приятней выглядит
+
avatar
0
я вот думаю попробовать сразувот такой маской закрыть. Стоит не сильно дорого, зато выглядеть должно офигенно
+
avatar
  • yurok
  • 08 января 2016, 11:18
0
попробуете — напишите
там наверно маска потребуется, либо лить все включая места пайки
+
avatar
0
я думаю либо печатать маску на пленке, либо поверх готовой платы еще раз утюжить маску на местах пайки. С пленкой получится аккуратнее, с утюгом — быстрее)
+
avatar
  • yurok
  • 08 января 2016, 11:29
0
обязательно опишите обзором что получится
+
avatar
0
если время найду заказать и заЛУТить всё это дело. Да и пока проектов нет… Ближе к лету тоже полив планирую автоматизировать, может там и применю
+
avatar
  • yurok
  • 08 января 2016, 11:31
+1
лучше сейчас начать готовится к лету
+
avatar
0
сейчас сын всё время отнимает :D ближе к лету уже можно будет его оставить играть сам-на-сам, а пока (в полгода) еще постоянно требует внимания
+
avatar
  • yurok
  • 08 января 2016, 11:37
+3
хм… дочке скоро 2 ситуация не поменялась )

делаю что-то вечером когда все спят
+
avatar
+2
ну как в анекдоте «Еслиб не родился мальчиком, то вообще не с чем бы было играть»
+
avatar
0
лучше использовать двух-компонентную маску. с ней удобнее работать
+
avatar
  • dia
  • 08 января 2016, 15:39
0
Долго мучился с такой маской, нормально уложить не удалось. Описание процесса есть на easyelectronics, не моё. Для ремонта плат она нормальная.
Пользуюсь двухкомпонентными FSR8000, FSR4000. Лучше пока ничего не встречал.
+
avatar
  • ksiman
  • 08 января 2016, 11:17
0
Можно было обойтись одной 74HC595 либо даже вообще без них, при условии, что не требуется одновременное управление двигателями. При этом сигнал реверса всех каналов можно объединить.
+
avatar
  • yurok
  • 08 января 2016, 11:19
0
можно, но я решил что может потребоваться + там бы потребовались иные элеметы
+
avatar
  • ksiman
  • 08 января 2016, 11:23
0
Те-же самые минус одна 74HC595
+
avatar
  • yurok
  • 08 января 2016, 11:34
0
4 микосхемы l293 у каждой два входа
на открытие нужно 10 на закрытие 01

без доп элементов не приходит в голову как сделать
+
avatar
  • ksiman
  • 08 января 2016, 11:39
0
У неё вход реверса и вход разрешения на каждый канал :)
На открывание 11, на закрывание 01, неактивно 00 и 10
Так что всё упрощается (просто я так уже делал)
www.ti.com/lit/ds/symlink/l293.pdf
+
avatar
  • yurok
  • 08 января 2016, 11:45
0
нету входа реверса
есть разрешения и входы направления движения
+
avatar
  • ksiman
  • 08 января 2016, 11:46
0
Вход направления это и есть реверс.
А, понял, Вы имеете в виду требуется инверсия? Это не проблема.
+
avatar
  • yurok
  • 08 января 2016, 11:48
0
так их два
то есть все-равно два сигнала нужно на каждый кран

если только демультиплексор ставить для выбора крана и 2 сигнала на выбор направления, тогда можно 74HC595 убрать и 5 выходов контроллера задействовать
+
avatar
  • ksiman
  • 08 января 2016, 11:52
0
Но она всегда взаимно инверсны
+
avatar
  • yurok
  • 08 января 2016, 11:54
0
да, но все-равно потребуется 16 линий :)
8 на выбор двигателя и 8 на направление вращения + инвертор )

как-то так

если двигать только одним то — можно вместо второго 74HC595 задействовать пару выводов контроллера, либо один вывод + инвертор — мне так показалось проще + универсальней
+
avatar
  • ksiman
  • 08 января 2016, 11:57
0
Потребуется 9 линий + 1 инвертор на 1 транзисторе (общий для всех каналов).
Если использовать 74HC595, потребуется 4 линии
+
avatar
  • yurok
  • 08 января 2016, 12:00
+1
5 линий, либо 4 и инвертор на транзисторе

мне так как сделано показалось проще и универсальней
+
avatar
  • ksiman
  • 08 января 2016, 12:02
0
5 линий, либо 4 и инвертор на транзисторе
Да, так
мне так как сделано показалось проще и универсальней
Это Ваш выбор — он действительно более универсален, но имеет одну особенность — двигатель в неактивном состоянии закорочен. Это в некоторых случаях может привести к проблемам при останове и реверсе из-за перегрузки микросхемы по току.
+
avatar
  • yurok
  • 08 января 2016, 12:42
+1
между остановкой и реверсом всегда есть таймаут
токи там далеки до возможностей микросхемы, в обзоре про кран измерял…

ну и практика использования не выявила каких либо проблем за прошлый сезон
+
avatar
  • ksiman
  • 08 января 2016, 13:44
0
В кранах стоят весьма маломощные двигатели и проблем с ними естественно не возникает. Я имею в виду универсальное применение платы.
+
avatar
  • Z2K
  • 09 января 2016, 03:21
0
Ну, да
+
avatar
  • Z2K
  • 09 января 2016, 03:16
0
ВОТ!!! Тоже такая схемка в голове сразу нарисовалась. Нет здесь полностью независимых каналов. Можно управлять последовательно во времени.
+
avatar
  • Mplus
  • 08 января 2016, 11:21
0
Ардуинку припаивали или на разъёме? watchdog надо бы включить, и чем обоснован выбор enc28? Уже в котором обзоре вашем вижу. И мне кажется скетч битый, в конце 2 раза функия homePage, хотя я с телефона, может он глючит
+
avatar
  • yurok
  • 08 января 2016, 11:26
0
в данном устройстве припаял
ватч дог стоит на розетке с блоком питания, и уже пригодился — коммутатор в сарае за лето 2 раза повис намертво

обоснован ценой и требуемыми функциями, в обзоре есть ссылка на мой обзор сетевых модулей — преимуществ w5100 здесь не требуется

скетч вроде целый
+
avatar
  • Mplus
  • 08 января 2016, 11:32
0
У меня из-за енц28 устройства висли, пусть и не часто ( раз в месяц где-то), потому зарекся с ними работать, и всегда ватчдог на всякий пожарный
+
avatar
  • yurok
  • 08 января 2016, 11:36
0
вроде такого не было — но ватчдог хардварный на розетке
+
avatar
  • Mplus
  • 08 января 2016, 11:38
0
Можно реализацию глянуть? И почему штатный контроллера не использовать?
+
avatar
  • yurok
  • 08 января 2016, 11:42
0
радио розетка самодельная — тут был обзор

я же говорю — коммутатор в сарае за лето 2 раза повис — в нем не сделать — не откликается устройство передернуть розетку вместе с коммутатором
+
avatar
-1
а какая альтернатива есть кроме модуля виз5500 и малины?
+
avatar
  • yurok
  • 08 января 2016, 11:55
+3
ну вы уж сразу на 5500
тут и 5100 много )

альтернатив много в теплице у меня роутер tplink 3020 + nano
+
avatar
  • SAIRUS
  • 08 января 2016, 11:32
+1
«ватч дог стоит на розетке с блоком питания, и уже пригодился — коммутатор в сарае за лето 2 раза повис намертво»
Хардварный? софтовый не применяете?
+
avatar
  • Mplus
  • 08 января 2016, 11:33
0
В коде нету
+
avatar
  • yurok
  • 08 января 2016, 11:36
0
ватчдог хардварный на розетке
+
avatar
  • piggi
  • 08 января 2016, 11:53
0
Ничего не понял ). Неплохо бы сравнение уже с готовыми решениями
+
avatar
  • yurok
  • 08 января 2016, 12:39
0
что-то я не знаю готовых решений управления шаровыми кранами по сети в таком количестве…
единственное что приходит в голову ардуина с мотор-шилдом и сетевым шилдом — но там тоже не сильно готовое и всего 4 крана… — это упомянул в обзоре
+
avatar
+2
В этом месяце изобилие DIY обзоров, и это радует. Спасибо за обзор, однозначно плюсую. И главное, еще есть над чем поработать, так сказать, довести до совершенства. Успехов в ваших проектах!!!
+
avatar
  • YUMi
  • 08 января 2016, 13:38
+1
Эх, где мои 17 лет.....?...)))
Всё было интересно:
собирать Акустику из чего только можно,
паять УНЧи,
разные самопалы с журналов «Радио»…
Сейчас… только за БАБЛО!!!
Как только электроника стала бизнесом — желание экспериментировать пропало начисто!!!
О, как!
Психология!!!
+
avatar
  • woddy
  • 08 января 2016, 22:34
+1
что значит за бабло? всё можно самому разработать. но теперь нет проблем купить нужные комплектующие. или нет проблем заказать фабричную плату. где тут бизнес?
+
avatar
  • YUMi
  • 09 января 2016, 00:25
0
Я имел ввиду, что теперь электроника стала моим заработком!!!
Поэтому перешло из разряда дорогостоящего хобби
( а раньше так и было!!!),
в разряд — работа для зарабатывания…
Но я нашёл себе новое хобби!!!
… на порядок более дорогостоящее!!!...)))
+
avatar
  • voffk
  • 21 января 2016, 17:17
0
у меня чуть так же не началось, но я это дело пытаюсь опять вернуть в разряд хобби, только не знаю кем работать теперь)
+
avatar
+1
советую сменить олово! и не покупай его у китайцев. сам долго думал почему я такой криворукий и не могу сделать красивые блестящие пайки.
+
avatar
  • Igor_Hi
  • 08 января 2016, 14:10
0
Если всё равно делать печатную плату, то почему бы не поставить микрушки в SOIC16 корпусе? Они и дешевле и сверлить не нужно.

Но всё равно плюс за пряморукость :)
+
avatar
  • yurok
  • 08 января 2016, 14:14
0
ну такие ранее заказал — куда их девать? :)

сейчас заказываю в корпусах для поверхностного монтажа
+ односторонняя плата дип норм, сверлилка у меня в обзоре про кран есть — быстро насверлить
+
avatar
  • yurok
  • 08 января 2016, 15:07
+2
кстати l293 в корпусе для поверхностного монтажа существенно дороже
+
avatar
+1
всё понравилось, аккуратно сделано
+
avatar
  • kuzv
  • 08 января 2016, 18:36
+3
Спасибо за обзор-статью. Понял только то, что «хищник хочет на дачу». Но все равно читал все вместе с комментариями ( умные ребята поговорили на своём). В сезон хотелось бы все увидеть с привязкой " на месте", как обычно. За труды и прямые руки как всегда плюс.
+
avatar
0
тоже чтоли начать делать обзор микросхем?)
+
avatar
  • doka369
  • 08 января 2016, 21:08
+1
Люблю частный дом люблю землю, и так выращую примитивно зелень и огурци, но когда вы пишите у меня есть стимул дальше образовыватся и совершенствоватся
+
avatar
  • YUMi
  • 09 января 2016, 00:27
+3
и правописание подтянуть...)))
+
avatar
  • Z2K
  • 09 января 2016, 03:04
+2
Статья с любовью к делу и читателям. Замечательно.
ЛУТ у вас отличный, а пайка нет.
+
avatar
  • Setjet
  • 09 января 2016, 11:39
0
А каков алгоритм управления поливом?
По датчикам влажности в почве, по таймеру или ещё как?
+
avatar
  • yurok
  • 09 января 2016, 18:11
0
на сервере можно реализовать разные
у меня использовался ручной )
запустить полив с телефона
возможно в этом году сделаю иначе
+
avatar
0
рвет мозг от того что выходы у микросхемы слева, а не справа )
+
avatar
  • ksiman
  • 10 января 2016, 15:03
+1
Не по фен-шую?
+
avatar
0
Как-то привык что входные цепи слева, выходные — справа )
+
avatar
+2
---сдвиговый регистр 74HC595 для полива огорода

использование подобной техники для подобных нужд говорит многое о Русских (с большой буквы).
как говаривал один немец устами одного сатирика «наверно поэтому мы (немцы) и проиграли войну»
+
avatar
  • Z2K
  • 12 января 2016, 02:06
0
А Вам сразу надо летающим изделием ВПК? :)
+
avatar
0
да я не про то и уж тем более я не вкладывал никакого негатива — как раз наоборот.

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

я может не все знаю и у топикастера плантация скажем клубники на 2 гектара, тогда автоматизация оправдана
второй вариант что делает он это исключительно из спортивного интереса — загородноземельный инженеринг.

нестандартность мышления и неожиданные решения переигрывают дисциплину и чопорность в критических ситуациях но проигрывают «в долгую»
+
avatar
  • yurok
  • 12 января 2016, 11:47
+2
Спасибо!
Я рассматриваю это занятие как хобби, кто то марки собирает, кто то играет управляемыми машинками, кто-то крестиком вышивает… мне нравится делать полезные устройства облегчающие рутинные процессы

Дело не в плантации — когда можно с телефона полить огород, проветрить теплицу, контролировать температуру, включать и выключать свет, управлять звуком… и тд

С такими устройствами — нормально звучит фраза — полей огород, а то я телефон оставил в другой комнате…