ShowerLoop-cc/docker/showerloop/public/posts/blog1/index.html

33 lines
11 KiB
HTML

<!doctype html><html lang=en><head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script><title>The electronics board PCBBasic2.0 | ShowerLoop</title>
<meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Development of the electronics control board for the ShowerLoop system, from analog switches to a more sophisticated control panel."><script>let liveReloadSocket=null;const OriginalWebSocket=window.WebSocket;window.WebSocket=function(e,t){if(e.includes("/__livereload")){if(document.readyState==="complete"){liveReloadSocket=new OriginalWebSocket(e,t);const n={onmessage:null,onclose:null};return Object.defineProperty(liveReloadSocket,"onmessage",{set:function(e){n.onmessage=e},get:function(){return n.onmessage}}),Object.defineProperty(liveReloadSocket,"onclose",{set:function(e){n.onclose=e},get:function(){return n.onclose}}),liveReloadSocket.addEventListener("message",function(e){n.onmessage&&n.onmessage(e)}),liveReloadSocket.addEventListener("close",function(e){liveReloadSocket=null,n.onclose&&n.onclose(e)}),liveReloadSocket}return{send:function(){},close:function(){},addEventListener:function(){},removeEventListener:function(){},set onmessage(e){},set onclose(e){}}}return new OriginalWebSocket(e,t)};for(const e in OriginalWebSocket)OriginalWebSocket.hasOwnProperty(e)&&(window.WebSocket[e]=OriginalWebSocket[e]);window.WebSocket.prototype=OriginalWebSocket.prototype,document.addEventListener("pageshow",function(e){if(e.persisted){console.log("Page restored from bfcache");const e=window.location.protocol==="https:"?"wss:":"ws:";liveReloadSocket=new OriginalWebSocket(`${e}//${window.location.host}/__livereload`),liveReloadSocket.onmessage=function(e){e.data==="reload"&&window.location.reload()}}}),window.addEventListener("pagehide",function(){liveReloadSocket&&(liveReloadSocket.onclose=null,liveReloadSocket.close(),liveReloadSocket=null)})</script><link rel=preload href=/css/vendor/material-icons.css as=style><link rel=preload href=/images/logo2.webp as=image><link rel=stylesheet href=/css/vendor/material-icons.css><link rel=stylesheet href=/css/vendor/material.indigo-pink.min.css media=print onload='this.media="all"'><noscript><link rel=stylesheet href=/css/vendor/material.indigo-pink.min.css></noscript><link rel=stylesheet href=/css/vendor/fontawesome.min.css media=print onload='this.media="all"'><noscript><link rel=stylesheet href=/css/vendor/fontawesome.min.css></noscript><script type=module>
import * as utils from '/js/utils.modern.min.js';
window.utilsModule = utils;
</script><script type=module src=/js/app.modern.min.js defer></script><script type=module src=/js/skip-to-content.modern.min.js defer></script><script type=module src=/js/material.modern.min.js defer></script><script nomodule src=/js/app.min.js defer></script><script nomodule src=/js/skip-to-content.min.js defer></script><script nomodule src=/js/material.min.js defer></script><link rel=stylesheet type=text/css href=/css/app.min.css><link rel=stylesheet type=text/css href=/css/custom.css media=print onload='this.media="all"'><noscript><link rel=stylesheet href=/css/custom.css></noscript><link rel=icon href=/static/favicon.svg type=image/svg+xml><link rel=icon href=/static/favicon.ico type=image/x-icon></head><body class=posts><body class=posts><div class="mdl-layout mdl-js-layout
mdl-layout--fixed-header"><header class="mdl-layout__header site-header"><div class=mdl-layout__header-row><a href=/ class=mdl-layout-title><img class=logo src=/images/logo2.webp height=50 width=auto alt="ShowerLoop Logo"></a><div class=mdl-layout-spacer></div><nav class="mdl-navigation mdl-layout--large-screen-only"><a class=mdl-navigation__link href=/ title=Home>Home</a>
<a class=mdl-navigation__link href=/how-it-works/ title="How It Works">How It Works</a>
<a class=mdl-navigation__link href=/research/ title=Research>Research</a>
<a class=mdl-navigation__link href=/posts/ title=Posts>Posts</a>
<a class=mdl-navigation__link href=/components/ title=Components>Components</a></nav></div></header><div class=mdl-layout__drawer><span class=mdl-layout-title><strong>ShowerLoop</strong></span><nav class=mdl-navigation><a class=mdl-navigation__link href=/ title=Home tabindex=0>Home</a>
<a class=mdl-navigation__link href=/how-it-works/ title="How It Works" tabindex=0>How It Works</a>
<a class=mdl-navigation__link href=/research/ title=Research tabindex=0>Research</a>
<a class=mdl-navigation__link href=/posts/ title=Posts tabindex=0>Posts</a>
<a class=mdl-navigation__link href=/components/ title=Components tabindex=0>Components</a></nav></div><main aria-role=main><div class=subpage-content><div class=chocolate-container><div class=mdl-grid><div class="mdl-cell mdl-cell--12-col mdl-cell--12-col-tablet mdl-cell--12-col-phone"><div class=chocolate-blog-single><div><div class=mdl-grid><div class="mdl-cell mdl-cell--4-col mdl-cell--12-col-tablet mdl-cell--12-col-phone left"><img class=responsive-img src=/images/PCBBasic2_1.webp alt="Featured image for article: The electronics board PCBBasic2.0"></div><div class="mdl-cell mdl-cell--8-col mdl-cell--12-col-tablet mdl-cell--12-col-phone right"><h1>The electronics board PCBBasic2.0</h1><span class=post-info><span>Anthony Hathaway</span>
<i class="fas fa-circle"></i>
<span class="d-none d-sm-block col-sm-2 mt-auto offset-sm-2 text-right"><time class=post-date datetime=2017-03-09T00:00:00Z>Mar 9, 2017</time></span></span><div><p>For the last couple of months we have gotten back to circuit boards and looking at completing the project we started a long time ago. Making the shower smart and easily controllable like one would expect from modern consumer products. There's been a lot to learn considering all we could do a few years ago was wire up a light bulb, and even then we would need to check what the difference was with the brown wire (live/positive) and the blue wire (ground/neutral).</p><p>To keep it simple last year we started working on a fully analog version of the system, just like the one below.</p><img class=responsive-img src=/images/PCBBasic2_1.webp alt="Initial analog control panel with rocker switches and toggle switches mounted on a black panel"><p>Basically it's a switch panel and buttons where the top 3 water proof/resistant rocker switches are to activate the pump, uv and heater and a 6 toggle switch switch-board below to control the individual valves. The top 3 buttons go to the power box that activated the relays with a 1 V DC current to close the circuit for the 220V AC to power the aforementioned devices. The valves are controlled directly via the 12V DC power supply.</p><img class=responsive-img src=/images/PCBBasic2_2.webp alt="Close-up view of the switch panel showing the waterproof rocker switches and toggle switches with labels">
<img class=responsive-img src=/images/PCBBasic2_3.webp alt="Interior wiring of the control panel showing connections between switches and control circuits"><p>Anyway, that was the old one. Since then we've added all kindsa stuff. An integrated GFCI, fuses, an 8-channel relay module, voltage meter for the pump and a motor controller, Power button and the appropriate cable glands to keep everything up to spec. The cables should be around 18 AWG or lower (thicker).</p><p>Additionally to make it easier to use in everyday use we made an analog controller. This should be done with an integrated circuit but I don't have experience with that and the last two people I've tried to work with have failed to help me so I'm starting from the most basic setup that I can understand and make myself. So below you can see the schematic connecting one switch to multiple devices using diodes to keep the flow in one direction.</p><img class=responsive-img src=/images/PCBBasic2_4.webp alt="Electrical schematic diagram showing switch connections with diodes to control multiple devices">
<img class=responsive-img src=/images/PCBBasic2_5.webp alt="Breadboard prototype of the control circuit with diodes and wiring for testing">
<img class=responsive-img src=/images/PCBBasic2_6.webp alt="Close-up of soldered diode connections on the prototype circuit board">
<img class=responsive-img src=/images/PCBBasic2_7.webp alt="Assembled circuit board showing the completed control system with all components">
<img class=responsive-img src=/images/PCBBasic2_8.webp alt="Testing the control board with multimeter to verify electrical connections">
<img class=responsive-img src=/images/PCBBasic2_9.webp alt="Final control board mounted in enclosure with cable connections">
<link href=/css/vendor/video-js.min.css rel=stylesheet><script src=/js/videojs/video.min.js></script><div class=responsive-video-container><video id=video3 class="video-js vjs-default-skin vjs-big-play-centered" controls preload=auto width=640 height=360 poster=/videos/hls/video3/poster.webp data-setup='{"fluid": true}'>
<source src=/videos/hls/video3/index.m3u8 type=video/mp4><p class=vjs-no-js>To view this video please enable JavaScript, and consider upgrading to a
web browser that
<a href=https://videojs.com/html5-video-support/ target=_blank>supports HTML5 video</a></p></video></div><style>.responsive-video-container{position:relative;width:100%;margin-bottom:2rem}.video-js{width:100%;height:auto;aspect-ratio:16/9}</style><script>document.addEventListener("DOMContentLoaded",function(){var e=videojs("video3")})</script><img class=responsive-img src=/images/PCBBasic2_10.webp alt="Control panel installed and connected to the ShowerLoop system showing operational status">
<img class=responsive-img src=/images/PCBBasic2_11.webp alt="Complete ShowerLoop control system with the new electronics board fully wired and functional"></div><span>Tags:</span>
<span class=nowrap><em><span class=ph1>post</span></em>
</span><span class=share><span>Share:</span>
<a target=_blank href="https://www.facebook.com/sharer/sharer.php?u=http://localhost:1313/posts/blog1/"><i class="fab fa-facebook-square"></i>
</a><a target=_blank href="http://twitter.com/share?url=http://localhost:1313/posts/blog1/"><i class="fab fa-twitter-square"></i>
</a><a target=_blank href="http://www.reddit.com/submit?url=http://localhost:1313/posts/blog1/"><i class="fab fa-reddit-square"></i></a></span></div></div></div></div></div></div></div></div></main><footer class="mdl-mini-footer site-footer"><div class=mdl-mini-footer__left-section>&copy 2020 Shower Loop | All Rights Reserved</div><div class=mdl-mini-footer__right-section></div></footer></div><script>document.addEventListener("DOMContentLoaded",function(){setTimeout(function(){if(!window.__bfcacheLiveReloadActive){const e=window.location.protocol==="https:"?"wss:":"ws:",t=`${e}//${window.location.host}/__livereload`;try{if(window.OriginalWebSocket){const e=new window.OriginalWebSocket(t);e.onmessage=function(e){e.data==="reload"&&window.location.reload()},window.__bfcacheLiveReloadActive=!0}}catch(e){console.warn("LiveReload connection error:",e)}}},500)})</script><script src=/js/video-init-fixed.min.js></script></body></html>