tag:blogger.com,1999:blog-28402336597680805822024-03-19T00:22:57.095+01:00foogadgets... a blog about genuine handmade gadgets made up during late hours.foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.comBlogger27125tag:blogger.com,1999:blog-2840233659768080582.post-5860859186938759692021-10-26T16:37:00.004+02:002021-10-29T12:46:49.425+02:00Sim Racing H shifter<p style="text-align: left;">I wanted a sturdy but simple Sim Racing H-pattern shifter compatible with my Fanatec CSL Elite wheel. This is what I came up with.</p><div><p style="text-align: left;"></p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUs1R2mOkHFkHpRrO7n-XwLNWwOvv4ZzmGPX5FV5rKa7xFQa_mN6PH4MeQXgavrfO_WY6xanAgIWYLJPZtIlvA9qD32SUsSVJdW2XPJGsD43gUail__WoYKeliKwsnxhyphenhyphenjbBD1DI4ZGF8/s1164/h-pattern-sim-shifter.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1102" data-original-width="1164" height="379" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUs1R2mOkHFkHpRrO7n-XwLNWwOvv4ZzmGPX5FV5rKa7xFQa_mN6PH4MeQXgavrfO_WY6xanAgIWYLJPZtIlvA9qD32SUsSVJdW2XPJGsD43gUail__WoYKeliKwsnxhyphenhyphenjbBD1DI4ZGF8/w400-h379/h-pattern-sim-shifter.png" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">3D model. Front PCB has an RJ12 connector to connect to the wheel base. The long center nut is very long in the rendering.</td></tr></tbody></table><br /><p></p><p style="text-align: left;">All DIY variants of sim shifters that I found seem not very sturdy and usually not very simple in the construction.<br />My shifter is simple in the mechanical construction, and it contains relatively few parts. The electronic circuit is simple, at least for most of the diy-people. And foremost, it is very sturdy.</p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/d7BfEJgmZgc" width="320" youtube-src-id="d7BfEJgmZgc"></iframe></div><p style="text-align: left;">The shifter uses hall effect switches and position sensors that will never wear out. I have simplified the electronics so that few components are needed.<br />There are not many tools needed either.</p><div><p style="text-align: left;">The surfaces that wear is in metal where needed. X- and Y-axis joints have small ball bearings that are press fitted to the plastic parts.<br />The shifter uses two spring loaded ball screws that give the shifter three distinct positions in the Y-direction. The X-direction is a smooth motion. X-position is centered by two, commonly used 3D-printer hotbed springs 8mm diameter and 20mm long.<br /> There are only three 3D-printed parts. The 4th part is a drill jig for drilling the hole in the central extension nut. The 5th part is a drill jig for creating the mounting pattern for the shifter if needed.</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLxYExAI4MdWxVKqgccPvn0i1khVzvfrXlPKc92xdg5CiDbkNSIkNd4tIhSePcfGdfCEiv1Drz9UURMSGspGazzhSff-PhoIlJDxUuXe1edI2P5QynoobSRdSlrrWr1892-kQY59wPI-k/s4032/IMG_2256.HEIC" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="3024" data-original-width="4032" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLxYExAI4MdWxVKqgccPvn0i1khVzvfrXlPKc92xdg5CiDbkNSIkNd4tIhSePcfGdfCEiv1Drz9UURMSGspGazzhSff-PhoIlJDxUuXe1edI2P5QynoobSRdSlrrWr1892-kQY59wPI-k/w400-h300/IMG_2256.HEIC" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Parts needed for assembling the shifter</td></tr></tbody></table><br /><p style="text-align: left;"><br /></p><h4 style="text-align: left;">Prepare the metal parts</h4><div><p style="text-align: left;">The center joint is made of a 30-35mm long M8 nut. There need to be a M5 threaded hole in the middle of the nut. 3D-print the jig to help creating a perfectly centered hole in the nut. Use a <a href="https://www.amazon.se/gp/product/B00725AOIE/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&th=1" target="_blank">4.2mm drill</a> for best result with the threading tap.</p><p style="text-align: left;">Press the long nut into the jig and drill all the way through. Then make a M5 thread in the hole. Clean the threads afterwords, otherwise it is difficult to screw in the M5 rod at a later stage.</p><p style="text-align: left;"><br /></p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhppLbkhv0JJCiF5zOchaKkhjEd4o7SqrK4Bbjz_QGjr_mEVwET3kuAVTkKym2e9Wz6fAS7lKOS-X25HGF_hw9JxNr8ux0YOK2AWrniPhLmxNnFNK-vl0jnpERz8j1idV33Vh2a8M8l_D0/s2048/IMG_2242.heic" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhppLbkhv0JJCiF5zOchaKkhjEd4o7SqrK4Bbjz_QGjr_mEVwET3kuAVTkKym2e9Wz6fAS7lKOS-X25HGF_hw9JxNr8ux0YOK2AWrniPhLmxNnFNK-vl0jnpERz8j1idV33Vh2a8M8l_D0/w400-h300/IMG_2242.heic" width="400" /></a><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOxp9DPMCTj7lBs0jtX6UJUbIxzd9qHRQalMlt_ek0lhIT5a1mrP2ZzAp-fCNRWKv9ees6jWeNSrGFGaVklbRnVMYW7RCKh4OM0poAX4tn1YcvuuqGK3SEbLMhhn2ETw5XdNfTMTTuFmI/s2048/IMG_2243.heic" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOxp9DPMCTj7lBs0jtX6UJUbIxzd9qHRQalMlt_ek0lhIT5a1mrP2ZzAp-fCNRWKv9ees6jWeNSrGFGaVklbRnVMYW7RCKh4OM0poAX4tn1YcvuuqGK3SEbLMhhn2ETw5XdNfTMTTuFmI/w400-h300/IMG_2243.heic" width="400" /></a></div></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCglopF2vfb8nQ5Kvz4O1IVNMB5EZfn_GOGiDfkysM8iplxCM7oWClQTxWxBIxj9aijpdaVgcDzo0T6KA1WDai4jPHMUj8HmQfgzY2oF2BgWXnDnH7RZ4PlFsLOai-T5m4u3mCSWbuNRI/s2048/IMG_2229.HEIC" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCglopF2vfb8nQ5Kvz4O1IVNMB5EZfn_GOGiDfkysM8iplxCM7oWClQTxWxBIxj9aijpdaVgcDzo0T6KA1WDai4jPHMUj8HmQfgzY2oF2BgWXnDnH7RZ4PlFsLOai-T5m4u3mCSWbuNRI/w400-h300/IMG_2229.HEIC" width="400" /></a></div><br /><p></p><p style="text-align: left;">Cut off a 55mm long piece of the threaded M5 rod. Make a small slot in each end. Fasten one of the magnets in one of the ends of the rod. I used a small round file to make a rounded seating for the magnet. The slot on the other end is for being able to use a flat head screwdriver when mounting it to the long center nut.</p><p style="text-align: left;">Cut a 100mm long piece of the threaded M8 rod. This rod decides how long your shifter stick will be, and in turn also how long travel the shifting stick action will have.</p><p style="text-align: left;">Also cut the head off the75mm long machine bolt so that it ends up to be 68mm. The bolt to be used is preferably not threaded all the way. If this bolt is longer than 68mm it will protrude on the bottom of the shifter shell.</p><p style="text-align: left;"> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYjzBE3Oi0g8y0nLxYs34HxD5RD9sFGHZLcS00m_NghOZoa6zlNRChYCpbViYBqsOGHQGdqH5PP81GFYZJvFlEzu953ai0BHBQOuhswZMtDnuogMIfvyn0N3EZydGckuDI03xyEZGPj3A/s2048/IMG_2248.heic" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYjzBE3Oi0g8y0nLxYs34HxD5RD9sFGHZLcS00m_NghOZoa6zlNRChYCpbViYBqsOGHQGdqH5PP81GFYZJvFlEzu953ai0BHBQOuhswZMtDnuogMIfvyn0N3EZydGckuDI03xyEZGPj3A/w400-h300/IMG_2248.heic" width="400" /></a></div><p></p><br /><h4 style="text-align: left;">Prepare the X-block</h4><div><p style="text-align: left;">Press in the 6 M4 nuts as far in as possible. Start with the top and bottom nuts and lastly the middle one. Repeat for the three nuts on the other side of the center axel. Screw in the 6 M4 grub screws so that they still have some threads that grip each of the nuts. The pits that form will give the distinct Y-positon of the shifter. If you like to have a less distinct positions you screw in the grub screws less deep. The grub screws also make sure the nuts stay firmly in place.</p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6-GEIhNQMr3wGqaJOaL6RYSypB1hZCSdw9RNsA_BB9S3Ji8UolZ54NKEz8URPZxo0dw5YBX9cnZEj8jV3EFhJ85AdzEf7wjRwtGrZOoh0gqV5dgPvuGTokDq0oddDqZv_riCVC7eHxGI/s2048/IMG_2249.heic" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6-GEIhNQMr3wGqaJOaL6RYSypB1hZCSdw9RNsA_BB9S3Ji8UolZ54NKEz8URPZxo0dw5YBX9cnZEj8jV3EFhJ85AdzEf7wjRwtGrZOoh0gqV5dgPvuGTokDq0oddDqZv_riCVC7eHxGI/w400-h300/IMG_2249.heic" width="400" /></a></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJjnsrtHSNlSPVztjkJ6yEyw2lZZFc3pWYSdy7BBUx8On47ZJskH_4rtcocaMxhWUSyXJ8ZwoHPc9gs1c17zrQhrjxH660ZNUlc5EmAOhU3RcNK1Zncl0xBAI7UG48j7fYFwfo5FZovp0/s2048/IMG_2250.heic" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJjnsrtHSNlSPVztjkJ6yEyw2lZZFc3pWYSdy7BBUx8On47ZJskH_4rtcocaMxhWUSyXJ8ZwoHPc9gs1c17zrQhrjxH660ZNUlc5EmAOhU3RcNK1Zncl0xBAI7UG48j7fYFwfo5FZovp0/w400-h300/IMG_2250.heic" width="400" /></a></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBRVh_eYP3CTB7V43oY7x8v0DyLmyfOBxSEnlHKNlfbCohEYmRBRw5j1P1IjA2wpqzGqWtb304XONGqRsGRc237x5dOOZa3EOoqCfdYfTwrlPt13mFRRczlP7wKtC0W1ucLS1hDGDmUpM/s2048/IMG_2251.heic" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBRVh_eYP3CTB7V43oY7x8v0DyLmyfOBxSEnlHKNlfbCohEYmRBRw5j1P1IjA2wpqzGqWtb304XONGqRsGRc237x5dOOZa3EOoqCfdYfTwrlPt13mFRRczlP7wKtC0W1ucLS1hDGDmUpM/w400-h300/IMG_2251.heic" width="400" /></a></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiwciZqMDD5a-DS3u4liEwrqjNFqxxM6q8Aut754I3L-WT37FwdL0JPfceUTO7TIiph8OHo6LlJf2Y6mxvMFVDCYEImhyphenhyphencstx-at9sVkVBgIIWPYiw6lO_WaA6NJ4h3r-P5bybGTHWuz4/s2048/IMG_2252.heic" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiwciZqMDD5a-DS3u4liEwrqjNFqxxM6q8Aut754I3L-WT37FwdL0JPfceUTO7TIiph8OHo6LlJf2Y6mxvMFVDCYEImhyphenhyphencstx-at9sVkVBgIIWPYiw6lO_WaA6NJ4h3r-P5bybGTHWuz4/w400-h300/IMG_2252.heic" width="400" /></a></div><p></p><br /><p></p><p style="text-align: left;">Press in all the 4 bearings in the X-block. There should be a tight fit on all the parts. Use a hammer to get them in place.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyMuRlfKxbetmjcwDtGn-GCwZGAe2nFxPjOok28BSjC9SLGsd5NZPH6ZpojZ3QDk-CsxFS7v-CHtcOKuhheW9b8Ui6dPA_Iup22ObHOJxVR2CCXInhKdKvPeKil6m8yla48hheNAPdCZc/s2048/IMG_2237.HEIC" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyMuRlfKxbetmjcwDtGn-GCwZGAe2nFxPjOok28BSjC9SLGsd5NZPH6ZpojZ3QDk-CsxFS7v-CHtcOKuhheW9b8Ui6dPA_Iup22ObHOJxVR2CCXInhKdKvPeKil6m8yla48hheNAPdCZc/w400-h300/IMG_2237.HEIC" width="400" /></a></div><p></p><p style="text-align: left;">Use the angle ruler to scratch a 45° line in the X-block from top-left to bottom-right passing the bearing center. This will be used as a guide to position the magnet in a later step.<br /></p><p style="text-align: left;">Screw the M8 threaded rod into the M8 long nut. Do not pass the center hole.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4RvHVspAjOrie7C7mEsbMcKNbC8AyWamN2742enbcG2lo8zVqY6hqPUb1zQrHNHdj-LzwV2JUpbheTIdPN4Uf9AHWv08NPFA2XYs45NIMMJcIZy9hQLX97VfRFTS_GU8AX59OgYkM5uM/s2048/IMG_2253.heic" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4RvHVspAjOrie7C7mEsbMcKNbC8AyWamN2742enbcG2lo8zVqY6hqPUb1zQrHNHdj-LzwV2JUpbheTIdPN4Uf9AHWv08NPFA2XYs45NIMMJcIZy9hQLX97VfRFTS_GU8AX59OgYkM5uM/w400-h300/IMG_2253.heic" width="400" /></a></div><br /><p style="text-align: left;"><br /></p><p style="text-align: left;"> Place it down the X-block center and screw in the M5 threaded 55mm rod. The rod should be screwed in from the side where there are two small holes in the X-block. The M8 rod should also point out from the X-block side with rounded edges. Screw the M5 rod in until the top of the magnet is level with, or just under the X-block edge. Using a flat head screwdriver from the other side makes it easy to screw it in.</p><p style="text-align: left;">Calibration: With the M8 rod in the center position pointing upward: Orient the M5 screw so that the magnet SOUTH pole points between 10 and 11 o´clock when facing the magnet end of the M5 rod. Use a compass to know your pole, or hang it in a thin thread and see how it orients itself. The magnet should align with the earlier made line in the X-block.</p><p style="text-align: left;">Once the magnet orientation is done, secure its position by fastening the M8 rod firmly with some pliers.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2UymvyEzUl0MCoMzk9ET8CSfLVTAFTxI1kfi1vErW3YMi5-6rhhNC6U-dPCPzaje-C01biV80h62DUgO3sguzpY_n0nKQx9-FBDHIByrayiAC8wuP6pXc0QdfnttYDhrJ6oZ_dy1GOrM/s2048/IMG_2268.heic" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1470" data-original-width="2048" height="288" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2UymvyEzUl0MCoMzk9ET8CSfLVTAFTxI1kfi1vErW3YMi5-6rhhNC6U-dPCPzaje-C01biV80h62DUgO3sguzpY_n0nKQx9-FBDHIByrayiAC8wuP6pXc0QdfnttYDhrJ6oZ_dy1GOrM/w400-h288/IMG_2268.heic" width="400" /></a></div><br /><p style="text-align: left;"><br /></p><p>Make sure that when moving the stick from max left to max right position, the magnet SOUTH pole should never pass 9 or 12 o´clock position.</p><p style="text-align: left;">Now screw in the 68mm cut M8 bolt from the other side of the long nut. First add some Loctite to keep it in place, and fasten it firmly with some pliers.</p><p>Tip the shifter over to one side and slide in one of the springs into the hole on the inside of the x-block. Repeat for the other side. The shifter stick should now be centered.</p><p>Press in the second magnet into the 4mm hole, flush with the X-block side.</p><h4 style="text-align: left;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKHJMEOw8vSEfvYSOBiY3bobNvdULqtwNO2lPXP4qt3XtKlAZ5YBnj0TErKnCe5bt8BmjCd48ySickgpq9sSLE5oqV-UgSGhV_Ru2zYLqW9CCbftGugAOXUriAS2UE6u_wH3zYjRFxA2w/s2048/IMG_2258.heic" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1536" data-original-width="2048" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKHJMEOw8vSEfvYSOBiY3bobNvdULqtwNO2lPXP4qt3XtKlAZ5YBnj0TErKnCe5bt8BmjCd48ySickgpq9sSLE5oqV-UgSGhV_Ru2zYLqW9CCbftGugAOXUriAS2UE6u_wH3zYjRFxA2w/w400-h300/IMG_2258.heic" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">This is how it should look when done.</td></tr></tbody></table><div class="separator" style="clear: both; text-align: center;"><br /></div>Prepare the Y-block</h4><p style="text-align: left;">Screw in the two spring loaded M8 ball screws until they almost protrude on the other side.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpFuQ9VdQ-fNuJoE-eXO9NElJshaLKIei5EyG37Rw55uI5c-iz4LQmS6woIPe7HHBPubDBLky5KZbDxlgCVWg4sNccEy1VIDfdZNzJ8bkOMbr_JqxdMZf1IDu4DptM92gG3sx0hvV_DHs/s2048/IMG_2242.HEIC" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpFuQ9VdQ-fNuJoE-eXO9NElJshaLKIei5EyG37Rw55uI5c-iz4LQmS6woIPe7HHBPubDBLky5KZbDxlgCVWg4sNccEy1VIDfdZNzJ8bkOMbr_JqxdMZf1IDu4DptM92gG3sx0hvV_DHs/w400-h300/IMG_2242.HEIC" width="400" /></a></div><br /> <p></p><p style="text-align: left;">Screw in the two M5 screws on both sides until they almost protrude on the other side.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg92l_MnkAnpmy8F3yA9zsn0LOPVqPYfFsCveX3AwVHARQfRhjljqmoRW7grc3yUbslTKN7xtWStxPGgOyNm4UcPO4EUdjTVHA8qdD9PrnTU2BXvVDiUj54fnaUsHGhd_t910IdY0mzfnI/s2048/IMG_2260.heic" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg92l_MnkAnpmy8F3yA9zsn0LOPVqPYfFsCveX3AwVHARQfRhjljqmoRW7grc3yUbslTKN7xtWStxPGgOyNm4UcPO4EUdjTVHA8qdD9PrnTU2BXvVDiUj54fnaUsHGhd_t910IdY0mzfnI/w400-h300/IMG_2260.heic" width="400" /></a></div><br /><p style="text-align: left;"><br /></p><p style="text-align: left;">Mount the three cables for the X-axis PCB. I used a dab of hot glue here and there. Make sure enough cable is exposed in both ends. The cable need to be flexible since one end connect to the moving X-block. Do not use single core cable.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqm-yIUivHcyU0kjjE1vvsd3yImTQRTvG2Gptd9RD1Oso5gfKW-vEsFaeG27yf0BjmO5pmL2ohA6U5AuZDvhxvVuxGWWl5guI6Cew73ygH7_ntHi1nCDNUGhprat2RDmboX2Ty06mhEw0/s2048/IMG_2261.heic" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqm-yIUivHcyU0kjjE1vvsd3yImTQRTvG2Gptd9RD1Oso5gfKW-vEsFaeG27yf0BjmO5pmL2ohA6U5AuZDvhxvVuxGWWl5guI6Cew73ygH7_ntHi1nCDNUGhprat2RDmboX2Ty06mhEw0/w400-h300/IMG_2261.heic" width="400" /></a></div><p style="text-align: left;"><br /></p><p></p><h4 style="text-align: left;">Assemble the X- and Y-blocks</h4></div><div><p style="text-align: left;">Place the M5 washer onto the M5 screw on the opposite side of the spring loaded ball screws. Put some grease on the 6 nuts and slide in the X-block with the 6 nuts facing the spring loaded ball screws into the Y-block.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglIIGtIfvPmnBCFOkjXGM5Nri2Fa5PQJQLrqI3NMO-9-QScK7mKlwHBKSWgtVZZQnr9IwNpfH7I56v37QDTwS5OZhAuoCg0LisPCIwwvRco0BsIOm2Lu6JchrfmbVdAKnXfaLWoCutbVA/s2048/IMG_2263.heic" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglIIGtIfvPmnBCFOkjXGM5Nri2Fa5PQJQLrqI3NMO-9-QScK7mKlwHBKSWgtVZZQnr9IwNpfH7I56v37QDTwS5OZhAuoCg0LisPCIwwvRco0BsIOm2Lu6JchrfmbVdAKnXfaLWoCutbVA/w400-h300/IMG_2263.heic" width="400" /></a></div><p style="text-align: left;">Screw in both M5 screws all the way. Screw in one of the spring loaded ball screws while moving the X-block back and forth. Once the ball screw start to engage with the nuts, the Y-positions should become more and more distinct. Continue to screw in the second ball screw. If you like stiffer shifter you fasten the ball screws more. Note! Do not over tighten the ball screws.</p><p style="text-align: left;">Screw a nut onto the M8 threaded rod and add a washer. Screw on the shifter knob as far as it goes, and then unscrew the nut until the washer press onto the bottom of the knob and lock it in place.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitcQjWtl8tmCz7p3Y-Aa8RVptkqKvUGOF60QRhSn0XpWfQYoBZhLS5qVFmD1Bt7IK-0-3ZNMlaqYWR3EWjCMggPs73AR2aE39UE2lEFa15Wd8tZm9qe47VCeJLqXAyNMCsnT1ZNrNt3-s/s2048/IMG_2266.heic" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitcQjWtl8tmCz7p3Y-Aa8RVptkqKvUGOF60QRhSn0XpWfQYoBZhLS5qVFmD1Bt7IK-0-3ZNMlaqYWR3EWjCMggPs73AR2aE39UE2lEFa15Wd8tZm9qe47VCeJLqXAyNMCsnT1ZNrNt3-s/w400-h300/IMG_2266.heic" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJVPW_eJhJ9LM6TiPcUoz9FH-1UvQceHBMUKN6yGxej4bd7hpZz7gU0ld8gSzLr_nZQWI39-gEZjuUD2CkzhHmewgF8mi2Zao7GF3CpednMY7HynWT10SkusVE0fvWyIQ_gMbT_9RCPBY/s2048/IMG_2267.heic" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJVPW_eJhJ9LM6TiPcUoz9FH-1UvQceHBMUKN6yGxej4bd7hpZz7gU0ld8gSzLr_nZQWI39-gEZjuUD2CkzhHmewgF8mi2Zao7GF3CpednMY7HynWT10SkusVE0fvWyIQ_gMbT_9RCPBY/w400-h300/IMG_2267.heic" width="400" /></a></div><div><br /></div>Now most of the mechanical work is done!</div><div><br /><h4 style="text-align: left;">PCBs and electrical connections</h4><p style="text-align: left;">Mount the RJ12 PCB to the front of the Y-block.</p><p style="text-align: left;">Push in the hall sensor switches (AH3574) into the slots in the Y-block. Take note how the AH3574 are oriented to know which of the legs are GND, Output and VDD. Connect the top sensor to a4 (Y-out) and bottom one to a3 on the RJ12 PCB. Also connect GND and VDD. Hot glue any loose cable. Also hot glue the sensor switches in place so that they do not fall out from their slots.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHb1J9suLxUfqfFDw4jsftofqwiPj8xjLqRplrZX77j8gMsXru-DqBfeJnHbtY42I7Zhcm7yXNrHzsYI6tQr62MOkN-ze3l7oC9xRBcXKWofdQJbccOwkhwCrvlRwnQYl-2YUmz607t_Y/s2048/IMG_2271.HEIC" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHb1J9suLxUfqfFDw4jsftofqwiPj8xjLqRplrZX77j8gMsXru-DqBfeJnHbtY42I7Zhcm7yXNrHzsYI6tQr62MOkN-ze3l7oC9xRBcXKWofdQJbccOwkhwCrvlRwnQYl-2YUmz607t_Y/w400-h300/IMG_2271.HEIC" width="400" /></a></div><p style="text-align: left;">Mount the X-axis PCB to the X-block using M2 screws. Solder the cables to the X-axis PCB and secure them with some hot glue in the PCB end as a stress relief. Make sure that there is some slack in the cable so that the X-block can move without straining the cables. Solder the other end of the cables to the RJ12 PCB.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijBH11IIUjYmIOhIH-OcIpSKiClTAHPZdK6pU5bx0AxJjY0m9xOvPMNQcc6qHZjjaw2woBzYt5DZ6Q2t5SClWoZIA7Yxtsa5DYo5mplGv8RU2Q3mszi8vyaJI9CLZgNKTmEWn-Ia028TE/s2048/IMG_2269.HEIC" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijBH11IIUjYmIOhIH-OcIpSKiClTAHPZdK6pU5bx0AxJjY0m9xOvPMNQcc6qHZjjaw2woBzYt5DZ6Q2t5SClWoZIA7Yxtsa5DYo5mplGv8RU2Q3mszi8vyaJI9CLZgNKTmEWn-Ia028TE/w400-h300/IMG_2269.HEIC" width="400" /></a></div><p style="text-align: left;">Hot glue the cables soldered to the RJ12 PCB.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtMGEv24YAN3BctZ5g35QWcPEWKTW8WPjBzmg4WBOSUFsqm_7hdpi6tEiU7YlFZU6W311pmNd1suyJtnwB4CdW0OidEQd8loTAHV7chIv2uh6UOxyKgSEJ0JPnU0NnWSGptuHK85e5dw8/s2048/IMG_2270.HEIC" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtMGEv24YAN3BctZ5g35QWcPEWKTW8WPjBzmg4WBOSUFsqm_7hdpi6tEiU7YlFZU6W311pmNd1suyJtnwB4CdW0OidEQd8loTAHV7chIv2uh6UOxyKgSEJ0JPnU0NnWSGptuHK85e5dw8/w400-h300/IMG_2270.HEIC" width="400" /></a></div><br /><p style="text-align: left;">Plug in the H-shifter to your Sim wheel base and calibrate the wheel base so that it interpret the shifters output values as gears. How the calibration is done depends on your steering wheel. Look it up on youtube.</p><p style="text-align: left;">Enjoy!</p><p style="text-align: left;"><br /></p></div><h2 style="text-align: left;">Bill of materials</h2><div><h4 style="text-align: left;">3D printed parts (<a href="https://www.thingiverse.com/thing:5025316">https://www.thingiverse.com/thing:5025316</a>)</h4><ul style="text-align: left;"><li>X-block</li><li>Y-block</li><li>Shifter knob</li><li>Drill jig for the M8 long nut</li><li>Drill jig shifter mounting pattern</li></ul><br /><h4 style="text-align: left;">Electronics</h4><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAEmU6Nxi8HWrvS6vXrvNQ_4W2aE2zS1mjhclWBec2jlEpZo3BdhveNhyIoS_EAeQJ6CMXhsqbFjKGpL1ttHf3DmH3_oo45DbE2ga9NbhDGeI9zUewj3lJwyWynSMNtd7REfK74PrDVOE/s2330/circuit+diagram.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="726" data-original-width="2330" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAEmU6Nxi8HWrvS6vXrvNQ_4W2aE2zS1mjhclWBec2jlEpZo3BdhveNhyIoS_EAeQJ6CMXhsqbFjKGpL1ttHf3DmH3_oo45DbE2ga9NbhDGeI9zUewj3lJwyWynSMNtd7REfK74PrDVOE/w640-h200/circuit+diagram.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvr2Jaq6bqpoAuUuuM9qm7A_YrEFGbecqsFYKaxT1AfJ1soGIiRN1QbYdOuuHL7-G_vnXK3iuEt1YYIo0PTk_wjpZWmyOuQZVu8wFpoPzFWvxhvazC3qvYAW83fa-ea0CuycSucHK3WbI/s1106/Screenshot+2021-10-26+at+15.55.16.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="566" data-original-width="1106" height="205" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvr2Jaq6bqpoAuUuuM9qm7A_YrEFGbecqsFYKaxT1AfJ1soGIiRN1QbYdOuuHL7-G_vnXK3iuEt1YYIo0PTk_wjpZWmyOuQZVu8wFpoPzFWvxhvazC3qvYAW83fa-ea0CuycSucHK3WbI/w400-h205/Screenshot+2021-10-26+at+15.55.16.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR2Rhu8DtRBc-IVeT6Sk-mjrwOwkQGX0-u4wz2gyhh4zoGxpT_mX-w4xWxo3tsSpVlnrqTRRJtj_wkO7G2OgdhYqmDNPVfJGUt7BZC-Pt6OBT57oah9g-RAGWRxjEk5vfXmibbRWw3-8g/s2048/IMG_2246.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1291" data-original-width="2048" height="253" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR2Rhu8DtRBc-IVeT6Sk-mjrwOwkQGX0-u4wz2gyhh4zoGxpT_mX-w4xWxo3tsSpVlnrqTRRJtj_wkO7G2OgdhYqmDNPVfJGUt7BZC-Pt6OBT57oah9g-RAGWRxjEk5vfXmibbRWw3-8g/w400-h253/IMG_2246.jpg" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div></div><div><br /></div>Contact me for PCBs, <a href="mailto:foogadgets@gmail.com">foogadgets@gmail.com</a> €12 incl. shipping. Components not included.</div><div><br /></div><div>Parts numbers from <a href="http://digikey.com">digikey.com</a></div><div><ul style="text-align: left;"><li><span style="font-family: inherit;">1x MCP6N11-010E/SN-ND MCP6N11-010E</span></li><li><span style="font-family: inherit;">1x 223-1562-1-ND G-MRCO-037</span></li><li><span style="font-family: inherit;">2x 31-AH3574-P-ACT-ND AH3574-P-A</span></li><li><span style="font-family: inherit;">1x 1727-1875-1-ND BC807-40 PNP</span></li><li><span style="font-family: inherit;">1x 380-SS-90000-007-ND RJ12 6p6c</span></li><li><span style="font-family: inherit;">1x 311-1.0KHRCT-ND 1k 0603 SMD</span></li><li><span style="font-family: inherit;">5x 311-4.7KHRCT-ND 4k7 0603 SMD</span></li><li><span style="font-family: inherit;">1x 311-47.0KHRCT-ND 47k 0603 SMD</span></li><li><span style="font-family: inherit;">1x 311-56.0KHRCT-ND 56k 0603 SMD</span></li><li><span style="font-family: inherit;">3x <span style="background-color: white;">1276-1006-1-ND </span>100nF Ceramic capacitor 0603 SMD</span></li></ul><br /><h4 style="text-align: left;">Hardware</h4><ul style="text-align: left;"><li>1x Nut M8</li><li>1x Washer M5</li><li>1x Washer M8</li><li>2x Spring ball screw M8, <a href="https://www.amazon.se/gp/product/B08T8Z2VBR/ref=ppx_yo_dt_b_asin_title_o00_s01?ie=UTF8&psc=1">https://www.amazon.se/gp/product/B08T8Z2VBR/ref=ppx_yo_dt_b_asin_title_o00_s01?ie=UTF8&psc=1</a></li><li>2x Spring 8mm x 20mm 3D printer hotbed style, <a href="https://www.amazon.se/gp/product/B07QTZXXHP/ref=ox_sc_act_title_4?smid=AS4K6ASZ3B0CX&psc=1">https://www.amazon.se/gp/product/B07QTZXXHP/ref=ox_sc_act_title_4?smid=AS4K6ASZ3B0CX&psc=1</a></li><li>1x Nut 30-35mm long M8, <a href="https://www.biltema.se/bygg/fastelement/muttrar/forlangningsmuttrar-2-st-2000018782">https://www.biltema.se/bygg/fastelement/muttrar/forlangningsmuttrar-2-st-2000018782</a> Art.no. 19-516</li><li>1x Threaded rod 55mm M5, <a href="https://www.biltema.se/bygg/fastelement/specialskruvar/gangstang-blankforzinkad-2000017295">https://www.biltema.se/bygg/fastelement/specialskruvar/gangstang-blankforzinkad-2000017295</a> Art.no. 19-385</li><li>2x Bolt 35-40mm M5</li><li>4x Screw 2mm M2 (to fasten PCBs. Need to fit in 2.2mm PCB holes), </li><li>4x Ball Bearing 685ZZ 5x11x5mm, <a href="https://www.amazon.se/MR105ZZ-GROOVE-Kullager-fl%C3%A4nsad-remskiva/dp/B098WWBVZX/ref=sr_1_2?dchild=1&keywords=685ZZ&qid=1634473423&sr=8-2&th=1">https://www.amazon.se/MR105ZZ-GROOVE-Kullager-flänsad-remskiva/dp/B098WWBVZX/ref=sr_1_2?dchild=1&keywords=685ZZ&qid=1634473423&sr=8-2&th=1</a></li><li>1x Threaded rod 95mm M8, <a href="https://www.biltema.se/bygg/fastelement/specialskruvar/gangstang-blankforzinkad-2000017295">https://www.biltema.se/bygg/fastelement/specialskruvar/gangstang-blankforzinkad-2000017295</a> Art.no. 19-387</li><li>1x Bolt 75mm M8 smooth, <a href="https://www.biltema.se/bygg/fastelement/bultar/vagnsbult-2000017862">https://www.biltema.se/bygg/fastelement/bultar/vagnsbult-2000017862</a> Art.no. 19-064</li><li>2x Magnet 4x7mm cylindrical, <a href="https://www.amazon.se/gp/product/B00TACMN1I/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1">https://www.amazon.se/gp/product/B00TACMN1I/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1</a></li><li>6x Nut M4 ISO4032 DIN934, <a href="https://www.biltema.se/bygg/fastelement/muttrar/mutter-2000046459">https://www.biltema.se/bygg/fastelement/muttrar/mutter-2000046459</a> Art.no. 89-407</li><li>6x Grub screw 4-10mm M4, <a href="https://www.amazon.se/Gesh-st%C3%A5l-hexuttag-punkt-skruvar/dp/B08W4ZLLKS/ref=sr_1_3?dchild=1&keywords=grub+screw+m4&qid=1634473196&sr=8-3">https://www.amazon.se/Gesh-stål-hexuttag-punkt-skruvar/dp/B08W4ZLLKS/ref=sr_1_3?dchild=1&keywords=grub+screw+m4&qid=1634473196&sr=8-3</a></li></ul><div><br /></div><div>If you have a Playseat Challenge you can also make a mount for the shifter. The mounting holes in the shifter is made to fit the angle bracket below.</div><div><ul style="text-align: left;"><li>1x Metal angle bracket, <a href="https://www.biltema.se/bygg/byggbeslag/vinkelbeslag/vinkelbeslag-2000017271">https://www.biltema.se/bygg/byggbeslag/vinkelbeslag/vinkelbeslag-2000017271</a> Art.no. 19-609</li><li>2x Metal tube clamps 21-23mm, <a href="https://www.biltema.se/bygg/vvs/rorinstallationer/rorklamrar/rorklammer-21---23-mm-2-pack-2000047110">https://www.biltema.se/bygg/vvs/rorinstallationer/rorklamrar/rorklammer-21---23-mm-2-pack-2000047110</a> Art.no. 86-9013</li><li>2x Machine screws M8 to mount the angle bracket to the tube clamps</li></ul></div><h4 style="text-align: left;">Tools</h4><ul style="text-align: left;"><li>Drill for metal 4.2mm, <a href="https://www.amazon.se/gp/product/B00725AOIE/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&th=1">https://www.amazon.se/gp/product/B00725AOIE/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&th=1</a></li><li>Thread cutter tap M5, <a href="https://www.biltema.se/verktyg/handverktyg/gangverktyg/gangtapp-2000042861">https://www.biltema.se/verktyg/handverktyg/gangverktyg/gangtapp-2000042861</a> Art.no. 18-353</li><li>Hacksaw or Dremel to cut steel</li><li>Loctite</li><li>Ruler with 45° angle</li><li>Hot glue gun</li><li>Hammer, or similar</li><li>Drilling machine</li><li>Round file with 4mm diameter is nice to have to make a good seating for the X-axis magnet</li></ul></div><b><div><b><br /></b></div>Special Thanks to Yin Zhong</b>, <a href="https://hackaday.io/project/171155-fanatec-clubsport-shifter-sq-v15-usb-adapter-diy">https://hackaday.io/project/171155-fanatec-clubsport-shifter-sq-v15-usb-adapter-diy</a> He provided the detailed pictures and even an electrical circuit that had many ways to be improved (made by Fanatec).</div></div></div><br /><div><br /></div>foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com02758+RX Lasjö, Sweden60.009527700000007 16.267407434.390047193420124 -18.8888426 85.6290082065799 51.423657399999996tag:blogger.com,1999:blog-2840233659768080582.post-86859478100495411322020-05-18T16:13:00.002+02:002020-09-06T10:51:51.273+02:00Yamaha CR2020 serviceI got hold of a Yamaha CR2020 that was in a pretty bad electrical shape, but very nice externals. As a hobbyist I planned to take my time and fix it properly.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoT6MAv9dVLwrAmRzQLDGtf8ddK6KEF-EGWtHy-3EhF_WETAFvCf-gyvUT2ywWx-7liHYwxW7h6UnsveKPex2aawRIJPuMzkLlgoKWP1x8bfc3mnPamFm-VUYxJjI9pgdJkQpTa06iS7g/s1600/IMG_1481.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoT6MAv9dVLwrAmRzQLDGtf8ddK6KEF-EGWtHy-3EhF_WETAFvCf-gyvUT2ywWx-7liHYwxW7h6UnsveKPex2aawRIJPuMzkLlgoKWP1x8bfc3mnPamFm-VUYxJjI9pgdJkQpTa06iS7g/s640/IMG_1481.jpg" width="640" /></a></div>
<br />
I decided to do a full recap (replace all electrolytic capacitors). Well most of them. I actually left the radio and phono pcb as it was.<br />
<br />
There are three Service Bulletins released by Yamaha for the CR2020. They all target the same problem area. Heat problem in the power supply area. One of them also target a problem with power switch waring out.<br />
<br />
The main capacitor board is the worst heat producer. The PCB in this amp had become so hot that the PCB had become charcoal and the electrical traces lifted from the PCB.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi61oyQMFUOeDujKauxFVPcXJOHOwuFj14Y7K5Y16myRpyew2drzkWTzgHo4a5wyDX8zY-OFN-rc18KicYHpdb5hwUlUw5GOZCB1dRZ3FeNKAkRP8AJfUVcg9otTdDfY5NYq6NGyaJNg40/s1600/IMG_1474.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi61oyQMFUOeDujKauxFVPcXJOHOwuFj14Y7K5Y16myRpyew2drzkWTzgHo4a5wyDX8zY-OFN-rc18KicYHpdb5hwUlUw5GOZCB1dRZ3FeNKAkRP8AJfUVcg9otTdDfY5NYq6NGyaJNg40/s640/IMG_1474.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJlEtyhXMqabI3GayQ_CxKf_DxxN_2C_QnkUFXqCIhfJATr__726Azb4GYar1ZEUghcnJJeBH3V-OoWbCFIgF9y28ZSRZQkoKkvVkAJLhE53FbJJGtv9s3KRCW9rAN0QqNl3R_kL5gD2o/s1600/IMG_1475.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJlEtyhXMqabI3GayQ_CxKf_DxxN_2C_QnkUFXqCIhfJATr__726Azb4GYar1ZEUghcnJJeBH3V-OoWbCFIgF9y28ZSRZQkoKkvVkAJLhE53FbJJGtv9s3KRCW9rAN0QqNl3R_kL5gD2o/s640/IMG_1475.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
The best solution I could come up with was to replace the PCB with a new one. There are no new to buy so I had to backward engineer the existing one. It is possible to buy on request (<a href="https://www.facebook.com/pg/foogadgets/shop">https://www.facebook.com/pg/foogadgets/shop</a>).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3uogvg-SKWjU_sRugPkEVawzqgxGkdUVa7QQ79m34qSHNYtffzuIRg2hFP6PaKQoZCPTguCbupSneG5DmCuh4nnKjV5hoSNUY605pyCzGCUlQeHLpWJd62HYemU0NomyQ5bMIIZwQxgY/s1600/IMG_1470.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3uogvg-SKWjU_sRugPkEVawzqgxGkdUVa7QQ79m34qSHNYtffzuIRg2hFP6PaKQoZCPTguCbupSneG5DmCuh4nnKjV5hoSNUY605pyCzGCUlQeHLpWJd62HYemU0NomyQ5bMIIZwQxgY/s640/IMG_1470.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Most of the heat is produced by four current limiting resistors. The original ones are mounted on the component side and in a way that generate heat in a bad spot. I googled the problem and found out that someone else had solved the problem. Mounting the heat generating components on the back of the PCB make it much easier for the heat to move away from the PCB.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgko806Xg2daD6U1E0QbzcujCBA8Wx28Z9UrDPsEn9dFGsmgOKuVXTC6cgkmezzynBsJiQLvRkq2l1RxW9LDe1Rf4wsPcZibxnduzxSl6t53yzMuyIo7BVI_PCB_35FI9b23ZROaRIj23k/s1600/IMG_1469.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgko806Xg2daD6U1E0QbzcujCBA8Wx28Z9UrDPsEn9dFGsmgOKuVXTC6cgkmezzynBsJiQLvRkq2l1RxW9LDe1Rf4wsPcZibxnduzxSl6t53yzMuyIo7BVI_PCB_35FI9b23ZROaRIj23k/s640/IMG_1469.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
The resistors is now located in a place where air circulates much easier.<br />
-B and +B terminals are marked on the PCB. This is where the cables to the main board is soldered. They connect immediately to the capacitors. As a side note, I experienced the importance of isolation distance. After a full day of testing the amp and adjusting bias, I turned it off. The day after when turning it on, I heard a loud bang! It turned out that the +B cable was lying right on to the negative terminal of the capacitor. When switching on the amp the current flow to the capacitors is very high and thus the voltage shortly spikes. The voltage became so high that there was a spark through the cable isolation. After relocating the cable the problem was solved.<br />
<br />
After the recap and restore was done, there was quite a hand full of retired components. All of them is not shown in the picture.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWtysI5UpZt7FVZCVgxYWB0E0VzpuTbCxuWmQQATERG6QIPkB-6R-YMB0WgPWGChdj1wqnWPVEYZoV0Dqjtb9ntnxi3zTwGgHDZl3o1GLwxb3gTxvBzf4sOtXfxeQRCq0dK-B5rMcDshU/s1600/IMG_1476.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWtysI5UpZt7FVZCVgxYWB0E0VzpuTbCxuWmQQATERG6QIPkB-6R-YMB0WgPWGChdj1wqnWPVEYZoV0Dqjtb9ntnxi3zTwGgHDZl3o1GLwxb3gTxvBzf4sOtXfxeQRCq0dK-B5rMcDshU/s640/IMG_1476.jpg" width="640" /></a></div>
<br />
The capacitors where in a really bad shape.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho5R5e4Q5b3sdIaLESJrkCp1u7_xTKDEDrFdgwxltAOKwKSzDcO9gMViW8gTwGRKl3VbinpXpjXuuqx7L0a8wrdI7QMsdfTtOBcPJv9pjXJIuJ1B11rpE-2Zu87POiM_CsK9mGn2zXVJc/s1600/leftovers.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho5R5e4Q5b3sdIaLESJrkCp1u7_xTKDEDrFdgwxltAOKwKSzDcO9gMViW8gTwGRKl3VbinpXpjXuuqx7L0a8wrdI7QMsdfTtOBcPJv9pjXJIuJ1B11rpE-2Zu87POiM_CsK9mGn2zXVJc/s640/leftovers.jpg" width="640" /></a></div>
The orange capacitors to the left was the only capacitors that still measured very good. The rest was in bad shape with many only having half the capacitance left. The capacitors in the rest of the red circles had a short circuit.<br />
<br />
Closing up on the relay one can see that the contact pads are missing on one side.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe5tqxGPW7np94Ju5TwkzghKPvifj_VXfeINyDV8oSsQjPizLBVY3AmfrR1FkLq5CizTL9OCDiouEqJAMWqgv9bzBfoS6ggpHNereGTKPU5dWlhF0kyNk6RACOs5mnS-tv7sgOOCYZEgI/s1600/IMG_1477.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe5tqxGPW7np94Ju5TwkzghKPvifj_VXfeINyDV8oSsQjPizLBVY3AmfrR1FkLq5CizTL9OCDiouEqJAMWqgv9bzBfoS6ggpHNereGTKPU5dWlhF0kyNk6RACOs5mnS-tv7sgOOCYZEgI/s640/IMG_1477.jpg" width="640" /></a></div>
<br />
The under dimensioned transistors TR712 and TR715 (2SD234) was upgraded to TIP41C and mounted on a big metal surface close to the faceplate. In the image below one can also see the new relay and the new green capacitor board.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6WSO_M53N5ohMrwEQ8GiwU7nntXdVtXOgpAMjMoshS0WwS-1hbw7Sz4XYXusYH_XPFl8a-YtSSNcWnKJgB8kSPlXyEA0v6SBkon4T-ERlY3zRfcKtsedZQV5DksrhVCoK6pvrxoVvrxw/s1600/IMG_1471.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6WSO_M53N5ohMrwEQ8GiwU7nntXdVtXOgpAMjMoshS0WwS-1hbw7Sz4XYXusYH_XPFl8a-YtSSNcWnKJgB8kSPlXyEA0v6SBkon4T-ERlY3zRfcKtsedZQV5DksrhVCoK6pvrxoVvrxw/s640/IMG_1471.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Here is a close-up on the capacitor board. The two big capacitors are new 5-pin snap-in type capacitors.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtHT5q31-sQ4HkD-7WR6_jN692CZmKjkr5hCkS5eZyy3UWb4Sy7o83ZsOtfivO5rdYqYyss6L7NHKQp2pSoZ6GSnTum4Box-wb86dr_j7yQ4EPqCtvh7uK4CeKrfaJTPU4EFlncZvRKY8/s1600/IMG_1470.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtHT5q31-sQ4HkD-7WR6_jN692CZmKjkr5hCkS5eZyy3UWb4Sy7o83ZsOtfivO5rdYqYyss6L7NHKQp2pSoZ6GSnTum4Box-wb86dr_j7yQ4EPqCtvh7uK4CeKrfaJTPU4EFlncZvRKY8/s640/IMG_1470.jpg" width="640" /></a></div>
The Main boards had a couple of short circuit capacitors but nothing else broken. However, I did change the potentiometer to trim the bias voltage and refreshed the thermal paste on all transistors. At the same time I checked that they seemed OK. The transistor to the right TR608 was changed since the 2SC458 is known to go bad.<br />
Image below is before restoration.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxFnxQXxW_eVOpRXH0qK5rRGWC23Zk8VdzuNTttbghsAhd7GKouAc4CX3a0AaWNV_J8I2LTChgyPk8uqNRm77vU6U99Zo7A0pC8HC8QYq39ubMWzQsOmPRUo6Vnl65YSeg-HpmkiZgFQY/s1600/IMG_1438.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxFnxQXxW_eVOpRXH0qK5rRGWC23Zk8VdzuNTttbghsAhd7GKouAc4CX3a0AaWNV_J8I2LTChgyPk8uqNRm77vU6U99Zo7A0pC8HC8QYq39ubMWzQsOmPRUo6Vnl65YSeg-HpmkiZgFQY/s640/IMG_1438.jpg" width="640" /></a></div>
<br />
Main boards after restoration.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEo0ELBzO3pvSGrLJrRiPmxUvb3ezwaVEFbRBM9hc3Tahdoze7nGyBTEZ1CBWgtkJUhEcJR2ocxMDXKUs_LEc_AjS6354sk0Q3qKVrWMj0G9UlhjufJUPwOKlVVQ460SJaAEs6VeFbWj8/s1600/IMG_1446.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEo0ELBzO3pvSGrLJrRiPmxUvb3ezwaVEFbRBM9hc3Tahdoze7nGyBTEZ1CBWgtkJUhEcJR2ocxMDXKUs_LEc_AjS6354sk0Q3qKVrWMj0G9UlhjufJUPwOKlVVQ460SJaAEs6VeFbWj8/s640/IMG_1446.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
The power switch came in a plastic bag. It consist of a mechanical part and an electrical switch part. The mechanical part was in perfect condition but not the electrical part. I 3D-printed a small bracket that made it possible to mount a micro-switch (CSM40550) to the mechanical switch.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5mqYMJJB2Srtv5v9DXxymldgWnC19U3_XNoLoQxghqDd5OVAW8uLkOIkPz7Uq4PePfB9dqLx_M42KWsZtN6zgiDfTgcrdGe5Y18y5HwytRruMl87jKaGXK3alWG2kW5Rp6tVX7WEaDW4/s1600/Screenshot+2020-05-18+at+15.39.57.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="920" data-original-width="880" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5mqYMJJB2Srtv5v9DXxymldgWnC19U3_XNoLoQxghqDd5OVAW8uLkOIkPz7Uq4PePfB9dqLx_M42KWsZtN6zgiDfTgcrdGe5Y18y5HwytRruMl87jKaGXK3alWG2kW5Rp6tVX7WEaDW4/s320/Screenshot+2020-05-18+at+15.39.57.png" width="306" /></a></div>
<br />
And a final picture of the result.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1U1FaSta2pxYl7FhpyPWh1AItchzkXJibpi1VMsQLVwCrA04HXn765WKzGuDtJPc4EQIXpxt4DS1_HRT83izgE0bzYQgrPOsul3_4XTKOkQ14HI9567wYoldvncAMn7vIkuZAmPwRqJ0/s1600/IMG_1480.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1U1FaSta2pxYl7FhpyPWh1AItchzkXJibpi1VMsQLVwCrA04HXn765WKzGuDtJPc4EQIXpxt4DS1_HRT83izgE0bzYQgrPOsul3_4XTKOkQ14HI9567wYoldvncAMn7vIkuZAmPwRqJ0/s640/IMG_1480.jpg" width="640" /></a></div>
<br />
<br />foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0tag:blogger.com,1999:blog-2840233659768080582.post-81870427400359703952017-09-29T09:15:00.002+02:002017-09-29T17:43:50.147+02:00Upgrading a Bosch PLL 360 self-levelling line laserBased on my previous upgrade of the Cocraft HL-10 cross line laser, I was set to upgrade my PLL 360 cross line laser as well.<br />
<br />
<h3>
Analysing the hardware</h3>
I first opened the laser by locating all 5 screws.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUeuChmwAeRtwCdTnPa_NrMuKGCYN8lnSCXcoRNNi41h25PXJFrVm48pIgePEQcyoy_IfkhjujTzBghJWxu0mTivBHf8sDcoswu1iimgzmRmM9PHQDyxRwcOj4pDaGcTEm5Mt4dhHn7iE/s1600/01.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1600" data-original-width="1233" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUeuChmwAeRtwCdTnPa_NrMuKGCYN8lnSCXcoRNNi41h25PXJFrVm48pIgePEQcyoy_IfkhjujTzBghJWxu0mTivBHf8sDcoswu1iimgzmRmM9PHQDyxRwcOj4pDaGcTEm5Mt4dhHn7iE/s400/01.jpg" width="306" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">One of the screws is hidden under the sticker.</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrf6Wv8-j-GJ7iNw2uaY_uxZd9IdTiTquM14Ema2jHmy0tl2hixEhPQCIOyr3HszJi8isY46RWNh_-0DLS6XK-hWX48VmnD04DSRlzh1yblFXpKYjB47VOl8i7QNqXw9orBC5A50ydaUA/s1600/02.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1600" data-original-width="1184" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrf6Wv8-j-GJ7iNw2uaY_uxZd9IdTiTquM14Ema2jHmy0tl2hixEhPQCIOyr3HszJi8isY46RWNh_-0DLS6XK-hWX48VmnD04DSRlzh1yblFXpKYjB47VOl8i7QNqXw9orBC5A50ydaUA/s320/02.jpg" width="236" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">It seem to be possible to adjust the accuracy if needed by adjusting the copper coloured screws.</td></tr>
</tbody></table>
The line laser is self-levelling as long as the line laser is keep within ±4 degrees referenced from the bottom plate. If the inclination is greater, the inclination switch kicks in and turn off the line lasers at the same time as a warning LED turns on. This can be avoided by pressing the Lock key.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwMXvY7lxWIqlsEa1Xe70Z6U3PhXOeGbpdqlgDgAwqav_wx4JoHKgvLbWwngVxhRzVumqOUfvjAFxfxX2HrpMGd0KdIDhF9UreaqMq6MftA_JKDpuHfgeeoZnm6ZXeF8CFKNRtGs6x3PE/s1600/03.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1528" data-original-width="1600" height="305" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwMXvY7lxWIqlsEa1Xe70Z6U3PhXOeGbpdqlgDgAwqav_wx4JoHKgvLbWwngVxhRzVumqOUfvjAFxfxX2HrpMGd0KdIDhF9UreaqMq6MftA_JKDpuHfgeeoZnm6ZXeF8CFKNRtGs6x3PE/s320/03.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">When the spring makes contact with the surrounding PCB, the lasers are turned off.</td></tr>
</tbody></table>
Behind the control panel I find the main PCB.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj66CncJFGh3MGyQfpjzSiYeIJIFnWoz_7ptN2oKrABV3xmoXsKaAt6EAHENht5SQ3NIKR-lEv1dCBgBIW4EjD7Ud3n7BLxXpgwz0gn9O8RdOp6w_Yq9EhFdtFHfix0MdnfJNaJ59IDGhU/s1600/06.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="971" data-original-width="1600" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj66CncJFGh3MGyQfpjzSiYeIJIFnWoz_7ptN2oKrABV3xmoXsKaAt6EAHENht5SQ3NIKR-lEv1dCBgBIW4EjD7Ud3n7BLxXpgwz0gn9O8RdOp6w_Yq9EhFdtFHfix0MdnfJNaJ59IDGhU/s320/06.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">A simple construction.</td></tr>
</tbody></table>
Top-middle right is a step-down converter to bring down 4x1.5V to 3.3V to feed the microprocessor. Bottom right is the microprocessor. A PIC16F676 and a convenient ICSP header close to it (J3). Bottom left is the laser driver n-channel mosfets. Top-middle left is some pull-up resistors and current limiting resistors for the indicator LEDs.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp-apzB-N7wo9hvBULOeXhxmcA1S6cW7I3TpS6g3_0jwZUBwcvloaV2Qg9IGSMKB_GZpXGa_spaYwKkFVgyvAtInG4EMylHsysygsZgY7_cf7BKKAr60wPCTM6PkewH9SELmBbls02Rzk/s1600/07.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="866" data-original-width="618" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp-apzB-N7wo9hvBULOeXhxmcA1S6cW7I3TpS6g3_0jwZUBwcvloaV2Qg9IGSMKB_GZpXGa_spaYwKkFVgyvAtInG4EMylHsysygsZgY7_cf7BKKAr60wPCTM6PkewH9SELmBbls02Rzk/s320/07.png" width="228" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">PCB overview</td></tr>
</tbody></table>
After some measuring I could map all pins on the PIC the functions,<br />
<blockquote class="tr_bq">
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"><span class="s1">/</span>/ PORTA-defines<br />#define H_LED 0 // OUTPUT RA0, Horizontal laser indicator LED<br />#define V_LED 1 // OUTPUT RA1, Vertical laser indicator LED<br />#define BATT_STAT 2 // INPUT RA2/AN2<br />#define WARN_LED 5 // OUTPUT RA5, Warning indicator LED<br />// PORTC-defines<br />#define LOCK_LED 0 // OUTPUT RC0, Lock indicator LED<br />#define V_CTRL 1 // OUTPUT RC1, Vertical laser control pin<br />#define H_CTRL 2 // OUTPUT RC2, Horizontal laser control pin<br />#define MODE_BUTTON 3 // INPUT RC3, Mode button<br />#define LOCK_BUTTON 4 // INPUT RC4, Locked mode button<br />#define LEVEL_TRG 5 // INPUT RC5, Level switch</span></blockquote>
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #5230e1; background-color: #ffffff}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #d53bd3; background-color: #ffffff}
span.s1 {font-variant-ligatures: no-common-ligatures}
span.s2 {font-variant-ligatures: no-common-ligatures; color: #d53bd3}
span.s3 {font-variant-ligatures: no-common-ligatures; color: #c33720}
span.s4 {font-variant-ligatures: no-common-ligatures; color: #5230e1}
</style>
<br />
The BATT_STAT is never used. The pin is connected to battery output, probably to be able to sense when the battery is running out of juice. I did not find the point in implementing the voltage sensing function.<br />
<br />
<h3>
Adding a HW interface</h3>
The J3 connector can be used to connect to the PIC microprocessor.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghJkELV1ILBTnVowYyv_Ywaw89cMuq2J2DjSTmZxynxGEJjMYaQRz1ppf-1iNmuIB4KdzvuqWP_t4DtxZ6RxGokCaC2F7wiICIdAeozsyFQojg6w_VHy0VvNHsjpakI_SCOkE-SghnqYM/s1600/09.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1237" data-original-width="1600" height="492" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghJkELV1ILBTnVowYyv_Ywaw89cMuq2J2DjSTmZxynxGEJjMYaQRz1ppf-1iNmuIB4KdzvuqWP_t4DtxZ6RxGokCaC2F7wiICIdAeozsyFQojg6w_VHy0VvNHsjpakI_SCOkE-SghnqYM/s640/09.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Pro tip. Solder the cables from the bottom and up, if you'd like to keep the programming cables after closing the line laser.</td></tr>
</tbody></table>
Once the header has been populated with wires and a pin-header I connected it to my Pickit2.<br />
To my surprise there is no read protection of the original software so it could be extracted and saved. That can be useful if something goes very wrong and I need to revert back to the original line laser firmware.<br />
<br />
When the programming is done, the programming header can be tucked away along one side of the line laser. I taped it to one side just to make sure it does not fall loose and start to interfere with the self-levelling mechanism.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-eLYBSAJF1aW0EREfJzFEk97-mghIZHgQZtaOOlxTADHCMlTZ0qJtDpeNI1cGPL2GUfH_bx8M342Qz__5NS8iIz7A6dtznRTE7DLsujSSDbfa9wIjP2F9QIujUtkHN_dSreaxWmFJP8o/s1600/11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1431" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-eLYBSAJF1aW0EREfJzFEk97-mghIZHgQZtaOOlxTADHCMlTZ0qJtDpeNI1cGPL2GUfH_bx8M342Qz__5NS8iIz7A6dtznRTE7DLsujSSDbfa9wIjP2F9QIujUtkHN_dSreaxWmFJP8o/s640/11.jpg" width="571" /></a></div>
<br />
<h3>
The original firmware function</h3>
The original firmware have a few basic features.<br />
The Mode button selects which one of the two lasers should be lit. The horizontal laser, the vertical laser or both lasers.<br />
The Lock button disables the internal inclination switch so that the line laser can be used at any angle.<br />
<br />
<h3>
The new features added with my new firmware</h3>
I have created two modes. Indoor mode and outdoor mode.<br />
The indoor mode has exactly the same features as the original firmware except for one thing. The last used setting is saved in EEPROM and is recalled when turning on the line laser next time.<br />
<br />
The outdoor mode is exactly the same as the indoor mode except that the lasers are pulsating at 2.6kHz.<br />
By pulsating the lasers it is possible for a line laser detector to detect the lasers outdoor in bright daylight. This is a feature that is usually found in more expensive line lasers.<br />
The outdoor/indoor mode is toggled by holding the Mode button while turning on the line laser.<br />
<br />
The outdoor mode has been tested with the cheap Clasohlson laser detector, <a href="http://www.clasohlson.com/se/Laserdetektor-Cocraft-PRO-Edition-D50/40-9978">http://www.clasohlson.com/se/Laserdetektor-Cocraft-PRO-Edition-D50/40-9978</a><br />
The detection range is measured to be at least 55 meter outdoor.<br />
<br />
Talk is cheap. Show me the code.<br />
<br />
The source code is written in C for the XC8 compiler here,<br />
<a href="https://bitbucket.org/foogadgets/pll360-upgrade">https://bitbucket.org/foogadgets/pll360-upgrade</a><br />
<br />
The latest hex-file (pll360-outdoor-upgrade.hex) can be found and downloaded here,<br />
<a href="https://bitbucket.org/foogadgets/foogadgets-document-and-firmware-download/downloads/">https://bitbucket.org/foogadgets/foogadgets-document-and-firmware-download/downloads/</a><br />
<br />foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com15tag:blogger.com,1999:blog-2840233659768080582.post-60766655820649854982017-08-29T13:07:00.000+02:002017-08-29T13:07:03.472+02:00Upgrading a cheap cross-line laser levellerWhen I started to build our greenhouse, I had a cross-line laser to make sure the build progress was done in level. The problem I had was that the cross-line laser I had was impossible to detect during summer days, so I had to wait until late evening to verify if all was still in level.<br />
<br />
The easy solution would be to buy a laser line detector. But that would set me back at least $60. On top of that I would have to buy a new line laser that is supported by the line laser detector. That kind of line laser cost from about $200 and up.<br />
<br />
I found out that the detectors usually rely on rotating laser light. Rotating since the detector only detect blinking light. Outdoor a constant light source of a specific color does not make much of a difference compared to the background surrounding light for a light sensor, but by adding a high pass filter to the light sensor, only pulsating light will be detected. Everything else is filtered out.<br />
<br />
OK, so I had to adapt my existing line laser to emulate a rotating line laser. I had to make the laser blink at a certain frequency. The line laser I have is this one from Clas Ohlson, <a href="http://www.clasohlson.com/se/Krysslaser-Cocraft-HL10-S/40-9996">Cocraft HL10-S</a><br />
<br />
There is a feature on many line lasers that the laser is turned off if the laser device is inclined too much in any direction. Mechanically the laser emitter is positioned in a pendulum that is hinged in two directions so that it can freely move with gravity. The lower end of the pendulum is hanging down into a hole. If the laser device is inclined too much, the pendulum will touch the side of the hole.<br />
Electrically that will close an electric circuit that in turn will turn off the laser light emitter.<br />
This mechanism I will use to flicker the laser light emitter.<br />
<br />
Opening the laser device, I found the soldering pads on the PCB that corresponded to ground(GND), power(Vcc) and the inclination trigger to turn off the laser.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu9x9tF-qJ5GMswLR0tp5YBJfhbUofraZ2XYwRoDGbxZUjnu78gopaV4IN3Y3KyQKgvTUbpMWicGliu1ZcBU-lWHYYBUVnnGEerO6Oi-Jk4chXevYr91Lo-FE8vctEMkJuXsvxfqvKEM4/s1600/IMG_3045.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu9x9tF-qJ5GMswLR0tp5YBJfhbUofraZ2XYwRoDGbxZUjnu78gopaV4IN3Y3KyQKgvTUbpMWicGliu1ZcBU-lWHYYBUVnnGEerO6Oi-Jk4chXevYr91Lo-FE8vctEMkJuXsvxfqvKEM4/s400/IMG_3045.JPG" width="400" /></a></div>
<br />
Measuring the signal level on the inclination trigger showed that it was either 0V or Vcc.<br />
Manually forcing the inclination trigger pad to Vcc turned off the laser emitter. Thus, I only needed to create an astable multivibrator that generates a high enough frequency square wave and connect that signal to the inclination trigger. What frequency is needed I still had to find out.<br />
<br />
To start experimenting I of course needed a laser line detector. I ended up buying the very affordable, <a href="http://www.clasohlson.com/se/Laserdetektor-Cocraft-PRO-Edition-D50/40-9978">Cocraft D50 Pro edition</a>.<br />
<br />
Moving on with the astable multivibrator. I based it on a 555-timer that only need a few extra components to generate a square wave. Here is the electrical diagram and component values I ended up using.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIW_NwQn5AtFKazW8oVOurAnFtv7Xs81p-hB5g-QiyG4ME6up-bZ0wCxMQFEW2EANR-4mdSw1qETyUpjY9XzceLBFY7hEs6Uxm2sCJVz3o-PzaDymESzFpobkoxO7y9knfgsPBa1xTWlY/s1600/Schematic-of-IC-555-as-Astable-Multivibrator.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="369" data-original-width="385" height="382" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIW_NwQn5AtFKazW8oVOurAnFtv7Xs81p-hB5g-QiyG4ME6up-bZ0wCxMQFEW2EANR-4mdSw1qETyUpjY9XzceLBFY7hEs6Uxm2sCJVz3o-PzaDymESzFpobkoxO7y9knfgsPBa1xTWlY/s400/Schematic-of-IC-555-as-Astable-Multivibrator.jpg" width="400" /></a></div>
<br />
<br />
It turned out that the detector start to detect the laser when the beam blinking frequency is over 340Hz. I ended up using a 1kHz square wave with a 67% duty cycle. I soldered all the components directly on the 555 IC, in a "dead bug"-style.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz_Gqcb-FgpTddvriID-IcTMi_Ib5EKiaRmqTkaW4S3Y8SofvnKiWEY2zjdmgef57ETV0oAC7FhFK6ZOQPCLT0sbba_pYgEeaC5f0sqpZu3zch90oBmdDHC-75k6oHF27-KOScnCKchCI/s1600/IMG_3042.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1207" data-original-width="1351" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz_Gqcb-FgpTddvriID-IcTMi_Ib5EKiaRmqTkaW4S3Y8SofvnKiWEY2zjdmgef57ETV0oAC7FhFK6ZOQPCLT0sbba_pYgEeaC5f0sqpZu3zch90oBmdDHC-75k6oHF27-KOScnCKchCI/s400/IMG_3042.JPG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
The circuit was enclosed in a white shrink tube and tucked away inside the line laser enclosure.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBh_Rg5LhSOCufEUnyYlWkezufN-JyEjeEz-tvpDBbrcXyEENttjfjEDOwe4uY0fVzfltWti4voxXupCJEzIRUkwk6ff1rR-reIrMO6CxBXTrQF6hIBBmTXSWDeEVQP0246NDIENlymPc/s1600/IMG_3046.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBh_Rg5LhSOCufEUnyYlWkezufN-JyEjeEz-tvpDBbrcXyEENttjfjEDOwe4uY0fVzfltWti4voxXupCJEzIRUkwk6ff1rR-reIrMO6CxBXTrQF6hIBBmTXSWDeEVQP0246NDIENlymPc/s400/IMG_3046.JPG" width="400" /></a></div>
<br />
<br />
Testing my new "rotating" line laser with my laser detector outside showed a detection distance of at least 40 meters. All in all it set me back $38 for the line laser, $50 for the detector and less than $1 for the astable multivibrator circuit.<br />
<br />
Mission accomplished!<br />
<br />
PS. I first planned to make my own line laser detector. But I realised that it is hard to motivate considering the time to develop and component cost, when I could buy one for $50.<br />
<br />foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0tag:blogger.com,1999:blog-2840233659768080582.post-71974769162774433012017-06-01T07:52:00.002+02:002017-06-01T08:05:13.919+02:00New product in the store: Slot car programmer<br />
<br />
The new product is called SSD Slot Car ID programmer. The main purpose is to assign Slot car IDs to Scalextric Sports Digital slot cars. In a typical usage situation the slot cars for the upcoming race can be programmed with the correct car ID already before the ongoing race have finished.<br />
<br />
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRbUCt0PTg3gJX12JacfgQjlXFdkLQMkV-Fv1Cq8ETYo3BvcNeEgor7EdfvJKP_0yg0m3kKb23zDzDABICSdtHGFjVKYG3v0NdNDW0eJ8FlseFivv_wf2aSBBPd_FUjVLhZ3qij_PWlPg/s1600/FullSizeRender+2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1226" data-original-width="1600" height="245" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRbUCt0PTg3gJX12JacfgQjlXFdkLQMkV-Fv1Cq8ETYo3BvcNeEgor7EdfvJKP_0yg0m3kKb23zDzDABICSdtHGFjVKYG3v0NdNDW0eJ8FlseFivv_wf2aSBBPd_FUjVLhZ3qij_PWlPg/s320/FullSizeRender+2.jpg" width="320" /></a></div>
<br /></div>
<div>
<a href="http://foogadgets.tictail.com/product/ssd-slot-car-programmer">http://foogadgets.tictail.com/product/ssd-slot-car-programmer</a></div>
<div>
<br /></div>
<div>
It can be controlled by either pushing the button, or by connecting a computer to the serial interface. The serial interface configuration need to be TTL level and 1N8 19200. Sending any character 1-6, will set the car ID to respectively address.</div>
<div>
<br /></div>
<div>
<a href="https://bitbucket.org/foogadgets/foogadgets-document-and-firmware-download/downloads/ManualSSDSlotCarIDProgrammerv1.3.pdf">Here is the manual</a> for more information.</div>
foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0tag:blogger.com,1999:blog-2840233659768080582.post-1090442494744183272016-12-02T20:48:00.000+01:002016-12-04T11:23:05.300+01:00Wireless Pulse Counter 3 (WPC3)I have updated the firmware to support the Telldus products.<br />
For Telldus products it is needed to convert the received data into Energy and Power consumption.<br />
An example how this is done can be seen in the file wpc-calc.c <a href="https://bitbucket.org/foogadgets/wpc-logger/src/">here</a>.<br />
<br />
Another update is the 1-wire support. Now the WPC can communicate to the same 1-wire-devices as the WMS mk3.<br />
<ul style="border: 0px; color: #2f2e2a; font-family: Times, 'Times New Roman', serif; line-height: inherit; list-style-image: initial; list-style-position: initial; margin: 10px 0px; padding: 0px 0px 0px 25px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; list-style: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">DS18B20</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; list-style: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">DS18S20</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; list-style: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">DS1820</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; list-style: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">DS18B22</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; list-style: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">DS2450</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; list-style: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">MAX31850K</li>
</ul>
Of course is the DHT22 also supported.<br />
<br />
The new Wireless Pulse Counter 3 (WPC3) is available now in the <a href="http://foogadgets.tictail.com/product/wpc3">foogadgets store</a>.<br />
<br />foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0tag:blogger.com,1999:blog-2840233659768080582.post-29301585694631937792016-05-30T09:47:00.001+02:002016-05-30T09:47:16.999+02:00Soon: Wireless pulse counter (WPC2) to support Tellstick DUO/NET<div>I am currently working on adding support for Tellstick DUO/NET to the WPC2. The support will be implemented in the same way as the old WPC.</div><div>The 1-wire support will at the same time, be extended to be compatible with more devices.</div><div>Beta testing is ongoing.</div><div><br></div>foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0tag:blogger.com,1999:blog-2840233659768080582.post-33772874135421808172016-02-05T20:17:00.001+01:002018-03-15T21:24:43.115+01:00New CO2-sensor support for the WMS mk3I have implemented support for an additional carbon dioxide sensor that is much cheaper and easier to get hold of compared to the S8 sensor from SenseAir.<br />
<div>
<br /></div>
<div>
The new sensor (MH-Z19) can be found on <a href="http://www.ebay.com/sch/i.html?_from=R40&_sacat=0&_nkw=mh-z19&rt=nc&LH_BIN=1">eBay</a> or <a href="http://www.aliexpress.com/w/wholesale-mh%25252dz19.html?site=glo&SearchText=mh-z19&g=y&SortType=price_asc&groupsort=1">Aliexpress</a> from $26 including shipment.</div>
<div>
<br /></div>
<div>
Of course there are differences between the two that is reflected by the price.</div>
<div>
<br /></div>
<div>
I have setup two WMS mk3 side by side. One WMS with an S8 sensor and one with an MH-Z19 sensor. The result is logged to <a href="https://thingspeak.com/channels/19664" target="_blank">ThingSpeak</a></div>
<div>
<br />
The MH-Z19 variant used have a range from 0-5000ppm. As the digital output on the MH-Z19 only can be 0-1000, every digital step represents 5ppm. This probably contributes to the jagginess in the graphs presented below.<br />
<br />
<div>
First observation when comparing the two graphs is that the MH-Z19 sensor gives a much more jagged curve. Both graphs have the same shape which indicates that the response time is about the same for both. The MH-Z19 has however a slower response time.</div>
<div>
<br />
The left half of the graphs below should be close to 400ppm as both sensors was placed in the opening of a window. Outside air can be used to calibrate a CO<sub>2</sub> sensor since the open air CO<sub>2</sub> concentration is constantly very close to 400ppm.<br />
<br />
A feature that the MH-Z19 is lacking compared to the S8 is auto calibration (a.k.a. ABC - Automatic Baseline Calibration). The ABC continuously keeps the S8 sensor calibrated.<br />
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidlXUF0g5WzNJe92Lvd0c1Zgr1N4zV0tFUCIvO0hqb7c1E3eF5Ti2IMuu4nZf72hqa2AJdBawa1ZJ1Jj2exh8H53rnNbHOaH96BTgnxOz4Eh5DIsh_4aT4cre-JJ85rYFGxNkvJ6mzi1w/s1600/Screen+Shot+2016-02-05+at+18.18.05.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidlXUF0g5WzNJe92Lvd0c1Zgr1N4zV0tFUCIvO0hqb7c1E3eF5Ti2IMuu4nZf72hqa2AJdBawa1ZJ1Jj2exh8H53rnNbHOaH96BTgnxOz4Eh5DIsh_4aT4cre-JJ85rYFGxNkvJ6mzi1w/s640/Screen+Shot+2016-02-05+at+18.18.05.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td class="tr-caption" style="font-size: 12.8px;">This picture shows the difference between the two. The timescale is 1 hour.</td></tr>
</tbody></table>
</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
This second image shows that the MH-Z19 averages out to shape the same graph as the S8, but the readout is not very smooth. The graph spans about 1 hour to make the comparison more obvious.<br />
<br /></div>
<div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNbfKJzaYcnL5wKQuTfdreXerJNo0YJ4vRYM_iPpv8UzhSphuLpkReowr2pX7TOpDhkCYEY8qvgNAqUSuicNiDZ9P3Y0BazlUX9GAVhDdKC4Ab-tk-qagkwbiEL-X-2WRx-IsI2Q7CqSw/s1600/Screen+Shot+2016-02-05+at+19.02.29.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="352" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNbfKJzaYcnL5wKQuTfdreXerJNo0YJ4vRYM_iPpv8UzhSphuLpkReowr2pX7TOpDhkCYEY8qvgNAqUSuicNiDZ9P3Y0BazlUX9GAVhDdKC4Ab-tk-qagkwbiEL-X-2WRx-IsI2Q7CqSw/s640/Screen+Shot+2016-02-05+at+19.02.29.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Another image that shows the jagged graph from the MH-Z19 sensor.</td></tr>
</tbody></table>
In the graphs below I had added a +45ppm offset to the MH-Z19 sensor readings as I thought it was showing around 45ppm too much compared to the S8. After calibration I reconsidered and had to change the offset factor to -30ppm. The offset change can be seen at about 14:50. When zooming out the comparison between the two is more fair.<br />
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuOr83Mn1h-Nz3vCBwe2y8ettPQcmE-701riGNaFwg9LygsSJI0pupHD1r84dF0KrW3KN-f7K1p_-AkgdvQbS0gI9eLWKkCbGZ6mC65cJ6-ZxJQnf9n4JAQ9nuxsETobEEpjZHaYg9-eY/s1600/Screen+Shot+2016-02-05+at+19.40.46.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="354" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuOr83Mn1h-Nz3vCBwe2y8ettPQcmE-701riGNaFwg9LygsSJI0pupHD1r84dF0KrW3KN-f7K1p_-AkgdvQbS0gI9eLWKkCbGZ6mC65cJ6-ZxJQnf9n4JAQ9nuxsETobEEpjZHaYg9-eY/s640/Screen+Shot+2016-02-05+at+19.40.46.png" width="640" /></a></div>
<br />
<h4>
Summary</h4>
The price/performance ratio for the MH-Z19 is good, and I think it is worth its price and good enough to measure the air quality in an apartment or house. The S8 on the other hand seem to be very much more accurate and there is usually no problem to detect presence of one or several persons in my 97m<sup>2</sup> apartment.<br />
<br />
I will update the blog when the 0-2000ppm MH-Z19 sensor arrives. That variant is likely to give better results as the resolution of the output is 2ppm per step.</div>
<div>
<br />
Note that the output of the MH-Z19 is always 0-1000 which is shown by the WMS as 0.0°C - 100.0°C<br />
To convert this to a proper carbon dioxide ppm reading, the temperature need to be multiplied by 50.0 for the 0-5000ppm MH-Z19 variant, and by 20.0 for the 0-2000ppm variant.<br />
<br />
<br />
<br />
<br /></div>
foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0tag:blogger.com,1999:blog-2840233659768080582.post-1741378588295457642015-09-22T00:10:00.001+02:002016-04-20T22:21:34.675+02:00UNI-T UT61E modificationTo create my <b><a href="http://foogadgets.tictail.com/" target="_blank">foogadgets</a></b> I need tools. Some tools can be upgraded and improved.<br />
One of them is my multimeter UT61E from UNI-T that is a pretty good multimeter for the hobbyist.<br />
<br />
The onboard processing chip ES51922 have more features than is presented to the user. This hack enables some of them.<br />
<br />
After the modification my multimeter have the following additional features;<br />
<ul>
<li>Backlit LCD with backlight auto shut-off</li>
<li>DMM auto power-off after 15 minutes</li>
<li>Possible to Enable/Disable RS232. Default is to have RS232 Disabled</li>
<li>MAX-MIN mode for Frequency and Duty cycle measurements</li>
<li>AC Low Pass Filter mode</li>
</ul>
<div>
There are some more tweaks to the tweak that can be done;</div>
<ul>
<li>Increase LCD backlight shut-off time from 60 to 180 seconds by connecting BKSEL (113) to VB_ (-3V). It is floating by default</li>
<li>Increase the auto power-off time to 30 minutes by connecting APOSEL (112) to VB_. Default is floating.</li>
</ul>
For this modification there is no need to add any extra buttons. By putting a microprocessor between the function buttons and the DMM processing chip, it is possible to add more modes to some of the buttons. For the Blue and the Yellow button there is only one mode, the short press-release.<br />
I add more modes that is triggered by long-pressing each button or by pressing both buttons simultaneously or by holding down the yellow button while powering on.<br />
<br />
This is not my own hack but rather a compilation of already existing hacks with some additions.<br />
I have however not seen anyone done this with a PIC from Microchip. Nor using the PIC to drive the LEDs to protect the MM processing chip.<br />
I have also enabled the LPF in AC-mode which I have not seen been done earlier.<br />
<h4>
Prerequisites</h4>
<ul>
<li>2 pcs LED. The forward current must not exceed 3V</li>
<li>1 pcs Resistor to limit the current to the LEDs. Its value depends on the LEDs forward voltage drop</li>
<li>2 pcs Resistor as a voltage divider for the BKOUT signal. Around 40k-60k should be OK.</li>
<li>1 pcs PIC16F688 microprocessor from Microchip</li>
<li>1 pcs 0.1uF capacitor for decoupling the PIC16F688</li>
<li>Thin connection wire</li>
<li>Hot glue and super glue is good to have</li>
<li>PicKit2 or PicKit3 to program the PIC16F688 microprocessor</li>
</ul>
<h4>
The modification</h4>
Download the source code from here,<br />
<a href="https://bitbucket.org/foogadgets/ut61e-modification" target="_blank">https://bitbucket.org/foogadgets/ut61e-modification</a><br />
<br />
Build the hex-file.<br />
<br />
Flash the PIC16F688 with the generated hex-file.<br />
<br />
Solder the decoupling capacitor between pin (1) and (14) on the PIC.<br />
<br />
Solder thin cables on all pins except pin (4).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://bitbucket.org/foogadgets/ut61e-modification/downloads/UT61E%20PIC%20Service%20Pack1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="512" src="https://bitbucket.org/foogadgets/ut61e-modification/downloads/UT61E%20PIC%20Service%20Pack1.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Here is a video of the final result,<br />
<a href="https://www.youtube.com/watch?v=KLrDdRcWR2Y">https://www.youtube.com/watch?v=KLrDdRcWR2Y</a><br />
<br />
Some pictures;<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0711.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0711.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0712.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0712.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0715.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0715.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0721.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0721.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0722.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0722.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0723.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0723.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0724.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0724.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0727.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0727.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0729.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0729.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0730.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0730.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0731.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0731.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0732.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://bitbucket.org/foogadgets/ut61e-modification/downloads/IMG_0732.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://bitbucket.org/foogadgets/ut61e-modification/downloads/uni-t_ut61e.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="226" src="https://bitbucket.org/foogadgets/ut61e-modification/downloads/uni-t_ut61e.png" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com6tag:blogger.com,1999:blog-2840233659768080582.post-45437046762024060842015-05-20T00:23:00.001+02:002015-05-20T00:25:52.530+02:00The new Wireless Multi sensor Mk3 is available in the store!You can read about it <a href="http://foogadgets.tictail.com/product/wireless-multi-sensor-mk3" target="_blank">here</a> and download the manual for details <a href="https://bitbucket.org/foogadgets/foogadgets-document-and-firmware-download/downloads/ManualWirelessMultiSensorMk3.pdf" target="_blank">here</a>.<br />
<br />
Enjoy!<br />
<br />foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0tag:blogger.com,1999:blog-2840233659768080582.post-36746960037386811392015-05-03T00:09:00.001+02:002016-12-04T11:16:22.849+01:00How to make the WPC work in Domoticz<div>
<br /></div>
<div style="text-align: left;">
Updated 2016-12-04: Updated to reflect Mattias new lua-script.<br />
<br />
<br />
Here are some short steps to get the <a href="http://foogadgets.tictail.com/product/wireless-pulse-counter">WPC</a> working in <a href="http://www.domoticz.com/">Domoticz</a>.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
1. Enable the X10 protocol.</div>
<div style="text-align: left;">
In Domoticz: Click <i>Setup</i> and then <i>Hardware</i>. Click <i>Set Mode</i> for the RFXtrx433(E). Check the X10 checkbox if not already checked.</div>
<div style="text-align: left;">
The WPC should after this, be shown as a RFXMeter</div>
<div style="text-align: left;">
<span style="background-color: #fff2cc;">(In Domoticz you can fully ignore the other type of protocol the WPC transmits. i.e. Temperature/Humidity sensor with ID 4600)</span></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
2. Turn on and find the WPC in Domoticz.</div>
<div style="text-align: left;">
In this step, the WPC does not need to be mounted to your electrical meter or Gas meter or whatever you like to count. It just need to be powered on and within range of the RFXtrx433(E)</div>
<div style="text-align: left;">
Click <i>Setup</i> then <i>Devices</i>. Click the button <i>All Devices</i> and locate the RFXMeter sensor in the list. The WPC transmits a signal immediately at power on, and the once every 60 seconds, so it should be found in the list.</div>
<div>
<div style="text-align: left;">
<br /></div>
<div>
<div style="text-align: left;">
3. Add the RFXMeter to your list of Used sensors.</div>
<div style="text-align: left;">
Click the green circle with white arrow pointing to the right, on the right most side of the page.</div>
<div style="text-align: left;">
If it is a blue circle, it is already added to your list of Used sensors.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
4. Name your RFXMeter sensor.</div>
<div style="text-align: left;">
Click on the tab <i>Utility</i> in the top. Locate the RFXMeter, and click <i>Edit</i> and give it a name of your choice. This name will be used further down in this list. Also choose <i>Type</i> Energy in the dropdown list (if that is what you like to measure).</div>
</div>
<div>
<div style="text-align: left;">
<br /></div>
<div>
<div style="text-align: left;">
5. Add device that show Power consumption [W].</div>
<div style="text-align: left;">
To be able to not only see Energy [Wh] but also see the Power usage [W], please download this excellent lua-script from one of my customers (credit to Mattias Hedström), <a href="https://github.com/mrhedstrom/domoticz/blob/master/scripts/lua/script_device_ActualEnergy.lua">https://github.com/mrhedstrom/domoticz/blob/master/scripts/lua/script_device_ActualEnergy.lua</a></div>
<div style="text-align: left;">
To make it work, you need to follow step 5.1 to 5.3 below.</div>
<div style="text-align: left;">
<br /></div>
<div>
<div style="text-align: left;">
5.1 Create an Electric virtual sensor.</div>
<div>
<div style="text-align: left;">
Click <i>Setup</i> and then <i>Hardware</i>. As Type, choose <i>Dummy..</i>. Add a name and click <i>Add</i>.</div>
<div style="text-align: left;">
From the newly created Dummy-device, click <i>Create Virtual Sensors.</i> In the drop-down list choose <i>Electric..</i>.</div>
<div style="text-align: left;">
Click <i>Setup</i> and then <i>Devices</i>. Click <i>All devices</i>. You should be able to find your newly created Electric virtual sensor. Make note of its idx for later use.</div>
<div style="text-align: left;">
<br /></div>
5.2 Modify the script to fit your local settings. <br />
<b>energyCounter</b>: This should be the same string as the name you gave to the RFXMeter in step 4 above. <br />
<b>dummyEnergyMeter</b>: This should be the same string as the name you gave to the Electric Virtual Sensor created in step 5.1 <br />
<b>dummyEnergyMeterid</b>: Use the idx integer of the Electric Virtual Sensor created in step 5.1 above. <br />
Now all the software is in place and you should get reports once every minute from the WPC to Domoticz.</div>
</div>
</div>
</div>
</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<div>
5.3 Place the updated script in the Domoticz subfolder <i><path-to-domoticz>/scripts/lua/</i></div>
<div>
<br /></div>
<div>
<div>
</div>
</div>
6. Mount your WPC in a secure and light tight fashion onto your Energy meter and enjoy your graphs in Domoticz.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<i>Credit to Mattias Hedström and Patrik Nordelind for helping out making this list.</i></div>
<div>
<br /></div>
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; -webkit-text-stroke: #000000}
span.s1 {font-kerning: none}
</style>foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0tag:blogger.com,1999:blog-2840233659768080582.post-55521800407192253592015-04-28T22:32:00.001+02:002015-05-03T23:01:25.897+02:00Tellstick DUO firmware with support for the WPCYesterday I sent a pull request to Telldus asking to include my code that adds native support for the Wireless Pulse Counter for the Tellstick DUO.<br />
<div>
The update contains two parts, The patched firmware for the Tellstick DUO, and the patched telldus-core that runs on the computer where the Tellstick DUO is connected. The Firmware I provide compiled and it is ready for download, whereas the telldus-core software you need to compile yourself.</div>
<div>
<br /></div>
<div>
Of course, despite this code update, you will still need to do at least some calculations on the receiving side.</div>
<h3>
Firmware</h3>
<div>
The firmware adds support for the RFXCOM-protocol that is used by the WPC (<a href="http://www.domoticaforum.eu/viewtopic.php?f=32&t=571&start=14" target="_blank">Protocol description</a>...kind of).</div>
<div>
The effect of using this firmware is that the WPC will no longer show up as a thermometer but instead as a RFXmeter device which is made for presenting number of pulses, and not temperature, humidity, wind speed etc. The earlier calculations below will no longer be needed,</div>
<div>
<br /></div>
<div>
<pre style="background-color: white; color: #333333; font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace; font-size: 12px; line-height: 1.4; padding: 0px;"> <span class="k" style="font-weight: bold;">if</span> <span class="p">(</span> <span class="o" style="font-weight: bold;">!</span><span class="n">signbit</span><span class="p">(</span><span class="n">temperature</span><span class="p">)</span> <span class="p">)</span> <span class="p">{</span>
<a href="https://www.blogger.com/null" name="cl-19" style="color: #3572b0;"></a> <span class="n">i_counts</span> <span class="o" style="font-weight: bold;">=</span> <span class="n">humidity</span><span class="o" style="font-weight: bold;">*</span><span class="mi" style="color: #009999;">4096</span> <span class="o" style="font-weight: bold;">+</span> <span class="p">(</span><span class="kt" style="color: #445588; font-weight: bold;">int</span><span class="p">)(</span><span class="mf" style="color: #009999;">10.0</span><span class="o" style="font-weight: bold;">*</span><span class="n">temperature</span><span class="p">);</span>
<a href="https://www.blogger.com/null" name="cl-20" style="color: #3572b0;"></a> <span class="p">}</span> <span class="k" style="font-weight: bold;">else</span> <span class="p">{</span>
<a href="https://www.blogger.com/null" name="cl-21" style="color: #3572b0;"></a> <span class="n">i_counts</span> <span class="o" style="font-weight: bold;">=</span> <span class="n">humidity</span><span class="o" style="font-weight: bold;">*</span><span class="mi" style="color: #009999;">4096</span> <span class="o" style="font-weight: bold;">-</span> <span class="p">(</span><span class="kt" style="color: #445588; font-weight: bold;">int</span><span class="p">)(</span><span class="mf" style="color: #009999;">10.0</span><span class="o" style="font-weight: bold;">*</span><span class="n">temperature</span><span class="p">)</span> <span class="o" style="font-weight: bold;">+</span> <span class="mi" style="color: #009999;">2048</span><span class="p">;</span>
<a href="https://www.blogger.com/null" name="cl-22" style="color: #3572b0;"></a> <span class="p">}</span></pre>
</div>
<div>
<br /></div>
<div>
The maximum number of counts is also increased from 413,696 to 2^24 (16,777,216).</div>
<div>
<div>
<br /></div>
<div>
<i>NOTE!</i> I have only tested this firmware on my own Tellstick DUO.</div>
</div>
<div>
The same code have been provided to Telldus so that they can include it in the next release of the firmware.</div>
<div>
It is also likely to be released in the Tellstick NET firmware as well since the same code can be used. <a href="http://developer.telldus.se/ticket/434" target="_blank">Link to the Telldus ticket.</a></div>
<div>
<div>
<div>
<br /></div>
<div>
The already compiled firmware can be downloaded here,<br />
UPDATED: 2015-04-30: I added another check to make sure it is a RFXCOM package and also fixed so that the checksum is kept through the Tellstick.</div>
<div>
<a href="https://bitbucket.org/foogadgets/tellstick-duo-firmware-supporting-wpc/downloads" target="_blank">Tellstick DUO-Supporting WPC</a></div>
</div>
</div>
<h3>
Software</h3>
<div>
The telldus-core software also need to be updated. This is the software that interpret the new raw data that comes from the Tellstick DUO when it receives data from a WPC. The Pull request for this can be downloaded here, <a href="https://github.com/telldus/telldus/pulls" target="_blank">telldus-core patch</a>.</div>
<div>
<h3>
Calculations</h3>
<div>
First get to know your energy meter recalculation factor. Find the [<b>imp/kWh</b>] marking on your energy meter. Then divide 1,000 with the number you find.</div>
<div>
<br /></div>
<div>
Example 1. If it is marked with <b>10,000imp/kWh</b> the recalculation factor is 1,000/10,000 <b>= 1/10</b></div>
<div>
Example 2. If it is marked with <b>500imp/kWh</b> the recalculation factor is 1,000/500 <b>= 2</b></div>
<div>
<br /></div>
<div>
Once you have the recalculation factor you can use that to calculate the consumed Energy and present Power usage.</div>
<div>
<br /></div>
<div>
<b>Energy</b> [<b>kWh</b>], multiply your received number with the recalculation factor for your energy meter. You will likely want it in [<b>kWh</b>], thus the dividend 1,000.</div>
<div>
<br /></div>
<div style="text-align: left;">
<i> Energy = count • (recalculation factor) / 1,000</i></div>
<div>
<br /></div>
<div>
<b>Power usage</b> [<b>kW</b>] you need to divide the difference in detected pulses with the elapsed time [<b>s</b>].</div>
<div>
<br /></div>
<div style="text-align: left;">
<i> Power = ∆ count • (recalculation factor) • 60 • 60 / ∆ t / 1,000</i></div>
<div>
<br /></div>
<div>
∆ t is given in seconds [<b>s</b>]. Usually the WPC transmit approximately every 60 second, but if one transmission is lost, the ∆ t will be around 120 seconds etc.</div>
<div>
The dividend 1,000 is there to get the result in [<b>kW</b>]</div>
</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0tag:blogger.com,1999:blog-2840233659768080582.post-9802779087144207452015-02-06T09:11:00.004+01:002015-09-15T16:36:46.190+02:00New version of the WMS Mk2 ManualI have updated the manual with more information and more describing pictures.<br />
The manual can be downloaded <a href="https://docs.google.com/document/d/1ShiOgXwgxsB0PVmA_rcHPLCfF71Pbe7A3X5bWtbVVhI/pub" target="_blank">here</a>. PDF version <a href="https://bitbucket.org/foogadgets/foogadgets-document-and-firmware-download/downloads/ManualWirelessMultiSensorMk3.pdf" target="_blank">here</a>.foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0tag:blogger.com,1999:blog-2840233659768080582.post-14262200079760081912014-08-27T20:58:00.000+02:002014-09-21T19:20:17.627+02:00Troubleshooting the Wireless Pulse CounterIn most cases the Wireless Pulse Counter is just plug and play. But if you do have problems getting readings from your Wireless Pulse Counter, please have a look at this trouble shooting guideline.<br />
I will update this post when needed.<br />
<div>
<br /></div>
<div>
<b>First</b>. Make sure your Tellstick DUO/NET have a firmware equal to, or higher than 12 for DUO or 17 for NET or 79 for RFXtrx433. Here is more information for the Tellsticks, <a href="http://developer.telldus.com/blog/2014/04/03/tellduscenter_2.1.2">http://developer.telldus.com/blog/2014/04/03/tellduscenter_2.1.2</a>. In this firmware version there has been a correction in the Fineoffset protocol that enables the checksum feature in the protocol. This will ensure that you do not get any false readings.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<b>The WPC does not show up in TelldusCenter (or similar)</b>:</div>
<div>
<ul>
<li>Make sure that the LED on the WPC is blinking once every minute. The LED blink when it transmit data. Even if it has not detected any blinks.</li>
<li>Make sure that the Tellstick blinks at the same time the WPC LED blink. This indicates that the Tellstick have received and decoded the data.</li>
</ul>
<br />
<b>The WPC show up in TelldusCenter (or similar), but the counter value is not changing</b>:<br />
<ul>
<li>Make sure that the "eye" of the WPC can receive pulses. Aim a standard TV-remote to the "eye" and press a button. Make sure that you do this where there is very dim light. The next transmission you get should then be seen as an increased value.</li>
<li>If the LED blinks more often than once every minute. If it blinks every 10 seconds or so. Then it is likely that you use a USB power pack that is too "smart" for the WPC. Some of the power packs automatically shut down if there is no load. The WPC draws so little power that some of the power packs thinks that nothing is connected and turns off and on. When it restarts all the time, it will always send the same value.</li>
</ul>
</div>
<div>
<b><br /></b></div>
<div>
<b>The WPC show up in TelldusCenter (or similar), but the counter value is unreasonably high:</b></div>
<div>
<ul>
<li>It is likely that there are false detections. This could be due to light coming in from the sides of the WPC and the Electric meter. Use for example styrofoam to make a tight mounting. Cut out a sheet and make a small hole for the WPC "eye" (the phototransistor) and place it all right on top of the LED on the Electric meter.</li>
</ul>
<div>
<br /></div>
</div>
foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0tag:blogger.com,1999:blog-2840233659768080582.post-88140315651030784662014-08-20T23:24:00.001+02:002014-09-15T22:38:07.215+02:00WMS Mk2 - Currently supported devicesHere is a list of currently supported devices (WMS Mk2 sold after August 1st, 2014).<br />
<a href="http://foogadgets.tictail.com/" target="_blank">http://foogadgets.tictail.com</a><br />
<br />
EDIT (2014-09-15): I have removed the support for DS276X since the configuration of the chip and also the extra calculations needed to present a valid sensor reading, was too complex.<br />
To read Thermocouples I recommend the MAX31850 instead.<br />
<br />
<ul>
<li><a href="http://www.adafruit.com/datasheets/Digital%20humidity%20and%20temperature%20sensor%20AM2302.pdf" target="_blank">AM2302</a> - Temperature and Humidity sensor in one capsule.</li>
<li><a href="https://www.sparkfun.com/datasheets/Sensors/Temperature/DHT22.pdf" target="_blank">DHT22</a> - Temperature and Humidity sensor in one capsule.</li>
<li>All kinds of passive switches with an ON/OFF function. Some examples,</li>
<ul>
<li><a href="http://foogadgets.tictail.com/product/tilt-switch-sw-520d" target="_blank">Tilt switch</a></li>
<li><a href="http://foogadgets.tictail.com/product/vibration-switch-sensor-sw18020p" target="_blank">Vibration switch</a></li>
<li>Doorswitch</li>
<li><a href="http://www.wikiwand.com/en/Float_switch" target="_blank">Float switch</a></li>
</ul>
<li>All kinds of sensors that output 0-5V digital signal. Some examples,</li>
<ul>
<li><a href="http://foogadgets.tictail.com/product/hc-sr501-pir-sensor" target="_blank">PIR sensor</a></li>
<li><a href="http://www.dx.com/p/rain-raindrops-sensor-module-for-arduino-black-works-with-official-arduino-boards-228260" target="_blank">Rain sensor</a></li>
<li><a href="http://www.ebay.com/itm/Soil-Hygrometer-Humidity-Detection-Module-Soil-Moisture-Water-Sensor-SR-/291099878886?pt=LH_DefaultDomain_0&hash=item43c6e7a5e6" target="_blank">Soil hygrometer</a></li>
<li><a href="http://www.ebay.com/sch/i.html?_from=R40&_trksid=p2047675.m570.l1313.TR0.TRC0.H0.Xsound+sensor&_nkw=sound+sensor&_sacat=0" target="_blank">Sound sensor</a></li>
<li><a href="http://www.ebay.com/itm/Photosensitive-brightness-resistance-sensor-module-Light-intensity-detect-/181392047660?pt=LH_DefaultDomain_2&hash=item2a3bcefe2c" target="_blank">Light detection sensor</a></li>
</ul>
<li><a href="https://www.m.nu/s8-co2matare-fran-senseair-p-1440.html" target="_blank">CO2 sensor</a> (S8 from SenseAir)</li>
<li>1-wire products from Maxim Integrated,</li>
<ul>
<li><a href="http://www.maximintegrated.com/en/products/analog/sensors-and-sensor-interface/DS18B20.html" target="_blank">DS18B20</a> - Digital thermometer</li>
<li><a href="http://www.maximintegrated.com/en/products/analog/sensors-and-sensor-interface/DS18S20.html" target="_blank">DS18S20</a> - Digital thermometer</li>
<li><a href="http://www.maximintegrated.com/en/products/analog/sensors-and-sensor-interface/DS1820.html" target="_blank">DS1820</a> - Digital thermometer</li>
<li><a href="http://www.maximintegrated.com/en/products/analog/sensors-and-sensor-interface/DS1822.html" target="_blank">DS1822</a> - Digital thermometer</li>
<li><a href="http://www.maximintegrated.com/en/products/analog/sensors-and-sensor-interface/DS1825.html" target="_blank">DS1825</a> - Digital thermometer</li>
<li><a href="http://www.maximintegrated.com/en/products/comms/one-wire/DS2450.html" target="_blank">DS2450</a> - 4 channel A/D converter</li>
<li><strike><a href="http://www.maximintegrated.com/en/products/all-products/archive/DS2760.html" target="_blank">DS2760</a> - High-precision Li+ battery monitor</strike></li>
<li><strike><a href="http://www.maximintegrated.com/en/products/all-products/archive/DS2761.html" target="_blank">DS2761</a> - High-precision Li+ battery monitor</strike></li>
<li><strike><a href="http://www.maximintegrated.com/en/products/power/battery-management/DS2762.html" target="_blank">DS2762</a> - High-precision Li+ battery monitor</strike></li>
<li><a href="http://www.maximintegrated.com/en/products/analog/sensors-and-sensor-interface/MAX31820.html" target="_blank">MAX31820</a> - Ambient temperaure sensor</li>
<li><a href="http://www.maximintegrated.com/en/products/analog/sensors-and-sensor-interface/MAX31826.html" target="_blank">MAX31826</a> - Digital temperature sensor</li>
<li><a href="http://www.maximintegrated.com/en/products/analog/sensors-and-sensor-interface/MAX31850.html" target="_blank">MAX31850</a>K - Cold-junction compensated thermocouple Type K</li>
<li><a href="http://www.maximintegrated.com/en/products/analog/sensors-and-sensor-interface/MAX31851.html" target="_blank">MAX31851</a> - Cold-junction compensated thermocouple Type S and R</li>
</ul>
<li>... or any other sensor/device based on any of the 1-wire products above</li>
<ul>
<li><a href="https://www.m.nu/adomvandlare-4-kanaler-025v-dc-p-307.html">https://www.m.nu/adomvandlare-4-kanaler-025v-dc-p-307.html</a></li>
<li><a href="https://www.m.nu/adomvandlare-4-kanaler-05v-dc-p-455.html">https://www.m.nu/adomvandlare-4-kanaler-05v-dc-p-455.html</a></li>
<li><a href="https://www.m.nu/barometer-version-2-p-439.html">https://www.m.nu/barometer-version-2-p-439.html</a></li>
<li><a href="https://www.m.nu/co2matare-version-2-p-259.html">https://www.m.nu/co2matare-version-2-p-259.html</a></li>
<li><a href="https://www.m.nu/fuktmatare-p-340.html"><strike>https://www.m.nu/fuktmatare-p-340.html</strike></a></li>
<li><a href="https://www.m.nu/ljussensor-analog-version-12-p-186.html">https://www.m.nu/ljussensor-analog-version-12-p-186.html</a></li>
<li><a href="https://www.m.nu/temperatursensor-for-tuffa-miljoer-ds18b20-p-252.html">https://www.m.nu/temperatursensor-for-tuffa-miljoer-ds18b20-p-252.html</a></li>
<li><a href="https://www.m.nu/temperatursensor-med-metallfilm-ds18b20-p-269.html">https://www.m.nu/temperatursensor-med-metallfilm-ds18b20-p-269.html</a></li>
<li><a href="https://www.m.nu/temperatursensor-pa-kabel-ds18b20-p-44.html">https://www.m.nu/temperatursensor-pa-kabel-ds18b20-p-44.html</a></li>
<li><a href="https://www.m.nu/temperatursensor-pa-kretskorti-plastbox-p-456.html">https://www.m.nu/temperatursensor-pa-kretskorti-plastbox-p-456.html</a></li>
<li><a href="https://www.m.nu/termoelementinterface-mat-hoga-temperaturer-version-2-p-457.html"><strike>https://www.m.nu/termoelementinterface-mat-hoga-temperaturer-version-2-p-457.html</strike></a></li>
<li><a href="https://www.m.nu/thermocouple-amplifier-with-1wire-breakout-board-max31850k-p-1392.html">https://www.m.nu/thermocouple-amplifier-with-1wire-breakout-board-max31850k-p-1392.html</a> (remember to also order the level shifting board)</li>
</ul>
</ul>
<br />
1-wire networks could be big as long as they are <a href="http://www.maximintegrated.com/en/app-notes/index.mvp/id/148" target="_blank">well built</a>. The WMS Mk2 has successfully been <a href="http://www.karlander.net/temperatur/utrustning.html" target="_blank">tested in a network</a> with 33 sensors and 75m length.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMusOXG2uCVXU4gkwnELXvG9MgQHHff9moWui3JQyKedZ_gb1HoPQkx2BMn24NgkEhqdwE0UYF8Eu-V9aSK8qRuM2Z_cZQOx_vP3XuUlHtMNTwYE0IG5uOjYMFIUdLMCQROw26DtECO1c/s1600/1-wire-layout.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMusOXG2uCVXU4gkwnELXvG9MgQHHff9moWui3JQyKedZ_gb1HoPQkx2BMn24NgkEhqdwE0UYF8Eu-V9aSK8qRuM2Z_cZQOx_vP3XuUlHtMNTwYE0IG5uOjYMFIUdLMCQROw26DtECO1c/s1600/1-wire-layout.png" height="640" width="452" /></a></div>
<br />foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0tag:blogger.com,1999:blog-2840233659768080582.post-62497771208904346882014-08-13T21:49:00.000+02:002014-08-13T21:49:32.366+02:00New Firmware and Manual for the WMS Mk2Just before the summer vacations I finalized the Wireless Multi-sensor Mk2 firmware that I have been working with for quite some time.<br />
<br />
News,<br />
<br />
<ul>
<li><span style="background-color: white; color: #333333; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px; text-align: justify;">CO</span><sub style="background-color: white; color: #333333; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; text-align: justify;"><span style="font-family: arial, arial, monospace; font-size: xx-small;"><span style="line-height: 16.3799991607666px;">2</span></span></sub> sensor <a href="http://www.senseair.se/products/oem-modules/senseair-s8/">S8 from SenseAir</a> is now supported. It can be connected to the Event Input after changing the input mode of the Event Input (c.f. <a href="https://docs.google.com/document/d/1midne-y18RAHNK6rtSwB-Co-_Y6VREwPHJPOYCnOKR8/pub#h.vgtbp8ctn4n5" target="_blank">Manual</a>). You can get the <span style="background-color: white; color: #333333; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px; text-align: justify;">CO</span><sub style="background-color: white; color: #333333; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; text-align: justify;"><span style="font-family: arial, arial, monospace; font-size: xx-small;"><span style="line-height: 16.3799991607666px;">2</span></span></sub>-sensor <a href="https://www.m.nu/s8-co2matare-fran-senseair-p-1440.html">here</a>.</li>
<li>MAX31850K support. This chip is a Thermocouple Type K to 1-wire chip. This makes it possible to make a Type K thermocouple wireless. It can output 409.6<span style="background-color: white; color: #333333; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px; text-align: justify;">°C</span> as the highest temperature. It is a limitation set by the protocol I use. Here you can find a MAX31850K-module, <a href="https://www.m.nu/thermocouple-amplifier-with-1wire-breakout-board-max31850k-p-1392.html">m.nu</a>.</li>
<li>DS2450 support. This is a 4 channel AD converter. All 1-wire sensors based on this chip will be compatible with the WMS Mk2. <a href="https://www.m.nu/adomvandlare-4-kanaler-025v-dc-p-307.html" target="_blank">This</a>, <a href="https://www.m.nu/adomvandlare-4-kanaler-05v-dc-p-455.html" target="_blank">this</a>, <a href="https://www.m.nu/barometer-version-2-p-439.html" target="_blank">this</a>, <a href="https://www.m.nu/co2matare-version-2-p-259.html" target="_blank">this</a> and <a href="https://www.m.nu/ljussensor-analog-version-12-p-186.html" target="_blank">this</a> is also compatible modules since they are based on the DS2450 chip.</li>
</ul>
<br />
Improvements,<br />
<br />
<ul>
<li>Events are now sent as a <a href="http://www.nexa.se/LMST-606-2.htm">LMST-606</a> device. An ON or OFF signal will be sent depending on if the input pin is pulled up or pulled down.</li>
<li>The <a href="https://docs.google.com/document/d/1midne-y18RAHNK6rtSwB-Co-_Y6VREwPHJPOYCnOKR8/pub">Manual is out</a> in a first revision.</li>
</ul>
<div>
<br /></div>
<div>
All Wireless Multi-sensors Mk2 <a href="http://foogadgets.tictail.com/product/wireless-multi-sensor-mk2" target="_blank">will be shipped</a> with this new firmware from now on.</div>
<div>
<br /></div>
foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0tag:blogger.com,1999:blog-2840233659768080582.post-63934188762493927582014-05-13T00:21:00.000+02:002015-05-03T22:58:54.622+02:00The Wireless Pulse Counter will take over from the old Wireless Energy Meter<b>EDIT (2014-09-21)</b>: I have added RFXMeter compatibility so that the WPC will show up as a RFXMeter and thus be natively supported in <a href="http://www.domoticz.com/">Domoticz</a>. Available in WPC sold from this date. <a href="http://foogadgets.blogspot.se/2015/05/how-to-make-wpc-work-in-domoticz.html" target="_blank">Here</a> is an instruction for how you configure it in Domoticz.<br />
<br />
<b>EDIT (2014-09-15)</b>: Added information about support for the LED-pulse detector from m.nu.<br />
<br />
<br />
The old Wireless Energy meter serves its purpose, but it has a few shortcomings.<br />
<br />
Here is a new product that I call Wireless Pulse Counter (WPC). This is a better name compared to the old Wireless Energy Meter, since it is actually only counting pulses, not energy or liters.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWpq8DZlB8LPv9DqNc3Cyi2L_zJfG-BXj1EpbQDji8IGxmaWeHaxAW8Eso9k9vIeZleOBWzu8rRUvIzmAAzvb1mBCP3o2pJibvHXnrMCZ5mGGrHrZTAM53jPvQHsWRAA8jtUEO85qB218/s1600/P1020853.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWpq8DZlB8LPv9DqNc3Cyi2L_zJfG-BXj1EpbQDji8IGxmaWeHaxAW8Eso9k9vIeZleOBWzu8rRUvIzmAAzvb1mBCP3o2pJibvHXnrMCZ5mGGrHrZTAM53jPvQHsWRAA8jtUEO85qB218/s1600/P1020853.jpg" height="238" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Since it is only counting pulses it is also much more versatile.<br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<ul>
<li>You can combine the WPC with a <a href="http://www.ebay.com/itm/TCRT5000-Infrared-Reflective-Photoelectric-Switch-IR-Barrier-Line-Track-Sensor-/351038883113?pt=AU_B_I_Electrical_Test_Equipment&hash=item51bb8c4529">reflex detector</a> (TCRT5000) and measure water flow, gas consumption or electric energy consumption if it is of the rotating disk type.</li>
<li>You can count the amount of blinks from an Electric energy meter. Both LED and S0 output is supported.</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-neHt2dovZzg3KKPdNA3mRa3laMM-Z8gOIpEreD0nhuqipv-DwPSll1K7M7kFZ3zIzeB9YwNyKdCzloRwFgk2-1FmfXN_G4e08At7KhZW2FvXyQFzlQYheH3Vk9CDrxpTi1WMsyz5jUk/s1600/S0-connection+(1).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-neHt2dovZzg3KKPdNA3mRa3laMM-Z8gOIpEreD0nhuqipv-DwPSll1K7M7kFZ3zIzeB9YwNyKdCzloRwFgk2-1FmfXN_G4e08At7KhZW2FvXyQFzlQYheH3Vk9CDrxpTi1WMsyz5jUk/s1600/S0-connection+(1).png" height="246" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td class="tr-caption" style="font-size: 13px;">This is how you connect the WPC to a S0 interface. The current through the S0 port need to be limited.<br />
A resistor value of R=330<span style="background-color: white; color: #333333; font-family: 'Times New Roman'; font-size: xx-small; text-align: start;">Ω is OK.</span></td></tr>
</tbody></table>
</td></tr>
</tbody></table>
<ul>
<li>You can also connect the <a href="https://www.m.nu/ledpuls-detektor-p-57.html">LED-pulse detector</a> from <a href="http://m.nu/">m.nu</a>.</li>
</ul>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpZYvINxFnHilRlSnCNcLS7m9Yg2x-7w7oDAq24YWmC-PceLYWXV6yDT-nfQ-Bx2HADiZyFqwzktWfciK4BHOpeTAJS6nTCtFGIf2f9Ln73p-xsdcw9eWuOqYdwKGpGywPW9sIBQsDvyc/s1600/LED-pulse+detector+(m.nu)%2B(1).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpZYvINxFnHilRlSnCNcLS7m9Yg2x-7w7oDAq24YWmC-PceLYWXV6yDT-nfQ-Bx2HADiZyFqwzktWfciK4BHOpeTAJS6nTCtFGIf2f9Ln73p-xsdcw9eWuOqYdwKGpGywPW9sIBQsDvyc/s1600/LED-pulse+detector+(m.nu)%2B(1).png" height="218" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The LED-pulse detector from <a href="http://m.nu/">m.nu</a> is very very sensitive. The sensitivity can be reduced by adding a resistor R between S0- and GND on the WPC. <span style="text-align: start;">A value between 820</span><span style="background-color: white; color: #333333; font-family: 'Times New Roman'; text-align: start;">Ω and 4k7</span><span style="background-color: white; color: #333333; font-family: 'Times New Roman'; text-align: start;">Ω seem to be reasonable values. Lower value => lower </span><span style="background-color: white; text-align: start;"><span style="color: #333333; font-family: Times New Roman; font-size: x-small;">sensitivity</span></span><span style="background-color: white; color: #333333; font-family: 'Times New Roman'; text-align: start;">.</span></td></tr>
</tbody></table>
<div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: right;">
</div>
<br />
From the counted pulses you can then calculate the consumed water/energy/gas/events etc.<br />
<br />
The new WPC will fit perfectly in a plastic box from <a href="http://www.hammondmfg.com/pdf/1551GFL.pdf">Hammond</a>, with the dimensions 20x35x50mm. Note! I have not decided on a box with or without flanges as in the pdf.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt5-KIDb2IfgngbE6K3OEQS_9qCaJlqA-vaUTGczQz75Gx7cYAC41yyWmc7Q9TeH1Xu3mh5EidZYMYJwjA0H3UppkF_W3UoF1Mhgv6FkAkKyaY_oEaXv-7X0LHP8EPKhzAb30oOfRM0DM/s1600/P1020848.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt5-KIDb2IfgngbE6K3OEQS_9qCaJlqA-vaUTGczQz75Gx7cYAC41yyWmc7Q9TeH1Xu3mh5EidZYMYJwjA0H3UppkF_W3UoF1Mhgv6FkAkKyaY_oEaXv-7X0LHP8EPKhzAb30oOfRM0DM/s1600/P1020848.jpg" height="238" width="400" /></a></div>
<br />
<br />
The power feed is changed to a micro-USB instead of a mini-USB connector. In this way you will very likely already have a power source for it. You can just reuse an old Android-mobile charger to power it.<br />
<br />
Most people do <b>not</b> have a soldering station at home. This version comes with screw terminals so that a soldering station will never be needed.<br />
<br />
It is professionally assembled with perfectly soldered components.<br />
<br />
Further more, I have changed the protocol to a simpler variant. All credits to Stefan Strömberg at <a href="http://opennethome.org/" target="_blank">OpenNetHome</a> for this suggestion.<br />
With this new protocol you can drop several packages. Lots of packages. Still, even with only a few packages received, you can trust that they reflect the consumed energy. The solution is utilise the Humidity data field as counter data in the same way as with the temperature data field. In this way it is possible to have an always increasing counter.<br />
It will wrap around, but the maximum counter value will be so big so that there will need to pass several hours of lost packages to mess up the energy logging.<br />
<br />
Note that in the normal case you do not loose many packages, so the above text describes the extreme situation.<br />
<br />
<strike>As soon as I have finished the verification of the hardware, I will make it available in the <a href="http://foogadgets.tictail.com/">foogadgets</a> store.</strike><br />
<br />
EDIT: It is now available in the web-store <a href="http://foogadgets.tictail.com/">foogadgets.tictail.com</a>.<br />
<br /></div>
foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0Unknown location.35.460669951495305 -119.53125-32.272980548504691 75.234375 90 45.703125tag:blogger.com,1999:blog-2840233659768080582.post-40710250417150191502014-03-20T00:47:00.000+01:002014-04-06T15:01:20.492+02:00Assembly instruction for the Wireless Multi-sensor KITIf you have decided to buy the KIT, you will have some SMD soldering in front of you.<br />
It is not very hard to solder, but if you have a steady hand, a magnifier glass and strong light, it is of great help.<br />
<br />
This is the first project for me where I use SMD-components, and with the size of the SMD components that I use, it is actually as fast or faster to solder compared to the old fashion through hole soldering.<br />
<br />
Here is an excellent SMD soldering tutorial from the user lizerdboy79 at Youtube, <a href="https://www.youtube.com/watch?v=PxeWVCS15RU">https://www.youtube.com/watch?v=PxeWVCS15RU</a><br />
<br />
When you receive your kit you first need to make sure all components are there.<br />
Things you will need is,<br />
<ul>
<li>Soldering station</li>
<li>Solder tin</li>
<li>Flux</li>
<li>Side cutter</li>
</ul>
<br />
Good to have,<br />
<ul>
<li>Tweezers (to place components)</li>
<li>Magnifier</li>
<li>Strong light</li>
</ul>
<br />
You start to solder the components that build the lowest height from the PCB. That is the resistors, capacitor and LED. The orientation of the resistors and capacitor is not important. The resistors however must have the black side up.<br />
The LED must be soldered with the right orientation. The bottom side of the LED has an arrow. This arrow should point to the (-)-marking on the PCB where the LED should be soldered.<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIthzVJ9hhCojf1v-gLfZ9A0NtlBSIocqZitVF1Ag7Oo7sp9ofM18TmLFwFEJnlgh2YtaeFfd2oKcA0Bb3J2IwdwhyBBlWc5Bf9-HFfS8AjZSHCtw3OEkoxpouHkmRRkk_OejrXAjFNLM/s1600/smt_leds_rgb_bottom.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIthzVJ9hhCojf1v-gLfZ9A0NtlBSIocqZitVF1Ag7Oo7sp9ofM18TmLFwFEJnlgh2YtaeFfd2oKcA0Bb3J2IwdwhyBBlWc5Bf9-HFfS8AjZSHCtw3OEkoxpouHkmRRkk_OejrXAjFNLM/s1600/smt_leds_rgb_bottom.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Bottom side of the SMD LED</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsv6FnHV0Axvo87JVy5CK2mtqLNmzUnIlRFoUbzN431OHs-qXGYJsafuv2dVbjt9ktjQTTmpwKVBexqH9LFYbASRA6pGPfkMcMm4L9UbxCIpAYc_CTpc8VJrr-KsZqq5M6CbW9eOqVzfA/s1600/LED+detail.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsv6FnHV0Axvo87JVy5CK2mtqLNmzUnIlRFoUbzN431OHs-qXGYJsafuv2dVbjt9ktjQTTmpwKVBexqH9LFYbASRA6pGPfkMcMm4L9UbxCIpAYc_CTpc8VJrr-KsZqq5M6CbW9eOqVzfA/s1600/LED+detail.jpg" height="640" width="554" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Marking on the PCB is the Cathode. The LED also has a green spot on the top that marks the location of the Cathode.</td></tr>
</tbody></table>
<br />
<br />
Start with cleaning the soldering pads on the PCB where the components will go. Then put some solder on one of the soldering pads for each component.<br />
Take one component with the Tweezers and place it on the PCB. Pre-heat the pad where you put the soldering tin, and push in the component into the melted tin. Be quick. Remove the soldering tip. Let cool, and release the tweezers.<br />
Once this is done, you can go ahead and solder the other side of the component.<br />
<br />
Repeat for the rest of the SMD resistors, capacitor and LED component.<br />
<br />
R1 - 1k<br />
R2, R3 - 4k7<br />
R4 - 4k7 (This resistor is optional. In the kit I have provided a 3-pin-header and a jumper instead)<br />
<br />
Next is the mini USB type B connector (If you will use it).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi1wemHUebSNxBb8rnvfaYM5g99rM4bn2Ku2tGhs71Xp4K9a3eMwtg0WJPjdrkrz5K2TS2iCBlqx-o_8vb1mKd8G1GCyjIhKfJ1XOMbCAg6e5TMAaOEHNatzrKXSnOFf4nq5AGqgizAUk/s1600/USB-port+detail.jpg" imageanchor="1"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi1wemHUebSNxBb8rnvfaYM5g99rM4bn2Ku2tGhs71Xp4K9a3eMwtg0WJPjdrkrz5K2TS2iCBlqx-o_8vb1mKd8G1GCyjIhKfJ1XOMbCAg6e5TMAaOEHNatzrKXSnOFf4nq5AGqgizAUk/s1600/USB-port+detail.jpg" height="640" width="564" /></a></div>
The red arrows marks the power-pins. The yellow marks the data-pins.<br />
You must solder the power-pins. Some USB power supplies automatically shut down if they do not sense any load between the data-pins (D+ and D-). This can be overcome by putting a solder blob between pin 2 and 3.<br />
<br />
Add some flux to all the soldering pads.<br />
Put some solder on one of the chassi pads.<br />
Press the connector in place and apply heat to the soldering pad where you added the tin.<br />
You should notice that the component sinks into place.<br />
Solder the rest of the 3 chassi pads.<br />
Last you solder pin 1 and pin 5 of the usb connector. They represent Vcc and GND.<br />
If you want you can put a tin blob shortening pin 2 and 3. This will make sure that you can use any USB-charger to power the Wireless Multi-sensor.<br />
<br />
<br />
Next up is the DIP 8 IC socket for the PIC12F675 microcontroller.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb5JNH1Yg-h-tKlb2_LtEiVIuDf6Egq6CvUxGYx4Q7lq7N942nYEs_C6_17-GNATHv4eEKrGPfWxoqoWFpzSSpDKDrdyz5Inkxn9l-NC0oQnZKX2uMXCHuNjGw3lr16UgqEI04usWXRp8/s1600/DIL+pkg.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb5JNH1Yg-h-tKlb2_LtEiVIuDf6Egq6CvUxGYx4Q7lq7N942nYEs_C6_17-GNATHv4eEKrGPfWxoqoWFpzSSpDKDrdyz5Inkxn9l-NC0oQnZKX2uMXCHuNjGw3lr16UgqEI04usWXRp8/s1600/DIL+pkg.jpg" height="494" width="640" /></a></div>
<br />
<br />
The orientation of the socket is not as important as the PIC12F675 orientation. However, there is a marking in the PCB that corresponds to the marking in the DIP-socket. Orient it accordingly. The red ring marks where pin 1 on the PIC12F675 goes.<br />
<br />
Add some flux.<br />
Place the DIP-socket in place and turn the PCB upside down.<br />
Solder two of the pins in opposite corners. Pin 1 and 5 for instance.<br />
Pick up the PCB and apply pressure on the DIP-socket and heat the pins where you soldered one at the time.<br />
You should feel the socket sinks into place.<br />
Solder the rest of the pins.<br />
<br />
Place the PIC12F675 into the DIP-socket oriented as in the picture below.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYPFd2Su2vQr5uy8Kvt5n_VaWsQi9CAfr2xHPSq1pAq1yzyzkGa7L7A-vf6DJ8_QH3HVhieSGhLUYMOGMlyF_40fsSs4jIb9ZNeOIqYqE35hpydyrudWudG2NZ66o6hdIdCNplL16zT-8/s1600/PIC+detail.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYPFd2Su2vQr5uy8Kvt5n_VaWsQi9CAfr2xHPSq1pAq1yzyzkGa7L7A-vf6DJ8_QH3HVhieSGhLUYMOGMlyF_40fsSs4jIb9ZNeOIqYqE35hpydyrudWudG2NZ66o6hdIdCNplL16zT-8/s1600/PIC+detail.jpg" height="516" width="640" /></a></div>
<br />
<br />
The last thing to solder is the 3-pin header in the EI position (EI = Event Input).<br />
Put the pin header in place and turn the PCB on the back and solder one pin.<br />
At this point the pin header is probably not very straight positioned. Pick the PCB up and put one of your fingers on top of the pin header while you heat the pin you just soldered.<br />
Make the pin header straight and let cool. Lay the PCB down again on the back, and solder the remaining pins. Once you have soldered all pins you can install the mini jumper, shortening the two pins closest to the LED. This makes sure that the Input pin is pulled to ground when it is not in use. If you forget this jumper and leave the pin header open, you will get sporadic PIR-events.<br />
<br />
Continue read about how you mount the additional sensors in <a href="http://foogadgets.blogspot.se/2014/03/connection-guide-for-wireless-multi.html" target="_blank">another blogpost</a>.<br />
<br />foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0tag:blogger.com,1999:blog-2840233659768080582.post-45944411591015428822014-03-19T23:18:00.000+01:002014-03-20T09:52:42.008+01:00Connection guide for the Wireless Multi-sensorHere are the different connections to the Wireless Multi-sensor version 1.1.<br />
<br />
First I start with presenting the different ways to connect sensors,<br />
<br />
<ul>
<li><b>Temperature and Temperature/Humidity sensors</b></li>
<li><b>PIR and CO<sub style="background-color: white; color: #333333; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; text-align: justify;"><span style="font-family: arial, arial, monospace; font-size: xx-small;"><span style="line-height: 16.3799991607666px;">2 </span></span></sub>sensors</b></li>
<li><b>Passive switch-type of sensors</b></li>
</ul>
<br />
In the end I show how you can power the Multi-sensor and where you can feed it, under the section <b>Power</b>.<br />
<br />
<br />
<br />
<br />
<h3>
Temperature and Temperature/Humidity<span style="text-align: center;"> sensors</span></h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCN7t1vu2eIcXtyYWBUMu5BqFs4flTd0UuI1G5HW_L2Z-BSM6hBBrhP8wydGqc9lC5pbWY8tKuD_lQFhHd3jsP7ExF3B-MgNY8_Nk6F_qOuyhJdXiXCCT1vXSM0fd9X7rU73QbW3n8qtY/s1600/1-wire+cabling.jpg" imageanchor="1"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCN7t1vu2eIcXtyYWBUMu5BqFs4flTd0UuI1G5HW_L2Z-BSM6hBBrhP8wydGqc9lC5pbWY8tKuD_lQFhHd3jsP7ExF3B-MgNY8_Nk6F_qOuyhJdXiXCCT1vXSM0fd9X7rU73QbW3n8qtY/s1600/1-wire+cabling.jpg" /></a></div>
The 1-wire network is ideally a straight bus. But it could as well be pure star-shaped. This shape is however not recommended by Maxim. For more detailed information about the network topology I recommend reading <a href="http://www.maximintegrated.com/app-notes/index.mvp/id/148" target="_blank">Guidelines for Reliable Long Line 1-Wire Networks</a>.<br />
<div>
A network length of about 50 meters have been reported to work OK with the Multi-sensor, but do not see this as the maximum limit. Maximum network length is still to be found. Cable type is important if you plan to build a large network. Pair-twisted EKKX 2x2x0,5 is one of the recommended cables to successfully build a large working 1-wire network.<br /><br />
The following 1-wire sensors have been verified to work, DS18B20, DS18S20, DS18B22, DS1820 and MAX31820.</div>
<div>
<div>
<br />
With the <a href="http://foogadgets.tictail.com/product/fw-wireless-multi-sensor-ds2423-support" target="_blank">DS2423-firmware</a> the Multi-sensor will support the DS2423-2-channel counter commonly used when logging energy consumption. however there is a <a href="http://foogadgets.tictail.com/product/wireless-energy-meter" target="_blank">simpler way</a>.<br />
<br />
The DHT22 can be connected with up to 100m cable according to the specification.<br />
<br />
<br />
<h3>
PIR or CO<span style="font-size: small;"><sub style="background-color: white; color: #333333; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; text-align: justify;"><span style="font-family: arial, arial, monospace;"><span style="line-height: 16.3799991607666px;">2</span></span></sub></span> sensor</h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUAqtuXbk2jY_bYTu2MkvpvbsqeHmi_reVgpvsihzSBbYyevpv_xwrO4vEzuEIVqTEUqhZaJXSdgn8E8vzD6lOCqgsRNXyJUrt1TOU2qR7l20wPVb9r3wuHBY4tToLr3vuuInAkJBbtec/s1600/PIR+and+CO2+cabling.jpg" imageanchor="1"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUAqtuXbk2jY_bYTu2MkvpvbsqeHmi_reVgpvsihzSBbYyevpv_xwrO4vEzuEIVqTEUqhZaJXSdgn8E8vzD6lOCqgsRNXyJUrt1TOU2qR7l20wPVb9r3wuHBY4tToLr3vuuInAkJBbtec/s1600/PIR+and+CO2+cabling.jpg" /></a></div>
You can choose from many different types of sensors to connect to the PIR-input. Any of those types (or similar) can be connected right into the pin connector after removing the read jumper thing.<br />
<div>
<br /></div>
<div>
<br />
<h3>
Passive switch-type of sensors</h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI0i-gUdcSetqySFSMATdIFSLO6BdnwI3S66-uBw5NGUZcHFzQ86A06CbGjrqSUfg7nIqoXzaAjE_JnpPj7-uDXxnDbV_dTAfUCAnDPnC5PpASC3UJEbnL3M4moMTlHs39iiZoOyf1jRU/s1600/TTL+output+sensor.jpg" imageanchor="1"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI0i-gUdcSetqySFSMATdIFSLO6BdnwI3S66-uBw5NGUZcHFzQ86A06CbGjrqSUfg7nIqoXzaAjE_JnpPj7-uDXxnDbV_dTAfUCAnDPnC5PpASC3UJEbnL3M4moMTlHs39iiZoOyf1jRU/s1600/TTL+output+sensor.jpg" /></a></div>
Any passive switch-type of sensor can be connected to the PIR-input. With this type of sensor you will need to add a Pull-down resistor to force the DATA-line low when the switch is open. The pull-down resistor should have a value of about 4k7 to 10kOhm, but it is not critical.<br />
A transmission will <b>only</b> be done as soon as the DATA-line goes high.<br />
<br />
<h3>
Power</h3>
You can power the Multi-sensor in one of two ways. Either you use the USB-port, or you use the solder pads on the PCB marked BAT for battery, to power it with the power source of your choice.</div>
<div>
The table below will guide you with what minimum and maximum voltages that are allowed.</div>
<div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtZ_lMfUJ8Ei4fv2kBYISYiJGTWZlYb-FnNxJ7jyesVwue1ceDWcPYifJma8comJvxZeoBNSZO-aFDl-78aqB0zT_5OWj_bf2TaITfuviRtgKIhWXHjVRjHf5A6lIWr_ckBowmYan5IPs/s1600/Power+feed.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtZ_lMfUJ8Ei4fv2kBYISYiJGTWZlYb-FnNxJ7jyesVwue1ceDWcPYifJma8comJvxZeoBNSZO-aFDl-78aqB0zT_5OWj_bf2TaITfuviRtgKIhWXHjVRjHf5A6lIWr_ckBowmYan5IPs/s1600/Power+feed.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The numbers within the parenthesis are the maximum ratings for each sensor. However, the PIC-microprocessor limits the maximum voltage to 5.5V. I have tested it successfully with 6.5V, but that is outside the PIC12F675 specification and not recommended.</td></tr>
</tbody></table>
<br />
You will be safe to feed the Multi-sensor with 4.5-5.5V independently of which sensors you combine. The easiest way is to use a USB-charger or similar. The USB port is only there to give power to the Multi-sensor. The D+ and D- pins are not used.<br />
<br />
If you want to minimise the form factor you will likely want to choose a small battery. It can be useful to know that you can go as low as 3.0V as long as you only use 1-wire DS18X20 sensors. I have successfully powered a Multi-sensor and one DS18B20 with a CR2032 cell battery (3V). The test was speed up with increased transmission interval. The estimated lifetime of this configuration is estimated to more than 1.5 years.<br />
<br />
The transmitting range of the Multi-sensor will depend on the voltage level.<br />
Here is the specification for the Radio module used in the Multi-sensor (FS1000A):<br />
<table border="1" style="background-color: #64cbff; border-collapse: collapse; border-spacing: 0px; color: #222222; font-family: Arial, Verdana, sans-serif; font-size: 12px; line-height: 14px; width: 594px;"><tbody>
<tr><td style="border: 1px solid rgb(5, 5, 5); margin: 0px; padding: 9px 10px;" width="42%"><span style="font-family: Arial; font-size: 12pt;">Operating Voltage</span></td><td style="border: 1px solid rgb(5, 5, 5); margin: 0px; padding: 9px 10px;" width="58%"><span style="font-family: Arial; font-size: 12pt;">2.5 V to 12 V</span></td></tr>
<tr><td style="border: 1px solid rgb(5, 5, 5); margin: 0px; padding: 9px 10px;" width="42%"><span style="font-family: Arial; font-size: 12pt;">Operating Current</span></td><td style="border: 1px solid rgb(5, 5, 5); margin: 0px; padding: 9px 10px;" width="58%"><span style="font-family: Arial; font-size: 12pt;">4mA @ 5V, 15mA @ 9V</span></td></tr>
<tr><td style="border: 1px solid rgb(5, 5, 5); margin: 0px; padding: 9px 10px;" width="42%"><span style="font-family: Arial; font-size: 12pt;">Quiescent Current</span></td><td style="border: 1px solid rgb(5, 5, 5); margin: 0px; padding: 9px 10px;" width="58%"><span style="font-family: Arial; font-size: 12pt;">10uA</span></td></tr>
<tr><td style="border: 1px solid rgb(5, 5, 5); margin: 0px; padding: 9px 10px;" width="42%"><span style="font-family: Arial; font-size: 12pt;">Operating Temperature</span></td><td style="border: 1px solid rgb(5, 5, 5); margin: 0px; padding: 9px 10px;" width="58%"><span style="font-family: Arial; font-size: 12pt;">-10C - 60C</span></td></tr>
<tr><td style="border: 1px solid rgb(5, 5, 5); margin: 0px; padding: 9px 10px;" width="42%"><span style="font-family: Arial; font-size: 12pt;">Modulation</span></td><td style="border: 1px solid rgb(5, 5, 5); margin: 0px; padding: 9px 10px;" width="58%"><span style="font-family: Arial; font-size: 12pt;">ASK</span></td></tr>
<tr><td style="border: 1px solid rgb(5, 5, 5); margin: 0px; padding: 9px 10px;" width="42%"><span style="font-family: Arial; font-size: 12pt;">Max. Data Rate</span></td><td style="border: 1px solid rgb(5, 5, 5); margin: 0px; padding: 9px 10px;" width="58%"><span style="font-family: Arial; font-size: 12pt;">2.4K</span></td></tr>
<tr><td style="border: 1px solid rgb(5, 5, 5); margin: 0px; padding: 9px 10px;" width="42%"><span style="font-family: Arial; font-size: 12pt;">Data Input</span></td><td style="border: 1px solid rgb(5, 5, 5); margin: 0px; padding: 9px 10px;" width="58%"><span style="font-family: Arial; font-size: 12pt;">TTL</span></td></tr>
<tr><td style="border: 1px solid rgb(5, 5, 5); margin: 0px; padding: 9px 10px;" width="42%"><span style="font-family: Arial; font-size: 12pt;">RF Power</span></td><td style="border: 1px solid rgb(5, 5, 5); margin: 0px; padding: 9px 10px;" width="58%"><span style="font-family: Arial; font-size: 12pt;">20 mW@5V</span></td></tr>
</tbody></table>
<br />
For the advanced user it could probably be possible to boost the transmission range by feeding the RF module with 12V separate from the rest of the Multi-sensor.<br />
<br />
<br /></div>
</div>
</div>
foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0tag:blogger.com,1999:blog-2840233659768080582.post-58484390678172761022014-03-09T14:38:00.000+01:002014-04-29T10:12:38.608+02:00Update: CO2 sensor support for the Wireless Multi-sensorI am getting closer to a working version of the firmware that support the CO<sub><span style="font-family: arial, arial, monospace;"><span style="background-color: white; line-height: 16.3799991607666px;">2</span></span></sub>-sensor <a href="http://www.senseair.se/products/oem-modules/senseair-s8/" target="_blank">S8</a> from <a href="http://www.senseair.se/" target="_blank">SenseAir<span style="font-size: x-small;">®</span></a>.<br />
You can get it from <a href="https://www.m.nu/s8-co2matare-fran-sensair-p-1440.html">m.nu</a>.<br />
<br />
The sensor measures CO<sub><span style="font-family: arial, arial, monospace; font-size: x-small;"><span style="background-color: white; line-height: 16.3799991607666px;">2</span></span></sub> levels from 0 to 2000ppm and the <a href="http://foogadgets.blogspot.se/2013/11/wireless-multi-sensor.html" target="_blank">Wireless Multi-sensor</a> outputs this as 0.0°C - 100.0°C which corresponds to 0.0% - 100.0% of 2000ppm.<br />
<br />
Here is a graph from the bedroom last night,<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvpUQ4JcAFURUy-Gf4jyic5kR3i2OLb5hfWzi5riwHKeUbVWUIxodTC8bHwmzO_2Ecc_Xo09-gRAYZRyOfgLyQ-yYhqfOB3iNibKASHyPL2gQsmHEMKaglibbge55-0ffx3hK7wi5U9PQ/s1600/Screen+Shot+2014-03-09+at+09.49.39.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvpUQ4JcAFURUy-Gf4jyic5kR3i2OLb5hfWzi5riwHKeUbVWUIxodTC8bHwmzO_2Ecc_Xo09-gRAYZRyOfgLyQ-yYhqfOB3iNibKASHyPL2gQsmHEMKaglibbge55-0ffx3hK7wi5U9PQ/s1600/Screen+Shot+2014-03-09+at+09.49.39.png" height="380" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">It averages around 50% during the night. This corresponds to around 1000ppm.</td></tr>
</tbody></table>
At first the sensor was placed outside, where the level is quite steady at 400ppm. The <a href="http://foogadgets.blogspot.se/2013/11/wireless-multi-sensor.html" target="_blank">Wireless Multi-sensor</a> outputs 20%.<br />
<br />
We started the night with me and my two sons in the bedroom. The CO<sub><span style="font-family: arial, arial, monospace; font-size: x-small;"><span style="background-color: white; line-height: 16.3799991607666px;">2</span></span></sub> level increases until 3 o'clock, to a maximum of 56%. At 3 o'clock my eldest son leaves the bedroom and the CO<sub><span style="font-family: arial, arial, monospace; font-size: x-small;"><span style="background-color: white; line-height: 16.3799991607666px;">2</span></span></sub>-level decreases to about 50%. After 6 o'clock me and my youngest son leaves the room and my wife enters and continue to sleep alone in the bedroom. The peak is probably me breathing too close to the sensor when checking its position.<br />
<br />
The remaining task is to make this work together with DHT22 and the 1-wire-network. The Wireless multi-sensor is supposed to automatically detect if you have connected a CO<sub><span style="font-family: arial, arial, monospace; font-size: x-small;"><span style="background-color: white; line-height: 16.3799991607666px;">2</span></span></sub>-sensor or if you have a PIR-sensor or other type of TTL logic type of sensor.<br />
<br />
UPDATE: Here is another graph that shows the CO<sub><span style="font-family: arial, arial, monospace; font-size: x-small;"><span style="background-color: white; line-height: 16.3799991607666px;">2</span></span></sub>-ppm level on the y-axis. The snapshot is taken after one night sleep with my wife and my eldest son in his bedroom.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiAjp7eX9Q9fk3Rwd85Q3qtSXMgwEL_8KS2PnGilbYRJ0o3UWI02EtNYStF-J1AWVgpeqbGl2AgSD3Gl1e6cLDtFXYh9r-b6cORm8nsWgqdLh0iflyryfj9pIjRv-qsF-eJ82nsA4_yY0/s1600/Screen+Shot+2014-03-10+at+09.03.04.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiAjp7eX9Q9fk3Rwd85Q3qtSXMgwEL_8KS2PnGilbYRJ0o3UWI02EtNYStF-J1AWVgpeqbGl2AgSD3Gl1e6cLDtFXYh9r-b6cORm8nsWgqdLh0iflyryfj9pIjRv-qsF-eJ82nsA4_yY0/s1600/Screen+Shot+2014-03-10+at+09.03.04.png" height="384" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Top notation is 1306ppm just before 7 o'clock in the morning.</td></tr>
</tbody></table>
<br />
<br />foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0tag:blogger.com,1999:blog-2840233659768080582.post-17097419776775656722014-02-27T08:49:00.002+01:002014-02-27T13:10:58.930+01:00Tellmon.net and Automagically now supports FooGadgets Wireless Energy
meterfoogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0tag:blogger.com,1999:blog-2840233659768080582.post-3836606982229673572014-02-22T15:03:00.001+01:002014-03-09T09:52:34.035+01:00Wireless Multi-sensor soon to support a CO2 sensorI am working on a new firmware for the Wireless Multi-sensor that will add support for a CO2-sensor from <a href="http://www.senseair.se/products/oem-modules/senseair-s8/" target="_blank">SenseAir</a>.<br />
Most of the code is written and it is "only" the troubleshooting left. I hope I will manage to get it to work soon. However, I will not be able to code in about a week.<br />
<br />
The sensor will be connected on the PIR-input and will be plug-and-play. The multi-sensor will be able to tell if a PIR-sensor or a CO2-sensor has been connected.<br />
The CO2-sensor need 4.5V-5.25V and will draw 300mA peak and 30mA in avareage. This makes it not so suitable for being battery powered with this sensor.<br />
<br />
The CO2-sensor is able to measure CO2 levels from 0ppm to 2000ppm. Due to the oscillator frequency the readings will be limited to even readings, 400, 402, 404, etc.<br />
<br />foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0tag:blogger.com,1999:blog-2840233659768080582.post-69642861246702529532014-01-08T21:28:00.002+01:002014-05-06T18:22:07.575+02:00Wireless Energy MeterHi again,<br />
<br />
In our croft (summer house) I can turn on and off a couple of radiators just by sending an SMS. This is very convenient in the autumn to spring time. If we plan to visit the torp i just send an SMS some hours before our ETA, and that is all it takes to have a warm comfortable summer house to arrive to.<br />
<br />
But I also wanted a way to measure the energy consumption in some way. From the electric meter in the barn to the torp where the logging computer is located, it is about 40 meter. And I really did not want to dig down a cable from there into the torp. Wireless would be so much more convenient.<br />
<br />
Since I already had the Wireless Multi-sensor I figured I could reuse parts of the code and use the same PIC12F675 micro controller. I could not use the same multi-sensor since it was too crowded among the input/output pins. I had to start all over with a new device.<br />
<br />
The electrical meter have a LED that blink 1000 times/kWh, but there are also electrical meters that blink 10,000 times/kWh. My Wireless Electrical Meter is however not dependent on the amount of blinks per kWh since the calculations is done in scripts on the receiving side (received by a tellstick or rfxtrx433) and are thus adapted there to the right blink frequency. Examples will follow later in this post.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT2-QzClQoLMBrOBgcK5VUUGMqOxZ3j9iS3luBhNKM3QXLagy6PlwaDbn57dk-N1kR3kzDellbjDNxLNqlAXYpVlIA0aYinorL82goBoXJ-3NUwFBqdUNmRnTgdfgCZGpvvrQVyA99jBg/s1600/elmatare.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT2-QzClQoLMBrOBgcK5VUUGMqOxZ3j9iS3luBhNKM3QXLagy6PlwaDbn57dk-N1kR3kzDellbjDNxLNqlAXYpVlIA0aYinorL82goBoXJ-3NUwFBqdUNmRnTgdfgCZGpvvrQVyA99jBg/s1600/elmatare.jpg" height="320" width="251" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">This is the kind of Electric meter I have in our croft.</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjmglJZElKRENLuASjeQULPmZHgjZJj8rzmM60esrl74tujypWQU2eoJR_GeSIx-5YLcVDzSDwBHsd0Avi_Sy7VnYr1bv_srr1Jc1pDZcCHDKsBhPCcgctbEtsAHgr_Le2ruAL_GM7RJ0/s1600/elma%CC%88tare_closeup.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjmglJZElKRENLuASjeQULPmZHgjZJj8rzmM60esrl74tujypWQU2eoJR_GeSIx-5YLcVDzSDwBHsd0Avi_Sy7VnYr1bv_srr1Jc1pDZcCHDKsBhPCcgctbEtsAHgr_Le2ruAL_GM7RJ0/s1600/elma%CC%88tare_closeup.jpg" height="320" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">This is a close-up of the blinking LED:s. It is only the lower LED in this case that is interesting. That is the consumed energy that I pay for.</td></tr>
</tbody></table>
<br />
<br />
It is however important to know that this Wireless Energy Meter is only sending the detected amount of blinks as a temperature. It does not do any calculations or generate any timestamps locally on the device itself.<br />
<br />
The Wireless Energy Meter phototransistor (looks like a LED) need to be mounted face-to-face to the blinking LED on the electrical meter. Care should be taken so that as little light as possible is exposed to the phototransistor, as this can generate false detections.<br />
<br />
Once mounted and powered, it will start to send the data approximately once every minute.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwvF58na5O2d59AmZ3mHyf4DviRPZopzJ56GF9iTd5upzRXZ9kXTb68456CBPi0KBZNW4rWLrmsoMfliAqHQaKlnDRIsyw-LsyakDF8fGCKS7xHWTumPJByD63MTY00mT4D-RDdM2uioc/s1600/viking-sensor.jpeg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwvF58na5O2d59AmZ3mHyf4DviRPZopzJ56GF9iTd5upzRXZ9kXTb68456CBPi0KBZNW4rWLrmsoMfliAqHQaKlnDRIsyw-LsyakDF8fGCKS7xHWTumPJByD63MTY00mT4D-RDdM2uioc/s1600/viking-sensor.jpeg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Viking temperature/humidity sensor</td></tr>
</tbody></table>
<br />
The Wireless Energy Meter is seen by the Tellstick DUO or Rfxtrx433 as <b>two</b> separate Viking temperature+humidity sensors. Both sending data synchronous once every 60 seconds (approximately).<br />
<br />
The primary Viking sensor is sending the last minutes number of detected blinks from the energy meters LED. The secondary Viking sensor is sending the penultimate minutes number of detected blinks.<br />
<br />
The temperature that is sent is the amount of detected blinks divided by 10. So for example if the Wireless Energy Meter have detected 342 blinks it will send this as a temperature of 34.2<span style="background-color: white; color: #333333; font-family: 'Open Sans', 'Helvetica Neue', Helvetica, arial, sans-serif; line-height: 20px;">°</span>C.<br />
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtz8g9z93vTMLxfzcqZSz-dny0Ti07iMYcEgFdY73UPM20PHykwQDHQsBk3arlrw2tx6Zx_KFFBTlG516ra-GKvl1AMSAEdMoJGRIMMDlBKOYjGOLXoKkKDA_fCFYRueBDu_2TFpeyZMg/s1600/Wireless+energy+meter+pcb.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtz8g9z93vTMLxfzcqZSz-dny0Ti07iMYcEgFdY73UPM20PHykwQDHQsBk3arlrw2tx6Zx_KFFBTlG516ra-GKvl1AMSAEdMoJGRIMMDlBKOYjGOLXoKkKDA_fCFYRueBDu_2TFpeyZMg/s1600/Wireless+energy+meter+pcb.jpg" height="242" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Here is the PCB. The size of this PCB is 50x50mm.</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8zuw65O9GCEPhqjw5QE8rKlEtjEh0SUaNq2A5KXZ3ySh2PXG2Q8tHJX26Rn0Ai2fzFOkh0uamnFIa2F5LjzYhdfrzK8Vzo1_EvbfKEt6H_NxNNXlyB1fXJFKr4qVRj8wxKwQW8QrZgus/s1600/wireless_energy_meter_back.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8zuw65O9GCEPhqjw5QE8rKlEtjEh0SUaNq2A5KXZ3ySh2PXG2Q8tHJX26Rn0Ai2fzFOkh0uamnFIa2F5LjzYhdfrzK8Vzo1_EvbfKEt6H_NxNNXlyB1fXJFKr4qVRj8wxKwQW8QrZgus/s1600/wireless_energy_meter_back.jpg" height="320" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">This is the side that should face the Electric meter. The PT1 is the phototransistor that detects the blinks.</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfzWg8v6l3vd2i1WNGDe3cwKgnOInWlbBul9q8z4tmfc86FdrgCD1nqnMm_7g9aXywsGZ0jHDhWqhU1XZ4SKFsyv30noBRDpO59dKyfx7PmcShC5SIqzl9AtZEapoCh3a9X9RoDxkEDxQ/s1600/wireless_energy_meter_front.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfzWg8v6l3vd2i1WNGDe3cwKgnOInWlbBul9q8z4tmfc86FdrgCD1nqnMm_7g9aXywsGZ0jHDhWqhU1XZ4SKFsyv30noBRDpO59dKyfx7PmcShC5SIqzl9AtZEapoCh3a9X9RoDxkEDxQ/s1600/wireless_energy_meter_front.jpg" height="320" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">This is the back. The size is compared to 1 Swedish Krona. The PCB is 25x25mm but the TX433 transmitter builds 13mm on the side.</td></tr>
</tbody></table>
<br />
The humidity field I use as a data package number that increases from 0 to 99 and then wraps around. The humidity data can thus be used on the receiving side to detect if there have been any lost packages. If one detect a lost package on the receiving side one can recover the lost data by using the secondary sensors data since this is the penultimate data. For this reason, once every minute I send the penultimate data first, followed by the most recent data. In this way I will be sure to already have the penultimate data available when the most recent data is received. It is first when I get the most recent data I can detect if I need to recover.<br />
<br />
Since this device is only sending raw counter data, it will be compatible with many home automation applications such as <a href="http://www.beyondmeasure.se/">Beyond Measure</a>, <a href="http://www.switchking.se/">Switch King</a>, <a href="http://automagically.weebly.com/" target="_blank">Automagically</a>, <a href="http://tellmon.net/">tellmon.net</a> or any other solution used.<br />
<br />
This flexibility come with a drawback. It is very much up to the user of this device to implement the code on the receiving side, to get a complete solution. I will in this blogpost share some of the algorithms and scripts that I have used.<br />
<br />
<h4>
Logging</h4>
The most interesting part of the energy reading activity is the logging. Then you can actually see the history of the energy consumption and correlate that to the inside and outside temperatures. You can also possibly detect any energy hogging device by looking at the periodicity of a peak power usage.<br />
<br />
For this Wireless Energy Meter I first tried RRD (<a href="http://oss.oetiker.ch/rrdtool/" target="_blank">rrdtool</a>). The RRD is the round robin database that is very good to use when you need to limit the size of the database. One of the drawbacks is that you need to specify at the time of creation, with what periodicity you will log your data. My sensor is sending new data once every 60 seconds ... approximately. I use the internal oscillator to clock the sleeping time of the PIC. The internal oscillator is not very accurate. The accuracy should however be within 60s +-2s. This will of course affect the accuracy of the energy calculations. The clock is also dependent on the surrounding temperature.<br />
<br />
A better way to log the data is to use a SQL-database. Then you can save the timestamp of the data at the time of arrival, and then do calculations based on the counted pulses and time passed since last the previous package was received.<br />
<br />
The following algorithm can be used to detect lost packages and also log to a database. See it as pseudo code,<br />
<br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><b>// Callback function (If it looks similar to Telldus it is because it is based on an example from them)</b><br />void sensorEvent( int sensorId, const char *value, char *temp) {<br /> if ( sensorId == 69 ) { <b>//Store the secondary virtual sensor value</b><br /> f_temp[sensorId] = atof( temp );<br /> i_seqno[sensorId] = atoi( value );<br /> return;</span><br />
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> } else if ( sensorId == 68 ) { <b>//Store the Primary virtual sensor value</b><br /> f_temp[sensorId] = atof( temp );</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> i_seqno[sensorId] = atoi( value );</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> i_diff[sensorId] = i_seqno[sensorId] - i_prev[sensorId];</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> switch ( i_diff[sensorId] ) {</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> case 1:</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> case -99: <b>// All OK</b></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> <b>// Log f_temp in a MySql-db or send it to Xively for example.</b><br /> case 2:</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> case -98: <b>// One transmission lost. Check if we can recover.</b><br /> if ( (i_seqno[sensorId]-i_seqno[sensorId+1]) == 1 ||</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> (i_seqno[sensorId]-i_seqno[sensorId+1]) == -99 ) {<br /> <b>// It seem like we can recover. Log the f_temp[sensorId+1] and the f_temp[sensorId] value.</b></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> } else {<br /> <b>// If we are here, we have lost one transmission and can not recover. Anyway, we log the current value f_temp[sensorId] and do a best guess of what the lost value was. We could use an average number or the same as current value f_temp[sensorId]. This would likely be less wrong than leaving it empty.</b><br /> }<br /> break;</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> default : <b>// If we are here we have lost more than one complete transmission. If this occur frequently you have to look over your setup.</b><br /> }</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"> i_prev[sensorId] = i_seqno[sensorId];<br /> }<br /> return;<br />}</span><br />
<div style="margin: 0px;">
<br />
<br />
The formulas for total consumed Energy (Wh) and the current Power consumption (W), goes something like this,<br />
<b>TotalEnergi = Start_value + SUM(temp*10)/1000</b><br />
The Start_value is optional and can be used when starting the measurements. You get it from the display on the electric meter. If you add this you will hopefully get the same numbers in the graphs as on the electric meter. The Start_value should be given in kWh. TotalEnergy is kWh.<br />
SUM() is the sum of all incoming "temperatures". In C++ it would be written sumkWh += temp*10/1000;</div>
<div style="margin: 0px;">
Result in kWh.<br />
<br />
<b>Pmom = temp*10/1000*60* 60/(Time_now - Time_previous)</b><br />
temp is the incoming data from the Wireless Energy Meter.</div>
<div style="margin: 0px;">
60/(Time_now - Time_previous) is a compensation factor that need to be added to compensate for the low precision oscillator in the PIC. The oscillator frequency depends on temperature and voltage. It is wise not to skip this compensation factor.</div>
<div style="margin: 0px;">
Result in kW</div>
<div style="margin: 0px;">
<br />
<br />
It can also be used in <a href="http://www.domoticz.com/" target="_blank">Domoticz</a>. See <a href="http://translate.google.se/translate?sl=auto&tl=en&js=n&prev=_t&hl=en&ie=UTF-8&u=http%3A%2F%2Fwww.temperatur.nu%2Fforum%2Fhemautomation-teknik%2Fmata-elforbrukning-raspberry-pi-domoticz-vad-behovs-t3385.html" target="_blank">this thread</a> over at <a href="http://temperatur.nu/">temperatur.nu</a>.<br />
Also check in <a href="http://automagically.weebly.com/" target="_blank">Automagically</a> and <a href="http://tellmon.net/" target="_blank">Tellmon.net </a>that have native support for my Wireless Energy meter.<br />
Further more, there is also a plugin for <a href="http://www.beyondmeasure.se/" target="_blank">Beyond Measure</a>, see <a href="http://www.beyondmeasure.se/forum/index.php/topic,1626.0/topicseen.html" target="_blank">this thread</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4GO1JYIqNJ5l9G5QyllZ1dxrIx0Bi31AK1KgeCY1uu3Y4DaNmr66J8UL2rJtN2dUQOcFB36ljk1Z34k65GYIKc9azsMOaKla3uICsz0B45RyYfmQgO7S980wraRfoxjq6B-0p0P7dqzs/s1600/felhantering_BM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4GO1JYIqNJ5l9G5QyllZ1dxrIx0Bi31AK1KgeCY1uu3Y4DaNmr66J8UL2rJtN2dUQOcFB36ljk1Z34k65GYIKc9azsMOaKla3uICsz0B45RyYfmQgO7S980wraRfoxjq6B-0p0P7dqzs/s1600/felhantering_BM.png" height="400" width="350" /></a></div>
<br />
<br /></div>
<div style="margin: 0px;">
<br />
<br />
If you like it, you can also buy the Wireless Energy meter here, <a href="http://foogadgets.tictail.com/">http://foogadgets.tictail.com</a></div>
<div style="margin: 0px;">
<br /></div>
</div>
foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0tag:blogger.com,1999:blog-2840233659768080582.post-75186828175913984102014-01-06T10:47:00.000+01:002014-01-06T10:47:22.600+01:00Getting closer ...Last evening I made som updates of the assembly code for the Wireless Energy meter.<br />
The code will not be open source, but you will anyway be able to change configuration parameters without recompiling any code.<br />
<br />
I am using the EEPROM area to store configurable parameters that are interesting to change, such as time in between transmissions, amount of retransmissions for each sensor, and the sensor-ID.<br />
<br />
What you will need in order to change any of the EEPROM data is a Pickit 2/3 or similar.<br />
<br />
<br />foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0tag:blogger.com,1999:blog-2840233659768080582.post-7974637796772180932014-01-03T12:51:00.001+01:002014-02-23T12:09:47.429+01:00New version of the Wireless Multi-sensor PCB<div>
Here is my latest version of the Wireless Multi-sensor PCB (Version 1.1).</div>
<div>
<div class="separator" style="clear: both;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs-cgAcOdbxJ3K34WWYXAJyEMqm3t_qOwexvmPwoptWC1gjX9HBibZl9xOVgiJjDjK_wtXePNbOuD2KaFWiTNZ10D6dWyI3XMutYAHDW7Oj87O4hlbfg3stmSbDqtDBjaWC22Hxqi95S0/s640/blogger-image--1988345926.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs-cgAcOdbxJ3K34WWYXAJyEMqm3t_qOwexvmPwoptWC1gjX9HBibZl9xOVgiJjDjK_wtXePNbOuD2KaFWiTNZ10D6dWyI3XMutYAHDW7Oj87O4hlbfg3stmSbDqtDBjaWC22Hxqi95S0/s640/blogger-image--1988345926.jpg" /></a></div>
<br /></div>
<div>
Last night I assembled 12 units. I only had time to test two units very quickly, but all is sound so far. The only missing part is the PIC12F675. I have been waiting since <a href="tel:12/11%202013" x-apple-data-detectors-result="1" x-apple-data-detectors-type="telephone" x-apple-data-detectors="true">12</a>th November :(. It will arrive any day now :)</div>
<div>
<div class="separator" style="clear: both;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuEfipzGbqVvroa9Q8KgI08LZkNNlPBlBKCsdxGIy6u1kx3FTLNkUMBK6QSO60HPyI7gdx5tlrawML09-OoVhyz5Ldip0WP8siq-5juwXpFGzMfcDPn1pJiHMpGygNjZB0bTq5ywt0RBw/s640/blogger-image-2138297620.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuEfipzGbqVvroa9Q8KgI08LZkNNlPBlBKCsdxGIy6u1kx3FTLNkUMBK6QSO60HPyI7gdx5tlrawML09-OoVhyz5Ldip0WP8siq-5juwXpFGzMfcDPn1pJiHMpGygNjZB0bTq5ywt0RBw/s640/blogger-image-2138297620.jpg" /></a></div>
<br /></div>
<div>
As can be seen in the picture below, there are three inputs. One for the DHT22, one for the 1-wire bus and one event sensor input. The event sensor-input have the same pin-configuration as the PIR-sensor HC-SR501.</div>
<div>
I have also added a power supply input (marked BAT) to the right of the DHT22 input where you have the possibility to add your own power supply.</div>
<div>
<div class="separator" style="clear: both;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMcyWmTa1z4X_Pllq3NL5BY6x4QC9-uo-mWF2EF7-DOpaeGP7rt-n1YP3mVIN1SkcGq_vKx7E_IAoz9ox10ahIhSpP5AUeQjldqDMeQWTyIYytJQJJxal3hZTdi6cHdqOiJIlnFTnzIJE/s640/blogger-image-1688111681.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMcyWmTa1z4X_Pllq3NL5BY6x4QC9-uo-mWF2EF7-DOpaeGP7rt-n1YP3mVIN1SkcGq_vKx7E_IAoz9ox10ahIhSpP5AUeQjldqDMeQWTyIYytJQJJxal3hZTdi6cHdqOiJIlnFTnzIJE/s640/blogger-image-1688111681.jpg" /></a></div>
<br /></div>
<div>
The changelog for version 1.1,</div>
<div>
*A pull-down resistor can be soldered in the spot marked R4. It will not needed if the input is not used since there will be a jumper grounding the data input pin.</div>
<div>
*The 2.1mm DC-jack has been exchanged to a mini USB type B connector. I have also added the possibility to add your own power supply.</div>
<div>
*The hardware bug has been corrected.</div>
<div>
<br /></div>
foogadgetshttp://www.blogger.com/profile/01247834871475898602noreply@blogger.com0