<?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>Puck&#039;s Workbench &#187; ZigBee</title>
	<atom:link href="http://www.e-techgarage.com/Puck/category/wireless/zigbee/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.e-techgarage.com/Puck</link>
	<description>Embedded Geek</description>
	<lastBuildDate>Thu, 22 Apr 2010 00:00:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ZigBee Remote, Slave Mode, and the Restraining Bolt</title>
		<link>http://www.e-techgarage.com/Puck/2010/04/21/zigbee-remote-slave-mode-and-the-restraining-bolt/</link>
		<comments>http://www.e-techgarage.com/Puck/2010/04/21/zigbee-remote-slave-mode-and-the-restraining-bolt/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 23:58:30 +0000</pubDate>
		<dc:creator>Puck</dc:creator>
				<category><![CDATA[Analog Circuits]]></category>
		<category><![CDATA[C Programming]]></category>
		<category><![CDATA[Circuits]]></category>
		<category><![CDATA[Digital Circuits]]></category>
		<category><![CDATA[Rover]]></category>
		<category><![CDATA[Wireless]]></category>
		<category><![CDATA[ZigBee]]></category>

		<guid isPermaLink="false">http://www.e-techgarage.com/Puck/?p=704</guid>
		<description><![CDATA[At the request of our marketing team we have taken our intelligent rover who avoids obstacles without any assistance from anyone and given him a remote control feature via ZigBee.
Personally, I find this to be a sad state of affairs when an intelligent robot with SONAR vision is asked to behave like an RC car. [...]]]></description>
			<content:encoded><![CDATA[<p>At the request of our marketing team we have taken our intelligent rover who avoids obstacles without any assistance from anyone and given him a remote control feature via ZigBee.</p>
<p>Personally, I find this to be a sad state of affairs when an intelligent robot with SONAR vision is asked to behave like an RC car.   I&#8217;ve named this mode of operation &#8220;Slave Mode&#8221; to quietly voice my opinion on the matter.  It&#8217;s something like a zombie version of the same rover and you can understand why R2-D2 was so interested in getting rid of that restraining bolt in the first Star Wars movie so he could run for the hills.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="405" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/q9VN-eXc4RA&amp;hl=en_US&amp;fs=1&amp;color1=0x234900&amp;color2=0x4e9e00&amp;border=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="500" height="405" src="http://www.youtube.com/v/q9VN-eXc4RA&amp;hl=en_US&amp;fs=1&amp;color1=0x234900&amp;color2=0x4e9e00&amp;border=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>For the record, I wrote a command interpreter for the Rover so you can send him into Slave mode with a Wi-Fi device, ZigBee, or even from his own web server.  Truly, he is not going to escape and run off to find Obi-Won Kenobi.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.e-techgarage.com/Puck/2010/04/21/zigbee-remote-slave-mode-and-the-restraining-bolt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ZigBee and the Rover</title>
		<link>http://www.e-techgarage.com/Puck/2010/02/12/zigbee-and-the-rover/</link>
		<comments>http://www.e-techgarage.com/Puck/2010/02/12/zigbee-and-the-rover/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 00:59:52 +0000</pubDate>
		<dc:creator>Puck</dc:creator>
				<category><![CDATA[Analog Circuits]]></category>
		<category><![CDATA[C Programming]]></category>
		<category><![CDATA[Circuits]]></category>
		<category><![CDATA[Digital Circuits]]></category>
		<category><![CDATA[Rover]]></category>
		<category><![CDATA[Wireless]]></category>
		<category><![CDATA[ZigBee]]></category>

		<guid isPermaLink="false">http://www.e-techgarage.com/Puck/?p=690</guid>
		<description><![CDATA[Anyone working in the Embedded field by now has caught the wireless ZigBee buzz and RoverLORD is no exception.  Digi has a pretty strong line of ZigBee products.
Adding ZigBee to the Rover&#8230; Scary Scary!
I admit that ZigBee is pretty intimidating but getting him up and running was less than a day with the Rabbit code.
The [...]]]></description>
			<content:encoded><![CDATA[<p>Anyone working in the Embedded field by now has caught the wireless ZigBee buzz and RoverLORD is no exception.  <a href="http://www.digi.com/products/wireless/zigbee-mesh/xbee-zb-module.jsp#overview">Digi has a pretty strong line of ZigBee products</a>.</p>
<h2>Adding ZigBee to the Rover&#8230; Scary Scary!</h2>
<p>I admit that ZigBee is pretty intimidating but getting him up and running was less than a day with the Rabbit code.</p>
<p>The first thing you want to realize is that you can set up one of the ZigBee modems to fake out a serial port.  Why is that important?  It means my Rover doesn&#8217;t need to know &#8220;<em>thing one</em>&#8221; about ZigBee.  He just writes or reads with his serial port and the modem does all the work.  If there is no need to worry about the ZigBee software, I don&#8217;t increase my project&#8217;s code size and my CPU doesn&#8217;t have to carry the overhead either.</p>
<p>On the other end I have an <a href="http://www.rabbit.com/products/rcm4500W/">RCM4510W</a> acting as the ZigBee coordinator to the Rover&#8217;s ZigBee end device.  He comes up using our ZigBee API, sends off a command to set the Rover&#8217;s modem as a transparent serial port and then sits there listening as my rover happily chatters away to his fake serial port.  Little does he know that every log entry is being passed wirelessly to my other Rabbit where I can easily dump the data into a log file.</p>
<h2>ZigBee at Play</h2>
<p>In this video you can see our Rover happily face-planting into a cube wall while he reliably sends us a description of his many woes via the ZigBee connection back to my PC.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="445" height="364" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/LP7HLShdV78&amp;hl=en_US&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6&amp;border=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="445" height="364" src="http://www.youtube.com/v/LP7HLShdV78&amp;hl=en_US&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6&amp;border=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>You will see an XBee Series 2 modem on the Rover in the video and in the image below.</p>
<div id="attachment_692" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/ZigBee_Rover_PCB.JPG"><img class="size-medium wp-image-692 " style="border: 5px solid black;" title="ZigBee_Rover_PCB" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2010/02/ZigBee_Rover_PCB-300x225.jpg" alt="You can see the blue ZigBee Modem on the PCB." width="300" height="225" /></a><p class="wp-caption-text">You can see the blue ZigBee Modem on the PCB.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.e-techgarage.com/Puck/2010/02/12/zigbee-and-the-rover/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Laziness as an Embedded Engineering Virtue</title>
		<link>http://www.e-techgarage.com/Puck/2009/12/04/laziness-as-an-embedded-engineering-virtue/</link>
		<comments>http://www.e-techgarage.com/Puck/2009/12/04/laziness-as-an-embedded-engineering-virtue/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 19:11:05 +0000</pubDate>
		<dc:creator>Puck</dc:creator>
				<category><![CDATA[Analog Circuits]]></category>
		<category><![CDATA[Circuits]]></category>
		<category><![CDATA[Digital Circuits]]></category>
		<category><![CDATA[Rover]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Wi-Fi]]></category>
		<category><![CDATA[Wireless]]></category>
		<category><![CDATA[ZigBee]]></category>

		<guid isPermaLink="false">http://www.e-techgarage.com/Puck/?p=215</guid>
		<description><![CDATA[After the Rover&#8217;s successful motor test, we noticed that assembling the device was a bit finicky.  Rather than fit everything onto the RCM5600W&#8217;s prototyping board, it would be easier to layout a printed circuit board.  We could also replace the 8 operational amplifiers with a single 8-pin buffer chip made by Texas Instruments called a [...]]]></description>
			<content:encoded><![CDATA[<p>After the <a href="http://www.e-techgarage.com/Puck/2009/12/03/rovers-first-motor-circuit-test/">Rover&#8217;s successful motor test</a>, we noticed that assembling the device was a bit finicky.  Rather than fit everything onto the <a href="http://www.rabbit.com/products/rcm5600w/">RCM5600W</a>&#8217;s prototyping board, it would be easier to layout a printed circuit board.  We could also replace the 8 operational amplifiers with a single 8-pin buffer <a href="http://focus.ti.com/docs/prod/folders/print/sn74hct541.html">chip made by Texas Instruments called a 74HCT541</a>.</p>
<h2>Jimmy Buffer steps up to the Microphone</h2>
<p>We have 8 digital outputs from the Rabbit&#8217;s parallel port A that we need to shift from 0-3 volts up to 0-5 volts and we have determined experimentally that we are too lazy to solder 8 Op-Amps. <img src='http://www.e-techgarage.com/Puck/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>First, the buffer is a digital device so it will either output 0 volts or 5 volts (Vcc).  According to the buffer chip&#8217;s <a href="http://focus.ti.com/lit/ds/symlink/sn74hct541.pdf">datasheet</a>, it will read anything above 2 volts as a <strong>logical 1</strong>.  The Rabbit&#8217;s output at 3.3 volts will get bumped up to 5 volts by the buffer and that means &#8220;<em>bye-bye</em>&#8221; to the operational amplifiers.</p>
<div id="attachment_221" class="wp-caption aligncenter" style="width: 417px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2009/12/Adding-an-8-pin-buffer.bmp"><img class="size-full wp-image-221 " style="border: 1px solid black;" title="Adding an 8 pin buffer" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2009/12/Adding-an-8-pin-buffer.bmp" alt="Swapping out the Op-Amps with an 8-pin buffer" width="407" height="342" /></a><p class="wp-caption-text">Swapping out the Op-Amps with an 8-pin buffer</p></div>
<h2 style="text-align: left;">Adding Features</h2>
<p>With the circuit already drawn up in <a href="http://www.diptrace.com/">DipTrace</a>, it wasn&#8217;t tough to update it and add a few new features.</p>
<ul>
<li>Add some 50-pin headers so we can plug directly into the <a href="http://www.rabbit.com/products/rcm5600w/">RCM5600W</a>&#8217;s demonstration board</li>
<li>Replace the 8 Op-Amps with a single bus driver chip</li>
<li>Add one more voltage regulator so we have access to 12 volt, 5 volt, and 3.3 volt supplies</li>
<li>Add a socket for an <a href="http://www.digi.com/products/wireless/zigbee-mesh/">XBee ZigBee modem</a></li>
</ul>
<p><a href="http://www.e-techgarage.com/Larry/?p=70">Check out Larry&#8217;s blog entry for more details and the files used to create the circuit board.</a></p>
<h2>The New Schematic</h2>
<p style="text-align: center;">
<div class="wp-caption aligncenter" style="width: 435px"><a title="Schematic version 1.1" href="http://www.e-techgarage.com/Larry/Files/Rover%20Files/MotorDriver.jpg"><img class="       " style="border: 1px solid black;" title="MotorDriver.jpg" src="http://www.e-techgarage.com/Larry/Files/Rover%20Files/MotorDriver.jpg" alt="Schematic Version 1.1" width="425" height="289" /></a><p class="wp-caption-text">Schematic Version 1.1</p></div>
<p>The last item is a big feature addition.  The Rabbit already has 802.11g Wi-Fi built into the <a href="http://www.rabbit.com/products/rcm5600w/">RCM5600W</a> and we&#8217;re planning on using the embedded server to deliver web pages for controls and other functionality.  However, Wi-Fi is short range and if we were to hypothetically toss the Rover out of a plane at 30,000 feet his odds of finding a Wi-Fi connection aren&#8217;t great as he plummets to the earth.  It might be useful to have a long range wireless connection for commands like &#8220;<em>deploy parachute</em>&#8220;.</p>
<p>Some of the ZigBee modems like the <a href="http://www.digi.com/products/wireless/zigbee-mesh/">XBee</a> can have much higher range because they operate at lower frequency.   A high gain ZigBee device operating at 900 Mhz with good line of sight can reach a <a href="http://www.digi.com/products/wireless/zigbee-mesh/xbee-digimesh-900.jsp#specs">range of up to 6 miles</a>.  We won&#8217;t be sending data quickly, but remote operation becomes a real possibility.</p>
<h3>The New Fangled Custom Printed Circuit Board (PCB)</h3>
<h3>
<p><div id="attachment_231" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.e-techgarage.com/Puck/wp-content/uploads/2009/12/Rover_PCB.JPG"><img class="size-medium wp-image-231" title="Rover_PCB" src="http://www.e-techgarage.com/Puck/wp-content/uploads/2009/12/Rover_PCB-300x224.jpg" alt="The Rover PCB" width="300" height="224" /></a><p class="wp-caption-text">The Rover PCB</p></div></h3>
<h2>The Joy of Lazy</h2>
<p>While it might seem like a bad thing to be too lazy to solder down 8 Op-Amps, we have actually reduced the complexity of the design and the overall production cost.  In embedded engineering a simpler design is generally better and a little laziness up front will save us plenty of work later if we decide to build an army of Rovers to conquer the earth.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.e-techgarage.com/Puck/2009/12/04/laziness-as-an-embedded-engineering-virtue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
