<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-26759432</id><updated>2011-11-01T02:45:45.869-07:00</updated><title type='text'>Men with Soldering Irons</title><subtitle type='html'>Mainly but not limited to my attempt to build a MiWi wireless home control and security network.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>38</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-26759432.post-3966392262191818991</id><published>2011-04-10T09:02:00.000-07:00</published><updated>2011-04-10T09:05:47.374-07:00</updated><title type='text'>Eagle ULP's</title><content type='html'>I have have mentioned the Eagle User Language Program drill-aid.ulp in the past.  It reduces the size of the hole to serve as a place to start a drill.&lt;br /&gt;&lt;br /&gt;Another interesting ULP is &lt;span style="font-weight: bold;"&gt;find-single-ended-wire.ulp.&lt;/span&gt;  This does the expected thing and finds wires on the layout that go nowhere.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-3966392262191818991?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/3966392262191818991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=3966392262191818991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/3966392262191818991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/3966392262191818991'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2011/04/eagle-ulps.html' title='Eagle ULP&apos;s'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-2123744497919112238</id><published>2011-04-09T07:17:00.000-07:00</published><updated>2011-04-10T09:02:22.517-07:00</updated><title type='text'></title><content type='html'>Finished the layout for a new node based on the PIC18LF27J12 DIP.  All caps and resistors are SMD.&lt;br /&gt;&lt;br /&gt;The PSU board was as much of a challenge as the processor board.  I need to record some part numbers here.&lt;br /&gt;&lt;br /&gt;The charging section is mostly unchanged.  I am using the same diode in all 3 spots.  The idea is to get one with a low Vforward.&lt;br /&gt;&lt;br /&gt;The one I would like to get from mouser is out of stock till July but I ordered 100 of them at 9 cents each &lt;a id="ctl00_ContentMain_CartGrid_grid_ctl03_ctl00_lnkManufacturerPartNumber" href="http://www.mouser.com/Search/ProductDetail.aspx?R=MBR120VLSFT3Gvirtualkey58410000virtualkey863-MBR120VLSFT3G" style="font-weight: bold;"&gt;MBR120VLSFT3G&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For now I have ordered 15 of these for 30 cents each.&lt;br /&gt;&lt;table class="no-border"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2"&gt;                 &lt;a id="ctl00_ContentMain_CartGrid_grid_ctl02_ctl00_lnkManufacturerPartNumber" href="http://www.mouser.com/Search/ProductDetail.aspx?R=MBR130LSFT1Gvirtualkey58410000virtualkey863-MBR130LSFT1G" style="font-weight: bold;"&gt;MBR130LSFT1G&lt;br /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table class="no-border"&gt;&lt;/table&gt;&lt;br /&gt;Also ordered 5 regulators with 3.3V and 2.5V outputs.  They are at end of life so the supply is limited.  If I use more of these I need to order them soon.  First I want to see if I can solder them and then maybe see if I can use the F version of the PIC and not need them.&lt;br /&gt;&lt;table class="no-border"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="width: 60px;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;           &lt;br /&gt;&lt;/td&gt;             &lt;td colspan="2"&gt;                 &lt;a id="ctl00_ContentMain_CartGrid_grid_ctl14_ctl00_lnkManufacturerPartNumber" href="http://www.mouser.com/Search/ProductDetail.aspx?R=PQ2L3252MSPQvirtualkey56850000virtualkey852-PQ2L3252MSPQ" style="font-weight: bold;"&gt;PQ2L3252MSPQ&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-2123744497919112238?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/2123744497919112238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=2123744497919112238' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/2123744497919112238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/2123744497919112238'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2011/04/finished-layout-for-new-node-based-on.html' title=''/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-5909184481559874791</id><published>2011-04-05T05:13:00.000-07:00</published><updated>2011-04-05T08:23:45.576-07:00</updated><title type='text'></title><content type='html'>These is good news regarding the PIC18LF27J13.   The PK3 mod suggested by Microchip support fixed the problem ID'ing the chip.  Changed one resistor on the bottom and paralleled  and one to the existing top one to lower its effective value.&lt;br /&gt;&lt;br /&gt;Goofed on the 2nd charger board as explained in the previous post.  the current resistor arrangement is now.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt; &lt;table&gt;  &lt;tbody&gt;&lt;tr&gt;&lt;br /&gt;resistor pairs&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt; &lt;td&gt;1st&lt;/td&gt;  &lt;td&gt;2nd&lt;/td&gt;  &lt;td&gt;3rd&lt;/td&gt;  &lt;td&gt;4th&lt;/td&gt;  &lt;td&gt;5th&lt;/td&gt;  &lt;/tr&gt;&lt;br /&gt;&lt;tr&gt; &lt;td&gt;2.7K&lt;/td&gt; &lt;td&gt;2.2K&lt;/td&gt; &lt;td&gt;2.2K&lt;/td&gt; &lt;td&gt;3.3K&lt;/td&gt; &lt;td&gt;3.3K&lt;/td&gt; &lt;/tr&gt;&lt;br /&gt;&lt;tr&gt; &lt;td&gt;2.7K&lt;/td&gt; &lt;td&gt;100R&lt;/td&gt; &lt;td&gt;2.2K&lt;/td&gt; &lt;td&gt;1K&lt;/td&gt;   &lt;td&gt;1K&lt;/td&gt;   &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/blockquote&gt;All battery+ connections have to go on the 3rd position.&lt;br /&gt;The line sense needs to be on the 2nd position.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-5909184481559874791?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/5909184481559874791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=5909184481559874791' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/5909184481559874791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/5909184481559874791'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2011/04/these-is-good-news-regarding.html' title=''/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-6221414305840710748</id><published>2011-04-02T05:13:00.000-07:00</published><updated>2011-04-05T04:34:16.450-07:00</updated><title type='text'></title><content type='html'>Fine tuned the battery management code to work with the MiWi network stack.  Mostly had to adjust the size of &lt;a href="http://www.rocklore.com/3v0/ODT/DJ_coop_A.pdf"&gt;NAOS&lt;/a&gt; states to ensure that the stack could run when it needed to.&lt;br /&gt;&lt;br /&gt;The console is broken.   it goes of into the weeds during a printf.  The count returned by printf is nonsense.  Could be a problem with the ISR ?  GIven that only the main coordinator will use a console connected to anything but the network I am thinking of using a 2nd processor on it and sending bytes between then using SPI.&lt;br /&gt;&lt;br /&gt;Populated the 2nd charger board.  Only using 1 ADC for the battery and one of the 2nd position will be used to sense line voltage.  Used 2.2K's for the battery and a 2.2K/100R for the line.  Used a 4.3R 1/2 Watt resistor to set the charge current to 1.25V/4.3R = 290 mA.  Works out to about 1/3 Watt.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Edit: there is a problme in using the 1st position on the charger PCB for the battery.  The charging circuitry are attached to the 3rd position so the battery sensing will have to be moved there and it will have to be populated.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Using MPLAB 8 to build one node and MPLAB X for a second.  By setting MCC18 command definitions for EUI_0 I can build the both nodes from the same source.  Sort of coo as you edit the shared code from either IDE.  Should be using multiple projects in the same IDE but for now MPLAB X is still new.&lt;br /&gt;&lt;br /&gt;Have yet to populate the discharge resistors.&lt;br /&gt;&lt;br /&gt;The PK3 will not ID the PIC18LFJ13 properly.  Microchip support suggest I change 2 resistors in the PK3&lt;span style="font-style: italic;"&gt;.  I expect I can avoid that by bringing VDD to 3.3V and keeping VDDCORE at 2.5V.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Discovered that it is possible to reflow with hot air on a PCB with a thin layer of acrylic spray.  The joints looked good with the ohm meter but am still holding my breath a bit&lt;br /&gt;.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-WqvzapOoYy8/TZcYM6t78UI/AAAAAAAAAH4/lttf6izD7OM/s1600/SDC10521_C.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 214px;" src="http://4.bp.blogspot.com/-WqvzapOoYy8/TZcYM6t78UI/AAAAAAAAAH4/lttf6izD7OM/s320/SDC10521_C.JPG" alt="" id="BLOGGER_PHOTO_ID_5590964072603185474" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-6221414305840710748?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/6221414305840710748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=6221414305840710748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/6221414305840710748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/6221414305840710748'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2011/04/fine-tuned-battery-management-code-to.html' title=''/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-WqvzapOoYy8/TZcYM6t78UI/AAAAAAAAAH4/lttf6izD7OM/s72-c/SDC10521_C.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-6749578315572110576</id><published>2011-03-18T16:02:00.001-07:00</published><updated>2011-03-29T06:40:32.211-07:00</updated><title type='text'></title><content type='html'>&lt;a href="http://1.bp.blogspot.com/-jULcbpUJ-mU/TXeWZko5twI/AAAAAAAAAHw/tkKFXpuzYW8/s1600/SDC10518.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 189px;" src="http://1.bp.blogspot.com/-jULcbpUJ-mU/TXeWZko5twI/AAAAAAAAAHw/tkKFXpuzYW8/s320/SDC10518.JPG" alt="" id="BLOGGER_PHOTO_ID_5582095629225146114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The testbed has been switched from the bench supply to a 5.4V wall  wart that that delivers 7,5V with this load of about 33mA.&lt;br /&gt;&lt;br /&gt;A 1K/100R voltage divider has been added to the system. (not shown) This allows me to crudely monitor the line voltage.  The ratio should be enough to protect the ADC from positive spikes. To protect it from negative voltages a diode has been inserted between the divider and the ADC.  The standard thing to do would have been to use an optoisolator.&lt;br /&gt;&lt;br /&gt;At 33mA a 750mAh battery should last 22 hours. I suspect that is expecting too much of the surplus battery.&lt;br /&gt;&lt;br /&gt;The final bit left on the battery backup is to cause the system to go to its lowest power mode when the battery is at 3V.   A bit of tweaking of the MiWI code allowed me to put the radio to sleep and wake it up.    The remaining part is to put the processor to sleep and figure out how to wake it when line  power returns.  And activate the WDT.&lt;br /&gt;&lt;br /&gt;The plan is to switch from the PIC18LF4620 to the PIC18LF47J13.   I bread boarded a PIC18LF27J13 but the PICKIT3 does not ID it and the PK2 with a patched .DAT file can not be used with MPLAB.  I have been able to program it with the PK2 using PICKIT2.exe but can not get the chip to execute.  Could be a config problem.&lt;br /&gt;&lt;br /&gt;The new PIC has a built in RTC and a band gap voltage reference that will allow me to properly monitor battery voltage with a falling VDD.  The unit uses a VDDCORE of 2.5V but can use a separate VDD of up to 3.3V for IO.  This is needed to work with the dallas 1 wire sensors.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-6749578315572110576?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/6749578315572110576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=6749578315572110576' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/6749578315572110576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/6749578315572110576'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2011/03/blog-post.html' title=''/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-jULcbpUJ-mU/TXeWZko5twI/AAAAAAAAAHw/tkKFXpuzYW8/s72-c/SDC10518.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-434008032913397660</id><published>2011-03-05T09:29:00.000-08:00</published><updated>2011-03-18T16:05:17.715-07:00</updated><title type='text'>Part I:: Inexpensive Micro Controller Battery Backup using NiMh</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-jULcbpUJ-mU/TXeWZko5twI/AAAAAAAAAHw/tkKFXpuzYW8/s1600/SDC10518.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 189px;" src="http://1.bp.blogspot.com/-jULcbpUJ-mU/TXeWZko5twI/AAAAAAAAAHw/tkKFXpuzYW8/s320/SDC10518.JPG" alt="" id="BLOGGER_PHOTO_ID_5582095629225146114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;My network has been making slow progress.  I have switched from RS485 to Zigbee to MiWi.  After a fair deal of work it became clear to me that ZigBee was bloated.  MiWi provides the same mesh network but has a much smaller footprint.&lt;br /&gt;&lt;br /&gt;In this post I will be talking about my progress on developing a battery backup for NiMh cells without buying a chare controller chip.&lt;br /&gt;&lt;br /&gt;The general idea is to use the LM317 as a constant current source for charging.  The current plan is to use a 7-12V wall wart as a power source.  The node will reduce that to 3.3V for its use and use the original wall wart voltage as input to the LM317 to charge the battery.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;NiMh Theory&lt;/span&gt;&lt;br /&gt;Lets start introducing some terms we ill be using.&lt;i&gt;&lt;br /&gt;C is a cell or battery capacity in mAh or mill Amp hours,  In theory a 100mAh cell would deliver 100mA of current for 1 hour or 50mA for 2 hours.&lt;br /&gt;&lt;br /&gt;Working C. The actual C of a cell or battery as opposed to what is printed on it.&lt;br /&gt;&lt;br /&gt;Voltage Threshold is the lowest voltage a cell should be discharged to.&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;The following illustrates the discharge curve for a NiMh cell. Image is from 4gdo.com,  they have a NiMh FAQ at  http://4gdo.com/batfaq.htm.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4gdo.com/images/Mhdisch.gif"&gt;&lt;img style="cursor: pointer; width: 500px; height: 350px;" src="http://4gdo.com/images/Mhdisch.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Each curve is for a different discharge rate based on the cell's capacity C.&lt;br /&gt;&lt;br /&gt;The only difficulty with NiMh chemistry cells is knowing when they are fully charged.  Several methods can be used.   For the time we will limit the discussion to single cells rather then batteries.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Stop after charging for a specific time period.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Continuous charge at .1C or less.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Stop when the cell voltage has peaked and is falling.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Stop when the cell has stopped increasing in voltage.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Stop when the cell temperature reaches a  temperature limit. &lt;/span&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Stop when the cell temperature increase per unit time exceeds a limit.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;I will talk about each method but first you need to know that when the cell is fully charged it continues to draw current.  Unfortunatly the current is used to drive an exothermic process that produces oxygen.   If too much oxygen is produced it is vented.   Because oxygen is lost the process can not reverse and the cell suffers a decrease in capacity.&lt;br /&gt;&lt;br /&gt;The 1st method assumes every battery is fully discharged.  Unless the battery is fully discharged it will be overcharged reduce the capacity.&lt;br /&gt;&lt;br /&gt;The 2nd method works well but for the fact that the 'working C' decreases with time.   Some people may not like the time required.&lt;br /&gt;&lt;br /&gt;The 3rd and 4th methods monitor battery voltage.  When a cell has charged to its full capacity its voltage stops increasing for a period then falls.  The 2nd method stops charging when a decrease in voltage has been detected.  The problem with this method is that cells can show false peaks especially at low charge rates.  Some cell heating will occur while waiting for the cell voltage to drop.&lt;br /&gt;&lt;br /&gt;The 4th method is similar to the 3rd but stops charging when the cell voltage stops increasing.  This method stops charging sooner after full charge.   This is  (dV/dt) method with zero as a limit.&lt;br /&gt;&lt;br /&gt;The next two methods are for fast charging only.  This is when the current is above 0.5C.  These methods require the addition expense of at least one temperature sensor.  Possibly one per cell.  They are unsuited for my use for this reason.&lt;br /&gt;&lt;br /&gt;The 5th method is know as TCO or Temperture Cut-Off.  Stop charging when a temperature is reached.&lt;br /&gt;&lt;br /&gt;The 6th method is (dT/dt) Rate-of-temperature rise.  In method we monitor how fast the temperature is increasing and stop charging when a limit is reached.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;NiMh cells have the nasty property of reversing their polarity if they  are discharged below their voltage threshold.   For this reason it is  best to use cells of like 'working C' in a battery.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Our Method&lt;/span&gt;&lt;br /&gt;It is said the NiMh will not reach their full potential till they have  been charged and discharged several times.   This should be done on the bench prior to  putting the cells into service.&lt;br /&gt;&lt;br /&gt;We will be using a variation of the 2nd method which is continuous charging at .1C or less.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Batteries are modified to include a sense wire per cell.&lt;/li&gt;&lt;li&gt;The first time a batter is charged it will continue to charge till each cell remains at a fixed voltage for 30 minutes. This max voltage maxV is recorded for each cell.&lt;/li&gt;&lt;li&gt;The battery voltage is monitored and charged each time one or more cells fall below maxV. If a cell can not reach the existing maxV, maxV is updated and a notification is send.&lt;/li&gt;&lt;li&gt;A notification is send any time a cell reaches (maxV-x) unless the mains power is out.&lt;/li&gt;&lt;li&gt;If the mains power is out periodic voltage updates (hourly) are provided.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;For experimental purposes I am working with a surplus cell phone battery from Electronic Goldmine.   At this point I do not know the working C of these batteries.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-JT-W248V37g/TXJ0VMckMyI/AAAAAAAAAHI/xDgnk8envBU/s1600/battery%2B002_C.png"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 267px; height: 320px;" src="http://1.bp.blogspot.com/-JT-W248V37g/TXJ0VMckMyI/AAAAAAAAAHI/xDgnk8envBU/s320/battery%2B002_C.png" alt="" id="BLOGGER_PHOTO_ID_5580650795732579106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The battery consists of 3 AAA cells and had a stated C of 750 mAh.     It is small but the lower currents make it easier to work with.  It cam  we 3 wires: red, blue, and black.  Removing the black plastic carrier  reveled that the blue and black wires were both grounds.  The battery is  NOS and arrived with each cell at aprox 0.8V.&lt;br /&gt;&lt;br /&gt;The battery was rewired with 4 wires total.  The two additional wires were placed at the junction of the 1st and 2nd, and the 2nd and 3rd cells.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-J37jk2FukkU/TXTKoYmjPQI/AAAAAAAAAHo/2_5j8B1RFTg/s1600/BATC5.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 278px;" src="http://3.bp.blogspot.com/-J37jk2FukkU/TXTKoYmjPQI/AAAAAAAAAHo/2_5j8B1RFTg/s320/BATC5.JPG" alt="" id="BLOGGER_PHOTO_ID_5581308633366609154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I verified the schematic on a solderless BB then created a PCB for additional testing.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-kGdCPerOPUM/TXJ1K65Ld7I/AAAAAAAAAHQ/2S5FZhbmDjg/s1600/chargeSchematic3.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 178px;" src="http://3.bp.blogspot.com/-kGdCPerOPUM/TXJ1K65Ld7I/AAAAAAAAAHQ/2S5FZhbmDjg/s320/chargeSchematic3.png" alt="" id="BLOGGER_PHOTO_ID_5580651718733690802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-J6jlAReIKSc/TXJ_Bq3aJkI/AAAAAAAAAHg/43R_6XpHWX4/s1600/chargerPCB.png"&gt;&lt;img style="cursor: pointer; width: 291px; height: 231px;" src="http://1.bp.blogspot.com/-J6jlAReIKSc/TXJ_Bq3aJkI/AAAAAAAAAHg/43R_6XpHWX4/s320/chargerPCB.png" alt="" id="BLOGGER_PHOTO_ID_5580662554928752194" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-DzmQ0UEFqQ8/TXJzr-F-E-I/AAAAAAAAAHA/H1XvIYOuZ4E/s1600/BATC4.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 214px;" src="http://2.bp.blogspot.com/-DzmQ0UEFqQ8/TXJzr-F-E-I/AAAAAAAAAHA/H1XvIYOuZ4E/s320/BATC4.JPG" alt="" id="BLOGGER_PHOTO_ID_5580650087505073122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-gRAvg98FXV4/TXJzjo8TENI/AAAAAAAAAG4/whHeb7G-VEc/s1600/BATC1.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 218px;" src="http://2.bp.blogspot.com/-gRAvg98FXV4/TXJzjo8TENI/AAAAAAAAAG4/whHeb7G-VEc/s320/BATC1.JPG" alt="" id="BLOGGER_PHOTO_ID_5580649944388407506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-cCaFiU_8j9I/TXJzZ-0ekdI/AAAAAAAAAGw/XlhWASvCj0M/s1600/BAT2.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 161px;" src="http://2.bp.blogspot.com/-cCaFiU_8j9I/TXJzZ-0ekdI/AAAAAAAAAGw/XlhWASvCj0M/s320/BAT2.JPG" alt="" id="BLOGGER_PHOTO_ID_5580649778462495186" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-434008032913397660?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/434008032913397660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=434008032913397660' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/434008032913397660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/434008032913397660'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2011/03/inexpensive-micro-controller-battery.html' title='Part I:: Inexpensive Micro Controller Battery Backup using NiMh'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-jULcbpUJ-mU/TXeWZko5twI/AAAAAAAAAHw/tkKFXpuzYW8/s72-c/SDC10518.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-2877198501019338956</id><published>2008-06-21T12:53:00.001-07:00</published><updated>2008-06-21T13:02:15.061-07:00</updated><title type='text'>Flashforth</title><content type='html'>It has been may years since I used forth on Z80's.&lt;br /&gt;&lt;br /&gt;Today I downloaded flashforth for the PIC18 family. I assembled it for the PIC18F4550 from MPLAB.  It ran with and without the debugger.  &lt;br /&gt;&lt;br /&gt;The system takes 8K of memory so it does not make sense to try it on a 18F1320 which only has 8K of memory.  So much for using it with the Junebug.&lt;br /&gt;&lt;br /&gt;It has been so long that I have forgotten all but the basics of the language.  I feel like I am all dressed up with no place to go.&lt;br /&gt;&lt;br /&gt;Forth made a lot of sense when we did not have C for the uC's.  It is still a powerful language and would be a good choice if you wanted to do AI with self writting or self-modifying code.  You can not do that in C,  &lt;br /&gt;&lt;br /&gt;I do not expect to be using it soon but it is one more tool in the chest.  Maybe if I get into some fancy robotic AI work it will be useful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-2877198501019338956?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/2877198501019338956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=2877198501019338956' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/2877198501019338956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/2877198501019338956'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2008/06/flashforh.html' title='Flashforth'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-2712910221611335372</id><published>2008-02-02T08:19:00.000-08:00</published><updated>2008-02-06T06:19:19.072-08:00</updated><title type='text'>Multi Purpose Game Board</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_kRkdg_3T1k4/R6nB1r3szcI/AAAAAAAAAEE/ZtZ4-ftSYZI/s1600-h/Foil_2B.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_kRkdg_3T1k4/R6nB1r3szcI/AAAAAAAAAEE/ZtZ4-ftSYZI/s320/Foil_2B.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5163871575810559426" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_kRkdg_3T1k4/R6X2cL3szbI/AAAAAAAAAD8/6xhNk9TEnvg/s1600-h/base+001_c.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_kRkdg_3T1k4/R6X2cL3szbI/AAAAAAAAAD8/6xhNk9TEnvg/s320/base+001_c.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5162803511933324722" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_kRkdg_3T1k4/R6Xxi73szaI/AAAAAAAAAD0/3KGAnu0cmLs/s1600-h/box+001_c.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_kRkdg_3T1k4/R6Xxi73szaI/AAAAAAAAAD0/3KGAnu0cmLs/s320/box+001_c.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5162798130339302818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_kRkdg_3T1k4/R6Xxb73szZI/AAAAAAAAADs/VjyM5LT534o/s1600-h/box+014_c.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_kRkdg_3T1k4/R6Xxb73szZI/AAAAAAAAADs/VjyM5LT534o/s320/box+014_c.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5162798010080218514" /&gt;&lt;/a&gt;&lt;br /&gt;This little controller can be used to play various games that require switches and lights. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_kRkdg_3T1k4/R6SY6r3szYI/AAAAAAAAADk/OswC_uD0pho/s1600-h/color+010_c.jpg"&gt;&lt;img src="http://bp0.blogger.com/_kRkdg_3T1k4/R6SY6r3szYI/AAAAAAAAADk/OswC_uD0pho/s320/color+010_c.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5162419206849613186" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_kRkdg_3T1k4/R6SYw73szXI/AAAAAAAAADc/H9JQv04vsH0/s1600-h/color+007_c.jpg"&gt;&lt;img src="http://bp1.blogger.com/_kRkdg_3T1k4/R6SYw73szXI/AAAAAAAAADc/H9JQv04vsH0/s320/color+007_c.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5162419039345888626" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-2712910221611335372?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/2712910221611335372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=2712910221611335372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/2712910221611335372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/2712910221611335372'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2008/02/multi-purpose-game-board.html' title='Multi Purpose Game Board'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_kRkdg_3T1k4/R6nB1r3szcI/AAAAAAAAAEE/ZtZ4-ftSYZI/s72-c/Foil_2B.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-1500644795809752120</id><published>2007-09-03T03:43:00.001-07:00</published><updated>2008-02-02T10:27:47.541-08:00</updated><title type='text'></title><content type='html'>&lt;div&gt;&lt;span&gt;&lt;span&gt;WalTer&lt;/span&gt; the EDU Robot. &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_kRkdg_3T1k4/RtvrpenAwLI/AAAAAAAAAC0/kPptT3EEpzM/s1600-h/ROBOT+007.jpg"&gt;&lt;img src="http://bp2.blogger.com/_kRkdg_3T1k4/RtvrpenAwLI/AAAAAAAAAC0/kPptT3EEpzM/s320/ROBOT+007.jpg" alt="" id="BLOGGER_PHOTO_ID_5105933700378443954" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;WalTer was developed to allow me and my students to explore robotics without spending a lot of time or money. It is quick and dirty.&lt;br /&gt;&lt;br /&gt;The body is a RadioShack  270-1805 project box.  The box has card guides on the long sides to hold the processor and H-Bridge cards.   An open slot remains for expansion. The unit is powered by 6 AAA rechargeable cells.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_kRkdg_3T1k4/RtvsRenAwMI/AAAAAAAAAC8/rgWxE7QP1Y8/s1600-h/ROBOT+003.jpg"&gt;&lt;img src="http://bp2.blogger.com/_kRkdg_3T1k4/RtvsRenAwMI/AAAAAAAAAC8/rgWxE7QP1Y8/s320/ROBOT+003.jpg" alt="" id="BLOGGER_PHOTO_ID_5105934387573211330" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The drive and motors are a TAMIYA Double Gearbox setup for a 344:1 reduction. Blue painters tape keeps lint and pet hair out of the gearbox. The wheels are also from TAMIYA.  A ball caster from Tamiya has been added to the front but is not shown in this photo.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_kRkdg_3T1k4/Rtv8hunAwPI/AAAAAAAAADU/tdVcpe2x9VI/s1600-h/ROBOT+008.jpg"&gt;&lt;img src="http://bp3.blogger.com/_kRkdg_3T1k4/Rtv8hunAwPI/AAAAAAAAADU/tdVcpe2x9VI/s320/ROBOT+008.jpg" alt="" id="BLOGGER_PHOTO_ID_5105952258932130034" border="0" /&gt;&lt;/a&gt;The PIC16F88 processor is the Business Card Computer that I built for GP tinkering.  It has an unused I2C socket.&lt;br /&gt;&lt;br /&gt;NOTE: &lt;span&gt;I have since designed a card specifically for WalTer.  The power and ICSP programming port have been moved.  The mapping between the processor pins and connectors has also changed.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The H-Bridge uses all 8 bits of port B.  Two of these bits are used to program the the PIC.  This is done with the robots power off but the H-Bridge moves the robot about 1/4 inch once during programming.  Might be better to disconnect the H-Bridge to program.&lt;br /&gt;&lt;br /&gt;The H-Bridge is David Cook's Miss Motor. It uses 6 2N2222A's and 4 2N2907A transistors. In theory the transistors can deliver 800 mA going forward and 600mA going backwards.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_kRkdg_3T1k4/Rtvs3unAwNI/AAAAAAAAADE/ckB2g2AjTTQ/s1600-h/ROBOT+010.jpg"&gt;&lt;img src="http://bp3.blogger.com/_kRkdg_3T1k4/Rtvs3unAwNI/AAAAAAAAADE/ckB2g2AjTTQ/s320/ROBOT+010.jpg" alt="" id="BLOGGER_PHOTO_ID_5105935044703207634" border="0" /&gt;&lt;/a&gt;This is my first attempt at painting the top side of the PCB.  The paint worked well as did the toner transfer for the parts placement graphics.  But when I attempted to clear coat the graphics with acrylic spray it melted the toner.  Live and learn.&lt;br /&gt;&lt;br /&gt;Note: &lt;span&gt;This board has been redesigned to include status lighs for each drive transistor.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The CCS C code to drive WalTer is straight forward.    I did not have much luck with the CODE or PRE tags so the formating is ugly.&lt;br /&gt;&lt;br /&gt;A set of defines are used to form PORTB values to drive the H-Bridge.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;// Port B bits&lt;/span&gt;&lt;br /&gt;&lt;span&gt;#define Q11 0x01&lt;/span&gt;&lt;br /&gt;&lt;span&gt;#define Q12 0x02&lt;/span&gt;&lt;br /&gt;&lt;span&gt;#define Q13 0X04&lt;/span&gt;&lt;br /&gt;&lt;span&gt;#define Q14 0x08&lt;/span&gt;&lt;br /&gt;&lt;span&gt;#define Q01 0x10&lt;/span&gt;&lt;br /&gt;&lt;span&gt;#define Q02 0x20&lt;/span&gt;&lt;br /&gt;&lt;span&gt;#define Q03 0x40&lt;/span&gt;&lt;br /&gt;&lt;span&gt;#define Q04 0x80&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;// these defines specify what to do on PORTB to get a desired action&lt;/span&gt;&lt;br /&gt;&lt;span&gt;#define COAST     0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;#define LEFT_AHEAD  Q11+Q14&lt;/span&gt;&lt;br /&gt;&lt;span&gt;#define RIGHT_AHEAD Q01+Q04&lt;/span&gt;&lt;br /&gt;&lt;span&gt;#define AHEAD       LEFT_AHEAD+RIGHT_AHEAD&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;#define LEFT_BACK   Q12+Q13&lt;/span&gt;&lt;br /&gt;&lt;span&gt;#define RIGHT_BACK  Q02+Q03&lt;/span&gt;&lt;br /&gt;&lt;span&gt;#define BACK        LEFT_BACK+RIGHT_BACK&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;#define BREAK_HI    Q02+Q04 + Q12+Q14&lt;/span&gt;&lt;br /&gt;&lt;span&gt;#define BREAK_LO    Q01+Q03 + Q11+Q13&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;#define SPIN_LEFT   LEFT_AHEAD+RIGHT_BACK&lt;/span&gt;&lt;br /&gt;&lt;span&gt;#define SPIN_RIGHT  LEFT_BACK+RIGHT_AHEAD&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A program is a series of &lt;span&gt;move()&lt;/span&gt; commands.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;void main()&lt;br /&gt;{&lt;br /&gt;int i;&lt;br /&gt;//setup&lt;br /&gt;setup_adc_ports(NO_ANALOGS);&lt;br /&gt;PORTB=0;&lt;br /&gt;set_tris_b(0xFF); // all inputs&lt;br /&gt;#use FAST_IO(B)&lt;br /&gt;set_tris_b(0x00);     // all outputs&lt;br /&gt;&lt;br /&gt;while(1)&lt;br /&gt;{&lt;br /&gt;move(25,AHEAD,100,100);&lt;br /&gt;move( 7,BREAK_HI,100,100);&lt;br /&gt;move(40,SPIN_LEFT,100,100);&lt;br /&gt;move(40,BACK,70,70);&lt;br /&gt;move(40,AHEAD,100,75);&lt;br /&gt;move(40,SPIN_RIGHT,100,100);&lt;br /&gt;}&lt;br /&gt;set_tris_b(0xFF);     // all inputs&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The move() command generates the signals sent to the H-Bridge.  It reject commands that would short out the H-Bridge.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;// command to move robot&lt;br /&gt;void move(int duration,       // duration of command&lt;br /&gt;int _val,       // one of the motion defines&lt;br /&gt;int powerLeft,  // % power for left motor&lt;br /&gt;int powerRight) // % power for right motor&lt;br /&gt;{&lt;br /&gt;int val, i, j;&lt;br /&gt;&lt;br /&gt;val = _val;&lt;br /&gt;&lt;br /&gt;// test for the 2 _val's that will blow the H-Bridge&lt;br /&gt;if ((val &amp;amp; Q01) &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp; (val &amp;amp; Q02))&lt;br /&gt;{&lt;br /&gt;PORTB = 0;&lt;br /&gt;return;&lt;br /&gt;}&lt;br /&gt;if ((val &amp;amp; Q03) &amp;amp;&amp;amp; (val &amp;amp; Q04))&lt;br /&gt;{&lt;br /&gt;PORTB = 0;&lt;br /&gt;return;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// send the PWM signals to the H-Bridge&lt;br /&gt;for (i=0; i -lt- duration; i++)&lt;br /&gt;{&lt;br /&gt;for (j=0;j -lt- 100;j++)&lt;br /&gt;{&lt;br /&gt;if (j == 0)  // start hi part of PWM&lt;br /&gt;{&lt;br /&gt;val = _val;&lt;br /&gt;PORTB = val;&lt;br /&gt;}&lt;br /&gt;if (j == powerLeft) // start low part for left&lt;br /&gt;{&lt;br /&gt;val = val &amp;amp; 0x0F;&lt;br /&gt;PORTB = val;&lt;br /&gt;}&lt;br /&gt;if (j == powerRight) // // start low part for right&lt;br /&gt;{&lt;br /&gt;val = val &amp;amp; 0xF0;&lt;br /&gt;PORTB = val;&lt;br /&gt;}&lt;br /&gt;delay_ms(1);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;PORTB = 0; // done with cmd so stop both motors&lt;br /&gt;}&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-1500644795809752120?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/1500644795809752120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=1500644795809752120' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/1500644795809752120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/1500644795809752120'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2007/09/walter-edu-robot.html' title=''/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_kRkdg_3T1k4/RtvrpenAwLI/AAAAAAAAAC0/kPptT3EEpzM/s72-c/ROBOT+007.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-19821937976354026</id><published>2007-09-03T03:43:00.000-07:00</published><updated>2008-02-02T10:33:28.780-08:00</updated><title type='text'></title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_kRkdg_3T1k4/RtvrpenAwLI/AAAAAAAAAC0/kPptT3EEpzM/s1600-h/ROBOT+007.jpg"&gt;&lt;img src="http://bp2.blogger.com/_kRkdg_3T1k4/RtvrpenAwLI/AAAAAAAAAC0/kPptT3EEpzM/s320/ROBOT+007.jpg" alt="" id="BLOGGER_PHOTO_ID_5105933700378443954" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span&gt;WalTer&lt;/span&gt;&lt;/span&gt; the EDU Robot. The body is a RadioShack  270-1805 project box.  The box has card guides on the long sides that are used to hold the processor and H-Bridge.  An open slot remains for expansion. The unit is powered by 6 AAA rechargeable cells.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_kRkdg_3T1k4/RtvsRenAwMI/AAAAAAAAAC8/rgWxE7QP1Y8/s1600-h/ROBOT+003.jpg"&gt;&lt;img src="http://bp2.blogger.com/_kRkdg_3T1k4/RtvsRenAwMI/AAAAAAAAAC8/rgWxE7QP1Y8/s320/ROBOT+003.jpg" alt="" id="BLOGGER_PHOTO_ID_5105934387573211330" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The drive and motors are a TAMIYA Double Gearbox setup for a 344:1 reduction. Blue painters tape keeps lint and pet hair out of the gearbox. The wheels are also from TAMIYA.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_kRkdg_3T1k4/Rtv7--nAwOI/AAAAAAAAADM/heiz_fRuwW8/s1600-h/ROBOT+010.jpg"&gt;&lt;img src="http://bp0.blogger.com/_kRkdg_3T1k4/Rtv7--nAwOI/AAAAAAAAADM/heiz_fRuwW8/s320/ROBOT+010.jpg" alt="" id="BLOGGER_PHOTO_ID_5105951661931675874" border="0" /&gt;&lt;/a&gt;The PIC16F88 processor is a card that I built for GP tinkering.  It has an unused I2C socket.&lt;br /&gt;&lt;br /&gt;The H-Bridge uses all 8 bits of port B.  Two of these bits are used to program the the PIC.  This is done with the robots power off but the H-Bridge moves the robot about 1/4 inch once during programming.  Might be better to disconnect the H-Bridge to program.&lt;br /&gt;&lt;br /&gt;The H-Bridge is David Cook's Miss Motor. It uses 6 2N2222A's and 4 2N2907A transistors. The in theory the transistors can deliver 800 mA going forward and 600mA going backwards.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_kRkdg_3T1k4/Rtvs3unAwNI/AAAAAAAAADE/ckB2g2AjTTQ/s1600-h/ROBOT+010.jpg"&gt;&lt;img src="http://bp3.blogger.com/_kRkdg_3T1k4/Rtvs3unAwNI/AAAAAAAAADE/ckB2g2AjTTQ/s320/ROBOT+010.jpg" alt="" id="BLOGGER_PHOTO_ID_5105935044703207634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is my first attempt at painting the top side of the PCB.  The paint worked well as did the toner transfer for the parts placement graphics.  But when I attempted to clear coat the graphics with acrylic spray it melted the toner.  Live and learn.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The CCS C code to drive WalTer is straight forward.  A set of defines are used to form PORTB values to drive the H-Bridge.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;// Port B bits&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define Q11 0x01&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define Q12 0x02&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define Q13 0X04&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define Q14 0x08&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define Q01 0x10&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define Q02 0x20&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define Q03 0x40&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define Q04 0x80&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;// these defines specify what to do on PORTB to get a desired action&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define COAST     0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define LEFT_AHEAD  Q11+Q14&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define RIGHT_AHEAD Q01+Q04&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define AHEAD       LEFT_AHEAD+RIGHT_AHEAD&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define LEFT_BACK   Q12+Q13&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define RIGHT_BACK  Q02+Q03&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define BACK        LEFT_BACK+RIGHT_BACK&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define BREAK_HI    Q02+Q04 + Q12+Q14&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define BREAK_LO    Q01+Q03 + Q11+Q13&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define SPIN_LEFT   LEFT_AHEAD+RIGHT_BACK&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#define SPIN_RIGHT  LEFT_BACK+RIGHT_AHEAD&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A program is a series of &lt;span style="font-family:courier new;"&gt;move()&lt;/span&gt; commands.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;void main()&lt;br /&gt;{&lt;br /&gt;int i;&lt;br /&gt;//setup&lt;br /&gt;setup_adc_ports(NO_ANALOGS);&lt;br /&gt;PORTB=0;&lt;br /&gt;set_tris_b(0xFF); // all inputs&lt;br /&gt;#use FAST_IO(B)&lt;br /&gt;set_tris_b(0x00);     // all outputs&lt;br /&gt;&lt;br /&gt;while(1)&lt;br /&gt;{&lt;br /&gt;move(25,AHEAD,100,100);&lt;br /&gt;move( 7,BREAK_HI,100,100);&lt;br /&gt;move(40,SPIN_LEFT,100,100);&lt;br /&gt;move(40,BACK,70,70);&lt;br /&gt;move(40,AHEAD,100,75);&lt;br /&gt;move(40,SPIN_RIGHT,100,100);&lt;br /&gt;}&lt;br /&gt;set_tris_b(0xFF);     // all inputs&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The move() command generates the signals sent to the H-Bridge.  It reject commands that would short out the H-Bridge.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;// command to move robot&lt;br /&gt;void move(int duration,       // duration of command&lt;br /&gt;      int _val,       // one of the motion defines&lt;br /&gt;      int powerLeft,  // % power for left motor&lt;br /&gt;      int powerRight) // % power for right motor&lt;br /&gt;{&lt;br /&gt;int val, i, j;&lt;br /&gt;&lt;br /&gt;val = _val;&lt;br /&gt;&lt;br /&gt;// test for the 2 _val's that will blow the H-Bridge&lt;br /&gt;if ((val &amp;amp; Q01) &amp;amp;amp;amp;&amp;amp; (val &amp;amp; Q02))&lt;br /&gt;{&lt;br /&gt;PORTB = 0;&lt;br /&gt;return;&lt;br /&gt;} &lt;br /&gt;if ((val &amp;amp; Q03) &amp;amp;&amp;amp; (val &amp;amp; Q04))&lt;br /&gt;{&lt;br /&gt;PORTB = 0;&lt;br /&gt;return;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// send the PWM signals to the H-Bridge&lt;br /&gt;for (i=0; i -lt- duration; i++)&lt;br /&gt;{&lt;br /&gt;  for (j=0;j -lt- 100;j++)&lt;br /&gt;  {&lt;br /&gt;     if (j == 0)  // start hi part of PWM&lt;br /&gt;     {&lt;br /&gt;        val = _val;&lt;br /&gt;        PORTB = val;&lt;br /&gt;     }&lt;br /&gt;     if (j == powerLeft) // start low part for left&lt;br /&gt;     {&lt;br /&gt;        val = val &amp;amp; 0x0F;&lt;br /&gt;        PORTB = val;&lt;br /&gt;     }&lt;br /&gt;     if (j == powerRight) // // start low part for right&lt;br /&gt;     {&lt;br /&gt;        val = val &amp;amp; 0xF0;&lt;br /&gt;        PORTB = val;&lt;br /&gt;     }&lt;br /&gt;     delay_ms(1);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;PORTB = 0; // done with cmd so stop both motors&lt;br /&gt;}&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-19821937976354026?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/19821937976354026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=19821937976354026' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/19821937976354026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/19821937976354026'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2007/09/walter-edu-robot_03.html' title=''/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_kRkdg_3T1k4/RtvrpenAwLI/AAAAAAAAAC0/kPptT3EEpzM/s72-c/ROBOT+007.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-4886548145700739215</id><published>2007-07-29T12:58:00.000-07:00</published><updated>2007-07-29T13:01:10.557-07:00</updated><title type='text'>Microprojects</title><content type='html'>&lt;a href="http://microproject.sourceforge.net/"&gt;Link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Devices that can be created with a microcontroller.  IE a single chip 555 replacement.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;span style="font-family:ARIAL;font-size:85%;"&gt;&lt;span style="font-family:ARIAL;font-size:85%;"&gt;&lt;li&gt;         &lt;a href="http://microproject.sourceforge.net/#link1"&gt;HTC150: Four channel LED flasher.&lt;/a&gt;&lt;sup&gt;&lt;span style="color:#804040;"&gt;+SRC&lt;/span&gt;&lt;/sup&gt;         &lt;/li&gt;&lt;li&gt;         &lt;a href="http://microproject.sourceforge.net/#link10"&gt;HTC151: Four channel LED flasher.&lt;/a&gt;&lt;sup&gt;&lt;span style="color:#804040;"&gt;+SRC&lt;/span&gt;&lt;/sup&gt;         &lt;/li&gt;&lt;li&gt;         &lt;a href="http://microproject.sourceforge.net/#link2"&gt;HTC550: Monostable multivibrator.&lt;/a&gt;&lt;sup&gt;&lt;span style="color:#804040;"&gt;+SRC&lt;/span&gt;&lt;/sup&gt;         &lt;/li&gt;&lt;li&gt;         &lt;a href="http://microproject.sourceforge.net/#link3"&gt;HTC551: Power up sequenser.&lt;/a&gt;&lt;sup&gt;&lt;span style="color:#804040;"&gt;+SRC&lt;/span&gt;&lt;/sup&gt;         &lt;/li&gt;&lt;li&gt;         &lt;a href="http://microproject.sourceforge.net/#link4"&gt;HTC555: Clock generator.&lt;/a&gt;&lt;sup&gt;&lt;span style="color:#804040;"&gt;+SRC&lt;/span&gt;&lt;/sup&gt;         &lt;/li&gt;&lt;li&gt;         &lt;a href="http://microproject.sourceforge.net/#link15"&gt;HTC601: CPU supervisor.&lt;/a&gt;&lt;sup&gt;&lt;span style="color:#804040;"&gt;+SRC&lt;/span&gt;&lt;/sup&gt;         &lt;/li&gt;&lt;li&gt;         &lt;a href="http://microproject.sourceforge.net/#link16"&gt;HTC602: CPU supervisor.&lt;/a&gt;&lt;sup&gt;&lt;span style="color:#804040;"&gt;+SRC&lt;/span&gt;&lt;/sup&gt;         &lt;/li&gt;&lt;li&gt;         &lt;a href="http://microproject.sourceforge.net/#link17"&gt;HTC603: CPU supervisor.&lt;/a&gt;&lt;sup&gt;&lt;span style="color:#804040;"&gt;+SRC&lt;/span&gt;&lt;/sup&gt;         &lt;/li&gt;&lt;li&gt;         &lt;a href="http://microproject.sourceforge.net/#link5"&gt;HTC750: Melody generator.&lt;/a&gt;&lt;sup&gt;&lt;span style="color:#804040;"&gt;+SRC&lt;/span&gt;&lt;/sup&gt;         &lt;/li&gt;&lt;li&gt;         &lt;a href="http://microproject.sourceforge.net/#link11"&gt;HTC751: Programmable melody generator.&lt;/a&gt;&lt;sup&gt;&lt;span style="color:#804040;"&gt;+SRC&lt;/span&gt;&lt;/sup&gt;         &lt;/li&gt;&lt;li&gt;         &lt;a href="http://microproject.sourceforge.net/#link12"&gt;HTC752: Melody generator.&lt;/a&gt;&lt;sup&gt;&lt;span style="color:#804040;"&gt;+SRC&lt;/span&gt;&lt;/sup&gt;         &lt;/li&gt;&lt;li&gt;         &lt;a href="http://microproject.sourceforge.net/#link9"&gt;HTC852: Simple PWM controller.&lt;/a&gt;&lt;sup&gt;&lt;span style="color:#804040;"&gt;+SRC&lt;/span&gt;&lt;/sup&gt;         &lt;/li&gt;&lt;li&gt;         &lt;a href="http://microproject.sourceforge.net/#link6"&gt;HTC2500: Simple digital clock controller.&lt;/a&gt;&lt;sup&gt;&lt;span style="color:#804040;"&gt;+SRC&lt;/span&gt;&lt;/sup&gt;         &lt;/li&gt;&lt;li&gt;         &lt;a href="http://microproject.sourceforge.net/#link14"&gt;HTC2501: Simple digital alarm/clock controller.&lt;/a&gt;&lt;sup&gt;&lt;span style="color:#804040;"&gt;+SRC&lt;/span&gt;&lt;/sup&gt;         &lt;/li&gt;&lt;li&gt;         &lt;a href="http://microproject.sourceforge.net/#link7"&gt;HTC2502: Simple analog clock controller.&lt;/a&gt;&lt;sup&gt;&lt;span style="color:#804040;"&gt;+SRC&lt;/span&gt;&lt;/sup&gt;         &lt;/li&gt;&lt;li&gt;         &lt;a href="http://microproject.sourceforge.net/#link8"&gt;HTC2503: Simple analog clock controller.&lt;/a&gt;&lt;sup&gt;&lt;span style="color:#804040;"&gt;+S&lt;/span&gt;&lt;/sup&gt;&lt;/li&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-4886548145700739215?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/4886548145700739215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=4886548145700739215' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/4886548145700739215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/4886548145700739215'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2007/07/microprojects.html' title='Microprojects'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-5875785140022742999</id><published>2007-07-22T14:49:00.001-07:00</published><updated>2008-02-02T10:28:27.923-08:00</updated><title type='text'>Business card computer</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_kRkdg_3T1k4/RqPRVHtrnnI/AAAAAAAAACU/U8s5ygzyVBM/s1600-h/LED+001C.jpg"&gt;&lt;img src="http://bp0.blogger.com/_kRkdg_3T1k4/RqPRVHtrnnI/AAAAAAAAACU/U8s5ygzyVBM/s320/LED+001C.jpg" alt="" id="BLOGGER_PHOTO_ID_5090142164636900978" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I built this business card sized computer system.  Note the breakout board.&lt;br /&gt;&lt;br /&gt;There has been a request for more info:&lt;br /&gt;&lt;br /&gt;The computer is a PIC16F88 micro controller but any 18 pin PIC processor can be used.  It is programmed with the CCS PCM compiler but any PIC cross compiler that targets midrange PICs could be used.  The 16F88 has 4K words of program/flash memory so no OS is used.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-5875785140022742999?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/5875785140022742999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=5875785140022742999' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/5875785140022742999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/5875785140022742999'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2007/07/buisness-card-computer.html' title='Business card computer'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_kRkdg_3T1k4/RqPRVHtrnnI/AAAAAAAAACU/U8s5ygzyVBM/s72-c/LED+001C.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-4597880815712021295</id><published>2007-07-22T10:32:00.000-07:00</published><updated>2007-07-22T10:40:46.028-07:00</updated><title type='text'>Internetworking with microcontrollers</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.ljcv.net/projects/pic10t/pic-enc-1-200px.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://www.ljcv.net/projects/pic10t/pic-enc-1-200px.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;On the projects page of this site you will find info on how to build an internet capable 18F PIC using an  MICROCHIP ENC28J60 internet controller IC.  Uses Microchip's free internet stack.  The processor and controller total about $11.  Not a lot else required.  Need to look into this further.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ljcv.net/projects/pic10t/index.html"&gt;PIC18F4620 Microcontroller with ENC28J60    Ethernet Controller&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The site index is&lt;br /&gt;&lt;a href="http://www.ljcv.net/projects/index.html"&gt;&lt;br /&gt;http://www.ljcv.net/projects/index.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-4597880815712021295?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/4597880815712021295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=4597880815712021295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/4597880815712021295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/4597880815712021295'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2007/07/internetworking-with-microcontrollers.html' title='Internetworking with microcontrollers'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-8297113275000936025</id><published>2007-07-22T05:59:00.001-07:00</published><updated>2007-07-22T06:26:28.003-07:00</updated><title type='text'>MAKE A JOULE THIEF</title><content type='html'>&lt;a href="http://www.emanator.demon.co.uk/bigclive/joule.htm"&gt;Link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.emanator.demon.co.uk/bigclive/joule1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://www.emanator.demon.co.uk/bigclive/joule1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;A &lt;span&gt;&lt;span style="font-size:130%;"&gt; very small implementation of a typical transformer feedback single transistor invertor. The transformer was a standard ferrite bead with two windings wound on it and the circuit was using the high voltage pulse generated when the transistor turns off to light an LED from a single 1.5V battery &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt; right down to about 0.35V&lt;br /&gt;&lt;br /&gt;You can also cram it into what was a flashlight bulb.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.emanator.demon.co.uk/bigclive/joule9.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://www.emanator.demon.co.uk/bigclive/joule9.jpg" alt="" border="0" /&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-8297113275000936025?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/8297113275000936025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=8297113275000936025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/8297113275000936025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/8297113275000936025'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2007/07/make-joule-thief.html' title='MAKE A JOULE THIEF'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-1713579598927530035</id><published>2007-07-21T06:32:00.000-07:00</published><updated>2007-07-21T06:37:20.760-07:00</updated><title type='text'>PIC18F452 and 3COM 3C509B Ethernet ISA card</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.janw.dommel.be/pics/35700A.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://www.janw.dommel.be/pics/35700A.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Although there are better ways to put a PIC on the web this is till one of the least expensive ones.&lt;br /&gt;&lt;br /&gt;See &lt;a href="http://www.janw.dommel.be/pic18f452-e.html"&gt;PIC18F452 and 3COM 3C509B Ethernet ISA card&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-1713579598927530035?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/1713579598927530035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=1713579598927530035' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/1713579598927530035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/1713579598927530035'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2007/07/pic18f452-and-3com-3c509b-ethernet-isa.html' title='PIC18F452 and 3COM 3C509B Ethernet ISA card'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-4695220622464425323</id><published>2007-03-11T09:04:00.000-07:00</published><updated>2008-02-02T10:31:30.435-08:00</updated><title type='text'>More DIY PCB</title><content type='html'>Since I started using Pulsar Toner Transfer from &lt;a href="http://pulsarprofx.com/"&gt;&lt;span id="gtbmisp_1"&gt;PulsarProFx.com&lt;/span&gt;&lt;/a&gt; PCB etching has become almost foolproof.  However drilling the holes is still a task I do not care for.&lt;br /&gt;&lt;br /&gt;I was thinking about putting together a CNC machine to drill the holes for me when I discovered that the local &lt;span id="gtbmisp_2"&gt;high school&lt;/span&gt; has a small milling machine.&lt;br /&gt;&lt;br /&gt;JJ developed a tool for generating &lt;span id="gtbmisp_3"&gt;GCode&lt;/span&gt; from within &lt;span id="gtbmisp_4"&gt;EagleCad&lt;/span&gt;.  The tool is PCB-&lt;span id="gtbmisp_5"&gt;GCode&lt;/span&gt;.  Using this tool I can generate a &lt;span id="gtbmisp_6"&gt;GCode&lt;/span&gt; file that I can load onto the milling machine PC and have it drill the holes for me.&lt;br /&gt;&lt;br /&gt;There is a bit of a learning curve.  When I have &lt;span id="gtbmisp_7"&gt;successfully&lt;/span&gt; drilled a board I will post more.&lt;br /&gt;UPDATE FEB 2008&lt;br /&gt;I have been drilling holes with the CNC since shortly after this was first published.  It works well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-4695220622464425323?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/4695220622464425323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=4695220622464425323' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/4695220622464425323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/4695220622464425323'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2007/03/more-diy-pcb.html' title='More DIY PCB'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-5705283157988643407</id><published>2007-01-21T01:47:00.000-08:00</published><updated>2007-01-21T01:48:37.620-08:00</updated><title type='text'>The IR Widget</title><content type='html'>The IR Widget captures the infrared signals used by remote controls. It operates in a way that makes it compatible with modern multitasking operating systems. It is able to determine the carrier frequency and demodulate the carrier in the digital or analog domain. The captured information can be used to view, recognize or reproduce the signal. &lt;br /&gt;&lt;br /&gt;http://www.compendiumarcana.com/irwidget/index.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-5705283157988643407?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/5705283157988643407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=5705283157988643407' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/5705283157988643407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/5705283157988643407'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2007/01/ir-widget.html' title='The IR Widget'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-2780074414138580286</id><published>2007-01-21T00:31:00.000-08:00</published><updated>2007-01-21T01:00:23.632-08:00</updated><title type='text'>Roman Black</title><content type='html'>The BTC Sound Encoder 1.1 is software that www.RomanBlack.com has written for the purpose of converting sound (in wave files) to a 1-bit format that can be played back on very cheap hardware, like a microprocessor chip (ie PIC, Atmel, Motorola etc). &lt;br /&gt;&lt;br /&gt;Version 1.1 is limited to a maximum wave file length of 530,000 samples, this gives a max output file size of 530,000 bits,  which is enough to fill a 512kbit eeprom (524,288 bits). At 15625Hz this gives a full 33 seconds of sound playback, enough for 50 spoken words. &lt;br /&gt;&lt;br /&gt;Zero-error 1 second Timer&lt;br /&gt;A very versatile Zero Cumulative Error timing system with PIC source code. &lt;br /&gt;&lt;br /&gt;Bresenham's Algorithm is a system where 2 imperfect periods can be alternated to produce an average that matches any "perfect" period. &lt;br /&gt;&lt;br /&gt;http://www.romanblack.com/picsound.htm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-2780074414138580286?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/2780074414138580286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=2780074414138580286' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/2780074414138580286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/2780074414138580286'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2007/01/btc-sound-encoder-11-software.html' title='Roman Black'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-6303494230135397858</id><published>2007-01-20T00:00:00.001-08:00</published><updated>2007-01-22T00:22:17.102-08:00</updated><title type='text'>Mondo</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://members.cox.net/berniekm/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://members.cox.net/berniekm/mbird6.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;http://members.cox.net/berniekm/&lt;br /&gt;&lt;br /&gt;Interesting PIC projects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-6303494230135397858?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/6303494230135397858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=6303494230135397858' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/6303494230135397858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/6303494230135397858'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2007/01/mondo.html' title='Mondo'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-1130853496287401684</id><published>2007-01-14T14:54:00.000-08:00</published><updated>2007-01-20T00:04:32.437-08:00</updated><title type='text'>Ethernet enabled PIC18F</title><content type='html'>Found  NICS for use with PICs and AVRs at  &lt;a href="http://www.edtp.com/"&gt;EDT&lt;/a&gt; in kit form for $25. They have 3 flavors of them in about that price range.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;(on another site)&lt;br /&gt;The SBC45EC is a single board computer with 10 Mbs Ethernet and an RS232 interface for 44-pin PLCC PIC18Fxxx microcontrollers. It comes with a PIC18F452 CPU, a 24LC256 EEPROM for web pages, and with a demo of a Web Server installed. By using a terminal program, the demo web page can be replaced by a custom one with no programming required. US$58.00&lt;br /&gt;&lt;br /&gt;http://microcontrollershop.com/product_info.php?cPath=98&amp;products_id=558&lt;br /&gt;&lt;a href="http://www.ucpros.com/" target="_blank"&gt;MicroController Pros Corporation&lt;/a&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://microcontrollershop.com/Images/PIC_ethernet_board.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://microcontrollershop.com/Images/PIC_ethernet_board.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ucpros.com/" target="_blank"&gt;MicroController Pros Corporation&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-1130853496287401684?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/1130853496287401684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=1130853496287401684' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/1130853496287401684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/1130853496287401684'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2007/01/ethernet-enabled-pic18f.html' title='Ethernet enabled PIC18F'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-4727914908674883229</id><published>2007-01-13T23:05:00.000-08:00</published><updated>2007-01-13T23:08:13.961-08:00</updated><title type='text'>UBW_RS485 USB to RS485 Converter</title><content type='html'>I have started work on a  USB to RS485 converter based on the UBW aka USB Wacker.  I am posting about that experiance on the webpage &lt;a href="http://www.rocklore.com/cSharp/UBW_RS485.htm"&gt;UBW_RS485&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-4727914908674883229?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/4727914908674883229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=4727914908674883229' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/4727914908674883229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/4727914908674883229'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2007/01/ubwrs485-usb-to-rs485-converter.html' title='UBW_RS485 USB to RS485 Converter'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-7276515441350750381</id><published>2007-01-03T19:13:00.000-08:00</published><updated>2007-01-03T19:15:51.039-08:00</updated><title type='text'>Hobby Engineering</title><content type='html'>New link.  Source for robot parts.  Electronics seem expensive.  Maybe the mechanical stuff is OK.  Seemed reasonable but have not checked other vendors.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-7276515441350750381?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/7276515441350750381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=7276515441350750381' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/7276515441350750381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/7276515441350750381'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2007/01/hobby-engineering.html' title='Hobby Engineering'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-6036271854983602908</id><published>2007-01-01T18:42:00.000-08:00</published><updated>2007-01-01T18:51:04.011-08:00</updated><title type='text'>Rick's Pages for the Pic Pulser for lead acid batteries</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.geocities.com/fun_4_me_now20012000/pulserv0_5/pulserV0.5_2.med.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://www.geocities.com/fun_4_me_now20012000/pulserv0_5/pulserV0.5_2.med.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;New link.&lt;br /&gt;&lt;br /&gt;I have an old but little used 12V 1.2Ah &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;gel&lt;/span&gt; cell.  I was thinking that maybe it could be good yet.  Started looking around the net and found that &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;battery's&lt;/span&gt; can be &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;de sulphated&lt;/span&gt; using pulsed currents.  At &lt;a href="http://www.geocities.com/fun_4_me_now20012000/pulser_page.html"&gt;Rick's Pages for the Pic &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Pulser&lt;/span&gt; for lead acid batteries&lt;/a&gt; you can find schematics and even a circuit board for building one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-6036271854983602908?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/6036271854983602908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=6036271854983602908' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/6036271854983602908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/6036271854983602908'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2007/01/ricks-pages-for-pic-pulser-for-lead.html' title='Rick&apos;s Pages for the Pic Pulser for lead acid batteries'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-459563400962163009</id><published>2007-01-01T06:59:00.000-08:00</published><updated>2007-01-01T07:21:25.422-08:00</updated><title type='text'>Inchworm Kit</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.blueroomelectronics.com/images/inchphoto.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://www.blueroomelectronics.com/images/inchphoto.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I have purchased an built an &lt;a href="http://www.blueroomelectronics.com/inchworm.htm"&gt;Inchworm Kit&lt;/a&gt; from &lt;a href="http://www.dipmicro.com/shop/index.php"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;DipMicro&lt;/span&gt;&lt;/a&gt; designed by &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;William&lt;/span&gt; at &lt;a href="http://www.blueroomelectronics.com/"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;blueroomelectronics&lt;/span&gt;&lt;/a&gt;.   The kit is $36 US which included free shipping to the US.  The assembly manual for the kit is quite good. &lt;span style="font-family:Verdana;"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;a title="Inchworm Assembly Instructions.pdf" href="http://www.blueroomelectronics.com/downloads/Inchworm%20Assembly%20Instructions.pdf"&gt;Inchworm  &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;ICD&lt;/span&gt;2 Assembly Instructions&lt;/a&gt; rev F&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;This is a &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;bargain&lt;/span&gt; and because it is uses &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;socketed&lt;/span&gt; dip &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;IC's,&lt;/span&gt; it is repairable.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-459563400962163009?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/459563400962163009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=459563400962163009' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/459563400962163009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/459563400962163009'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2007/01/inchworm-kit.html' title='Inchworm Kit'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-320373883156382280</id><published>2007-01-01T06:36:00.000-08:00</published><updated>2007-01-01T06:59:14.833-08:00</updated><title type='text'>New Links</title><content type='html'>Added a section for links to forums.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.electro-tech-online.com/"&gt;ELECTRO-TECH&lt;/a&gt; is a good forum for PICs and Electronics in general.  It is a place where you can as a newbee question and not get stomped on.  One of the moderators of that forum is &lt;span class="bigusername"&gt;Nigel Goodwin&lt;/span&gt;. Nigel is the author of WinPicProg and has PIC tutorials at &lt;a href="http://www.winpicprog.co.uk/pic_tutorial.htm"&gt;WinPicProg PIC Tutorial&lt;/a&gt;.  His tutorials use boards that can be built using veroboard.&lt;br /&gt;You can find info and reviews regarding the Inchworm PIC ICD on this site.  The designer of the inchworm can be found on this forum.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.edaboard.com/"&gt;EDABoard&lt;/a&gt; at times is a more advanced forum.  The people here developed a design for a USB PIC ICD.  The designer of the inchworm had people on this forum test the inchworm design prior to kit production.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-320373883156382280?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/320373883156382280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=320373883156382280' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/320373883156382280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/320373883156382280'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2007/01/new-links.html' title='New Links'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-4935215559960475114</id><published>2006-12-29T03:20:00.000-08:00</published><updated>2007-01-04T06:23:13.034-08:00</updated><title type='text'>Driving 5V relays</title><content type='html'>&lt;span style="font-style: italic; font-weight: bold;"&gt;I need to say this up front.  If you are not qualified to work with line voltage circuits please do not read any further.&lt;br /&gt;&lt;br /&gt;All my material, including this, is for entertainment purposes only. Do not try this at home!  etc.....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The question has to be asked, why not just use a 12V relay that can be driven from the unregulated 12 power supply.  In many cases it would be the right choice.  But since I tend to use junk box wall-warts (about $1 at the local thrift store) there in no &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;guarantee&lt;/span&gt; that I can find a 12V supply when I need one.&lt;br /&gt;&lt;br /&gt;In this case I purchased a cable modem with a 1.2 amp 10V wall wart.  I pulled the DC &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;receptacle&lt;/span&gt;,  the &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;RJ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;45 &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;receptacle&lt;/span&gt;, and the &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;USB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;receptacle&lt;/span&gt; from the board.  If I ever design a board that &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;mimics&lt;/span&gt; the original modem board I can &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;reuse&lt;/span&gt; the case too.  Not bad for a buck.&lt;br /&gt;&lt;br /&gt;Some day it is my intent to provide a 12V distribution system that will power most of the controllers on the bus.  By using regulated power I am ensuring that if there is enough voltage to run the processor the relay will work to.&lt;br /&gt;&lt;br /&gt;Also note that there exists a type of regulator know as a L&lt;span style="font-weight: bold;"&gt;ow Drop-Out Regulator&lt;/span&gt;. These regulators can regulate voltage when VIN is very close to &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;VOUT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;.  For example 12V in, 11.87V out.&lt;br /&gt;&lt;br /&gt;I have found 2 circuits for driving 5V relays.  The first one is interesting but should be used with its own regulator to isolate the processor from the spike when the relay is energized.  The second circuit requires 6V regulated power.  I had the transistor for the 2&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;nd&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; circuit in stock so I used it.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_kRkdg_3T1k4/RZT72-MkS_I/7MP00broeYA/s1600-h/Image3.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp1.blogger.com/_kRkdg_3T1k4/RZT72-MkS_I/AAAAAAAAAAM/7MP00broeYA/s320/Image3.jpg" alt="" id="BLOGGER_PHOTO_ID_5013909206997421042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The first uses a 555 timer.  Its is from &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Electus&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; Distribution Reference Data Sheet: &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;RELAYDRV&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;.&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;PDF&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; (1)  &lt;a href="http://www.jaycar.com.au/images_uploaded/relaydrv.pdf"&gt;RELAY DRIVING BASICS&lt;/a&gt;. See the &lt;a href="http://www1.electusdistribution.com.au/notes.asp"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;ELECTUS&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; DISTRIBUTION&lt;/a&gt; download page for more details.  Their page contains info on many interesting subjects.&lt;br /&gt;&lt;br /&gt;This circuit drives the relay directly from the 555 without a transistor. You can get the 555 for 24 cents at &lt;a href="http://www.glitchbuster.com/"&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 255);font-family:Verdana;" &gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;glitchbuster&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;.com&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;.   Note that &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;glitchbusters&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; will ship most orders USPS for $2.  Although their prices may be &lt;span style="font-style: italic;"&gt;slightly &lt;/span&gt;higher then Mouser or &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;DigiKey&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; the low shipping cost more then makes up for the sometimes higher cost.  In this case the 555 is 2 cents less then Mouser.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Note Jan 2007: &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Glitchbusters&lt;/span&gt; is "Pulling the Plug".   I do not  know how much longer they will  continue to accept orders. &lt;/blockquote&gt;&lt;br /&gt;The circuit I did use is from &lt;img src="file:///C:/DOCUME%7E1/WEBMAS%7E1/LOCALS%7E1/Temp/moz-screenshot.jpg" alt="" /&gt;&lt;a href="http://ourworld.compuserve.com/homepages/Bill_Bowden/r_ctrl.htm"&gt;Controlling a relay with a digital logic level&lt;/a&gt;  site  &lt;span&gt;&lt;span font="" style=";font-family:comic Sans MS;font-size:100%;"  &gt;&lt;a href="http://ourworld.compuserve.com/homepages/Bill_Bowden/"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Bowden's&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; Hobby Circuits.&lt;/a&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span font="" style=";font-family:comic Sans MS;font-size:100%;"  &gt;&lt;span style="font-family:arial;"&gt; The page has 4 ways to drive a relay including some calculations for resistor values.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_kRkdg_3T1k4/RZULAeMkTCI/AAAAAAAAAAw/HsgZJFIP-1E/s1600-h/Image2.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_kRkdg_3T1k4/RZULAeMkTCI/AAAAAAAAAAw/HsgZJFIP-1E/s320/Image2.jpg" alt="" id="BLOGGER_PHOTO_ID_5013925862880594978" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;From above site "Figure B can be used when the input voltage is the same as the relay coil voltage. The voltage on the emitter of the transistor will be about 0.7 volts less than the input, so a 12 volt relay would operate on 11.3 which should be close enough. No resistor is needed since the emitter follower configuration presents a high impedance at the input. The input current will be the relay coil current divided by the transistor gain. For example a 120 ohm relay coil will draw 100 &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;mA&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; at 12 volts and if the transistor gain is 50, the input current will be about 2 &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;milliamps&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;."&lt;/blockquote&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_kRkdg_3T1k4/RZqLtOMkTGI/AAAAAAAAABg/kktw2DNgApM/s1600-h/5vRelay.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 557px; height: 258px;" src="http://bp0.blogger.com/_kRkdg_3T1k4/RZqLtOMkTGI/AAAAAAAAABg/kktw2DNgApM/s400/5vRelay.jpg" alt="" id="BLOGGER_PHOTO_ID_5015474744051649634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="file:///C:/DOCUME%7E1/WEBMAS%7E1/LOCALS%7E1/Temp/moz-screenshot.jpg" alt="" /&gt;Click on the above image for a larger view.&lt;/p&gt;&lt;p&gt;I combined the Figure B circuit with a common adjusted &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;LM&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;7805 to drive a 5V relay.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The output of the regulator should be 6 volts.  The voltage drop through the transistor results in a tad over 5 volts across the coil. The formula used to determine the &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;resitor&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; values is &lt;span style="font-style: italic;"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;Vout&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; = 5*(1 + R2/R1) + (.004 * R2)&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;In my circuit I used a 1N4001 for D1 and D2.  The schematic shows a 1n4004 because I could not find the 1N4001 in &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;EagleCad&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;.  Either would work. The Diode RELAY_ON has a built in limiting resistor.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;The  &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;LM&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;78M05CT is $0.40 from Mouser.  The 2N3904 transistor is $0.06.  The relay was a &lt;a class="allpage" href="http://www.goldmine-elec-products.com/prodinfo.asp?number=G12969" title="Takamisawa 5VDC DPST Relay"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;Takamisawa&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 5&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;VDC&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;DPST&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; Relay&lt;/a&gt; $1.00 from &lt;a href="http://www.goldmine-elec-products.com/"&gt;&lt;span style="font-style: italic;"&gt;Electronics Goldmine&lt;/span&gt;&lt;/a&gt;.  The relay shown in the schematic is what I could find in &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;EagleCad&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;. I did not check to see if the two relays had the same footprint. I am not creating PCB     artwork so it does not matter.&lt;br /&gt;&lt;br /&gt;update 01/01/2007&lt;br /&gt;Photographed the above on the breadboard prior to soldering it up on the real board.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_kRkdg_3T1k4/RZnTpOMkTEI/AAAAAAAAABI/uSw7NmTDZ4I/s1600-h/P1010067_compressed.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_kRkdg_3T1k4/RZnTpOMkTEI/AAAAAAAAABI/uSw7NmTDZ4I/s400/P1010067_compressed.jpg" alt="" id="BLOGGER_PHOTO_ID_5015272365192662082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;update 02/01/2007&lt;br /&gt;&lt;br /&gt;Finished moving the circuit from the &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;solderless&lt;/span&gt;&lt;/span&gt; breadboard to the point to point circuit board.  The regulator for the 6V was running hot even with a heat sink.  Switched to a 7.5V 1 Amp &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;wall-wort&lt;/span&gt; (had a 10V 1.2 Amp).  Now runs a bit cooler.  The circuit including both regulators without the relay energized draws 75 &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;mA&lt;/span&gt;&lt;/span&gt;.  With the relay energized it draws 200 &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;mA&lt;/span&gt;&lt;/span&gt;.  The actual voltage at the output of the wall-wart is 10V.  With the relay energized that is 200&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;&lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;mA&lt;/span&gt;&lt;/span&gt;*10V or 2 watts.  I need to keep the total watts down low enough for the sealed PVC pipe to &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_28"&gt;dissipate&lt;/span&gt; the heat.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_kRkdg_3T1k4/RZtUAuMkTHI/AAAAAAAAABs/_Jqd99jOBTw/s1600-h/5vRelay4_compressed.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 668px; height: 276px;" src="http://bp3.blogger.com/_kRkdg_3T1k4/RZtUAuMkTHI/AAAAAAAAABs/_Jqd99jOBTw/s400/5vRelay4_compressed.jpg" alt="" id="BLOGGER_PHOTO_ID_5015694981384653938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3V0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-4935215559960475114?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/4935215559960475114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=4935215559960475114' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/4935215559960475114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/4935215559960475114'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2006/12/driving-5v-relays.html' title='Driving 5V relays'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_kRkdg_3T1k4/RZT72-MkS_I/AAAAAAAAAAM/7MP00broeYA/s72-c/Image3.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-115377802748692082</id><published>2006-07-24T14:53:00.000-07:00</published><updated>2007-01-04T06:28:19.914-08:00</updated><title type='text'>Making PC boards</title><content type='html'>The process I am going to use to make the board requires that you print the artwork on a laserjet printer and then transfer it to the board using heat. The most common way is to use a clothes iron to apply the heat. I have tried this and do not like it. I was going to attempt to use a vulcanization(sp?) press used in the jewelry trade.&lt;br /&gt;&lt;br /&gt;The paper and foil required by the process can be had from Mouser or DigiKey.&lt;br /&gt;&lt;br /&gt;Dec 23 2006:&lt;br /&gt;I wimped out and ordered a laminator from  &lt;a href="http://www.pulsar.gs/PCB/a_Pages/6_Products_and_Store/_Store.htmlhttp://www.pulsar.gs/PCB/a_Pages/6_Products_and_Store/_Store.html"&gt;Pulsar&lt;/a&gt; for $60.  They have a process where one uses a sponge to wipe feric cloride over the board.  The claim is that they can print and etch a board in 15 minutes.  Drilling is extra.&lt;br /&gt;&lt;br /&gt;Jan 03 2006:&lt;br /&gt;Pulsar can no longer get the laminator from china.  Has suggested an H120 from the same company.  A better laminator but $120.  Staples has it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-115377802748692082?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/115377802748692082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=115377802748692082' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/115377802748692082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/115377802748692082'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2006/07/making-pc-boards.html' title='Making PC boards'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-115012090073617295</id><published>2006-06-11T16:57:00.000-07:00</published><updated>2006-12-28T20:31:10.189-08:00</updated><title type='text'>RS485 converter with 555</title><content type='html'>While searcing for better RS485 examples I ran into a circuit cellar article &lt;a href="http://www.embeddedsys.com/subpages/resources/images/documents/microsys_art_RS485.pdf"&gt;Designing RS-485 Circuits.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I will modify the first controller such that it has a  RS232-RS485 translator on the board.  The transmit line will be controlled by a 555 aka one-shot triggered by the data from the processor.&lt;br /&gt;&lt;br /&gt;While the previous solution may have been workable this aproach is less convoluted.&lt;br /&gt;&lt;br /&gt;It works.  I have setup a 3 network node consisting of the PC with the above converter and 2 PIC16F788A's.  The PC's max serial rate is 57600 which is the speed I have set the network to run at.  Thinking about doing a USB to RS485 using on of the 18F pics.&lt;br /&gt;&lt;br /&gt;I first setup the network with about 1 foot of cable in the office. The network was tested by sending 1 million ping requests from the PC. The test was preformed 3 times without errors. The requests were evenly split between the two PIC boards.&lt;br /&gt;&lt;br /&gt;Next I tested the network with the first and second PIC's seperated by 100 feet of common (inexpensive) telephone cable.  It did not fare quite as well in that there were somthing line 70 soft errors and 13 hard errors.  I am not quite sure about the exact count.  I may have caused the problem myself messing with the setup while the test was running.  Have to do this one again.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/2594/2742/1600/throughHoll.1.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/2594/2742/320/throughHoll.1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The current PIC boards are hand wired and I figured I would try my hand at making PC boards again.&lt;br /&gt;&lt;br /&gt;After laying out the artwork for the RS232 to RS485 converter with through hole parts I decieded that I was not interested in drilling all the required holes.  Somthing like 70 on this little board. That is a DB9 at the top edge.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/2594/2742/1600/converterSMD..jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/2594/2742/320/converterSMD..jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I redid the board using surface mount parts SMD.  The board shrunk even more and about 20 holes to drill.  Much better.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I have yet to build either version of this board.  I need to add opto isolators prior to doing so.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-115012090073617295?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/115012090073617295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=115012090073617295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/115012090073617295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/115012090073617295'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2006/06/rs485-converter-with-555.html' title='RS485 converter with 555'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-114987383246851012</id><published>2006-06-09T09:59:00.000-07:00</published><updated>2006-06-09T13:51:50.633-07:00</updated><title type='text'>RS2323 to RS485 bridge/converter</title><content type='html'>I am about to connect a network of RS485 PIC&lt;br /&gt;controllers to a  PC.  I have choosen to do the RS232&lt;br /&gt;to RS485 conversion at the first controller.&lt;br /&gt;&lt;br /&gt;I am using a PIC16F877A but the following applies to any&lt;br /&gt;processor with a hardware UART.&lt;br /&gt;&lt;br /&gt;To keep things simple use the onboard hardware UART for both&lt;br /&gt;RS232 and RS485.&lt;br /&gt;&lt;br /&gt;The inputs from the RS232 and RS485 are AND'ed then&lt;br /&gt;routed to the UART input.  This works because both are active&lt;br /&gt;low.  If both are active at the same time there will be a collision&lt;br /&gt;which is common on many types of networks.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/2594/2742/1600/schem_C.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/2594/2742/320/schem_C.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The UART output is routed to either the RS232 or RS485 network.&lt;br /&gt;The schematic only shows the RS232 section which shares the signals&lt;br /&gt;TX ENABLE and UART OUT with the RS485 section.&lt;br /&gt;&lt;br /&gt;The RS485 already has a TX ENABLE signal from the processor. That&lt;br /&gt;was part of work already done.&lt;br /&gt;&lt;br /&gt;The TX ENABLE signal can be used to enable RS232 transmission.&lt;br /&gt;If an inverted copy of the UART OUTPUT is ANDed with an inverted&lt;br /&gt;copy of TX ENABLE you have an inverted copy of the UART data but&lt;br /&gt;only when TX ENABLE is not active (low). This signal is (un)inverted and&lt;br /&gt;feed to the RS232 transmitter.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What does it get you?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ANDing the inputs means that we can listen to both RS232 and RS485&lt;br /&gt;at the same time.  The one provision is that both can not be active at&lt;br /&gt;the same time.  This works if the communication protocol is designed&lt;br /&gt;for it.  Since I have total control over my design I will use human&lt;br /&gt;readable messages and that are understandable to software on both&lt;br /&gt;the RS232 and RS485 sides.  Thus my bridge can parse messages&lt;br /&gt;from both sides with the same parser from a common buffer.&lt;br /&gt;&lt;br /&gt;Switching the output between RS232 and RS485 lets me specify which&lt;br /&gt;line gets the data.  This will require a seperate ring buffer for each.&lt;br /&gt;Perhaps somthing like..&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;printf(rs232_char,"Hi");&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;printf(rs484_char,"There");&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;Since both RX and TX are interrupt driven we can read (from either)&lt;br /&gt;and write (to one) at the same time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-114987383246851012?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/114987383246851012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=114987383246851012' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/114987383246851012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/114987383246851012'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2006/06/rs2323-to-rs485-bridgeconverter.html' title='RS2323 to RS485 bridge/converter'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-114627079909761428</id><published>2006-04-28T17:30:00.000-07:00</published><updated>2006-04-28T18:05:01.463-07:00</updated><title type='text'>Bowden's Hobby Circuits</title><content type='html'>&lt;h1&gt;&lt;a href="http://ourworld.compuserve.com/homepages/Bill_Bowden/"&gt;&lt;br /&gt;&lt;span font="" style=";font-family:comic Sans MS;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 128, 64);font-size:130%;" &gt;B&lt;/span&gt;owden's &lt;span style="color: rgb(0, 128, 64);font-size:130%;" &gt;H&lt;/span&gt;obby &lt;span style="color: rgb(0, 128, 64);font-size:130%;" &gt;C&lt;/span&gt;ircuits&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;Lots of interesting stuff. Even the plans for a simple CDI ignition circuit.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ourworld.compuserve.com/homepages/Bill_Bowden/r_ctrl.htm"&gt;Controlling a relay with a digital logic level.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ourworld.compuserve.com/homepages/Bill_Bowden/page10.htm#lineled.gif"&gt;AC Line powered LEDs&lt;/a&gt; may be similar to the circuit Ray G used.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-114627079909761428?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/114627079909761428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=114627079909761428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/114627079909761428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/114627079909761428'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2006/04/bowdens-hobby-circuits.html' title='Bowden&apos;s Hobby Circuits'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-114622657017419928</id><published>2006-04-28T05:14:00.000-07:00</published><updated>2006-04-28T05:16:10.183-07:00</updated><title type='text'>www.buoy.com Mailing Lists</title><content type='html'>Group for 1-wire and weather related talk.&lt;br /&gt;&lt;a href="http://www.buoy.com/mailman/listinfo/"&gt;www.buoy.com Mailing Lists&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-114622657017419928?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/114622657017419928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=114622657017419928' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/114622657017419928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/114622657017419928'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2006/04/wwwbuoycom-mailing-lists.html' title='www.buoy.com Mailing Lists'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-114622388667855582</id><published>2006-04-28T04:30:00.000-07:00</published><updated>2006-04-28T04:31:26.686-07:00</updated><title type='text'></title><content type='html'>Some info on &lt;a href="http://pond1.gladstonefamily.net:8080/sensors.html"&gt;Sensors &lt;/a&gt;for the 1 wire system.  How he waterproofed a temp sensor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-114622388667855582?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/114622388667855582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=114622388667855582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/114622388667855582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/114622388667855582'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2006/04/some-info-on-sensors-for-1-wire-system.html' title=''/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-114613431397846513</id><published>2006-04-27T03:28:00.000-07:00</published><updated>2006-04-27T20:23:20.193-07:00</updated><title type='text'>Lightning Activity Monitor</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/2594/2742/1600/lightingDetectorBoard.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/2594/2742/320/lightingDetectorBoard.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://homepage.mac.com/tbitson/weather/bslam/index.html"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:180%;"&gt;Basic Stamp Lightning Activity Monitor&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="http://homepage.mac.com/tbitson/weather/bslam/index.html"&gt; &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Although this was designed as a Basic Stamp application it could be adapted as a PIC project. Including 2 transistors it only uses about 8 parts for the detector board.  I have ordered transistors  and opti-isolators for this one.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/2594/2742/1600/lightingDetector.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/2594/2742/320/lightingDetector.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;After a bit more google'ing I found&lt;br /&gt;&lt;h2 style="text-align: center;"&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;One-Wire Lightning Monitor&lt;/span&gt;&lt;/h2&gt;&lt;br /&gt;It looks like the circuit for the detector is the same. but uses 1 wire buss interface.&lt;br /&gt;A kit $33 can be found at &lt;a href="http://www.hobby-boards.com/catalog/product_info.php?cPath=22&amp;products_id=65"&gt;Hobby Boards&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;They also have a rain gauge and a combo anamometer/direction device for $75 with one wire sensors installed. I am not sure if it would work with the WX175 but it would work with a roll-your-own.  But there stuff does not look as sturdy as that from fascinating electronics.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-114613431397846513?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/114613431397846513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=114613431397846513' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/114613431397846513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/114613431397846513'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2006/04/lightning-activity-monitor.html' title='Lightning Activity Monitor'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-114588077728486536</id><published>2006-04-24T05:04:00.000-07:00</published><updated>2006-04-24T05:12:57.290-07:00</updated><title type='text'>Eagle PCB layout</title><content type='html'>They ofer a free version of there program for nonprofit use.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cadsoftusa.com/"&gt;http://www.cadsoftusa.com/ &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-114588077728486536?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/114588077728486536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=114588077728486536' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/114588077728486536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/114588077728486536'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2006/04/eagle-pcb-layout.html' title='Eagle PCB layout'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-114588025594384910</id><published>2006-04-24T04:38:00.001-07:00</published><updated>2006-04-25T22:39:59.203-07:00</updated><title type='text'>Free Protocol Stack &amp; more</title><content type='html'>The&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.automatedbuildings.com/releases/mar06/060308125053micro.htm"&gt;&lt;strong&gt;Microchip Technology's Free ZigBee™ Protocol  Stack Now Supports the UBEC uz2400 Transceiver&lt;/strong&gt; &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;" Microchip's ZigBee stack is the only stack small enough  to fit into a 16 Kbyte microcontroller, enabling low-cost sensors. The stack is  sized at 33.7 Kbytes for a coordinator and 14.4 Kbytes for reduced function  devices"&lt;br /&gt;&lt;br /&gt;It is not built into a chip, but it is free.&lt;br /&gt;&lt;br /&gt;Digikey has a radio transeiver for ZigBee Apps for CC2420  $7.20 each.&lt;br /&gt;&lt;br /&gt;Which leads on to the need for an Antenna.&lt;br /&gt;&lt;a href="http://www.eznec.com/demoinfo.htm"&gt;EZNEC 4.0 for Windows &lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:Arial;"&gt;Finally, download the EZNEC Antenna Designer demo from &lt;/span&gt;&lt;u&gt;&lt;span style="color: rgb(0, 0, 255);font-family:Arial;" &gt;&lt;!-- TRANSIT - HYPERLINK --&gt;&lt;!-- .http://www.eznec.com/. --&gt;&lt;a href="http://www.eznec.com/" target="_top"&gt;www.eznec.com&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;span style="font-family:Arial;"&gt; and play with it. This program will almost instantly give you a good idea of any antenna’s performance – and it’s free.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;From what I have read it should be easy to get 100 feet of range.  A thousand or more is possible but difficult.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-114588025594384910?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/114588025594384910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=114588025594384910' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/114588025594384910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/114588025594384910'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2006/04/free-protocol-stack-more.html' title='Free Protocol Stack &amp; more'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-114582632278923642</id><published>2006-04-23T14:01:00.000-07:00</published><updated>2006-04-23T14:05:22.796-07:00</updated><title type='text'>Soldering surface mount parts in toaster oven.</title><content type='html'>I found this interesting.  The shelf life of the soldering paste sucks.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.seattlerobotics.org/encoder/200006/oven_art.htm"&gt;&lt;span style="font-weight: bold;"&gt;Have you seen my new soldering Iron?&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-114582632278923642?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/114582632278923642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=114582632278923642' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/114582632278923642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/114582632278923642'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2006/04/soldering-surface-mount-parts-in.html' title='Soldering surface mount parts in toaster oven.'/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-114579813986088396</id><published>2006-04-23T06:12:00.000-07:00</published><updated>2006-04-25T22:43:31.316-07:00</updated><title type='text'></title><content type='html'>A starting place for light control.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.circuithut.com/index.php?/circuit/content/view/full/363"&gt; Digitally Controlled Dimmable Lighting&lt;/a&gt;&lt;br /&gt;"&lt;b&gt;This project implements the control of 2 lighting sets using a PIC18F252 microcontroller. The advantage of the digital controller is its increased flexibility. The brightness of the light sets are controlled using phase angle firing method, but with the intention of investigating the implementing of a burst firing method."&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;Also found&lt;br /&gt;&lt;a href="http://www.ndrr.com/rmr_faq/Automation/Light_Dimmer.html"&gt;Computer controlled Remote Light Dimmer&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It has a complete schematic and the guy will sell you a programed pic to run it for $3 US plus shipping,  Sort of takes the fun out of it... perhaps not.&lt;br /&gt;&lt;br /&gt;This controler uses the MOC3010 which is a triac output optoisolator.  It was the last clue I needed to get the old little board with the relay on it working again.  Should be nearly identical.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-114579813986088396?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/114579813986088396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=114579813986088396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/114579813986088396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/114579813986088396'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2006/04/starting-place-for-light-control.html' title=''/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26759432.post-114575280247338332</id><published>2006-04-22T17:39:00.000-07:00</published><updated>2006-04-22T17:40:02.480-07:00</updated><title type='text'></title><content type='html'>Test Post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26759432-114575280247338332?l=leehow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leehow.blogspot.com/feeds/114575280247338332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26759432&amp;postID=114575280247338332' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/114575280247338332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26759432/posts/default/114575280247338332'/><link rel='alternate' type='text/html' href='http://leehow.blogspot.com/2006/04/test-post.html' title=''/><author><name>3v0</name><uri>http://www.blogger.com/profile/14846578147479033081</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
