{"id":233,"date":"2011-07-03T08:20:14","date_gmt":"2011-07-03T12:20:14","guid":{"rendered":"http:\/\/hackaweek.com\/hacks\/?p=233"},"modified":"2011-07-07T10:06:48","modified_gmt":"2011-07-07T14:06:48","slug":"the-propeller-development-robot","status":"publish","type":"post","link":"http:\/\/hackaweek.com\/hacks\/the-propeller-development-robot\/","title":{"rendered":"The Propeller Development Robot"},"content":{"rendered":"<p>This week I decided it was time to do a project with the <a href=\"http:\/\/www.parallax.com\/propeller\/\">Parallax Propeller chip<\/a>. I&#8217;d heard all kinds of good things about this MCU and since I have all these Roomba parts laying around my shop I figured it was time to build another robot. I wanted a robot platform that I could experiment with. One that could easily have other sensors added in the future. I had a <a href=\"http:\/\/www.parallax.com\/StoreSearchResults\/tabid\/768\/txtSearch\/msr1\/List\/0\/SortField\/4\/ProductID\/584\/Default.aspx\">Propeller MSR1 control<\/a> board on hand which is perfectly suited to this purpose with it&#8217;s 24 IO pins and on board h-bridge. I also had an extra <a href=\"http:\/\/www.parallax.com\/StoreSearchResults\/tabid\/768\/txtSearch\/ping\/List\/0\/SortField\/4\/ProductID\/92\/Default.aspx\">Parallax PING sensor<\/a> to mount on my robot and a couple of those wonderful Roomba drive motors to move the thing. Next I needed a chassis to mount everything to. I had a plastic enclosure leftover from the Laser Ranger Finder project that was perfect. Now that all my parts were gathered together, it was time to get building.<\/p>\n<p>When I build a thing I usually just sit down with my parts and brainstorm for a while. I come up with ideas, think them through and change them as the design comes forth. Being willing to change the path you&#8217;re on with design is important. I try to let the function dictate the form. So, after some time I came up with a way to mount the motors to the enclosure and use the enclosure&#8217;s top to mount the control board and sensors to. This would allow easy access for future mods to be added. My choice for batteries was eight AA rechargeables simply because I had them on hand. They would go inside the enclosure and help keep the center of gravity down low which would add stability. At the rear I installed a tail wheel from a Roomba which is designed with two wheel tank steering in mind.<\/p>\n<p>Once everything was together it was time to get some code and upload it. After a crash course in <a href=\"http:\/\/en.wikipedia.org\/wiki\/Parallax_Propeller\">SPIN<\/a> from my friend Roy Eltham, I had some standard motor drive and sensor code going. It was time to test. There was, of course, a bug.  There&#8217;s always something to troubleshoot&#8230; that&#8217;s hackin! The problem was in the sensor part of the robot. It would seem to trigger a turn in direction even though there wasn&#8217;t an object in the way. Strange. I checked code, wiring, connectors, I even raised the PING sensor up on the bolt that you see in the final design, but none of this worked. I decided to look at the specs for the PING and noticed that an example schematic had a 1K resistor in series on the signal wire! Aha! I installed this resistor and suddenly, the robot was working perfectly. It was an impedance matching issue.<\/p>\n<p>This was my first time using the Propeller chip and I have to say that I love it! It&#8217;s a very powerful <a href=\"http:\/\/en.wikipedia.org\/wiki\/Microcontroller\">MCU<\/a>. I&#8217;m very pleased with the ease of use of the programming language to alter the robot&#8217;s behavior. I&#8217;m sure you&#8217;ll be seeing more projects from me that put it to use.<\/p>\n<p>Until then&#8230; keep on hackin!<\/p>\n<p><a href=\"http:\/\/hackaweek.com\/hacks\/?attachment_id=234\" rel=\"attachment wp-att-234\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/hackaweek.com\/hacks\/wp-content\/uploads\/2011\/07\/PDR4.jpg\" alt=\"\" title=\"PDR4\" width=\"800\" height=\"533\" class=\"alignnone size-full wp-image-234\" srcset=\"http:\/\/hackaweek.com\/hacks\/wp-content\/uploads\/2011\/07\/PDR4.jpg 800w, http:\/\/hackaweek.com\/hacks\/wp-content\/uploads\/2011\/07\/PDR4-150x99.jpg 150w, http:\/\/hackaweek.com\/hacks\/wp-content\/uploads\/2011\/07\/PDR4-300x199.jpg 300w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"349\" src=\"https:\/\/www.youtube.com\/embed\/znGYZdH3ebs\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week I decided it was time to do a project with the Parallax Propeller chip. I&#8217;d heard all kinds of good things about this MCU and since I have all these Roomba parts laying around my shop I figured &hellip; <a href=\"http:\/\/hackaweek.com\/hacks\/the-propeller-development-robot\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-233","post","type-post","status-publish","format-standard","hentry","category-hacks"],"_links":{"self":[{"href":"http:\/\/hackaweek.com\/hacks\/wp-json\/wp\/v2\/posts\/233","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/hackaweek.com\/hacks\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/hackaweek.com\/hacks\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/hackaweek.com\/hacks\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/hackaweek.com\/hacks\/wp-json\/wp\/v2\/comments?post=233"}],"version-history":[{"count":10,"href":"http:\/\/hackaweek.com\/hacks\/wp-json\/wp\/v2\/posts\/233\/revisions"}],"predecessor-version":[{"id":266,"href":"http:\/\/hackaweek.com\/hacks\/wp-json\/wp\/v2\/posts\/233\/revisions\/266"}],"wp:attachment":[{"href":"http:\/\/hackaweek.com\/hacks\/wp-json\/wp\/v2\/media?parent=233"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/hackaweek.com\/hacks\/wp-json\/wp\/v2\/categories?post=233"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/hackaweek.com\/hacks\/wp-json\/wp\/v2\/tags?post=233"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}