<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>justDIY Project Log &#187; Control</title>
	<atom:link href="http://projects.dimension-x.net/archives/category/project/control/feed" rel="self" type="application/rss+xml" />
	<link>http://projects.dimension-x.net</link>
	<description>Thoughts, ideas, projects, pictures.</description>
	<lastBuildDate>Fri, 18 Sep 2009 19:09:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Capacitive Sensing Continued</title>
		<link>http://projects.dimension-x.net/archives/112</link>
		<comments>http://projects.dimension-x.net/archives/112#comments</comments>
		<pubDate>Mon, 30 Jul 2007 04:53:35 +0000</pubDate>
		<dc:creator>justDIY</dc:creator>
				<category><![CDATA[Control]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Prototyping]]></category>
		<category><![CDATA[Sensor]]></category>

		<guid isPermaLink="false">http://projects.dimension-x.net/archives/112</guid>
		<description><![CDATA[Hello readers from MAKE: as well as all other readers :) My prototype touch sensor worked so well, that it hasn&#8217;t needed much changing. I sent the design off to Custom PCB, and less than a week later, I had a pile of circuit boards waiting for me. I changed the layout around a little, [...]]]></description>
			<content:encoded><![CDATA[<p>Hello readers from MAKE: as well as all other readers :)</p>
<p>My prototype touch sensor worked so well, that it hasn&#8217;t needed much changing.  I sent the design off to Custom PCB, and less than a week later, I had a pile of circuit boards waiting for me.</p>
<p><img src="/pictures/touch/pcb3_cmp_sm.jpg" alt="" /></p>
<p>I changed the layout around a little, mostly adding a 2&#215;8 header for accepting a ribbon cable style connection.  The header combines power, ground and outputs into a single connection, making it easier to connect to the main board of my larger project (sprinkler controller).  Each touch output is paired with a ground wire, which I suppose makes it more resistant to interference.   The caps I used this time are polyester film 220 nF, doubling the amount of capacitance compared to what was used on the prototype.</p>
<p>Yes, the ugly piece of plexi is still ugly.  Don&#8217;t worry, it will be hidden from view.  In the final configuration, this board and its plexiglas spacer will be inside a plastic project box.  I&#8217;ll have a laminated &#8220;keypad&#8221; overlay affixed to the outside of the box so I can see where the buttons are.  The spacer will be flipped around, going on the solder side, giving me enough clearance to flush-mount the sensor with the wall of the box.  Flush mount is very important, as even the slightest air-gap will ruin the proximity sensing effect.  </p>
<p><img src="/pictures/touch/pcb3_sod_lg.jpg" alt="" / width="480"></p>
<p>Nothing much to see solder side&#8230; a few smt passives set options on the chip, as well as decouple and filter the incoming power.  The big resistor limits current for the meager power led which no one will ever see once the board is in use.</p>
<p>I&#8217;m very close to finishing the larger irrigation control project, hopefully sometime this week!  Thanks for reading!</p>
<img src="http://projects.dimension-x.net/?ak_action=api_record_view&id=112&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://projects.dimension-x.net/archives/112/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Audio Matrix Switch</title>
		<link>http://projects.dimension-x.net/archives/75</link>
		<comments>http://projects.dimension-x.net/archives/75#comments</comments>
		<pubDate>Sun, 09 Apr 2006 18:23:36 +0000</pubDate>
		<dc:creator>justDIY</dc:creator>
				<category><![CDATA[Audio]]></category>
		<category><![CDATA[CAD]]></category>
		<category><![CDATA[Control]]></category>
		<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://projects.dimension-x.net/archives/75</guid>
		<description><![CDATA[Digitally Sontrolled Stereo 4 Input 4 Output Audio Matrix Switch]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had some down time project wise lately, most of my SMPS research is on hold, since I need to order even more parts (namely diodes and switches)&#8230; so, I&#8217;ve taken the time to draw.</p>
<p>One of my &#8216;back burner&#8217; projects is a whole-house audio distribution system.  So, this past week or so, I set out to design the heart of the system, a matrix switch.   Originally I had tried to go &#8220;too big&#8221;, designing a system with four inputs and eight outputs.  However, routing the signal lines and control lines was too much of a challenge, even using a two layer board.   So, scaling things back, I wound up with a 4&#215;4 matrix that was barely manageable.</p>
<p><a href="http://projects.dimension-x.net/pictures/audio/rev3-2_smt_sch.gif"><img src="/pictures/audio/rev3-2_smt_sch_sm.gif" alt="audio matrix switch 4x4 74hc4052 74hc595 schematic" /></a></p>
<p>There is the schematic for the latest &#8216;stable&#8217; version.   I call it a stable version, because it passes all of the DRC tests and all the nets are routed.  I have another version in design, which adds ESD protection to the external audio connections in the form of high speed schottky diodes which will clip any voltage coming in that rises above or falls below Vcc and Vee.</p>
<p>Control will be provided by either a serial / parallel connection to the audio server PC, or from a &#8220;controller board&#8221; powered by a microcontroller.   I haven&#8217;t really figured out how complex I want to make the interface yet.   Control of the switch itself is fairly straight forward.   Two 74HC595 latching registers are daisy chained together, forming a sixteen bit register.   This register is used to provide the eight bits which tell the multiplexers which connections to make.  Each multiplexer has a two bit interface, A and B, which selects one of the four IO channels to be connected to the COM channel.   I selected the 4052 multiplexer which is internally divided into two sets of four channels each, ideal for stereo I thought.   So the first eight bits of my 595 register are connected to the eight control lines on the 4052&#8242;s.  Second, to provide a &#8220;hardware mute&#8221; or &#8220;output enable&#8221; feature, another four bits of my 595 register are connected to the /Inhibit (enable) control lines on the 4052&#8242;s.   This allows the output of each 4052 to be electrically disconnected from all the sources.  The final four bits of the register are used to power four &#8220;general purpose outputs&#8221;, perhaps to control relays, external indicators, whatever.  The control lines connecting to the GPO header have inline resistors, to limit current draw to a safe level, so not to damage the 595 in the event of a short or connection to an unsuitable load.  The four bits connected to the inhibit lines are also connected to four LEDs, so I can see which zones are active.</p>
<p>The 74HC4052 is an &#8220;analog&#8221; multiplexer, in that it allows voltages other than digital 1&#8242;s and 0&#8242;s to pass through.  It is also a bidirectional multiplexer, allowing current to flow in either direction.  This allows the multiplexer to handle the &#8220;AC&#8221; nature of an audio signal.  In order to allow a true bipolar sine wave to pass, the 4052 requires a dual rail voltage supply.   For simplicity, I will be using a five volt supply with positive and negative outputs.</p>
<p><a href="http://projects.dimension-x.net/pictures/audio/rev3-2_smt_bare.gif"><img src="/pictures/audio/rev3-2_smt_bare_sm.gif" alt="two layer pcb layout audio matrix switch" /></a></p>
<p>Here is the &#8216;bare&#8217; pcb layout, without the top and bottom pours rendered.   This is a composite, showing both the   top layer and bottom layer at the same time.  It&#8217;s easier to follow the traces this way I think.</p>
<p><a href="http://projects.dimension-x.net/pictures/audio/rev3-2_smt_filled.gif"><img src="/pictures/audio/rev3-2_smt_filled_sm.gif" alt="two layer pcb layout audio matrix switch" /></a></p>
<p>Adding in the ground planes or copper pours, it makes the board look mostly purple.   I tried to maximize the size of the pours, to help minimize any interference or crosstalk.  Although, at such low frequencies, I don&#8217;t really expect much trouble.</p>
<p><a href="http://projects.dimension-x.net/pictures/audio/rev3-2_smt_parts.gif"><img src="/pictures/audio/rev3-2_smt_parts_sm.gif" alt="pcb parts layout silkscreen audio matrix switch" /></a></p>
<p>Finally, the board with just the silkscreen or layout layer selected.   This again, is a composite, showing parts on both the top and bottom of the board, which makes it look like some of the parts are overlapped.</p>
<p>There is a lot more to come on this subject, but it will be a while.   Overall, this was just a fun project to draw, and hopefully one day it will actually get fabricated.   I need to figure out how complex I want the interface to be, and what options I have for interfacing with the audio server.</p>
<img src="http://projects.dimension-x.net/?ak_action=api_record_view&id=75&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://projects.dimension-x.net/archives/75/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Touch Sensing Building Blocks I</title>
		<link>http://projects.dimension-x.net/archives/73</link>
		<comments>http://projects.dimension-x.net/archives/73#comments</comments>
		<pubDate>Tue, 14 Mar 2006 03:11:37 +0000</pubDate>
		<dc:creator>justDIY</dc:creator>
				<category><![CDATA[Control]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[LEDs]]></category>
		<category><![CDATA[Microcontroller]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Sensor]]></category>

		<guid isPermaLink="false">http://projects.dimension-x.net/archives/73</guid>
		<description><![CDATA[Software development is nearing 'beta' status.]]></description>
			<content:encoded><![CDATA[<p>The &#8220;core&#8221; building-block I mentioned in my last post is nearing completion, at least, the software.</p>
<p>I have my microcontroller handling &#8220;switch emulation&#8221; tasks.   It can emulate either group of momentary switches or a group of toggle switches.   Response time is real good in a dimly lit room, and it works decently well even with the overhead fluorescents turned on.</p>
<p>Right now I&#8217;m working on a basic keypad PCB I can throw together, for a &#8216;proof of concept&#8217; prototype.   The first keypads will likely only support 6 keys, and I&#8217;ll build from there.  Six keys requires twelve LEDs, six of them need direct and discrete anode and cathode connection to the microcontroller.  The other six LEDs are providing bias light for the sensors to &#8220;see&#8221;.</p>
<p>I should have a video up tomorrow of the breadboard in action, and hopefully some pcb&#8217;s by next weekend.</p>
<img src="http://projects.dimension-x.net/?ak_action=api_record_view&id=73&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://projects.dimension-x.net/archives/73/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Water Filter Controller</title>
		<link>http://projects.dimension-x.net/archives/70</link>
		<comments>http://projects.dimension-x.net/archives/70#comments</comments>
		<pubDate>Mon, 06 Mar 2006 17:05:18 +0000</pubDate>
		<dc:creator>justDIY</dc:creator>
				<category><![CDATA[Control]]></category>
		<category><![CDATA[Microcontroller]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Sensor]]></category>

		<guid isPermaLink="false">http://projects.dimension-x.net/archives/70</guid>
		<description><![CDATA[Oops!]]></description>
			<content:encoded><![CDATA[<p>The old adage &#8220;measure twice, cut once&#8221; has a realitve in the field of electronics engineering; &#8220;measure twice, design once&#8221; &#8230; ok, well maybe that&#8217;s a bit corny but anyway.</p>
<p>Turns out the controller I designed for my water filter is pretty much useles.  My filter&#8217;s pump is not the 12vdc that I imagined it to be, instead, it is 24vac.   So the two smt mosfets which I soldered to my pcb with generous amounts of solder, are not capable of switching AC.    Worse, I had planned to power the controller itself off the psu for the pump, so the 7805 vreg I&#8217;m using will not appericate AC on its input terminals either.</p>
<p>I plan to salvage this situation however&#8230; using relays, either mechanical or electronic, as well as a separate power supply.  So, I will use a ~12 volt unregulated supply to power a pair of mechanical relays, one for the pump, one for the valve, which in turn will be switched by the mosfets.   Or, I can desolder / destroy / jumper over the mosfets, and run a +5v control signal to my outputs, for control of a solid state relay.</p>
<p>I need to price out the cost of mechanical vs solid state &#8230;. probably solid state will win, I think I can build a triac based ssr for under $2.</p>
<img src="http://projects.dimension-x.net/?ak_action=api_record_view&id=70&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://projects.dimension-x.net/archives/70/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Water Filter Controller</title>
		<link>http://projects.dimension-x.net/archives/65</link>
		<comments>http://projects.dimension-x.net/archives/65#comments</comments>
		<pubDate>Thu, 23 Feb 2006 03:21:21 +0000</pubDate>
		<dc:creator>justDIY</dc:creator>
				<category><![CDATA[Control]]></category>
		<category><![CDATA[Microcontroller]]></category>
		<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://projects.dimension-x.net/archives/65</guid>
		<description><![CDATA[A utilitarian project that needed to get done!]]></description>
			<content:encoded><![CDATA[<p>As a fan of taking my dihydrogen monoxide in straight, uncut, uncorrupted liquid form, I purchased a six stage reverse osmosis filter some years ago.</p>
<p>My filter is a few years old now, and the super calcium enriched water we have in Michigan has taken its toll.   The filter used to shut off when the production tank was full.  However, the filter has recently developed a leak in the auto shutoff valve, so it&#8217;s constantly consuming water, even if the pressure tank can&#8217;t hold any more.  This leak started slow, and I could live with it.   In a few months, it had sped up to wasting a considerable amount of water.  So, rather than replace the auto shutoff valve, which would have been too easy, I decided to add a microcontroller instead.  The other problem my filter has, I discharge the brine water out to storage tanks next to my house, which hold the waste water, for watering plants and other uses.  Problem is, when the temperature gets too low, the discharge line can freeze, which is very bad for the filter.  So my microcontroller solves this problem as well.</p>
<p>The mcu is performing a few simple logic operations, with a few twists.  First, it checks to see if the pressure tank reads &#8220;high&#8221; or &#8220;low&#8221;, via a pressure sensitive switch.  If the tank reads &#8220;low&#8221;, that is the first &#8220;1&#8243; in my logic comparison &#8211; a simple AND operation.  Second, the mcu checks to see if the outdoor ambient is above 38°F.    That is my second &#8220;1&#8243; in the AND operation.  If the pressure is low and the temp is good, a flag is set to enable the boost pump and water supply valve.  A timer detects this flag and begins a countdown of 30 seconds (roughly).  I chose to use a timer to buffer any false readings that may occur for whatever reason.  After the 30 seconds has elapsed, the mcu turns on two mosfet switches, controlling the current for a solenoid valve and the boost pump.  The mcu continues to monitor the two variables of the AND operation, if either changes, the &#8220;make water&#8221; flag is cleared, and the mcu turns off the water supply valve and the boost pump.</p>
<p><a href="http://projects.dimension-x.net/pictures/watermeter/sch_big.gif"><img src="/pictures/watermeter/sch_sm.gif" alt="schematic diagram of water filter controller" /></a><br />
(click for super-sized version)</p>
<p>Two N-Channel mosfets control the current for the boost pump and the solenoid valve.  The valve is a 24VAC lawn sprinkler valve, but I have tested it and it works well on 12vdc.  The boost pump is a 100 gpd, 100 psi diaphragm pump, which delivers slow but steady high pressure water for optimal membrane operation.  Pull-down resistors R3 and R7 are provided to prevent mosfet self-destruction should something happen to the microcontroller.  The connectors TEMP, PRES and DISABLE are pin headers for connecting to external transducers.  For reading temperatures, I chose the Dallas DS18B20 high precision digital thermometer with 1-Wire interface.  The pressure switch is a simple normally closed pressure sensitive switch that opens around 45 psi.  It is wired to present the PIC with a logical &#8220;1&#8243; when the pressure is low.  The disable connector will be connected to a shut-off switch, allowing me to temporarily halt production.    The LEDs are just for indication of various operational conditions and modes.  A 7805 regulator provides the pic with 5v from the 12v supply for the pump and valve.</p>
<p><img src="/pictures/watermeter/controller_top.jpg" alt="water filter controller assembled top view" /></p>
<p>Rather than cobble this together on protoboard, I made up some PCBs real quick.  Here is a top view of the controller, without any connections, except for the thermometer.  When installed, the thermometer will be installed at the end of a ~10ft shielded cable, for sensing the ambient temperature near my water storage tanks.</p>
<p><img src="/pictures/watermeter/controller_bot.jpg" alt="water filter controller assembled bottom view" /></p>
<p>Here is the messy solder side of my controller.  I haven&#8217;t hosed it down with alcohol yet to clean off the flux.  I waited till it was good and late before soldering anything, so some of those joints are pretty nasty &#8211; I apologize.</p>
<p><a href="http://projects.dimension-x.net/pictures/watermeter/watermeter2b.tif"><img src="/pictures/watermeter/layout.gif" alt="water filter controller pcb layout" /></a><br />
(click to download full res)</p>
<p>The PCB layout was pretty easy &#8211; I had a lot of room to work with, as the enclosure I have selected is pretty big.  This image shows the parts layout, along with the bottom copper artwork.  The top layer artwork (in red) is for two jumper wires.  Clicking on the above layout will get you a 300 DPI monochrome TIFF of the bottom layer artwork.  Print this out at 300DPI and you should have a 1:1 scale of the pcb, incase anyone wants to make their own.  Hit the contact justDIY link on the side menu if you want the firmware source code &#8211; it is written in Proton Plus basic.</p>
<img src="http://projects.dimension-x.net/?ak_action=api_record_view&id=65&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://projects.dimension-x.net/archives/65/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
