<?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>BritishIdeas &#187; software</title>
	<atom:link href="http://www.britishideas.com/tag/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.britishideas.com</link>
	<description>Interesting Tech Projects</description>
	<lastBuildDate>Mon, 06 Sep 2010 05:34:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Part Design Tools and Workflow</title>
		<link>http://www.britishideas.com/2007/11/19/part-design-tools-and-workflow/</link>
		<comments>http://www.britishideas.com/2007/11/19/part-design-tools-and-workflow/#comments</comments>
		<pubDate>Tue, 20 Nov 2007 05:24:59 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.britishideas.com/2007/11/19/part-design-tools-and-workflow/</guid>
		<description><![CDATA[After spending quite some time trying different pieces of software I have come up with a collection and a workflow that I think will fit my needs.
I wanted to be able to accurately design parts in 3D, see how the parts will fit together to make sure they are right, and produce traditional engineering drawings]]></description>
			<content:encoded><![CDATA[<p>After spending quite some time trying different pieces of software I have come up with a collection and a workflow that I think will fit my needs.</p>
<p>I wanted to be able to accurately design parts in 3D, see how the parts will fit together to make sure they are right, and produce traditional engineering drawings of the parts, if possible. Also it is necessary once a part has been designed to be able to convert it into toolpaths, which is the path that a drill bit would move along to make the part. The toolpaths are represented using g-code which can be processed by EMC2 to move the stepper motors. Another requirement was to use free software where possible to try and keep costs down.</p>
<p>I start with <a href="http://www.alibre.com/xpress/software/alibre-design-xpress.asp" title="Alibre Design Xpress">Alibre Design Xpress</a>. This is an excellent 3D design program that is also free. However free comes with a price, that is limitations. The key limitations are a limited number of export options and limited number of parts in an assembly. An assembly is a collection of parts fitted together to build something. However with enough perseverance these limitations can be overcome. In Design Xpress I created a simple test part that contains two holes for bolts:</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece12d.gif" title="Test Piece 1 2D Design"><img src="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece12d.thumbnail.gif" alt="Test Piece 1 2D Design" /></a></p>
<p>Creating this 2D profile is very quick and easy. The holes are 0.174&#8243; in diameter, which should be big enough for a #8 bolt. Next step is to extrude the 2D profile into a 3D part:</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece13d.gif" title="Test Piece 1 3D Design"><img src="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece13d.thumbnail.gif" alt="Test Piece 1 3D Design" /></a></p>
<p>The part can be rotated and viewed from any angle. I decided to make the part 0.250&#8243; thick. At this point Design Xpress can produce various numbers regarding the part, depending on the material it is made of. Choosing &#8220;Wood &#8211; southern pine&#8221; resulted in:</p>
<p>Volume = 1.480147117 in³<br />
Mass = 1.576592260E-2 kg<br />
Surface Area = 1.453202145E1 in²</p>
<p>Pretty interesting.</p>
<p>The software only allows five unique parts in an assembly, unless you register then it is 10. However this is quite a severe limitation in my opinion. Fortunately there is a way around this. Alibre has written an add-on called <a href="http://www.alibre.com/promos/online/3DSketchUp.asp" title="3D Publisher">3D Publisher for Google Sketchup</a> that allows parts to be exported in <a href="http://sketchup.google.com/" title="Google Sketchup">Google&#8217;s Sketchup</a> format. It&#8217;s not a requirement that the parts be uploaded to Google&#8217;s 3D Warehouse. Instead the exported parts can be saved to your hard drive. The following screenshot shows an assembly of two of the test parts along with size #8 bolts and nuts. The exact bolts are ANSI PHN, CRSHD TYPE II, B18.6.3, .164-36 UNF, 0.75, which gives an indication of the accuracy expected from designing parts and assembling them.</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece1assembly.gif" title="Test Piece 1 Assembly"><img src="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece1assembly.thumbnail.gif" alt="Test Piece 1 Assembly" /></a></p>
<p>Again, this assembly can be rotated and the parts can be made transparent, along with plenty of other options. There is even a free add-on for Google Sketchup that provides a <a href="http://www.suplugins.com/" title="Podium Ray Tracer">ray tracer</a>. Assembling two parts confirmed my intention that the holes will line up.</p>
<p>With a few mouse clicks Design Xpress can convert the 3D part into traditional  engineering drawing:</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece1drawing.gif" title="Test Piece 1 Drawing"><img src="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece1drawing.thumbnail.gif" alt="Test Piece 1 Drawing" /></a></p>
<p>This can be printed out, emailed, etc. and provides all the measurement details for someone else to reproduce the part without having access to electronic files. The drawing can also be exported as a DXF (without the annotations), which is needed for the next step.</p>
<p>I found an excellent application to generate toolpaths for a part called <a href="http://www.brusselsprout.org/CAMBAM/">CamBam</a>. It takes a DXF file and provides an easy to use user interface in which you can select which items are profiled, drilled, pocketed, etc. Once the DXF file is loaded into CamBam all the unneeded views are deleted to leave the original 2D profile. For this part I added a 2.5D profile operation to cut the outline of the shape and two sprial drill operations for the holes:</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece1cambam.gif" title="Test Piece 1 in CamBam"><img src="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece1cambam.thumbnail.gif" alt="Test Piece 1 in CamBam" /></a></p>
<p>Cam Bam then generates the g-code which can be loaded in the AXIS interface in <a href="http://www.linuxcnc.org" title="EMC2 Linux CNC">EMC2</a>:</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece1axis.png" title="Test Piece 1 in AXIS"><img src="http://www.britishideas.com/wp-content/uploads/2007/11/testpiece1axis.thumbnail.png" alt="Test Piece 1 in AXIS" /></a></p>
<p>This process may seem convoluted, and it requires both Windows and Linux, but all the software can be obtained for free and is high quality. I haven&#8217;t completed my CNC machine yet, but I can watch the part being made in the AXIS interface without having the motors connected. I would expect that all the software will work in a Virtual Machine in Linux, however note that Design Xpress requires a lot of RAM to run (300Mb I believe).</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d45').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d45" style="overflow:hidden">
<br />
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d45').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d45').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://www.britishideas.com/2007/11/19/part-design-tools-and-workflow/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Low Cost and Free CAD Programs</title>
		<link>http://www.britishideas.com/2007/11/12/low-cost-and-free-cad-programs/</link>
		<comments>http://www.britishideas.com/2007/11/12/low-cost-and-free-cad-programs/#comments</comments>
		<pubDate>Mon, 12 Nov 2007 23:29:08 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[CAD]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.britishideas.com/2007/11/12/low-cost-and-free-cad-programs/</guid>
		<description><![CDATA[I have stumbled across a large list of low cost and free CAD programs, mostly for Windows however. It seems there are many good choices in the list and I will try out a couple in the next day or two.


Bookmark to:




Hide Sites



$$('div.d38').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); ]]></description>
			<content:encoded><![CDATA[<p>I have stumbled across a large list of <a href="http://www.eland.org.uk/pages/Misc/cadnotes.html" title="Low cost and free CAD programs">low cost and free CAD programs</a>, mostly for Windows however. It seems there are many good choices in the list and I will try out a couple in the next day or two.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d38').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d38" style="overflow:hidden">
<br />
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d38').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d38').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://www.britishideas.com/2007/11/12/low-cost-and-free-cad-programs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Install EMC2 on Unbuntu 7.10 Gutsy From Scratch</title>
		<link>http://www.britishideas.com/2007/11/07/how-to-install-emc2-on-unbuntu-710-gutsy-from-scratch/</link>
		<comments>http://www.britishideas.com/2007/11/07/how-to-install-emc2-on-unbuntu-710-gutsy-from-scratch/#comments</comments>
		<pubDate>Wed, 07 Nov 2007 23:02:56 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.britishideas.com/2007/11/07/how-to-install-emc2-on-unbuntu-710-gutsy-from-scratch/</guid>
		<description><![CDATA[April 2008 &#8211; Update &#8211; I&#8217;ve modified the instructions so that EMC2 can now be run as a user.
April 2008 &#8211; Update &#8211; Fixed some mistakes.
The following instructions will describe how to install the latest version of EMC2/LinuxCNC in Ubuntu 7.10 Gutsy Gibbon.

Why would you want to do this? You would do this if you]]></description>
			<content:encoded><![CDATA[<p>April 2008 &#8211; Update &#8211; I&#8217;ve modified the instructions so that EMC2 can now be run as a user.<br />
April 2008 &#8211; Update &#8211; Fixed some mistakes.</p>
<p>The following instructions will describe how to install the latest version of EMC2/LinuxCNC in Ubuntu 7.10 Gutsy Gibbon.</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2007/11/axis.png" title="Axis User Interface"><img src="http://www.britishideas.com/wp-content/uploads/2007/11/axis.thumbnail.png" alt="Axis User Interface" /></a></p>
<p>Why would you want to do this? You would do this if you don&#8217;t want to wait for new .deb files from the EMC2 team or you want to install EMC2 in the latest version of Ubuntu to take advantage of all the new features. The alternative is to use the Ubuntu 6.06 LTS live CD, install and then either stick with the software versions supplied or upgrade to the latest versions (such as device drivers, Gnome, Xorg, etc.), which is a big task itself.</p>
<p>Why would you not want to do this? I don&#8217;t recommend following these steps if you are unfamiliar with Linux and the shell/command prompt. It will either be a great learning experience or a very frustrating waste of time.</p>
<p>I am sure these steps can be simplified and improved, however they were created from many hours of experimenting and following dead-ends. I wanted to try and give you exactly what I ended up using, rather than an optimization. For example I&#8217;m sure that not all the reboots are needed, but they only take 60 seconds on my PC anyway.</p>
<p>These steps should work on a stock installation of Ubuntu 7.10, however I don&#8217;t make any claims that they will work for anyone else. If the software didn&#8217;t install correctly and the motors go crazy and move something that destroys your house, don&#8217;t blame me &#8211; these instructions are provided &#8220;as is&#8221; and without any warranty. Use at your own risk. If you spot a mistake please let me know and I will update the instructions.</p>
<p>Where you see &#8220;andy&#8221; replace with your own username, unless it is also &#8220;andy&#8221;. <img src='http://www.britishideas.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&#8216;$&#8217; represents the prompt, to show you where the start of lines are. Don&#8217;t enter this, just what follows.</p>
<p>The process looks like this:</p>
<p>Get a vanilla kernel and patch it with RTAI support.<br />
Test kernel.<br />
Build and test RTAI modules.<br />
Build EMC2.</p>
<p>Enable universe repository in /etc/apt/sources.list. Open a terminal window and then:</p>
<p><code>$ sudo apt-get update<br />
$ sudo apt-get install build-essential libncurses5-dev kernel-package<br />
$ cd /usr/src<br />
$ sudo wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.tar.gz<br />
$ sudo tar xzvf linux-2.6.22.tar.gz<br />
$ sudo mv linux-2.6.22 linux-vanilla-2.6.22<br />
$ sudo ln -s linux-vanilla-2.6.22 linux<br />
$ cd linux<br />
$ sudo cp /boot/config-2.6.22-14-generic .config<br />
$ sudo make menuconfig</code></p>
<p>At this point a menu will appear. Make the following choices:</p>
<p>Loadable module support &gt; Module versioning support (N)<br />
Loadable module support &gt; Set version information on all module symbols (N)*<br />
Processor type and features &gt; Preemption model &gt; Preemptible kernel (low latency desktop)<br />
Processor type and features &gt; Symmetric multi-processor support (N)**<br />
Processor type and features &gt; Local APIC support on uniprocessors (N)<br />
Power management options (ACPI, APM) &gt; ACPI support (N)<br />
Power management options (ACPI, APM) &gt; APM BIOS support (N)<br />
Power management options (ACPI, APM) &gt; CPU frequency scaling (N)<br />
Kernel hacking &gt; Compile the kernel with frame pointers (N)</p>
<p>* only if you have it in the menu<br />
** only if your PC is not dual or quad core</p>
<p>Download rtai-3.6-test1.tar.bz2 from www.rtai.org (click on &#8220;RTAI Repository&#8221; link) to the desktop.</p>
<p><code>$ cd /home/andy/Desktop<br />
$ bunzip2 rtai-3.6-test1.tar.bz2<br />
$ tar xvf rtai-3.6-test1.tar</code></p>
<p><code>$ cd /usr/src/linux<br />
$ sudo patch -p1 &lt; /home/andy/Desktop/rtai-3.6-test1/base/arch/i386/patches/hal-linux-2.6.22-i386-1.10-09.patch</code></p>
<p><code>$ sudo make-kpkg --initrd --revision=1 --append-to-version=-realtime kernel_image kernel_headers</code></p>
<p>Some questions may appear which need to be answered (answer Y to any others that appear):</p>
<p>Interrupt pipeline &#8211; Y<br />
Interrupt pipeline maintain backwards compatibility &#8211; Y<br />
Interrupt pipeline debug &#8211; N</p>
<p>Now go and do something else for a while. On my P4 1.6GHz PC the kernel took 2 hours and 50 minutes to build.</p>
<p><code>$ cd ..<br />
$ sudo dpkg -i linux-image-2.6.22-realtime_1_i386.deb<br />
$ sudo nano -w /boot/grub/menu.lst</code></p>
<p>Find the line that looks like:</p>
<p><code>hiddenmenu</code></p>
<p>and change it to:</p>
<p><code>#hiddenmenu</code></p>
<p>If your PC already dual-boots (for example Ubuntu and Windows) then the hiddemenu is probably already commented out (using the &#8216;#&#8217;).</p>
<p>Save and exit nano.</p>
<p>Reboot and choose the realtime kernel from Grub menu.</p>
<p>Enter:</p>
<p><code>$ uname -a</code></p>
<p>and you should get something like:</p>
<p>Linux pepper 2.6.22-realtime #1 PREEMPT Sun Oct 28 10:54:43 MST 2007 i686 GNU/Linux</p>
<p>Make sure everything works ok (browsing, editing files, etc.)</p>
<p>Now we need to build the RTAI modules. This has to be done while running the realtime kernel we just built and booted into.</p>
<p><code>$ cd /home/andy/Desktop/rtai-3.6-test1<br />
$ make menuconfig</code></p>
<p>Again a menu appears. Make the following selections:</p>
<p>Machine (x86) &gt; Number of CPUs (enter the number you have here)</p>
<p>Exit and save configuration</p>
<p><code>$ make<br />
$ sudo make install</code></p>
<p>Reboot back into the realtime kernel.</p>
<p><code>$ cd /usr/realtime/bin<br />
$ sudo nano -w rtai-load</code></p>
<p>Change the first line from:</p>
<p><code>#!/bin/sh</code></p>
<p>to:</p>
<p><code>#!/bin/bash</code></p>
<p>and save. Then:</p>
<p><code>$ sudo nano -w /etc/init.d/create-rtai-devices.sh</code></p>
<p>Enter:</p>
<p><code>#!/bin/bash<br />
mknod -m 666 /dev/rtai_shm c 10 254<br />
for n in `seq 0 9`<br />
do<br />
f=/dev/rtf$n<br />
mknod -m 666 $f c 150 $n<br />
done</code></p>
<p>Save. Then:</p>
<p><code>$ sudo chmod 755 /etc/init.d/create-rtai-devices.sh<br />
$ sudo update-rc.d create-rtai-devices.sh defaults</code></p>
<p>Reboot back into the realtime kernel.</p>
<p>Then test the RTAI support with:</p>
<p><code>$ cd /usr/realtime/testsuite/user/latency<br />
$ sudo ./run<br />
$ cd /usr/realtime/testsuite/user/preempt<br />
$ sudo ./run<br />
$ cd /usr/realtime/testsuite/user/switches<br />
$ sudo ./run<br />
$ cd /usr/realtime/testsuite/kern/latency<br />
$ sudo ./run<br />
$ cd /usr/realtime/testsuite/kern/preempt<br />
$ sudo ./run<br />
$ cd /usr/realtime/testsuite/kern/switches<br />
$ sudo ./run</code></p>
<p>These tests spit out lots of numbers. The thing we are looking for here are kernel panics, system crashes, etc. Also make sure there are no overruns in the tests that display an overruns column.</p>
<p>If you get something like:</p>
<p><code>insmod: error inserting '/usr/realtime/modules/rtai_hal.ko': -1<br />
Operation not permitted</code></p>
<p>then try:</p>
<p><code>$ sudo nano -w /boot/grub/menu.lst</code></p>
<p>and find the kernel line for the realtime kernel. Add &#8220;lapic&#8221; to the end of it and reboot, then run the tests again. For example:</p>
<p><code>kernel /boot/vmlinuz-2.6.22-realtime root=UUID=45d21232-cf0d-cc3d-87ce-8453214d7a6f ro quiet splash vga=794 lapic</code></p>
<p>Once you have the real time tests working continue with:</p>
<p><code>$ sudo nano -w /etc/modprobe.d/emc2</code></p>
<p>Enter:</p>
<p><code>install parport_pc /bin/true </code></p>
<p>Save then reboot back into the realtime kernel. Now to build and install EMC2.</p>
<p><code>$ sudo apt-get install python python-imaging python-imaging-tk python-numarray python-dev<br />
$ sudo apt-get install tcl8.4-dev tk8.4-dev yapps2<br />
$ sudo apt-get install libgtk2.0-dev libpth-dev libreadline5-dev libxmu-dev libxaw7-dev libglu1-mesa libglu1-mesa-dev libgl1-mesa-dev<br />
$ sudo apt-get install pciutils-dev bwidget cvs latex2html preview-latex-style libaiksaurus-1.2-0c2a libgnomeprintui2.2-dev<br />
$ sudo apt-get install imagemagick lyx</code></p>
<p><code>$ cd /usr/src<br />
$ sudo dpkg -i linux-headers-2.6.22-realtime_1_i386.deb<br />
$ cd ~<br />
$ cvs -z5 -d:ext:anon@cvs.linuxcnc.org:/cvs co emc2<br />
$ cd emc2/src<br />
$ ./configure --with-realtime=/usr/realtime --with-kernel-headers=/usr/src/linux-headers-2.6.22-realtime<br />
$ make<br />
$ sudo make install</code></p>
<p><code>$ sudo nano -w /etc/security/limits.conf</code></p>
<p>Add the line:<br />
<code><br />
* hard memlock 20480</code></p>
<p>Save and reboot into the realtime kernel.</p>
<p>To run EMC:</p>
<p><code>$ /usr/local/bin/emc</code></p>
<p>A window should appear with a choice of configurations. Choose Axis -&gt; Sim and the Axis window should open. Congratulations EMC2 is now running!</p>
<p>Note that when running the realtime kernel the computer may not power itself off when the shutdown option is chosen. This is because the power management options have been disabled in the kernel. On my PC I wait a couple of minutes after the screen goes blank then press the power button on the front of the PC. This turns it off.</p>
<p><a href="http://www.britishideas.com/wp-content/uploads/2007/11/emc2config.png" title="EMC2 Configuration Window"><img src="http://www.britishideas.com/wp-content/uploads/2007/11/emc2config.thumbnail.png" alt="EMC2 Configuration Window" /></a></p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d35').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d35" style="overflow:hidden">
<br />
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d35').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d35').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://www.britishideas.com/2007/11/07/how-to-install-emc2-on-unbuntu-710-gutsy-from-scratch/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Windows XP and Stepper Motors</title>
		<link>http://www.britishideas.com/2007/11/04/windows-xp-and-stepper-motors/</link>
		<comments>http://www.britishideas.com/2007/11/04/windows-xp-and-stepper-motors/#comments</comments>
		<pubDate>Sun, 04 Nov 2007 20:17:06 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.britishideas.com/2007/11/04/windows-xp-and-stepper-motors/</guid>
		<description><![CDATA[My first test after assembling the board was to connect one motor to each axis in turn and test using Windows XP SP2 and Mach3. The test involved going to the motor tuning section and pressing the up and down arrows.
On the X and Y axis it was clear that steps were being lost. I]]></description>
			<content:encoded><![CDATA[<p>My first test after assembling the board was to connect one motor to each axis in turn and test using Windows XP SP2 and Mach3. The test involved going to the motor tuning section and pressing the up and down arrows.</p>
<p>On the X and Y axis it was clear that steps were being lost. I had to turn the settings down to the lowest speed and even then there was the occasional loss of a step.</p>
<p>On the Z axis however the shaft only twitched. With identical settings to the X and Y axis it would not spin. So, the conclusion I drew was that there is a board problem with the Z axis.</p>
<p>Now I am testing with EMC2 running on Linux. My first test showed that all three axis, X, Y and Z appear to work just fine. The shaft spins quite happily on the Z axis&#8230;</p>
<p>So the moral of the story is that if one axis behaves differently it could be Windows causing it and not the board.</p>
<p>If you are stuck with Windows probably the only ways to determine where the problem lies are to either use a modified cable to swap pins around (so the problem axis is controlled by the pins for another axis) or to switch to TurboCNC and try that (perhaps with FreeDOS).</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d34').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d34" style="overflow:hidden">
<br />
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d34').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d34').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://www.britishideas.com/2007/11/04/windows-xp-and-stepper-motors/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Testing EMC2/LinuxCNC on Ubuntu 7.10 Gutsy</title>
		<link>http://www.britishideas.com/2007/11/03/testing-emc2linuxcnc-on-ubuntu-710-gutsy/</link>
		<comments>http://www.britishideas.com/2007/11/03/testing-emc2linuxcnc-on-ubuntu-710-gutsy/#comments</comments>
		<pubDate>Sat, 03 Nov 2007 21:42:41 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[motors]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.britishideas.com/2007/11/03/testing-emc2linuxcnc-on-ubuntu-710-gutsy/</guid>
		<description><![CDATA[I just completed the first test of running EMC2/LinuxCNC on Ubuntu with the HobbyCNC board. I connected a motor to the X-axis and started EMC2 with the &#8220;Axis&#8221; interface. I then told it to execute the default G-code file it loads with. Lo and behold the motor started spinning! I then moved the motor to]]></description>
			<content:encoded><![CDATA[<p>I just completed the first test of running <a href="http://www.linuxcnc.org">EMC2/LinuxCNC</a> on <a href="http://www.ubuntu.com">Ubuntu</a> with the <a href="http://www.hobbycnc.com">HobbyCNC</a> board. I connected a motor to the X-axis and started EMC2 with the &#8220;Axis&#8221; interface. I then told it to execute the default G-code file it loads with. Lo and behold the motor started spinning! I then moved the motor to the Y and Z axis and repeated. Seems to work well.</p>
<p>I didn&#8217;t notice any stalling so the problems I experienced with Windows XP and Mach3 must be due to Windows XP&#8230;</p>
<p>Here is a video:</p>
<p><embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=-1121551743201960027&#038;hl=en" flashvars=""> </embed></p>
<p>Details on how to install EMC2 from source along with <a href="http://www.rtai.org">RTAI</a> will follow when I have them ready. Also I will post the configuration files for the HobbyCNC board a bit further on in the project when I have more confidence that they are correct.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d33').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d33" style="overflow:hidden">
<br />
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d33').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d33').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://www.britishideas.com/2007/11/03/testing-emc2linuxcnc-on-ubuntu-710-gutsy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Updates</title>
		<link>http://www.britishideas.com/2007/10/24/updates/</link>
		<comments>http://www.britishideas.com/2007/10/24/updates/#comments</comments>
		<pubDate>Thu, 25 Oct 2007 05:35:18 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[power supply]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.britishideas.com/2007/10/24/updates/</guid>
		<description><![CDATA[I found out that the linux-rt kernel is not suitable for running EMC2/LinuxCNC. Sorry if you followed those steps. You can remove it using sudo apt-get remove linux-rt. Instead the kernel must be patched with RTAI. I&#8217;m currently working out the correct steps to do this. So far I tried the pre-built kernel in the]]></description>
			<content:encoded><![CDATA[<p>I found out that the linux-rt kernel is not suitable for running EMC2/LinuxCNC. Sorry if you followed those steps. You can remove it using sudo apt-get remove linux-rt. Instead the kernel must be patched with <a href="http://www.rtai.org">RTAI</a>. I&#8217;m currently working out the correct steps to do this. So far I tried the pre-built kernel in the <a href="http://www.linuxcnc.org/experimental/gutsy">Gutsy experimental folder</a> but ethernet was broken. I don&#8217;t recommend bothering with those packages. Instead I hope to come up with the steps to install EMC2/LinuxCNC manually.</p>
<p>I have received most of the parts for the 24VDC, 10A power supply that is needed for the HobbyCNC board. Once I have that completed I will post a complete bill of materials with Digi-Key part numbers.</p>
<p>I damaged once of the stepper drivers on my HobbyCNC board while performing some simple tests with a bench power supply I have. The motor was connected incorrectly. Now I have to order a replacement. Luckily I was testing only one axis, otherwise I could have damaged all the drivers.</p>
<p>As you can see slow progress is being made on several fronts. Hopefully I will have something concrete to post soon.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d27').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d27" style="overflow:hidden">
<br />
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d27').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d27').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://www.britishideas.com/2007/10/24/updates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Real-time Kernel Installed</title>
		<link>http://www.britishideas.com/2007/10/19/linux-real-time-kernel-installed/</link>
		<comments>http://www.britishideas.com/2007/10/19/linux-real-time-kernel-installed/#comments</comments>
		<pubDate>Fri, 19 Oct 2007 19:09:50 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.britishideas.com/2007/10/19/linux-real-time-kernel-installed/</guid>
		<description><![CDATA[EMC2 requires a real-time kernel (which Windows XP and Vista are not). Installing it on Ubuntu 7.10 was pretty simple.

Open a terminal window
Run sudo apt-get install linux-rt and wait
Reboot

After the PC rebooted Gnome complained that the theme manager wasn&#8217;t working. Another reboot fixed that problem. Running:
uname -v
gives:
#1 SMP PREEMPT RT Mon Oct 15 01:05:51 GMT]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.linuxcnc.org">EMC2</a> requires a real-time kernel (which Windows XP and Vista are not). Installing it on Ubuntu 7.10 was pretty simple.</p>
<ul>
<li>Open a terminal window</li>
<li>Run <code>sudo apt-get install linux-rt</code> and wait</li>
<li>Reboot</li>
</ul>
<p>After the PC rebooted Gnome complained that the theme manager wasn&#8217;t working. Another reboot fixed that problem. Running:</p>
<p><code>uname -v</code></p>
<p>gives:</p>
<p><code>#1 SMP PREEMPT RT Mon Oct 15 01:05:51 GMT 2007</code></p>
<p>So the real-time kernel is now installed and working. I will play around with the desktop for a while to make sure it is stable before proceeding further.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d25').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d25" style="overflow:hidden">
<br />
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d25').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d25').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://www.britishideas.com/2007/10/19/linux-real-time-kernel-installed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 7.10 Gutsy Gibbon</title>
		<link>http://www.britishideas.com/2007/10/18/ubuntu-710-gutsy-gibbon/</link>
		<comments>http://www.britishideas.com/2007/10/18/ubuntu-710-gutsy-gibbon/#comments</comments>
		<pubDate>Fri, 19 Oct 2007 05:03:22 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.britishideas.com/2007/10/18/ubuntu-710-gutsy-gibbon/</guid>
		<description><![CDATA[Today the latest version of Ubuntu was released &#8211; version 7.10. I am hoping to use this with EMC2 a.k.a. LinuxCNC for controlling my CNC machine. Why? Because Linux offers a real time version of the Kernel. The alternatives are Windows with Mach2/3 (which is not free) or DOS and TurboCNC (also not free). Windows]]></description>
			<content:encoded><![CDATA[<p>Today the latest version of Ubuntu was released &#8211; version 7.10. I am hoping to use this with <a href="http://www.linuxcnc.org">EMC2 a.k.a. LinuxCNC</a> for controlling my CNC machine. Why? Because Linux offers a real time version of the Kernel. The alternatives are Windows with Mach2/3 (which is not free) or DOS and TurboCNC (also not free). Windows is not a real time operating system, so the only software that works properly has to code around this. As far as I know that is the Mach programs. I will still need Windows however for DXF and CAM applications.</p>
<p>Downloading Ubuntu from the mirrors was painfully slow, and attempting to using the official torrent file resulted in &#8220;connection refused&#8221;. I presume a large number of people are also downloading the OS today. So I used the torrent file on <a href="http://legittorrents.info/details.php?id=e02e5e117a5a9080d552a11fa675de868a05fe71">this page</a>. I pulled down the ISO image in two hours. Not bad. Burnt it to CD, added a second hard drive to my desktop PC (not required, but I chose to do it this way), created an image of the Windows partition and booted with the CD in. The install was pretty smooth. Only a couple of glitches. Grub failed to boot because I needed to enable the second drive in the BIOS. And the package manager decided to not install anything, which was quickly solved with this information in <a href="http://ubuntuforums.org/showthread.php?t=433355">this thread</a>.</p>
<p>Hopefully I will be able to get the real time kernel and EMC2 installed. If so I will post instructions, otherwise I will probably have to switch to 6.06 a.k.a. Dapper Drake.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d20').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d20" style="overflow:hidden">
<br />
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d20').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d20').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://www.britishideas.com/2007/10/18/ubuntu-710-gutsy-gibbon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Useful Software</title>
		<link>http://www.britishideas.com/2007/10/12/useful-software/</link>
		<comments>http://www.britishideas.com/2007/10/12/useful-software/#comments</comments>
		<pubDate>Fri, 12 Oct 2007 17:26:42 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.britishideas.com/2007/10/12/useful-software/</guid>
		<description><![CDATA[If you are into RC modeling then Profili might be interesting for you. It allows modeling of aerofoils and then generation of the ribs to construct the wing. The pieces are exported as DXF so they can then be cut on a CNC machine. The software has a database of over 2200 aerofoils.

Another piece of]]></description>
			<content:encoded><![CDATA[<p>If you are into RC modeling then <a href="http://www.profili2.com/">Profili</a> might be interesting for you. It allows modeling of aerofoils and then generation of the ribs to construct the wing. The pieces are exported as DXF so they can then be cut on a CNC machine. The software has a database of over 2200 aerofoils.</p>
<p><img src="http://www.profili2.com/images/centina_eng.gif" alt="Profili Screenshot" height="350" width="480" /></p>
<p>Another piece of software that looks useful is <a href="http://www.brusselsprout.org/CAMBAM/">CamBam</a>. It can take a DXF file and generate toolpaths, exporting to g-code. Also features a scripting interface and support for .NET DLLs, which is particularly interesting to me.</p>
<p><img src="http://www.brusselsprout.org/CAMBAM/screenshots/HeightmapPlugin.png" alt="CamBam Screenshot" height="383" width="500" /></p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d17').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d17" style="overflow:hidden">
<br />
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d17').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d17').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://www.britishideas.com/2007/10/12/useful-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stepper Motor Drivers and Interface</title>
		<link>http://www.britishideas.com/2007/10/08/stepper-motor-drivers-and-interface/</link>
		<comments>http://www.britishideas.com/2007/10/08/stepper-motor-drivers-and-interface/#comments</comments>
		<pubDate>Tue, 09 Oct 2007 03:07:09 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[CNC]]></category>
		<category><![CDATA[microcontroller]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[stepper motors]]></category>

		<guid isPermaLink="false">http://www.britishideas.com/2007/10/08/stepper-motor-drivers-and-interface/</guid>
		<description><![CDATA[We have to connect the stepper motors (three, one each for X, Y and Z axis) to a PC. This is achieved with an interface board and drivers. The interface board typically connects to the PC&#8217;s printer port and then connects to the drivers. We need one driver for each stepper motor.
When looking at what]]></description>
			<content:encoded><![CDATA[<p>We have to connect the stepper motors (three, one each for X, Y and Z axis) to a PC. This is achieved with an interface board and drivers. The interface board typically connects to the PC&#8217;s printer port and then connects to the drivers. We need one driver for each stepper motor.</p>
<p>When looking at what is available there are a lot of choices. Some come in kits, some are open source and some are just pieces of designs. I decided not to use the design used by Tom McWire for a couple of reasons:</p>
<ul>
<li>Using a microcontroller on the board reduces some of the real time requirements on the PC. The microcontroller can perform some local processing instead of having to rely on the PC to provide all the signals</li>
<li>Supporting microstepping allows for finer control over the motor. Essentially microstepping further divides the steps provided by the motor. This can give a higher precision and smoother operation</li>
</ul>
<p>In addition I have the following requirements for the hardware:</p>
<ul>
<li>Able to be configured to support specific PC applications</li>
<li>Simple design</li>
<li>Able to drive NEMA-23 stepper motors</li>
<li>Uses a common microcontroller</li>
<li>Preferably open source</li>
</ul>
<p>I found the following website full of designs: <a href="http://pminmo.com">PMinMO Electronics</a>, including a <a href="http://pminmo.com/pport/pport.htm">Parallel Port Reference</a>. Of these designs only a few support microstepping. Of those I am currently considering using the <a href="http://www.fromorbit.com/projects/picstep">PICStep</a>. Further research is required however to make sure it will be possible to interface to the PC applications I am interested in using.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d10').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d10" style="overflow:hidden">
<br />
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d10').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
<script type="text/javascript">$$('div.d10').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); </script>]]></content:encoded>
			<wfw:commentRss>http://www.britishideas.com/2007/10/08/stepper-motor-drivers-and-interface/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
