<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: &#8220;Arduino Powered&#8221; CD Changing Robot</title>
	<atom:link href="http://blog.tinyenormous.com/2009/06/17/arduino-powered-cd-changing-arm/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tinyenormous.com/2009/06/17/arduino-powered-cd-changing-arm/</link>
	<description>arduino, robots, cameras, and life</description>
	<lastBuildDate>Sun, 05 Sep 2010 15:56:02 -0700</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: Jeff</title>
		<link>http://blog.tinyenormous.com/2009/06/17/arduino-powered-cd-changing-arm/comment-page-1/#comment-740</link>
		<dc:creator>Jeff</dc:creator>
		<pubDate>Fri, 19 Jun 2009 21:04:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tinyenormous.com/?p=508#comment-740</guid>
		<description>5-axis robot arm at:

http://www.thingiverse.com/thing:387

Most importantly,  you might want to consider a servo controller such as:

http://www.pololu.com/catalog/product/207/pictures

It will clean up a lot of your problems.

Good luck!</description>
		<content:encoded><![CDATA[<p>5-axis robot arm at:</p>
<p><a href="http://www.thingiverse.com/thing:387" rel="nofollow">http://www.thingiverse.com/thing:387</a></p>
<p>Most importantly,  you might want to consider a servo controller such as:</p>
<p><a href="http://www.pololu.com/catalog/product/207/pictures" rel="nofollow">http://www.pololu.com/catalog/product/207/pictures</a></p>
<p>It will clean up a lot of your problems.</p>
<p>Good luck!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: TinyEnormous</title>
		<link>http://blog.tinyenormous.com/2009/06/17/arduino-powered-cd-changing-arm/comment-page-1/#comment-738</link>
		<dc:creator>TinyEnormous</dc:creator>
		<pubDate>Fri, 19 Jun 2009 18:36:37 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tinyenormous.com/?p=508#comment-738</guid>
		<description>@Joseph Le Brech - yes I could use an optical sensor, but I don&#039;t see much advantage to the mechanical switch I am currently using. Also, the mechanical switch is one of the only things that hasn&#039;t worked erratically! If it ain&#039;t broke...

@Srilyk - definitely! did you check out my serial lcd projects? Here&#039;s a python script that checks facebook status updates and prints it out to an arduino connected LCD. I definitely want to learn more python.
http://blog.tinyenormous.com/2008/12/02/arduino-based-rss-reader-with-lcd/

@brian aday - I&#039;d love to see your pump ideas! I don&#039;t know if you saw it, but I&#039;ve been working on a cnc router as well AND I&#039;ve got a bunch of photography posts too. I think we&#039;re geeks-of-a-feather!</description>
		<content:encoded><![CDATA[<p>@Joseph Le Brech &#8211; yes I could use an optical sensor, but I don&#8217;t see much advantage to the mechanical switch I am currently using. Also, the mechanical switch is one of the only things that hasn&#8217;t worked erratically! If it ain&#8217;t broke&#8230;</p>
<p>@Srilyk &#8211; definitely! did you check out my serial lcd projects? Here&#8217;s a python script that checks facebook status updates and prints it out to an arduino connected LCD. I definitely want to learn more python.<br />
<a href="http://blog.tinyenormous.com/2008/12/02/arduino-based-rss-reader-with-lcd/" rel="nofollow">http://blog.tinyenormous.com/2008/12/02/arduino-based-rss-reader-with-lcd/</a></p>
<p>@brian aday &#8211; I&#8217;d love to see your pump ideas! I don&#8217;t know if you saw it, but I&#8217;ve been working on a cnc router as well AND I&#8217;ve got a bunch of photography posts too. I think we&#8217;re geeks-of-a-feather!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Aday</title>
		<link>http://blog.tinyenormous.com/2009/06/17/arduino-powered-cd-changing-arm/comment-page-1/#comment-737</link>
		<dc:creator>Brian Aday</dc:creator>
		<pubDate>Fri, 19 Jun 2009 17:27:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tinyenormous.com/?p=508#comment-737</guid>
		<description>I have been working on a CD loader for quite some time, kudo&#039;s for posting what you have.  I am particularly impressed you chose to use vacuum and pick and place suction cups.  I am perfecting my vacuum pickup, and I haven&#039;t seen anyone else go this route. You might like my design for the pump, it is quieter.  I haven&#039;t published it yet, so if you want to collaborate on the project let me know.</description>
		<content:encoded><![CDATA[<p>I have been working on a CD loader for quite some time, kudo&#8217;s for posting what you have.  I am particularly impressed you chose to use vacuum and pick and place suction cups.  I am perfecting my vacuum pickup, and I haven&#8217;t seen anyone else go this route. You might like my design for the pump, it is quieter.  I haven&#8217;t published it yet, so if you want to collaborate on the project let me know.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Srilyk</title>
		<link>http://blog.tinyenormous.com/2009/06/17/arduino-powered-cd-changing-arm/comment-page-1/#comment-736</link>
		<dc:creator>Srilyk</dc:creator>
		<pubDate>Fri, 19 Jun 2009 16:00:16 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tinyenormous.com/?p=508#comment-736</guid>
		<description>Python and the pyserial interface is a wonderful way to write your own connections to your arduino. I actually didn&#039;t know the arduino software had a serial monitor until yesterday! I wrote a simple motor controller that allowed you to specify the direction and duration of the motor spin. It was incredibly simple and worked wonderfully. 

If you can write programs for your Arduino you can definitely write programs in python.  HTH!</description>
		<content:encoded><![CDATA[<p>Python and the pyserial interface is a wonderful way to write your own connections to your arduino. I actually didn&#8217;t know the arduino software had a serial monitor until yesterday! I wrote a simple motor controller that allowed you to specify the direction and duration of the motor spin. It was incredibly simple and worked wonderfully. </p>
<p>If you can write programs for your Arduino you can definitely write programs in python.  HTH!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joseph Le Brech</title>
		<link>http://blog.tinyenormous.com/2009/06/17/arduino-powered-cd-changing-arm/comment-page-1/#comment-734</link>
		<dc:creator>Joseph Le Brech</dc:creator>
		<pubDate>Fri, 19 Jun 2009 14:17:38 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tinyenormous.com/?p=508#comment-734</guid>
		<description>can&#039;t you use an optical sensor for your switch?</description>
		<content:encoded><![CDATA[<p>can&#8217;t you use an optical sensor for your switch?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: TinyEnormous</title>
		<link>http://blog.tinyenormous.com/2009/06/17/arduino-powered-cd-changing-arm/comment-page-1/#comment-733</link>
		<dc:creator>TinyEnormous</dc:creator>
		<pubDate>Fri, 19 Jun 2009 13:39:01 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tinyenormous.com/?p=508#comment-733</guid>
		<description>Hi Francesco!
I actually do have the microswitch interfaced. It is the second relay on that relay board. It is still buggy though. I am really interested in getting that part done in software, but I haven&#039;t had much luck thusfar.</description>
		<content:encoded><![CDATA[<p>Hi Francesco!<br />
I actually do have the microswitch interfaced. It is the second relay on that relay board. It is still buggy though. I am really interested in getting that part done in software, but I haven&#8217;t had much luck thusfar.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: TinyEnormous</title>
		<link>http://blog.tinyenormous.com/2009/06/17/arduino-powered-cd-changing-arm/comment-page-1/#comment-732</link>
		<dc:creator>TinyEnormous</dc:creator>
		<pubDate>Fri, 19 Jun 2009 13:34:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tinyenormous.com/?p=508#comment-732</guid>
		<description>Wow Matt!

Thanks for all of the info! I will definitely have to try to integrate some of that into version 2.0. I hadn&#039;t thought about putting it all on the rotating platform, but I could see that working.
Good luck with your scsi box. I picked up a big old scsi cd-r tower a while back and had big plans for it. 
</description>
		<content:encoded><![CDATA[<p>Wow Matt!</p>
<p>Thanks for all of the info! I will definitely have to try to integrate some of that into version 2.0. I hadn&#8217;t thought about putting it all on the rotating platform, but I could see that working.<br />
Good luck with your scsi box. I picked up a big old scsi cd-r tower a while back and had big plans for it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Francesco</title>
		<link>http://blog.tinyenormous.com/2009/06/17/arduino-powered-cd-changing-arm/comment-page-1/#comment-730</link>
		<dc:creator>Francesco</dc:creator>
		<pubDate>Fri, 19 Jun 2009 10:24:11 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tinyenormous.com/?p=508#comment-730</guid>
		<description>CD/DVD drives usually have a microswitch inside that tells the internal controller if the tray is open or closed. You can interface this switch to one input of the arduino</description>
		<content:encoded><![CDATA[<p>CD/DVD drives usually have a microswitch inside that tells the internal controller if the tray is open or closed. You can interface this switch to one input of the arduino</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt</title>
		<link>http://blog.tinyenormous.com/2009/06/17/arduino-powered-cd-changing-arm/comment-page-1/#comment-729</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Fri, 19 Jun 2009 08:11:19 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tinyenormous.com/?p=508#comment-729</guid>
		<description>ok so after a quick review of http://arduino.cc/en/Reference/Servo  I have some sudo function code for you. assuming you handle pin attachments elsewhere;

MoveServo1(int X, int Y)  
{                                         
//I
   doWhile((X !=   servo1.read()) &amp;&amp; (servo1.attached()==1) ) 
   {
       if(X &gt; servo1.read ()) 
      {servo1.write(servo1.read ()+1)}  
       else {servo1.write(servo1.read ()-1)}
       wait(Y);
   }
  if(servo1.attached() ==1) return(1);
   else return(0);
} 

rotation,  fixed/continues
        X=position/speed
            Y=speed/acceleration
//I
int I = servo1.read (); may be placed on this line and all other instances of servo1.read () should then be replaced with I.  You could dig around in servo.h to find out what the best option is, I don&#039;t know if servo1.read has any benefit over indexing internally besides letting you know that servo.h&#039;s output index is really where the function thinks it is in terms of output to the servo, but this should never happen even with internal indexing unless something goes terribly wrong.  Sure servo.read makes the function take longer to run but that&#039;s just adjusting the Y baseline, and if you want to go fast when your not holding a CD just use servo.write not the MoveServo1 function.

If you want speed/acceleration control on both servos you could add another argument to specify which one, (int y, bol ServoNum) then replace servo.write with Z = and add [if( ServoNum == 1) servo1.write(Z);
else servo2.write(Z);]
between the else and wait lines.

As far as the stiff vacuum tubing getting in the way have you thought of mounting the pump on the rotating base plate?  Then you only have to flex the tubing on one axis, the added mass might also smooth the motion out a bit if its balanced to counter the arm like on a back hoe, and we both know if you ditch the plastic casing the pump will take up 1/3 the space it currently does if your running out of room on your baseplate.  There are also some more flexible verities of tubing that will hold up under the vacuum that pump can pull, I forget the proper name but home depot sells it, its slightly squishy, non-transparent, and usually has a gloss finish.  Its commonly used as pneumatic air line in the industrial manufacturing world to power pneumatic cylinders on assembly lines, usually used with plastic quick disconnects instead of hose barbs or compression fittings.

You could mount two pikes of lamp rod (threaded rod with a hole through the center) to a base plate, and then mount an IR LEDs at the top ends of the lamp rod and space the length of the rod so that you can place a translucent CD spindle over them, then re build the manipulator, use 3 equity spaced suction cups mounted to a CD and a IR sensor above the center whole in the CD, then all you have to do is center on the IR led and lower the CD griper, the spindle will align the griper with the cd perfectly every time, similarly you can place an IR led under the open tray and center on that to get more reliable positioning results.  You can easily swap out spindles if you ever wand to burn your newly ripped mp3 collection to DVD back up for of site storage ;).

wow that was a rant, I&#039;m an electromechanical engineering student that&#039;s been stuck working of liberal arts requirements for the last semester, man I wish I had time to be working on my project, I got an old scsi CD juct box with a proprietary serial interface to play with and upgrade to a USB DVD burner, but before it showed up at the flemarket I had been planing on building my own, I wish I had thought of using suction cups, the griping mechanism was the part that kept me from getting started.  I will warn you to make sure you have some sort of filter on you vacuum line, I used the same trick a while back and you need to make sure nothing gets in to the compressor that shouldn&#039;t or your off to harbor freight to buy a new one.</description>
		<content:encoded><![CDATA[<p>ok so after a quick review of <a href="http://arduino.cc/en/Reference/Servo" rel="nofollow">http://arduino.cc/en/Reference/Servo</a>  I have some sudo function code for you. assuming you handle pin attachments elsewhere;</p>
<p>MoveServo1(int X, int Y)<br />
{<br />
//I<br />
   doWhile((X !=   servo1.read()) &amp;&amp; (servo1.attached()==1) )<br />
   {<br />
       if(X &gt; servo1.read ())<br />
      {servo1.write(servo1.read ()+1)}<br />
       else {servo1.write(servo1.read ()-1)}<br />
       wait(Y);<br />
   }<br />
  if(servo1.attached() ==1) return(1);<br />
   else return(0);<br />
} </p>
<p>rotation,  fixed/continues<br />
        X=position/speed<br />
            Y=speed/acceleration<br />
//I<br />
int I = servo1.read (); may be placed on this line and all other instances of servo1.read () should then be replaced with I.  You could dig around in servo.h to find out what the best option is, I don&#8217;t know if servo1.read has any benefit over indexing internally besides letting you know that servo.h&#8217;s output index is really where the function thinks it is in terms of output to the servo, but this should never happen even with internal indexing unless something goes terribly wrong.  Sure servo.read makes the function take longer to run but that&#8217;s just adjusting the Y baseline, and if you want to go fast when your not holding a CD just use servo.write not the MoveServo1 function.</p>
<p>If you want speed/acceleration control on both servos you could add another argument to specify which one, (int y, bol ServoNum) then replace servo.write with Z = and add [if( ServoNum == 1) servo1.write(Z);<br />
else servo2.write(Z);]<br />
between the else and wait lines.</p>
<p>As far as the stiff vacuum tubing getting in the way have you thought of mounting the pump on the rotating base plate?  Then you only have to flex the tubing on one axis, the added mass might also smooth the motion out a bit if its balanced to counter the arm like on a back hoe, and we both know if you ditch the plastic casing the pump will take up 1/3 the space it currently does if your running out of room on your baseplate.  There are also some more flexible verities of tubing that will hold up under the vacuum that pump can pull, I forget the proper name but home depot sells it, its slightly squishy, non-transparent, and usually has a gloss finish.  Its commonly used as pneumatic air line in the industrial manufacturing world to power pneumatic cylinders on assembly lines, usually used with plastic quick disconnects instead of hose barbs or compression fittings.</p>
<p>You could mount two pikes of lamp rod (threaded rod with a hole through the center) to a base plate, and then mount an IR LEDs at the top ends of the lamp rod and space the length of the rod so that you can place a translucent CD spindle over them, then re build the manipulator, use 3 equity spaced suction cups mounted to a CD and a IR sensor above the center whole in the CD, then all you have to do is center on the IR led and lower the CD griper, the spindle will align the griper with the cd perfectly every time, similarly you can place an IR led under the open tray and center on that to get more reliable positioning results.  You can easily swap out spindles if you ever wand to burn your newly ripped mp3 collection to DVD back up for of site storage ;).</p>
<p>wow that was a rant, I&#8217;m an electromechanical engineering student that&#8217;s been stuck working of liberal arts requirements for the last semester, man I wish I had time to be working on my project, I got an old scsi CD juct box with a proprietary serial interface to play with and upgrade to a USB DVD burner, but before it showed up at the flemarket I had been planing on building my own, I wish I had thought of using suction cups, the griping mechanism was the part that kept me from getting started.  I will warn you to make sure you have some sort of filter on you vacuum line, I used the same trick a while back and you need to make sure nothing gets in to the compressor that shouldn&#8217;t or your off to harbor freight to buy a new one.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arduino powered CD changing robot @ NerdNewz.Net</title>
		<link>http://blog.tinyenormous.com/2009/06/17/arduino-powered-cd-changing-arm/comment-page-1/#comment-726</link>
		<dc:creator>Arduino powered CD changing robot @ NerdNewz.Net</dc:creator>
		<pubDate>Fri, 19 Jun 2009 02:03:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.tinyenormous.com/?p=508#comment-726</guid>
		<description>[...] a reader is working on a CD changing and ripping robot. The arm picks up a CD and the platform then rotates, stopping in front of the tray to drop the CD. [...]</description>
		<content:encoded><![CDATA[<p>[...] a reader is working on a CD changing and ripping robot. The arm picks up a CD and the platform then rotates, stopping in front of the tray to drop the CD. [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
