<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wikidot="http://www.wikidot.com/rss-namespace">

	<channel>
		<title>Contraptor - new forum threads</title>
		<link>http://contraptor.wikidot.com/forum/start</link>
		<description>Threads in forums of the site &quot;Contraptor&quot;</description>
				<copyright></copyright>
		<lastBuildDate>Fri, 13 Mar 2026 22:35:32 +0000</lastBuildDate>
		
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-13064761</guid>
				<title>CNC Routers</title>
				<link>http://contraptor.wikidot.com/forum/t-13064761/cnc-routers</link>
				<description></description>
				<pubDate>Fri, 21 Feb 2020 12:52:18 +0000</pubDate>
				<wikidot:authorName>indigoer</wikidot:authorName>				<wikidot:authorUserId>6144131</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>When you see CNC routers in YouTube videos, they always seem to use this cool cable tray stuff, that sort of curls back on itself, as the X and Y axis move. I searched for quite a while to see who supplies this stuff, and found the IGUS product, from famaga The price is not excessive – about $10/foot, and they have a wide range of sizes. You order it by the inch or foot. Shipped via USPS, thanks.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-1137577</guid>
				<title>8051 Microcontroller</title>
				<link>http://contraptor.wikidot.com/forum/t-1137577/8051-microcontroller</link>
				<description>Can I use contraptor with a 8051 microcontroller? Thanks</description>
				<pubDate>Wed, 04 Mar 2015 02:27:13 +0000</pubDate>
				<wikidot:authorName>ztrabax</wikidot:authorName>				<wikidot:authorUserId>2084613</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hi.<br /> Can I use contraptor with a 8051 microcontroller? Thanks</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-1000341</guid>
				<title>XY plotter</title>
				<link>http://contraptor.wikidot.com/forum/t-1000341/xy-plotter</link>
				<description>problems</description>
				<pubDate>Mon, 25 Aug 2014 16:24:01 +0000</pubDate>
				<wikidot:authorName>mylaser</wikidot:authorName>				<wikidot:authorUserId>1961657</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hi!<br /> Not absolutely I understand as you it was succeeded to connect servo to a pololu on XY plotter. I ask you to explain as it to make?</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-884865</guid>
				<title>Buy Contraptor from Colombia</title>
				<link>http://contraptor.wikidot.com/forum/t-884865/buy-contraptor-from-colombia</link>
				<description>Stock</description>
				<pubDate>Thu, 19 Jun 2014 02:57:24 +0000</pubDate>
				<wikidot:authorName>Alexvelilla</wikidot:authorName>				<wikidot:authorUserId>1354170</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Good day&#8230;<br /> I am interested in buying a Linear Motion Kit A<br /> how long delay in sending it? they have it in stock&#8230;<br /> I need a mobile number, please!</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-855750</guid>
				<title>GCode Interpreter</title>
				<link>http://contraptor.wikidot.com/forum/t-855750/gcode-interpreter</link>
				<description>Trying to upload the GCode Interpreter to the Arduino Duemilanove.</description>
				<pubDate>Wed, 30 Apr 2014 19:21:18 +0000</pubDate>
				<wikidot:authorName>contacttodd</wikidot:authorName>				<wikidot:authorUserId>1548642</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I was able to compile the GCode Interpreter Arduino files but they only compile correctly when I select Boards - Arduino Duemilanove. This sounds correct, however, to upload the file, I need to specify either Arduino Due (Programming Port) or the Arduino Due (Native USB Port). When I select this, I get a lot of errors in the code. Obviously the code is fine as it compiles correctly when selecting the Arduino Duemilanove. If I just select the Arduino Duemilanove and specify the correct COM port, I get the following error: avrdude: stk500_getsync(): not in sync: resp=0x00</p> <p>Has anyone compiled this using the Arduino Due and selecting either the Programming Port or the Native USB Port? If so, how did you do it so I can follow the same steps?</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-780382</guid>
				<title>XY plotter v1 ???</title>
				<link>http://contraptor.wikidot.com/forum/t-780382/xy-plotter-v1</link>
				<description></description>
				<pubDate>Sat, 22 Feb 2014 22:28:59 +0000</pubDate>
				<wikidot:authorName>Jerry Beyer Maggi</wikidot:authorName>				<wikidot:authorUserId>1839649</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Where are the files, site does not seem to work, cant get a bill of materials or any info to build the XY plotter v1, can anyone please help on this issue.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-716979</guid>
				<title>Pronterface with reprap_new_firmware</title>
				<link>http://contraptor.wikidot.com/forum/t-716979/pronterface-with-reprap-new-firmware</link>
				<description></description>
				<pubDate>Wed, 30 Oct 2013 19:38:11 +0000</pubDate>
				<wikidot:authorName>galmiklos</wikidot:authorName>				<wikidot:authorUserId>1668157</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I gave it a try and programmed my Gen7 like diy board with the reprap_new_firmware I downloaded from <a href="http://contraptor.svn.sourceforge.net/viewvc/contraptor/trunk/firmware/">http://contraptor.svn.sourceforge.net/viewvc/contraptor/trunk/firmware/</a>.</p> <p>What isn't working is the buttons on the pronterface to go X Y Z 0.1, 1, 10, or 100&#160;mm. It freezes the board, I have to reset it.</p> <p>This is the output I get if I enable the debug gcode in pronterface.</p> <div class="code"> <pre><code>SENT: G91 SENT: G1 Y10.0 F500 SENT: G90 RECV: got G91 SENT: M114 RECV: ok RECV: got G1 Y10.0 F500 RECV: ok RECV: got G90</code></pre></div> <p>I removed that debug looking &quot;got G&#8230;&quot; message (changed the code), but it didn't change much, the board still freezes.</p> <div class="code"> <pre><code>SENT: G91 SENT: G1 Y10.0 F500 SENT: G90 RECV: ok SENT: M114 RECV: ok</code></pre></div> <p>This is how it looks, if I copy&amp;paste the commands (one by one) to a terminal:</p> <div class="code"> <pre><code>got G91 ok got G1 Y1.0 F500 ok got G90 ok got M114 Huh? M114 ok</code></pre></div> <p>Well, apparently M114 is not supported, but I changed the code to eliminate the &quot;Huh? M114&quot;, and the board still freezes with pronterface.</p> <p>Downloading a gcode file works.</p> <p>Has anyone managed to make the buttons work in pronterface?</p> <p>Thanks,<br /> Miki.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-688479</guid>
				<title>Axis speeds on Mini-CNC</title>
				<link>http://contraptor.wikidot.com/forum/t-688479/axis-speeds-on-mini-cnc</link>
				<description></description>
				<pubDate>Mon, 26 Aug 2013 23:50:18 +0000</pubDate>
				<wikidot:authorName>galmiklos</wikidot:authorName>				<wikidot:authorUserId>1668157</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>What speeds can I expect to achieve? On my Mini-CNC the top speed on XY is 600mm/min, on Z it's 450mm/min, before I start skipping steps, and get all sorts of nasty vibrations. Increasing the current limit on the motor drivers (hoping a stronger drive can hold steadier) didn't change anything.</p> <p>I was wondering if I am vary far off, or is this really the maximum this construction can do. I am seeing expected feed rates (the sweet spot) above 1000mm/min for some operations.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-684233</guid>
				<title>Lubricant for delrin leadnut?</title>
				<link>http://contraptor.wikidot.com/forum/t-684233/lubricant-for-delrin-leadnut</link>
				<description></description>
				<pubDate>Fri, 16 Aug 2013 19:38:10 +0000</pubDate>
				<wikidot:authorName>galmiklos</wikidot:authorName>				<wikidot:authorUserId>1668157</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Is it against the rule? I mean delrin is supposed to be self lubricating, but I may just be too old fashioned, and would feel more comfortable not having that bad feeling of fast spinning metal heating the plastic and melting it.</p> <p>Can I use lithium grease? Other discussions say nothing can really harm delrin.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-684142</guid>
				<title>Paid help for anyone in Miami, FL that can help build a contraptor</title>
				<link>http://contraptor.wikidot.com/forum/t-684142/paid-help-for-anyone-in-miami-fl-that-can-help-build-a-contr</link>
				<description></description>
				<pubDate>Fri, 16 Aug 2013 13:52:12 +0000</pubDate>
				<wikidot:authorName>contacttodd</wikidot:authorName>				<wikidot:authorUserId>1548642</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I would love to get my contraptor completed but don't really have enough time and would love for someone that can help out in finish it up. I'll pay you for your time.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-673254</guid>
				<title>leadnut mount fabrication</title>
				<link>http://contraptor.wikidot.com/forum/t-673254/leadnut-mount-fabrication</link>
				<description></description>
				<pubDate>Sat, 20 Jul 2013 21:25:07 +0000</pubDate>
				<wikidot:authorName>galmiklos</wikidot:authorName>				<wikidot:authorUserId>1668157</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Is there a particular reason why the leadnut mount is fabricated from 1&quot;x1&quot; angle aluminum? It's 3/4&quot; x 11/16&quot;, and I can see it's probably cleaner to cut the 11/16&quot; from 1&quot; than 3/4&quot;, but why cut at all? As far as I can see it could be 3/4&quot; x 3/4&quot;, I don't see anything in the way at the ends of the lead screw, that would require the 11/16&quot; dimension.</p> <p>Of course, I am 3 dimensionally challenged, so I may just not see the big picture&#8230;</p> <p>Thanks,<br /> Miki.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-673216</guid>
				<title>timig belt width</title>
				<link>http://contraptor.wikidot.com/forum/t-673216/timig-belt-width</link>
				<description></description>
				<pubDate>Sat, 20 Jul 2013 16:38:39 +0000</pubDate>
				<wikidot:authorName>galmiklos</wikidot:authorName>				<wikidot:authorUserId>1668157</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I am sorry if it's just me not finding it, but how thick timimg belt do I need for a mini-CNC?</p> <p>Part Number Belt Type Pitch No. Of Grooves <strong>Belt Width</strong> Material Tension Member Pitch Length<br /> Inch Inch<br /> A 6B 3-120031 Single Sided .200&quot; (XL) 120 <strong>0.3125</strong> Polyurethane Kevlar 24<br /> A 6B 3-120037 Single Sided .200&quot; (XL) 120 <strong>0.375</strong> Polyurethane Kevlar 24<br /> A 6B 3-120025 Single Sided .200&quot; (XL) 120 <strong>0.25</strong> Polyurethane Kevlar 24<br /> A 6B 3-120050 Single Sided .200&quot; (XL) 120 <strong>0.5</strong> Polyurethane Kevlar 24</p> <p>Thanks,<br /> Miki.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-672666</guid>
				<title>&quot;Contraptor&#039;s $10 Alltronics&quot; stepper motor</title>
				<link>http://contraptor.wikidot.com/forum/t-672666/contraptor-s-10-alltronics-stepper-motor</link>
				<description></description>
				<pubDate>Thu, 18 Jul 2013 18:52:30 +0000</pubDate>
				<wikidot:authorName>galmiklos</wikidot:authorName>				<wikidot:authorUserId>1668157</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I am reading in the <em>Contribute</em> section about a &quot;Contraptor's $10 Alltronics&quot; stepper motor. I found a web site (www.alltronics.com) where they sell stepper motors, but I am not sure if it's really the one that the line refers to. There are several NEMA23 motors there, but none for $10.</p> <p>In general, have you guys found some reliable, and not too expensive motor you would recommend? So far I ordered all my materials from the sources recommended in the part lists, and I was very happy with them. I have great confidence in your selection of sources. :-)</p> <p>Thanks,<br /> Miki.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-670866</guid>
				<title>looking for pre-fabricated rail supports and delrin rings</title>
				<link>http://contraptor.wikidot.com/forum/t-670866/looking-for-pre-fabricated-rail-supports-and-delrin-rings</link>
				<description></description>
				<pubDate>Sat, 13 Jul 2013 14:19:36 +0000</pubDate>
				<wikidot:authorName>galmiklos</wikidot:authorName>				<wikidot:authorUserId>1668157</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>According to the instructions:</p> <p>&quot;Pre-fabricated rail supports will be available for purchase separately from a kit.&quot;</p> <p>&quot;Pre-fabricated rings will be available for purchase separately from a kit.&quot;</p> <p>I guess they are still not available for purchase, at least I couldn't find them on contraptor.org.</p> <p>I couldn't find any by internet search either.</p> <p>Anyone knows a source I could by some from?</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-668369</guid>
				<title>fabrication question</title>
				<link>http://contraptor.wikidot.com/forum/t-668369/fabrication-question</link>
				<description></description>
				<pubDate>Fri, 05 Jul 2013 21:56:48 +0000</pubDate>
				<wikidot:authorName>galmiklos</wikidot:authorName>				<wikidot:authorUserId>1668157</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I started to fabricate the parts, and I am using a miter saw, but I couldn't find any blade producing kerf smaller than 1/8&quot;. What are you guys using to cut your aluminum?</p> <p>I guess I will have to redo all the templates, to satisfy my thick blade. BTW, are the templates created from the 3D models? How? Or is it only the commercial version of SketchUp that can do that?</p> <p>Thanks in advance for any advice!</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-631209</guid>
				<title>Contraptor firmware + arduino + easystepv4 + sparkfun motors</title>
				<link>http://contraptor.wikidot.com/forum/t-631209/contraptor-firmware-arduino-easystepv4-sparkfun-motors</link>
				<description>I can&#039;t make this drivers work with the modified reprap gcode interpreter for arduino by contraptor.</description>
				<pubDate>Tue, 05 Mar 2013 19:42:03 +0000</pubDate>
				<wikidot:authorName>jwackito</wikidot:authorName>				<wikidot:authorUserId>1569229</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hi guys (and girls, why not?):<br /> I'm trying to make my own stepper driver based in the easystepv4 from sparfun (sparkfun product 10267). I used this motors also from sparkfun (spark fun product 10846).<br /> I have 4 motors with 4 drivers (one x-axis, two y-axis and one z-axis). The motors have 400 steps per revolution and the easydriver without microstep configuration at all needs 6400 steps to complete a revolution (1/8 microstep?).</p> <p>I can make the motors move with a function like</p> <div class="code"> <pre><code>void step(boolean dir,int steps){ digitalWrite(dirPin,dir); delay(50); for(int i=0;i&lt;steps;i++){ digitalWrite(stepperPin, HIGH); delayMicroseconds(100); digitalWrite(stepperPin, LOW); delayMicroseconds(100); } }</code></pre></div> <p>Note the delayMicrosecond() function. I try with different values for the delay and the motor stop working below 50 microseconds delay and start to vibrate frenetically.<br /> However, with the contraptor firmware the motors doesn't move at all, just a bit of vibration for less than a second (even in long moves, for example sending G1 X10000).</p> <p>Any ideas or directions?</p> <p>Best regards from Argentina (sorry about the English) and thanks in advance.</p> <p>Joaquin</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-625051</guid>
				<title>XY Plotter size</title>
				<link>http://contraptor.wikidot.com/forum/t-625051/xy-plotter-size</link>
				<description></description>
				<pubDate>Fri, 15 Feb 2013 17:42:23 +0000</pubDate>
				<wikidot:authorName>colormotor</wikidot:authorName>				<wikidot:authorUserId>1555664</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hi,<br /> I am looking into building a XY plotter by using contraptor, but I would like to build it a bit bigger than the examples I've seen so far.<br /> What is the maximum size I can get by using the parts in the kit? I would want something that is able to plot in A3 or even a bit bigger if possible.<br /> thanx<br /> daniel</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-607404</guid>
				<title>custom machine designer</title>
				<link>http://contraptor.wikidot.com/forum/t-607404/custom-machine-designer</link>
				<description>Im a custom machine designer interested in trouble shooting mechanical issues.</description>
				<pubDate>Sat, 22 Dec 2012 10:05:06 +0000</pubDate>
				<wikidot:authorName>rahuldhinakaran</wikidot:authorName>				<wikidot:authorUserId>1515865</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hello;<br /> Im new to this group. Im a custom machine designer based in India. I design and build machines for companies here. You can view my work at www dot facebook dot com/Kalki dot Machines.</p> <p>Im keen on working with other machine builders here and helping them sort out issues which they have while building these products.</p> <p>Hope to hear a lot from this group.</p> <p>Regards<br /> Rahul Dhinakaran<br /> rahul dot dhinakaran at gmail dot com</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-596185</guid>
				<title>Alternative motor control</title>
				<link>http://contraptor.wikidot.com/forum/t-596185/alternative-motor-control</link>
				<description></description>
				<pubDate>Tue, 27 Nov 2012 19:50:38 +0000</pubDate>
				<wikidot:authorName>Sailing_Nut</wikidot:authorName>				<wikidot:authorUserId>1497775</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hi all,</p> <p>I'm wondering what the feasability of not using the stepper control circuits and &quot;directly&quot; driving the stepper windings from the Arduino firmware would be.</p> <p>I know the Arduino can't directly drive the windings, I would be using a darlington pair plus protection diodes for each winding. What I'm interested in is bypassing the more expensive driver boards and using 4 pins per motor to do the stepping.</p> <p>I know that I would have to make code changes to the grbl firmware for the Arduino. I'm interested to know if it would be a fairly isolated change or if it would be a very difficult thing to do.</p> <p>Thanks!</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-513745</guid>
				<title>nothing is working for me.</title>
				<link>http://contraptor.wikidot.com/forum/t-513745/nothing-is-working-for-me</link>
				<description>arduino uno does nothing after uploading sketch
using grbl or 3 stepper sketch from instructables.com 2 of 3 steppers stall</description>
				<pubDate>Fri, 29 Jun 2012 01:09:15 +0000</pubDate>
				<wikidot:authorName>brute4x4</wikidot:authorName>				<wikidot:authorUserId>1390629</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I am completely stumped at this point. i have tried to install the reprap_new_firmware to my arduino but it doesn't respond to the sketch. a example of this is the enable pin should be high when sending a command but the pin wont change states ( i have tried this pin inverted and non inverted and still nothing.). also the direction pins dont change voltages. so basically went back to grbl after that.</p> <p>now my problem with grbl is that i can only get the 1 axis to work(or just 2 output pins to work at a time) the other 2 just stall. i have ran all 3 axis off the 2 output pins i know work and i can get all 3 steppers to move at the same time, just not individually in there assigned pins like they should&#8230;</p> <p>then i tried to use the code from instructables &quot;how to wire a 3 axis cnc&quot; and now i can get 2 of the 3 steppers to move but the 3rd one stalls&#8230; i tried to reassign the 2 pins that didnt work to two other ones but with the same result 2 out of the 3 working.. once again if i put the stalled stepper signal pins on the output pins on a working one i can get all 3 to spin.</p> <p>so i know its not a power supply issue, not a stepper drivers issue, and not a stepper motor issue&#8230;..</p> <p>any help would be greatly appreciate and i mean ANY help! lol</p> <p>almost forgot to add im using:<br /> arduino uno ATmega328 and or a arduino mega 2560<br /> 3 big easy drivers from spark fun, in single step mode 2A per phase<br /> 3&#160;400 step steppers spark fun 3.3v 1.7A per phase<br /> atx power supply, i think 300watt 14A 12V</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-509463</guid>
				<title>My CONTRAPTEUR mini-CNC</title>
				<link>http://contraptor.wikidot.com/forum/t-509463/my-contrapteur-mini-cnc</link>
				<description>some pics and infos about my mini-cnc</description>
				<pubDate>Thu, 14 Jun 2012 07:02:22 +0000</pubDate>
				<wikidot:authorName>uni-T</wikidot:authorName>				<wikidot:authorUserId>1350520</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hi,</p> <p>I am building the mini-cnc mod with the contrapteur scheme and want to show you some pics of the actual building state. I would call it pre alpha, because it needs a lot of tweaking and is not entirely finished BUT it moves really smooth (way better than expected) if you turn the spindles :D</p> <p>The basic concept is as said before the mini-cnc converted to metric 20mm grid (instead of 25 like the genuine metric converion; forum search contrapteur).<br /> During the building process i encountered some difficulties getting all the required materials, so I took what I could get and then went on improvising.<br /> That meant a lot of trial and error and restructurizing the original plan and took me some times to the edge, but I am kind of proud to have managed it to this build stage.<br /> The electronics are in the workings.</p> <div class="code"> <pre><code>Motor: 3x NEMA 23 stepper (1NM, 2,0A, bipolar, 200 steps) Driver: 3x Pololu a4988 Controller: Arduino UNO</code></pre></div> Here are some pics FYI<br /> <span class="error-inline">Cannot fetch Flickr photo (id: 7371049744). The photo either does not exist, or is private</span> <span class="error-inline">Cannot fetch Flickr photo (id: 7185818093). The photo either does not exist, or is private</span> <span class="error-inline">Cannot fetch Flickr photo (id: 7185817975). The photo either does not exist, or is private</span> <span class="error-inline">Cannot fetch Flickr photo (id: 7185817875). The photo either does not exist, or is private</span> <p><sub>I know, it doesn't look that good,but with my skills its ok for me ;)</sub></p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-470505</guid>
				<title>need electronic schematic for arduino grbl based cnc controller</title>
				<link>http://contraptor.wikidot.com/forum/t-470505/need-electronic-schematic-for-arduino-grbl-based-cnc-control</link>
				<description>need electronic schematic for arduino grbl based cnc controller</description>
				<pubDate>Thu, 24 May 2012 09:00:59 +0000</pubDate>
				<wikidot:authorName>MASNSN</wikidot:authorName>				<wikidot:authorUserId>1369149</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hi<br /> I need a suitable an eagle or equivalent electronic schematic for an grbl arduino based cnc controller that controls 3 axis motors</p> <p>Thank you</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-468407</guid>
				<title>Problems with firmware</title>
				<link>http://contraptor.wikidot.com/forum/t-468407/problems-with-firmware</link>
				<description></description>
				<pubDate>Mon, 14 May 2012 11:00:38 +0000</pubDate>
				<wikidot:authorName>uni-T</wikidot:authorName>				<wikidot:authorUserId>1350520</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I try to get the electronics working but so far nothing works as expected:</p> <p>Harware: Arduino Uno Pololu a4988 drivers; Power supply ( regulated 0-24V/ up to 35&#160;A), stepper motor (bipolar)<br /> Software: grbl 0.8.a flashed with Xloader , serial terminal, processing with Mmarz's Gcode sender (from the forum)<br /> My problem is, that the flashing is working and the serial console is promting</p> <div class="code"> <pre><code>Grbl v0.8a '$' to dump current settings</code></pre></div> <br /> and it responds with the listing of parameters after sending '$' but nothing else.<br /> with the gcode sender I get the message : <div class="code"> <pre><code>Available serial ports listed below : COM3 Attempting connection on COM3. Waiting for handshake... it appears there is nothing present on this COM port All available serial ports were tested and none responded with the appropiate authentication sequence Please ensure that arduino is connected via a USB serial cable and try again</code></pre></div> <br /> even if the aruino is showing up in putty or other terminals on COM3.<br /> I am sure to have wired it up correctly (diagram from pololu) <p>Any help would be appreciated (and thanks arthurwolf for your help so far ;))</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-463759</guid>
				<title>How to get all the Materials</title>
				<link>http://contraptor.wikidot.com/forum/t-463759/how-to-get-all-the-materials</link>
				<description></description>
				<pubDate>Tue, 24 Apr 2012 11:40:15 +0000</pubDate>
				<wikidot:authorName>uni-T</wikidot:authorName>				<wikidot:authorUserId>1350520</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I want to build the metric version of the mini-cnc, and some blogs and summaries helped me a lot, but i dont know how to get some materials here in germany.<br /> For example i am searching the aluminium channel for the linear rail.<br /> The sketchup-files for the metric version specify a 12,5x25x12,5x3&#160;mm profile (Side x basis x side x strenght) but i can't find any suplier for this type and i dont have the machinery to cut a standard 25x25mm channel to this size.<br /> Any suggestions are welcome.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-463576</guid>
				<title>Arduino firmware with variable move queue size</title>
				<link>http://contraptor.wikidot.com/forum/t-463576/arduino-firmware-with-variable-move-queue-size</link>
				<description>This is an updated version of my multi-arc firmware with a variable move queue size and many other improvements.</description>
				<pubDate>Mon, 23 Apr 2012 16:34:00 +0000</pubDate>
				<wikidot:authorName>MMarz</wikidot:authorName>				<wikidot:authorUserId>632172</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I've been MIA for a while with work. I wanted to release this for others to enjoy. The code is well documented. Make sure to look over it before you start to use it.</p> <p>Set the queue size using &quot;#define QUEUE_SIZE&quot; in main source file. For the Atmega328, 20 moves seems to be the maximum it can hold. If you set this value too high, you'll lockup the arduino when the buffer fills up. If you use the 1280, it will hold considerably more moves. The only way I was able to exhaust the 20 move buffer on the 328 was by having many many tiny movements back to back. This should all but eliminate the deceleration and acceleration problem that some were having.</p> <p>I've also added lots of custom functions. For example, adding a z-surface pin that will automatically find the surface of your platform. Read the code for more info. Do not use the custom functions unless you have the z-surface pin attached or you will damage your machine.</p> <p>The limit pins have been redesigned. They are no longer connected to the arduino. They instead are connected directly to the cw/ccw pins of the stepper driver. When the platform reaches the end of it's movement, the limit switch forces the driver to reverse direction without notifying the arduino. This means that there is never the possibility of hurting your platform even if the arduino locks up. This also frees up the arduino to worry about the timing of the movements and does not need to constantly check the limit pins.</p> <p>There is also code for using an external joystick to move the platform. Make sure these pins are disabled if you are not going use this feature.</p> <p>I've included the processing script that will communicate with the firmware. You cannot use any other script to communicate with this firmware. This is because the firmware and script have been optimized to use the least about of communication to reduce any delays. If you read through the script, you can probably reverse engineer it fairly easily. Besides the streamlined communications, I've expanded the interface to have more functions.</p> <p>Enjoy!</p> <p>Firmware: <a href="http://www.mediafire.com/?86g1bh81zhczhqw">http://www.mediafire.com/?86g1bh81zhczhqw</a><br /> Processing script: <a href="http://www.mediafire.com/?uetaa14aadkx48z">http://www.mediafire.com/?uetaa14aadkx48z</a></p> <p>Let me know if you catch any bugs. I haven't tested this thoroughly, but to the extent that I have, it has worked flawlessly.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-460268</guid>
				<title>Best choice on Motion Control Software</title>
				<link>http://contraptor.wikidot.com/forum/t-460268/best-choice-on-motion-control-software</link>
				<description>I need advise on what software to choose according the hardware I own</description>
				<pubDate>Tue, 10 Apr 2012 16:55:40 +0000</pubDate>
				<wikidot:authorName>viny1</wikidot:authorName>				<wikidot:authorUserId>1342289</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <h2><span>Hi All:</span></h2> <h2><span>I see very smart and knowledgeable people here in this forum, so I would like some advise (hopefully step by step), on the best choice to take on MOTION CONTROL software (from CAD to Driving steppers, using free and compatible softwares available on the net), according the hardware I have now to build a CNC milling and in the near future (hopefully with the same hardware) a RepRap to be driven via USB. I have now an Arduino ONE board, an old DTK computer power source (5-12 volts/20-8 amps), six steppers (4.1 vol/1.1 amp) and four pololu A4988 motor drivers, Windows XP an Ubuntu 10.04 on my PC.</span></h2> <h2><span>Final question: Does Contraptor Processing program has 3D simulator?</span></h2> <h2><span>Thanks Viny</span></h2> <p>++</p> <h2><span>heading level 2</span></h2> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-459177</guid>
				<title>magnetic encoder</title>
				<link>http://contraptor.wikidot.com/forum/t-459177/magnetic-encoder</link>
				<description></description>
				<pubDate>Thu, 05 Apr 2012 13:18:38 +0000</pubDate>
				<wikidot:authorName>studentWu</wikidot:authorName>				<wikidot:authorUserId>1339605</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Dear all,</p> <p>In the course of a project headed by the University of Economics and Business Vienna, we are looking for potential application fields of a magnetic encoder.</p> <p>Basically the technology allows measuring the position of a magnet.</p> <p>Can you imagine a field, where for instance one or several of the following problems occur;</p> <p>• Positions have to be measured contactless<br /> • Extreme external conditions (dust, other magnetic fields, temperature, vibrations) have to be passed over<br /> • Maintenance is difficult due to the high complexity of the final product/application<br /> • Linear, rotating or three-dimensional positions have to be measured<br /> • The space is limited and expensive<br /> • It is vivid to avoid/know about malfunctions of position tracking systems<br /> • Easy implementing and catch/use of the signal is necessary<br /> • An energy effective solution is important.</p> <p>Or do you know somebody who could imagine that or needs that?</p> <p>Thank you very much!</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-457318</guid>
				<title>Today in the mailbox ...</title>
				<link>http://contraptor.wikidot.com/forum/t-457318/today-in-the-mailbox</link>
				<description>Contraptor and contrapteur angle just arrived.</description>
				<pubDate>Thu, 29 Mar 2012 18:57:12 +0000</pubDate>
				<wikidot:authorName>arthurwolf</wikidot:authorName>				<wikidot:authorUserId>471107</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Today ( yesterday actually ), and after a long time impatiently waiting, this finally happened :&nbsp;</p> <a href="https://www.flickr.com/photos/arthurwolf/7027356599/"><img src="https://farm8.static.flickr.com/7228/7027356599_27bb1d471a.jpg" alt="flickr:7027356599" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/7027356609/"><img src="https://farm8.static.flickr.com/7205/7027356609_bbb6269c96.jpg" alt="flickr:7027356609" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/7027356625/"><img src="https://farm8.static.flickr.com/7063/7027356625_904963baa0.jpg" alt="flickr:7027356625" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/7027356635/"><img src="https://farm8.static.flickr.com/7199/7027356635_ce865eca63.jpg" alt="flickr:7027356635" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/7027356641/"><img src="https://farm8.static.flickr.com/7064/7027356641_1525d72701.jpg" alt="flickr:7027356641" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/7027356643/"><img src="https://farm8.static.flickr.com/7072/7027356643_a6179bb104.jpg" alt="flickr:7027356643" class="image" /></a> <p>Opened it, checked it, looks good :&nbsp;</p> <a href="https://www.flickr.com/photos/arthurwolf/7027358747/"><img src="https://farm8.static.flickr.com/7255/7027358747_faa540d188.jpg" alt="flickr:7027358747" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/7027358749/"><img src="https://farm8.static.flickr.com/7048/7027358749_761e37c218.jpg" alt="flickr:7027358749" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/7027358755/"><img src="https://farm8.static.flickr.com/7208/7027358755_c8cc976754.jpg" alt="flickr:7027358755" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/7027358765/"><img src="https://farm8.static.flickr.com/7094/7027358765_2568f63087.jpg" alt="flickr:7027358765" class="image" /></a> <p>Ok, first thing : this stuff is very very very heavy.<br /> You'd think you can move the boxes, but you can't.</p> <p>After a good part of the afternoon, they are now safe in storage.<br /> And I'm close to death.</p> <p>So, let's take a look at the various stuff in there :</p> <h1><span>Contrator</span></h1> <p>The contraptor angle looks awesome !<br /> Ok actually everything in there does.</p> <a href="https://www.flickr.com/photos/arthurwolf/7027358771/"><img src="https://farm8.static.flickr.com/7138/7027358771_f5dcb98169.jpg" alt="flickr:7027358771" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/7027358777/"><img src="https://farm8.static.flickr.com/7078/7027358777_193786d0b7.jpg" alt="flickr:7027358777" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/7027373241/"><img src="https://farm8.static.flickr.com/7081/7027373241_679a709d70.jpg" alt="flickr:7027373241" class="image" /></a> <p>And here, for comparison, you can see contraptor ( 1&quot; ) and contrapteur ( 20mm ) side by side :&nbsp;</p> <a href="https://www.flickr.com/photos/arthurwolf/7027373251/"><img src="https://farm8.static.flickr.com/7202/7027373251_36c6c8d2fe.jpg" alt="flickr:7027373251" class="image" /></a> <h1><span>Contrapteur angle</span></h1> <p>Took some contrapteur angle up to the appartment to <span style="text-decoration: line-through;">play with</span> test and measure :</p> <a href="https://www.flickr.com/photos/arthurwolf/7027373255/"><img src="https://farm8.static.flickr.com/7096/7027373255_1413d9275a.jpg" alt="flickr:7027373255" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/7027373269/"><img src="https://farm8.static.flickr.com/7198/7027373269_6a120617ef.jpg" alt="flickr:7027373269" class="image" /></a> <h1><span>Contrapteur beam</span></h1> <p>Contrapteur beam is 20mm T-slot, supposed to play nice with contrapteur angle :&nbsp;</p> <a href="https://www.flickr.com/photos/arthurwolf/7027373287/"><img src="https://farm8.static.flickr.com/7076/7027373287_b1eee7282a.jpg" alt="flickr:7027373287" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/6881277276/"><img src="https://farm8.static.flickr.com/7135/6881277276_04e4956b90.jpg" alt="flickr:6881277276" class="image" /></a> <h1><span>Testing</span></h1> <p>So, inevitaly, some pictures of angle and beam, with nuts and bolts :</p> <a href="https://www.flickr.com/photos/arthurwolf/6881277284/"><img src="https://farm8.static.flickr.com/7279/6881277284_3c1786e8bf.jpg" alt="flickr:6881277284" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/6881277296/"><img src="https://farm8.static.flickr.com/7096/6881277296_b329eb6957.jpg" alt="flickr:6881277296" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/6881277302/"><img src="https://farm8.static.flickr.com/7212/6881277302_ca033f8e4d.jpg" alt="flickr:6881277302" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/6881277320/"><img src="https://farm8.static.flickr.com/7046/6881277320_9915c1827c.jpg" alt="flickr:6881277320" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/6881277332/"><img src="https://farm8.static.flickr.com/7266/6881277332_711ddedc07.jpg" alt="flickr:6881277332" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/7027378725/"><img src="https://farm8.static.flickr.com/7185/7027378725_fa9b73bba9.jpg" alt="flickr:7027378725" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/7027378737/"><img src="https://farm8.static.flickr.com/7280/7027378737_4d942b78c6.jpg" alt="flickr:7027378737" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/7027378739/"><img src="https://farm8.static.flickr.com/7217/7027378739_fcb1c78972.jpg" alt="flickr:7027378739" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/7027378743/"><img src="https://farm8.static.flickr.com/7095/7027378743_a62a3bf723.jpg" alt="flickr:7027378743" class="image" /></a> <p>It all seems good, and to work very weel together.<br /> Nothing measured yet, that's next.</p> <p>I&nbsp;have only one thing to add to all this :<br /> WHEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE !</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-399704</guid>
				<title>Deadlock found...</title>
				<link>http://contraptor.wikidot.com/forum/t-399704/deadlock-found</link>
				<description>Deadlock found in firmware</description>
				<pubDate>Mon, 10 Oct 2011 22:15:12 +0000</pubDate>
				<wikidot:authorName>japieb</wikidot:authorName>				<wikidot:authorUserId>1215344</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I've been adapting the firmware to make it usefull for a CNC foam cutter I am going to build.</p> <p>In doing so I found a deadlock situation that also exists in the original firmware:</p> <p>the fragment below can (and did!) result in a deadlock when the G0 command finishes while the G90 command is being handled<br /> G91<br /> G00 X1.0<br /> G90</p> <p>Situation</p> <p>The G00 step is running<br /> The G90 command is received<br /> This line locks the move_queue (process_string.pde)<br /> // Lock move queue while adding new move<br /> 172 move_queue_lock_main = true;<br /> The G0 step finishes<br /> 470 // If finished, start next move<br /> 471 if ( move_finished ) {<br /> 472<br /> 473 // Make sure queue not being modified by<br /> 474 // main routine and then advance<br /> 475 if (!move_queue_lock_main) advance_move_queue();<br /> 476<br /> 477 // If the queue is locked by the main routine, we can't hang about<br /> 478 // and wait for it as this would freeze up the whole system,<br /> 479 // so we just wait until the next time the interrupt routine<br /> 480 // is called and try again<br /> 481 }<br /> The G90 command waits until the move is done (process_string.pde)<br /> 303 while (moving) {} // Do not try and do this while moving</p> <p>Now the move_queue is locked, and moving is still true =&gt; deadlock</p> <p>I fixed this situation by adding a 'move_queue_main_lock=false;' line before all 'while (moving) {}' lines</p> <p>Jaap.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-388209</guid>
				<title>GRemote - mini host for Arduino GCode Interpreter</title>
				<link>http://contraptor.wikidot.com/forum/t-388209/gremote-mini-host-for-arduino-gcode-interpreter</link>
				<description></description>
				<pubDate>Tue, 06 Sep 2011 03:13:52 +0000</pubDate>
				<wikidot:authorName>Albanetc</wikidot:authorName>				<wikidot:authorUserId>381022</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <div class="image-container floatleft"><a href="https://www.flickr.com/photos/40642599@N07/6117941587/"><img src="https://farm7.static.flickr.com/6200/6117941587_00a8b3daa3_z.jpg" alt="flickr:6117941587" class="image" /></a></div> <p>I've been using a hacked together Python script for communication with Arduino GCode Interpreter, including sending gcode files. This has generally worked well, but it's not very convenient to jog a robot from command line. I also thought it would be great to have a simple and intuitive UI with these basic functions, and use keyboard for jogging.</p> <p>There seems to be plenty of host sotfware out there, including things specifically written for *duino based GCode interpreters, like <a href="https://github.com/damellis/gctrl" target="_blank">gctrl</a> , as well as 3D-printing oriented hosts like Reprap Host and ReplicatorG. There are also numerous scripts in Python and other languages. They all probably work well, but I wanted a UI and a bit more functionality usually found in command line hosts; on the other hand, a lot of functionality and controls in 3D-printing hosts would probably be an overkill for someone who just wants the basics.</p> <p>After spending several evenings dabbling in <a href="http://processing.org/">Processing</a> and <a href="http://www.sojamo.de/libraries/controlP5/">controlP5</a> (a great UI library for Processing) here is something with a working name of GRemote. It can do three things - issue GCode commands from text input, move the robot with jog buttons and send GCode files. It's intended to work with Arduino Gcode Interpreter, but it should also work with any firmware which understands ASCII GCode and whose responses are &quot;start&quot; for the initialization, and &quot;ok&quot; is the last response for every command sent. The baud rate is fixed at 38400 though that should probably be exposed in the UI via another dropdown (next to the serial port).</p> <p>Hopefully the following is self evident from the UI and common sense:</p> <p>Jogging only works in Relative mode and 1 jog distance is 1 unit - mm or inch, depending on the mode. Only X,Y,Z jog buttons work at the moment as I'm not yet clear what to assign to INS, DEL, END (more axes?) and to a lesser degree, HOME.</p> <p>The Absolute and Inch modes are toggles - unless remote is sending a file, these can be clicked and remote will issue appropriate command to the firmware. The commands being sent to firmware (when sending a file or from text input) are also inspected and in some cases (like the Absolute/Inch mode change) acted upon.</p> <p>The &quot;console&quot; display shows last 10 lines of what's going on, and on Linux, these are also written out to terminal from which GRemote is launched. On Windows, I'm not sure how to bring up a separate console, other than running source in Processing PDE. I'm guessing it's simple and should be easy to do with some research - if not, logging to file can be added.</p> <p>File send can be paused (making jog and mode controls available), resumed and cancelled. Few words about pausing:</p> <p>Jogging has to be done either with limit switches operational, or without hitting physical constraints of the axis. Hitting the physical axis constraints make steppers skip steps which moves coordinate system origin. Not a big deal if you're just jogging, but if you've paused a file and intend to resume it, it's a problem.</p> <p>Upon resuming the file, the Absolute and Inch mode settings should be the same as before pausing - otherwise things will go wrong. Maybe remote should remember the mode state before pausing and force-restore it upon resuming.</p> <p>If the file being sent uses Absolute mode, after pausing and resuming the file, the very next command should go to the right position even if robot was jogged elsewhere. If the file being sent uses Relative mode, the robot should be manually returned to pre-pause position before resuming.</p> <p>The zip file with Windows, Mac, Linux versions and the source is attached to this thread: <a href="http://www.contraptor.org/local--files/forum:thread/GRemote.zip">http://www.contraptor.org/local--files/forum:thread/GRemote.zip</a><br /> Unzip the appropriate application.* folder to your local machine and run GRemote.exe or GRemote bash script.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-386961</guid>
				<title>debugged firmware ?</title>
				<link>http://contraptor.wikidot.com/forum/t-386961/debugged-firmware</link>
				<description>I&#039;m looking for a debugged firmware</description>
				<pubDate>Thu, 01 Sep 2011 02:26:11 +0000</pubDate>
				<wikidot:authorName>cybair</wikidot:authorName>				<wikidot:authorUserId>1183846</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hi all,</p> <p>Anybody has a debugged version of Chris Meighan's &quot;reprap new firmware&quot;? I was not lucky with the version I downloaded from Sourceforge/Contraptor. With Arduino 0017, I got this error: 'CHAR WORD [128]' REDECLARED AS DIFFERENT KIND OF SYMBOL. With Arduino 0018 I got this error: EXTRUDER_MOTOR_DIR_PIN WAS NOT DECLARED IN THIS SCOPE.</p> <p>Any help appreciated,</p> <p>ProfScrew</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-384267</guid>
				<title>problems with contraptor firmware</title>
				<link>http://contraptor.wikidot.com/forum/t-384267/problems-with-contraptor-firmware</link>
				<description>Problems using contraptor, on previously working machine</description>
				<pubDate>Mon, 22 Aug 2011 01:55:12 +0000</pubDate>
				<wikidot:authorName>ofcsilencer</wikidot:authorName>				<wikidot:authorUserId>1152583</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I am having some issues with the contraptor firmware. I have a setup I use with grbl, but I recently acquired another machine and would like to mix it up and try contraptor. For testing I swapped out my grbl loaded arduino for a stock, and rewired to match the pins on my known working machine. I did try a generic stepper control sketch, and the axis' moved properly with a stock arduino.</p> <p>loading contraptor, I stepped down from arduino 22 to 21, so it would compile and upload properly. After it uploaded, used serial to connect at ~38400 and sent it &quot;x10&quot; or &quot;y15&quot; etc just random stuff that under grbl would make it move. the machine responds &quot;ok&quot; but nothing ever moves.</p> <p>being that my test sketch works properly, I believe I have a problem with a library or something not being where it should be. I am using a straight copy of the firmware from sourceforge. I have triple checked the pinouts.</p> <p>I am not at all sure what is causing this. any input would be appreciated.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-375149</guid>
				<title>Makerslide+Contrapteur</title>
				<link>http://contraptor.wikidot.com/forum/t-375149/makerslide-contrapteur</link>
				<description></description>
				<pubDate>Fri, 22 Jul 2011 10:36:12 +0000</pubDate>
				<wikidot:authorName>arthurwolf</wikidot:authorName>				<wikidot:authorUserId>471107</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hi !</p> <p>A while ago I&nbsp;contacted Barton Bring from the <a href="http://www.kickstarter.com/projects/93832939/makerslide-open-source-linear-bearing-system">Makerslide</a> project about <a href="http://www.contraptor.org/forum/t-293577/metric-contrapteur:mini-cnc-project">Contrapteur</a> ( 20mm Contraptor clone ), and this morning I&nbsp;received a few of the wheels in advance in the mail. Thanks !</p> <a href="https://www.flickr.com/photos/arthurwolf/5963205613/"><img src="https://farm7.static.flickr.com/6148/5963205613_d2326cdc34.jpg" alt="flickr:5963205613" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5963205295/"><img src="https://farm7.static.flickr.com/6026/5963205295_03703b4930.jpg" alt="flickr:5963205295" class="image" /></a> <p>The wheels look very nice. The bearings fit so well that I was not able to remove them for the picture.</p> <p>So the plan for today is to find ways to get Makerslide and Contrapteur to work together.</p> <p>I don't have the Makerslide rail ( yet ). This would work out of the box with Contrapteur ( also 20mm based ), and I'll try it as soon as the Kickstarter reward gets here.</p> <p>Second option would be to make a rail specific to Contrapteur, like this :&nbsp;</p> <a href="https://www.flickr.com/photos/arthurwolf/5785580086/"><img src="https://farm6.static.flickr.com/5107/5785580086_9220f85f77.jpg" alt="flickr:5785580086" class="image" /></a> <p>That should work well, and I'll try it soon ( diagonal lasercutting ! ), but I needed something simpler for today. I went for the &quot;angle as rail&quot; option Contraptor uses for the sliding element.</p> <p>There are two options here : the wheels in a diagonal plane and the angle in the &quot;normal&quot; plane, or the angle in a diagonal plane and the wheels in the &quot;normal&quot; plane. Chose the first one here, but I'd like to try the other one too.</p> <p>First part is a mount for the wheels, lasercut in 4mm acrylic :</p> <a href="https://www.flickr.com/photos/arthurwolf/5963257047/"><img src="https://farm7.static.flickr.com/6020/5963257047_f5d066106f.jpg" alt="flickr:5963257047" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5963763570/"><img src="https://farm7.static.flickr.com/6128/5963763570_ffb370876f.jpg" alt="flickr:5963763570" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5963763340/"><img src="https://farm7.static.flickr.com/6009/5963763340_c69433c5d3.jpg" alt="flickr:5963763340" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5963763094/"><img src="https://farm7.static.flickr.com/6146/5963763094_a9fae41709.jpg" alt="flickr:5963763094" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5963205853/"><img src="https://farm7.static.flickr.com/6128/5963205853_cf464a2cbe.jpg" alt="flickr:5963205853" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5963761530/"><img src="https://farm7.static.flickr.com/6001/5963761530_e163af6201.jpg" alt="flickr:5963761530" class="image" /></a> <p>The bending was made with a hot air SMD station. Here is how it looks when sliding on a rail ( contrapteur angle ) :&nbsp;</p> <a href="https://www.flickr.com/photos/arthurwolf/5963207597/"><img src="https://farm7.static.flickr.com/6130/5963207597_8b6514d77b.jpg" alt="flickr:5963207597" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5963764316/"><img src="https://farm7.static.flickr.com/6137/5963764316_393c4dd49e.jpg" alt="flickr:5963764316" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5963764024/"><img src="https://farm7.static.flickr.com/6139/5963764024_d0976668dd.jpg" alt="flickr:5963764024" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5963763826/"><img src="https://farm7.static.flickr.com/6004/5963763826_c72f51093c.jpg" alt="flickr:5963763826" class="image" /></a> <p>It slides very well. Here is a video.</p> <p><iframe width="853" height="510" src="http://www.youtube.com/embed/nTQd-TIkAeE?hd=1" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p> <p>It is very smooth, even better than the Contraptor linear rail, and much much easier to assemble.</p> <p>The fact that the part is lasercut allows to make it the exact dimension to fit the angle, so there was not even any adjustment required ( also my brain refuses to understand how the Makerslide eccentric spacers work &#8230; ) it worked the first time after assembly.</p> <p>So now we have two sliding elements on two separate rails, but the goal here was to have a single carriage.</p> <p>Because the bending is made by hand, it is not possible to know exactly it's exact position in the part ( with my current bending skills, it would be different at each bending ), so the distance between the two parts can vary, so it's not possible to make a part with holes that would fit them exactly for sure.</p> <p>Here is the solution I came up with :</p> <a href="https://www.flickr.com/photos/arthurwolf/5963257079/"><img src="https://farm7.static.flickr.com/6123/5963257079_77362542df.jpg" alt="flickr:5963257079" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5963765296/"><img src="https://farm7.static.flickr.com/6143/5963765296_3df156d253.jpg" alt="flickr:5963765296" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5963764798/"><img src="https://farm7.static.flickr.com/6017/5963764798_6bfafdc275.jpg" alt="flickr:5963764798" class="image" /></a> <p>The &quot;long holes&quot; allow to connect the two parts together even without knowing how further apart they are.</p> <p>Once assembled it looks like this :</p> <a href="https://www.flickr.com/photos/arthurwolf/5963765044/"><img src="https://farm7.static.flickr.com/6121/5963765044_abb6d86f28.jpg" alt="flickr:5963765044" class="image" /></a> <p>And a video of it sliding :</p> <p><iframe width="853" height="510" src="http://www.youtube.com/embed/8yKPNcNNRGc?hd=1" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p> <p>This works surprisingly well ! The carriage is very sturdy, the sliding very smooth and silent.</p> <p>Makerslide is awesome, plus it's opensource, plus it's awesome !</p> <p>Plus it's cheap.</p> <p>Plus it's 20mm based.</p> <p>I can't wait to play more with it ( next thing will probably test having the angle at a diagonal and the wheels in the normal plane ).</p> <p><strong>EDIT</strong> :&nbsp;Spent all the rest of the day trying to lasercut rails for it :&nbsp;diagonal lasercutting is veeeery difficult ! Finally got one rail right, see pics below :&nbsp;</p> <a href="https://www.flickr.com/photos/arthurwolf/5964873579/"><img src="https://farm7.static.flickr.com/6026/5964873579_79dde34aaa.jpg" alt="flickr:5964873579" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5964873153/"><img src="https://farm7.static.flickr.com/6005/5964873153_7d30ca47d9.jpg" alt="flickr:5964873153" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5964872747/"><img src="https://farm7.static.flickr.com/6142/5964872747_03e3644bf4.jpg" alt="flickr:5964872747" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5964872747/"><img src="https://farm7.static.flickr.com/6142/5964872747_03e3644bf4.jpg" alt="flickr:5964872747" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5965428764/"><img src="https://farm7.static.flickr.com/6147/5965428764_f69305bf7b.jpg" alt="flickr:5965428764" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5964871359/"><img src="https://farm7.static.flickr.com/6028/5964871359_d0e9b4e5a7.jpg" alt="flickr:5964871359" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5964870985/"><img src="https://farm7.static.flickr.com/6001/5964870985_6f5c3f732c.jpg" alt="flickr:5964870985" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5965427602/"><img src="https://farm7.static.flickr.com/6016/5965427602_69cb2f1c5b.jpg" alt="flickr:5965427602" class="image" /></a> <p>It works quite well, the wheels slide well and it seems sturdy.</p> <p>But it's a lot of work to make : the lasercutter must be ajusted at the 1/10mm, the diagonal support was a lot of work, and even thenit takes several tries to get a rail right. Getting better at it thought.</p> <p>Tomorrow I'll try to make another one, and use the two to support a carriage.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-368946</guid>
				<title>What need I buy if I need a xy plotter only</title>
				<link>http://contraptor.wikidot.com/forum/t-368946/what-need-i-buy-if-i-need-a-xy-plotter-only</link>
				<description></description>
				<pubDate>Mon, 27 Jun 2011 08:36:46 +0000</pubDate>
				<wikidot:authorName>createfile</wikidot:authorName>				<wikidot:authorUserId>998223</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>What need I buy if I need a xy plotter only ( how much is that shipping to Hongkong )\\(I need that plotter support rise the pen up and put the pen down, also support use knife instead of pen to cut paper)</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-366361</guid>
				<title>Sliding element for T-slot</title>
				<link>http://contraptor.wikidot.com/forum/t-366361/sliding-element-for-t-slot</link>
				<description></description>
				<pubDate>Mon, 13 Jun 2011 06:29:24 +0000</pubDate>
				<wikidot:authorName>Albanetc</wikidot:authorName>				<wikidot:authorUserId>381022</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <a href="https://www.flickr.com/photos/40642599@N07/4396723613/"><img src="https://farm5.static.flickr.com/4069/4396723613_1ccd2662bf.jpg" alt="flickr:4396723613" class="image" /></a> <a href="https://www.flickr.com/photos/40642599@N07/5827197085/"><img src="https://farm4.static.flickr.com/3260/5827197085_da82caf2d1.jpg" alt="flickr:5827197085" class="image" /></a> <p>A while back I made a prototype of the sliding element for T-slot. Since then there were a few tweaks to it, however it was never really tried in action.</p> <p>I received an email recently asking whether it was possible to use Contraptor to build contraptions of larger size (e.g. 2x4 ft). This would definitely call for T-slot - which I happen to have several standard lengths of (12&quot;, 18&quot;, 24&quot;). I also have several fabricated T-slider prototypes. To test a number of assumptions about how these sliders would behave, I intend to build a robot with light X and heavier Y driven by belts, and heavy Z driven by four leadscrews. The robot would be ~2ft in X, ~1.5ft in Y and ~1ft in Z - but it could be scaled up. The actual work volume would be smaller than these dimensions. The screenshot on the right is work-in-progress on that robot.</p> <p>So far I've assembled the basic T-slider belt drive. The test below uses Arduino GCode Interpreter and grblShield (1/8 microstepping). The speed is 600 IPM.</p> <p><iframe width="560" height="349" src="http://www.youtube.com/embed/l-rlX9l9bLU" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-365199</guid>
				<title>Noise reduction</title>
				<link>http://contraptor.wikidot.com/forum/t-365199/noise-reduction</link>
				<description>Reducing vibration and noise</description>
				<pubDate>Mon, 06 Jun 2011 05:14:11 +0000</pubDate>
				<wikidot:authorName>Albanetc</wikidot:authorName>				<wikidot:authorUserId>381022</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p><strong>Background</strong><br /> <a href="http://www.contraptor.org/forum/t-274259/silenced-motor-mount">http://www.contraptor.org/forum/t-274259/silenced-motor-mount</a><br /> <a href="http://www.contraptor.org/forum/t-193855/noise-control">http://www.contraptor.org/forum/t-193855/noise-control</a></p> <p>Noise has been somewhat of a problem with mini CNC. The machine is fairly quiet at most of the feedrates. However there are a couple of feedrates that result in loud and nasty vibration. In my testing these are 2.1 IPM and to a lesser degree, 4.2 IPM. Any diagonal move that happens to have one of the axes moving at these speeds becomes a problem.</p> <p><strong>Short version</strong></p> <p><iframe width="560" height="349" src="http://www.youtube.com/embed/mgyIsCEZ1a0" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p> <p>To reduce the noise, I basically followed Arthur's previous work at the link above and added some degree of vibration isolation between the following:</p> <p><strong>Leadscrew and bearing</strong><br /> Instead of steel nut, a plastic nut is in contact with the bearing. Not visible in the picture, there is some teflon tape wrapped around the leadscrew where the (ball) bearing is. This prevents leadscrew from rattling around. I added the thrust bearing for reasons other than noise control, but it also has a plastic nut. The combination of plastic nuts with steel nuts should eliminate the need for spring washers (which were skewing the nuts).</p> <a href="https://www.flickr.com/photos/40642599@N07/5801740695/"><img src="https://farm3.static.flickr.com/2336/5801740695_075d499a9d.jpg" alt="flickr:5801740695" class="image" /></a> <a href="https://www.flickr.com/photos/40642599@N07/5801738537/"><img src="https://farm4.static.flickr.com/3432/5801738537_a77b6987e6.jpg" alt="flickr:5801738537" class="image" /></a> <p><strong>Motor and motor mount</strong><br /> The motor is connected to the mount with nylon screws and nuts. There are several neoprene washers in between, as well as a pair of grommets in the mount holes (visible on the right pic). I found that metal screws didn't really work well there. The motor flexes on this mounting, but not in the twisting direction so it seems OK.</p> <a href="https://www.flickr.com/photos/40642599@N07/5801732997/"><img src="https://farm6.static.flickr.com/5067/5801732997_2e05c128d7.jpg" alt="flickr:5801732997" class="image" /></a> <a href="https://www.flickr.com/photos/40642599@N07/5801735665/"><img src="https://farm6.static.flickr.com/5265/5801735665_71af428af8.jpg" alt="flickr:5801735665" class="image" /></a> <p>The plastic/neoprene parts are fairly cheap in 100 qty at Mcmaster:</p> <p>neoprene washers: #90133A017<br /> rubber grommets: #9600K66<br /> nylon 1/4 nuts: #94900A029<br /> nylon 10-24&#160;3/4 screws: #97263A245<br /> nylon 10-24 nuts: #94900A011</p> <a href="https://www.flickr.com/photos/40642599@N07/5801742227/"><img src="https://farm3.static.flickr.com/2448/5801742227_ca7f67fe1d.jpg" alt="flickr:5801742227" class="image" /></a> <p><strong>Microstepping</strong><br /> I kind of knew this already, but besides vibration isolation, the other important thing that reduces vibration is microstepping. With half stepping, the noise was still too much even with the 2 modifications above. I went an extra step and made a 1/4-20 Delrin nut for X-axis because there was an audible rattle between leadscrew and leadnut; thinking that it would quiet things down. However, with half stepping, that didn't significantly help - but the noise reduction was more pronounced with microstepping. I used TinyG but I'm planning to switch over to grblShield - both are 1/8 step.</p> <p>I measured the following max values using Sound Meter Lite Android app. Anything under 60&#160;dB sounds good enough to me. Again, these are supposed to be worst case scenarios - with the disclaimer they were tested on a single axis.</p> <div style="float:left;"> <table class="wiki-content-table"> <tr> <th>configuration</th> <th>halfstepping</th> <th>microstepping</th> </tr> <tr> <td>as is - tested on Y axis</td> <td>83&#160;dB</td> <td>78&#160;dB</td> </tr> <tr> <td>plastic screws&amp;nuts, washers&amp;grommets on motor mount</td> <td>80&#160;dB</td> <td>&#8212;</td> </tr> <tr> <td>+ plastic nuts and teflon tape at shaft mounts</td> <td>78&#160;dB</td> <td>59&#160;dB</td> </tr> <tr> <td>+ delrin nut</td> <td>76&#160;dB</td> <td>54&#160;dB</td> </tr> </table> </div> <div style="clear:both; height: 0px; font-size: 1px"></div> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-364140</guid>
				<title>V-track and V-groove bearing</title>
				<link>http://contraptor.wikidot.com/forum/t-364140/v-track-and-v-groove-bearing</link>
				<description></description>
				<pubDate>Tue, 31 May 2011 05:38:16 +0000</pubDate>
				<wikidot:authorName>Albanetc</wikidot:authorName>				<wikidot:authorUserId>381022</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <a href="https://www.flickr.com/photos/40642599@N07/5779731748/"><img src="https://farm3.static.flickr.com/2322/5779731748_497df76c32.jpg" alt="flickr:5779731748" class="image" /></a> <p>This is a sketch from few months back showing how V-track might be a part of Contraptor. At that time, I looked at the prices of V-tracks and V-groove bearings and found them fairly expensive. Nevertheless I had ordered some material to build and test the prototype, and this weekend I finally got around to it.</p> <p>Below are V-tracks that can attach to Contraptor angle or 1&quot; T-slot. Fabricating wasn't too difficult but took some time. 3/16&quot; holes were drilled in V-track at 2&quot; intervals. 4&quot; intervals could probably also work, but 2&quot; fit nicely with 1ft and 2ft track lengths. One difficult thing was tapping small screw holes in the aluminum bar. I usually drill 1/8&quot; hole and 6-32 screw self-taps into the hole with little effort. This works great in 1/8&quot; thick aluminum. Here, the holes were about 3/8&quot; deep and screws would stop dead after a certain point. I tried 6-32 tap in the power drill to save time and it broke on pull out after stopping too late. Basically the holes had to be tapped manually, advancing about quarter of a turn and then stepping back a couple of turns. Anyhow, this was only needed to be done once as they're not intended to be disassembled.</p> <p>The V-bearing element still needs to be made. I only have 2&#160;V-groove bearings from VXB.com and I'm trying to find them for a reasonable price (not $15 a piece). They are angular contact bearings so they can support combined loads and have very little axial play. The V-track + V-groove bearings with T-slot should be able to handle loads of a larger CNC machine - 1ft x 2ft and perhaps 2ft x 4ft.</p> <a href="https://www.flickr.com/photos/40642599@N07/5779176015/"><img src="https://farm3.static.flickr.com/2281/5779176015_be5fc1fea8.jpg" alt="flickr:5779176015" class="image" /></a><a href="https://www.flickr.com/photos/40642599@N07/5779178893/"><img src="https://farm3.static.flickr.com/2475/5779178893_3855a6913b.jpg" alt="flickr:5779178893" class="image" /></a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-348246</guid>
				<title>Sparkfuns stepper controller</title>
				<link>http://contraptor.wikidot.com/forum/t-348246/sparkfuns-stepper-controller</link>
				<description></description>
				<pubDate>Thu, 14 Apr 2011 23:06:15 +0000</pubDate>
				<wikidot:authorName>arthurwolf</wikidot:authorName>				<wikidot:authorUserId>471107</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p><a href="http://www.sparkfun.com/products/10507">http://www.sparkfun.com/products/10507</a></p> <p>I want one !</p> <p>Actually started a design in eagle for just that &#8230; I think I'm going to give up on circuit design, these guys do a much better job.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-316487</guid>
				<title>grblShield For Sale</title>
				<link>http://contraptor.wikidot.com/forum/t-316487/grblshield-for-sale</link>
				<description>A off the shelve way to drive Contraptor.</description>
				<pubDate>Thu, 03 Mar 2011 13:21:52 +0000</pubDate>
				<wikidot:authorName>ril3y</wikidot:authorName>				<wikidot:authorUserId>390237</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Alright! So our new grblShield is here! Check it out guys. We will be shipping in 1 - 3 weekish now. grbl v6 works out of box with our shield too.<br /> You can pre-order <a href="https://www.synthetos.com/webstore/index.php/assembled-electronics/grblshield-grbl-arduino-diy-cnc-shield.html">here.</a><br /> The grblShield wiki is <a href="https://www.synthetos.com/wiki/index.php?title=Projects:grblShield">here</a>. Now there is a cheap &quot;buyable&quot; solution to driving Contraptor.</p> <p>ril3y</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-306479</guid>
				<title>Pythagoras</title>
				<link>http://contraptor.wikidot.com/forum/t-306479/pythagoras</link>
				<description></description>
				<pubDate>Tue, 08 Feb 2011 20:49:25 +0000</pubDate>
				<wikidot:authorName>arthurwolf</wikidot:authorName>				<wikidot:authorUserId>471107</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hi.</p> <p>When designing the contrapteur mini-cnc, I had to find out how to place the diagonal bar ( so that the holes of the diagonal bar it right in front of holes in the two other angles.<br /> Now that I have the actual angle to play with, it's quite easy, but in Sketchup, trial and error was quite a burden.</p> <p>Here is an array I used, that gives the round hypotenuses for different angle lengths, it was quite usefull to decide which length to give to which angle :&nbsp;</p> <table class="wiki-content-table"> <tr> <td></td> <th>1</th> <th>2</th> <th>3</th> <th>4</th> <th>5</th> <th>6</th> <th>7</th> <th>8</th> <th>9</th> <th>10</th> <th>11</th> <th>12</th> <th>13</th> <th>14</th> <th>15</th> <th>16</th> <th>17</th> <th>18</th> <th>19</th> <th>20</th> <th>21</th> <th>22</th> <th>23</th> <th>24</th> <th>25</th> <th>26</th> <th>27</th> <th>28</th> <th>29</th> <th>30</th> </tr> <tr> <th>1</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>2</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>3</th> <td></td> <td></td> <td></td> <td>5</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>4</th> <td></td> <td></td> <td>5</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>5</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>13</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>6</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>10</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>7</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>25</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>8</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td>10</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>17</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>9</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>15</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>10</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>26</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>11</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>12</th> <td></td> <td></td> <td></td> <td></td> <td>13</td> <td></td> <td></td> <td></td> <td>15</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>20</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>13</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>14</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>15</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>17</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>25</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>16</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>20</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>34</td> </tr> <tr> <th>17</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>18</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>30</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>19</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>20</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>25</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>29</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>21</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>29</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>35</td> <td></td> <td></td> </tr> <tr> <th>22</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>23</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>24</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>25</td> <td></td> <td></td> <td>26</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>30</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>25</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>26</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>27</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>28</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>35</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>29</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <th>30</th> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td>34</td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> </table> <p>And the Perl script to generate it :</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-reserved">print</span><span class="hl-code"> </span><span class="hl-quotes">&quot;</span><span class="hl-string">|| ||~ </span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-reserved">join</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">||~ </span><span class="hl-quotes">'</span><span class="hl-code">,</span><span class="hl-reserved">map</span><span class="hl-code"> </span><span class="hl-var">$_</span><span class="hl-code"> , </span><span class="hl-number">1</span><span class="hl-code">.</span><span class="hl-number">.30</span><span class="hl-code"> </span><span class="hl-brackets">)</span><span class="hl-code"> , </span><span class="hl-quotes">&quot;</span><span class="hl-string">||</span><span class="hl-special">\n</span><span class="hl-quotes">&quot;</span><span class="hl-code">; </span><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-reserved">my</span><span class="hl-code"> </span><span class="hl-var">$x</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-number">1</span><span class="hl-code"> .. </span><span class="hl-number">30</span><span class="hl-code"> </span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-reserved">print</span><span class="hl-code"> </span><span class="hl-quotes">&quot;</span><span class="hl-string">||~ </span><span class="hl-var">$x</span><span class="hl-string"> ||</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-reserved">join</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">||</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-reserved">map</span><span class="hl-code"> </span><span class="hl-reserved">int</span><span class="hl-brackets">(</span><span class="hl-reserved">sqrt</span><span class="hl-brackets">((</span><span class="hl-var">$_</span><span class="hl-code">*</span><span class="hl-var">$_</span><span class="hl-brackets">)</span><span class="hl-code">+</span><span class="hl-brackets">(</span><span class="hl-var">$x</span><span class="hl-code">*</span><span class="hl-var">$x</span><span class="hl-brackets">)))</span><span class="hl-code">==</span><span class="hl-reserved">sqrt</span><span class="hl-brackets">((</span><span class="hl-var">$_</span><span class="hl-code">*</span><span class="hl-var">$_</span><span class="hl-brackets">)</span><span class="hl-code">+</span><span class="hl-brackets">(</span><span class="hl-var">$x</span><span class="hl-code">*</span><span class="hl-var">$x</span><span class="hl-brackets">))</span><span class="hl-code"> ? </span><span class="hl-reserved">int</span><span class="hl-brackets">(</span><span class="hl-reserved">sqrt</span><span class="hl-brackets">((</span><span class="hl-var">$_</span><span class="hl-code">*</span><span class="hl-var">$_</span><span class="hl-brackets">)</span><span class="hl-code">+</span><span class="hl-brackets">(</span><span class="hl-var">$x</span><span class="hl-code">*</span><span class="hl-var">$x</span><span class="hl-brackets">)))</span><span class="hl-code"> : </span><span class="hl-quotes">'</span><span class="hl-string"> </span><span class="hl-quotes">'</span><span class="hl-code"> , </span><span class="hl-number">1</span><span class="hl-code">.</span><span class="hl-number">.30</span><span class="hl-code"> </span><span class="hl-brackets">)</span><span class="hl-code"> , </span><span class="hl-quotes">&quot;</span><span class="hl-string">||</span><span class="hl-special">\n</span><span class="hl-quotes">&quot;</span><span class="hl-code">; </span><span class="hl-brackets">}</span></pre></div> </div> <p>Just in case this can help someone else &#8230;</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-305375</guid>
				<title>Scripted assembly sequences</title>
				<link>http://contraptor.wikidot.com/forum/t-305375/scripted-assembly-sequences</link>
				<description></description>
				<pubDate>Sat, 05 Feb 2011 07:46:23 +0000</pubDate>
				<wikidot:authorName>Albanetc</wikidot:authorName>				<wikidot:authorUserId>381022</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>As described in <a href="http://www.contraptor.org/forum/t-292956/mini-cnc-with-modified-z-axis#post-969904">this thread</a>, I had to make a few changes to the mini-CNC design for various reasons (easier adjustment etc). The assembly screenshots from the mini-CNC page (<a href="http://www.contraptor.org/mini-cnc#assembly">http://www.contraptor.org/mini-cnc#assembly</a>) were all taken manually - quite a long process. Taking them again (and then, again) seems like something that should happen automatically. Previously, there was an idea of encoding assembly sequences in OpenSCAD: <a href="http://www.contraptor.org/forum/t-192150/suggestion:metric-version-please#post-733974">http://www.contraptor.org/forum/t-192150/suggestion:metric-version-please#post-733974</a></p> <p>Sketchup has built-in Ruby interpreter, and I spent last couple of weeks figuring out how Sketchup could interpret an assembly sequence based on a Ruby script. Borrowing some methods from OpenSCAD, I think the script below looks readable. There are 2 classes - Component (which maps to Sketchup component instance) and Assembly (which maps to Sketchup group). The component names are also the file names in the Contraptor library (in Sketchup/Components) folder.</p> <p>The following sequence:</p> <a href="https://www.flickr.com/photos/40642599@N07/5417991468/"><img src="https://farm6.static.flickr.com/5299/5417991468_29633e28ee_m.jpg" alt="flickr:5417991468" class="image" /></a> <a href="https://www.flickr.com/photos/40642599@N07/5417384515/"><img src="https://farm6.static.flickr.com/5259/5417384515_8b3e0c5871_m.jpg" alt="flickr:5417384515" class="image" /></a> <a href="https://www.flickr.com/photos/40642599@N07/5417991520/"><img src="https://farm6.static.flickr.com/5091/5417991520_f50962a074_m.jpg" alt="flickr:5417991520" class="image" /></a> <a href="https://www.flickr.com/photos/40642599@N07/5417384555/"><img src="https://farm6.static.flickr.com/5255/5417384555_12ca758a8c_m.jpg" alt="flickr:5417384555" class="image" /></a> <p>Was produced from the following script (this is the base assembly of the mini-CNC):</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-reserved">def</span><span class="hl-code"> </span><span class="hl-identifier">base</span><span class="hl-code"> </span><span class="hl-identifier">base_front</span><span class="hl-code"> = </span><span class="hl-identifier">Assembly</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">Base front</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-identifier">base_front</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">Component</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">perforated-angle-12</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">rotate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,-</span><span class="hl-number">90</span><span class="hl-brackets">])</span><span class="hl-code">.</span><span class="hl-identifier">translate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,-</span><span class="hl-number">2</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">base_front</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">Component</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">perforated-angle-4</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">rotate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">90</span><span class="hl-code">,-</span><span class="hl-number">90</span><span class="hl-brackets">])</span><span class="hl-code">.</span><span class="hl-identifier">translate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">base_front</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">Component</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">perforated-angle-4</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">rotate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">90</span><span class="hl-code">,-</span><span class="hl-number">90</span><span class="hl-brackets">])</span><span class="hl-code">.</span><span class="hl-identifier">translate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">7</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">base_front</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">Component</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">perforated-angle-2</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">rotate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">90</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">180</span><span class="hl-brackets">])</span><span class="hl-code">.</span><span class="hl-identifier">translate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">4</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,-</span><span class="hl-number">2</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">base_front</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">Component</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">perforated-angle-2</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">rotate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">90</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">90</span><span class="hl-brackets">])</span><span class="hl-code">.</span><span class="hl-identifier">translate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">8</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,-</span><span class="hl-number">2</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">base_front</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">Component</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">perforated-angle-2</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">rotate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">90</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">90</span><span class="hl-brackets">])</span><span class="hl-code">.</span><span class="hl-identifier">translate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">4</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,-</span><span class="hl-number">1</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">base_front</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">Component</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">perforated-angle-2</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">rotate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">90</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">180</span><span class="hl-brackets">])</span><span class="hl-code">.</span><span class="hl-identifier">translate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">8</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,-</span><span class="hl-number">1</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">base_front</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">Component</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">perforated-angle-2</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">rotate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">0</span><span class="hl-code">,-</span><span class="hl-number">90</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-brackets">])</span><span class="hl-code">.</span><span class="hl-identifier">translate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">4</span><span class="hl-code">,-</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">base_front</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">Component</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">perforated-angle-2</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">rotate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-brackets">])</span><span class="hl-code">.</span><span class="hl-identifier">translate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">8</span><span class="hl-code">,-</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">base_front</span><span class="hl-code">.</span><span class="hl-identifier">screenshot</span><span class="hl-code"> </span><span class="hl-identifier">base_back</span><span class="hl-code"> = </span><span class="hl-identifier">Assembly</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">Base back</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-identifier">base_back</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">Component</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">perforated-angle-12</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">rotate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">180</span><span class="hl-code">,-</span><span class="hl-number">90</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">base_back</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">Component</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">perforated-angle-3</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">rotate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">0</span><span class="hl-code">,-</span><span class="hl-number">90</span><span class="hl-code">,-</span><span class="hl-number">90</span><span class="hl-brackets">])</span><span class="hl-code">.</span><span class="hl-identifier">translate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,-</span><span class="hl-number">2</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">base_back</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">Component</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">perforated-angle-3</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">rotate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">0</span><span class="hl-code">,-</span><span class="hl-number">90</span><span class="hl-code">,-</span><span class="hl-number">90</span><span class="hl-brackets">])</span><span class="hl-code">.</span><span class="hl-identifier">translate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">9</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,-</span><span class="hl-number">2</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">base_back</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">Component</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">perforated-angle-2</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">rotate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">90</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,-</span><span class="hl-number">90</span><span class="hl-brackets">])</span><span class="hl-code">.</span><span class="hl-identifier">translate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">3</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,-</span><span class="hl-number">2</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">base_back</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">Component</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">perforated-angle-2</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">rotate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">90</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-brackets">])</span><span class="hl-code">.</span><span class="hl-identifier">translate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">9</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,-</span><span class="hl-number">2</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">base_back</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">Component</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">perforated-angle-2</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">rotate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">90</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-brackets">])</span><span class="hl-code">.</span><span class="hl-identifier">translate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">4</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,-</span><span class="hl-number">1</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">base_back</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">Component</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">perforated-angle-2</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">rotate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">90</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,-</span><span class="hl-number">90</span><span class="hl-brackets">])</span><span class="hl-code">.</span><span class="hl-identifier">translate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">8</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,-</span><span class="hl-number">1</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">base_back</span><span class="hl-code">.</span><span class="hl-identifier">screenshot</span><span class="hl-brackets">(</span><span class="hl-identifier">camera</span><span class="hl-code"> = </span><span class="hl-number">1</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-identifier">base</span><span class="hl-code"> = </span><span class="hl-identifier">Assembly</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">Base</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-identifier">base</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">base_back</span><span class="hl-code">.</span><span class="hl-identifier">rotate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">180</span><span class="hl-brackets">])</span><span class="hl-code">.</span><span class="hl-identifier">translate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">12</span><span class="hl-code">,</span><span class="hl-number">18</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">base</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">Component</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">perforated-angle-18</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">translate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">base</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">Component</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">perforated-angle-18</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">.</span><span class="hl-identifier">rotate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">0</span><span class="hl-code">,-</span><span class="hl-number">90</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-brackets">])</span><span class="hl-code">.</span><span class="hl-identifier">translate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">11</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">base</span><span class="hl-code">.</span><span class="hl-identifier">screenshot</span><span class="hl-code"> </span><span class="hl-identifier">base</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">base_front</span><span class="hl-code">.</span><span class="hl-identifier">rotate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">180</span><span class="hl-brackets">])</span><span class="hl-code">.</span><span class="hl-identifier">translate</span><span class="hl-code">!</span><span class="hl-brackets">([</span><span class="hl-number">12</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">base</span><span class="hl-code">.</span><span class="hl-identifier">screenshot</span><span class="hl-code"> </span><span class="hl-reserved">end</span><span class="hl-code"> </span><span class="hl-comment"># Create top level assembly</span><span class="hl-code"> </span><span class="hl-identifier">contraption</span><span class="hl-code"> = </span><span class="hl-identifier">Assembly</span><span class="hl-code">.</span><span class="hl-identifier">new</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">mini-CNC</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-comment"># Set up extra cameras - they are shared among all instances of Assembly class</span><span class="hl-code"> </span><span class="hl-identifier">contraption</span><span class="hl-code">.</span><span class="hl-identifier">set_camera</span><span class="hl-brackets">(</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-brackets">[</span><span class="hl-code">-</span><span class="hl-number">30</span><span class="hl-code">,-</span><span class="hl-number">30</span><span class="hl-code">,</span><span class="hl-number">30</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-identifier">contraption</span><span class="hl-code">.</span><span class="hl-identifier">set_camera</span><span class="hl-brackets">(</span><span class="hl-number">2</span><span class="hl-code">,</span><span class="hl-brackets">[</span><span class="hl-number">30</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-brackets">])</span><span class="hl-code"> </span><span class="hl-comment"># Add subassemblies to the top level assembly</span><span class="hl-code"> </span><span class="hl-identifier">contraption</span><span class="hl-code"> &lt;&lt; </span><span class="hl-identifier">base</span><span class="hl-code"> </span><span class="hl-comment"># Take a final screenshot using default camera</span><span class="hl-code"> </span><span class="hl-identifier">contraption</span><span class="hl-code">.</span><span class="hl-identifier">screenshot</span></pre></div> </div> <p>The images are not in color yet, but it should be easy to add. Also, there are no fasteners - while they can be added via Component.new() - just like any other component in the library, this would probably make the script too bulky. Trying to figure out if there is a way to make them go to where they should be with minimum commands.</p> <p>The plugin is attached (unzip in Plugins folder, restart Sketchup): <a href="http://www.contraptor.org/local--files/forum:thread/AIG.zip">http://www.contraptor.org/local--files/forum:thread/AIG.zip</a><br /> The folder $SketchupHome\Components\Contraptor should contain SKP files with Contraptor components in order for plugin to work - alternatively, change component library path in assembly.rb and use arbitrary components.</p> <p>Finally, there is no error handling and the code is a bit kludgy, but it works for me on Sketchup 8/WinXP</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-303506</guid>
				<title>[Metric] Contrapteur : alpha angle</title>
				<link>http://contraptor.wikidot.com/forum/t-303506/metric-contrapteur:alpha-angle</link>
				<description></description>
				<pubDate>Fri, 28 Jan 2011 20:19:24 +0000</pubDate>
				<wikidot:authorName>arthurwolf</wikidot:authorName>				<wikidot:authorUserId>471107</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Today was the big day :&nbsp;the package for the Contrapteur angle arrived !</p> <a href="https://www.flickr.com/photos/arthurwolf/5396403162/"><img src="https://farm5.static.flickr.com/4099/5396403162_340e9ef044.jpg" alt="flickr:5396403162" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5396403164/"><img src="https://farm6.static.flickr.com/5098/5396403164_1f85c61073.jpg" alt="flickr:5396403164" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5396403170/"><img src="https://farm5.static.flickr.com/4092/5396403170_b4e78979dc.jpg" alt="flickr:5396403170" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5396403172/"><img src="https://farm5.static.flickr.com/4074/5396403172_4fefe1a824.jpg" alt="flickr:5396403172" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5396403178/"><img src="https://farm5.static.flickr.com/4147/5396403178_2877beb8b3.jpg" alt="flickr:5396403178" class="image" /></a> <p>Ok so end of the suspense, to summarize : it's good, <strong>it works !</strong> ( but it's not perfect ).<br /> All dimensions are good, except for the centering of the holes, that is a very very small bit off ( 0.2mm or maybe less in the direction of the inside &#8230; ) but when using the angles, it works ( maybe the fact that the bolts are not exactly 5mm helps ).<br /> The angles are a bit &quot;dirty&quot;, but they look super good once cleaned with water and soap.<br /> Also, they are deburred only on one side, but the other one is clean so that's ok.<br /> They weight less than the contraptor angles obviously, that feels better when building, but it's subjective.</p> <a href="https://www.flickr.com/photos/arthurwolf/5395826519/"><img src="https://farm5.static.flickr.com/4138/5395826519_8f4f32054d.jpg" alt="flickr:5395826519" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5395826521/"><img src="https://farm5.static.flickr.com/4137/5395826521_63f2ba7ebb.jpg" alt="flickr:5395826521" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5395826527/"><img src="https://farm5.static.flickr.com/4151/5395826527_36a57160ba.jpg" alt="flickr:5395826527" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5395826531/"><img src="https://farm6.static.flickr.com/5095/5395826531_6c7b4cc485.jpg" alt="flickr:5395826531" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5395826535/"><img src="https://farm6.static.flickr.com/5257/5395826535_dc987a6ee7.jpg" alt="flickr:5395826535" class="image" /></a> <p>The small problem with centering scared me a bit so I decided to try it and build something with it, you should recognize it :) :</p> <a href="https://www.flickr.com/photos/arthurwolf/5396403184/"><img src="https://farm5.static.flickr.com/4082/5396403184_863265dc3c.jpg" alt="flickr:5396403184" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5395826513/"><img src="https://farm5.static.flickr.com/4102/5395826513_cf7be41b7d.jpg" alt="flickr:5395826513" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5395834295/"><img src="https://farm5.static.flickr.com/4093/5395834295_20fc289ecc.jpg" alt="flickr:5395834295" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5395834303/"><img src="https://farm5.static.flickr.com/4083/5395834303_fed62d294d.jpg" alt="flickr:5395834303" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5395834307/"><img src="https://farm6.static.flickr.com/5056/5395834307_e61deb7358.jpg" alt="flickr:5395834307" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5395834313/"><img src="https://farm6.static.flickr.com/5219/5395834313_b0e6f0472c.jpg" alt="flickr:5395834313" class="image" /></a> <a href="https://www.flickr.com/photos/arthurwolf/5395834315/"><img src="https://farm5.static.flickr.com/4135/5395834315_339005f034.jpg" alt="flickr:5395834315" class="image" /></a> <p>I didn't have the exact angle length for the present plans of the contrapteur mini-cnc, so I used lengths that were close &#8230;<br /> The screws are the shorter they had at the hardware store ( 15mm ), it needs even shorter screws ( 8mm would be good ).<br /> The machine feels very stiff, and the fact that the screws all fit perfectly makes building it very very easy : everything just stays wherever you put it :)<br /> Small problem :&nbsp;due to the light weight , lack of control when using a big electric screwdriver sent the machine flying to the other side of the room, hurt my arm a lot &#8230; will be more cautious next time.</p> <p>When ordering more, I'll have to ask for the holes to be better centered &#8230; maybe define a set of tests/shapes for the angles to be sure before shipping.<br /> With the holes better centered, it would really be perfect.</p> <p>That's all for today !<br /> Super happy !</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-302666</guid>
				<title>Arduino + Pololu alternative to Makerbot driver</title>
				<link>http://contraptor.wikidot.com/forum/t-302666/arduino-pololu-alternative-to-makerbot-driver</link>
				<description></description>
				<pubDate>Wed, 26 Jan 2011 01:02:30 +0000</pubDate>
				<wikidot:authorName>jimjiminyjimjim</wikidot:authorName>				<wikidot:authorUserId>689269</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I was just wandering whether I could use an alternative to the Makerbot driver. I've been following the Contraptor instructions and getting the necessary equipment to start experimenting with the stepper motors and GCode.</p> <p>All the Makerbot drivers seem to be out of stock as I think they've upgraded their electronics. Can I just buy Pololu driver boards and plug straight to an Arduino Mega - will the Arduino Gcode interpreter work with this setup?</p> <p>Are there any other alternative boards people have been using successfully?</p> <p>As an alternative I have been recommended swapping the arduino firmware and makerbot with replicatorg and a RAMP setup - can anyone shed any light about this?</p> <p>I'm new to this and any help would be much appreciated.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-298126</guid>
				<title>GCODE!!!!</title>
				<link>http://contraptor.wikidot.com/forum/t-298126/gcode</link>
				<description></description>
				<pubDate>Thu, 13 Jan 2011 08:45:24 +0000</pubDate>
				<wikidot:authorName>halejandro</wikidot:authorName>				<wikidot:authorUserId>675253</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p><strong>bold text</strong> WHAT`S THE BEST HOST SOFTWARE TO SEND COMMANDS TO ARDUINO GCODE INTERPRETER ??????????????</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-296218</guid>
				<title>[Metric] Contrapteur : wall drawer</title>
				<link>http://contraptor.wikidot.com/forum/t-296218/metric-contrapteur:wall-drawer</link>
				<description></description>
				<pubDate>Thu, 06 Jan 2011 21:02:24 +0000</pubDate>
				<wikidot:authorName>arthurwolf</wikidot:authorName>				<wikidot:authorUserId>471107</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Teaser : The angle samples will probably be shipped soon, and are expected to arrive around the beginning of February, so IRL making will start happening then.</p> <p>Here is a new project for contrapteur : the wall drawer.<br /> Nothing new, you can find similar projects <a href="http://www.kickstarter.com/projects/notever/the-drawing-machine?play=1&amp;ref=search">here</a>, <a href="http://www.as220.org/labs/blog/drawbot/">here</a>, <a href="http://hektor.ch/">here</a> and <a href="http://muralizer.com/">here</a>.</p> <p>Basically, it is a small robot, suspended by strings, that rolls the strings to move, and doing so, draw ( on a wall ).</p> <p>It is still at the draft stage, but the main ideas are here.</p> <p>Main eccentricities of this design :</p> <ul> <li>Uses belt and pulleys instead of strings. More expensive, but more reliable and precise.</li> <li>Has motors on-board, adds weight, makes it less giggly.</li> <li>Will use software calculation to maintain the robot aligned with the horizon.</li> </ul> <p>To get an idea of how it works here is a picture of the back ( part that faces the wall ) :</p> <a href="https://www.flickr.com/photos/arthurwolf/5330629575/"><img src="https://farm6.static.flickr.com/5086/5330629575_fa4dd83b49_z.jpg" alt="flickr:5330629575" class="image" /></a> <p>Basically, the motors turn the pulleys, the pulleys push/pull the belt, and that makes the robot move. As simple as that. You actually need cosine things in the software to have Cartesian coordinates/movement, that's probably the most difficult part of the project.<br /> At the top you can see the pen, attached to a servo. The servo is for not-drawing when not necessary, or even for controlling depth if you use a brush, or brush-pen.<br /> Not featured here, the contact between the robot and the wall ( other than the pen ) will be handled by <a href="http://www.mcmaster.com/#roller-balls/=ah5g2q">roller balls</a>.</p> <p>A&nbsp;picture of the top :</p> <a href="https://www.flickr.com/photos/arthurwolf/5330631645/"><img src="https://farm6.static.flickr.com/5248/5330631645_59aeea0d9e_z.jpg" alt="flickr:5330631645" class="image" /></a> <p>You can see the motors, arduino and servo. Missing are the arduino shield with pololu drivers on it.</p> <p>Design challenges :</p> <ul> <li>Figure out if this can work</li> <li>Design a contrapteur part for the roller balls</li> <li>Find how to attach the servo to contrapteur &#8230; maybe via a lasercut part.</li> <li>Find how to attach the pen to the servo. Lasercut or 3D printed part. Or something dirty at first.</li> <li>The software is the real challenge. Must understand Gcode, like the mini-cnc, but moves nothing like it.</li> </ul> <p>Apart from that it all seems fairly easy.<br /> I'll continue to refine the design, and when the contrapteur sample parts arrive, assemble it and test it &#8230; it should be a quick build.</p> <p>Note : This took 15&nbsp;minutes to design, contraptor really rules !<br /> Should be easy to do in ( inch ) contraptor too.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-295481</guid>
				<title>[Metric] Contrapteur : lasercut templates</title>
				<link>http://contraptor.wikidot.com/forum/t-295481/metric-contrapteur:lasercut-templates</link>
				<description></description>
				<pubDate>Mon, 03 Jan 2011 19:22:26 +0000</pubDate>
				<wikidot:authorName>arthurwolf</wikidot:authorName>				<wikidot:authorUserId>471107</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>The contrapteur mini-cnc project makes good progress.<br /> The lasercut parts need testing, so I'll have a bunch made at ponoko.<br /> The parts were designed for 2mm thick material, but it turns out ponoko has most of it's materials in 3mm thickness, so it's limited to a few materials ( wood, clear acrylic ).<br /> I'll order one of each and see what is better.</p> Here is the first draft of the template :<br /> <a href="https://www.flickr.com/photos/arthurwolf/5320422095/"><img src="https://farm6.static.flickr.com/5009/5320422095_15930bce1a.jpg" alt="flickr:5320422095" class="image" /></a> <p>It includes :</p> <ul> <li>18 ball bearing holders</li> <li>8&nbsp;lead nut mounts</li> <li>8 lead nut mounts for sliding element</li> <li>Templates for punching the angle</li> <li>Templates for punching the 40mm square tube</li> <li>Templates for punching the motor mount and cutting the rubber dampers</li> </ul> <p>It will include :</p> <ul> <li>Design tests for lasercut motor mounts ( inspired by <a href="http://www.flickr.com/photos/rileyporter/4058823079/in/set-72157622475596037/">riley's</a> )</li> <li>Templates for punching the sliding elements, linear rail stage, etc &#8230; they are still at the design stage, not sure about where all the holes will be.</li> </ul> <p>Any idea of usefull stuff that could be added in the white space that helps when doing contraptor ?</p> <p>Edit : Optimism FAIL, it's way more costly than thought at first, forgetting about ordering two materials.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-293577</guid>
				<title>[Metric] Contrapteur : mini-cnc project</title>
				<link>http://contraptor.wikidot.com/forum/t-293577/metric-contrapteur:mini-cnc-project</link>
				<description>Making a mini-cnc out of 20mm based contraptor clone</description>
				<pubDate>Wed, 22 Dec 2010 18:09:27 +0000</pubDate>
				<wikidot:authorName>arthurwolf</wikidot:authorName>				<wikidot:authorUserId>471107</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hello !</p> <p>This will be the thread for the <a href="http://www.contraptor.org/forum/t-273404/contraptor-openstructures">contrapteur</a> mini-cnc project.<br /> The goal is to make a complete replica of the mini-cnc, but using metric parts.<br /> The good thing about the mini-cnc is that it uses all contraptor parts, so translating it's part is basically translating contraptor.</p> <p>So to start, we need a frame with about the same dimensions as the contraptor mini-cnc.<br /> Here bellow is a draft, conversion has been made the following way :</p> <ul> <li>For short parts, use parts with the same number of holes.</li> <li>For long parts, use parts about the same length.</li> </ul> Picture :<br /> <a href="https://www.flickr.com/photos/arthurwolf/5282914519/"><img src="https://farm6.static.flickr.com/5122/5282914519_bf8009f2a9_z.jpg" alt="flickr:5282914519" class="image" /></a> <p>It ends up looking very much alike.<br /> Some things may need to be changed once we start adding the moving parts, we'll see then.</p> <p>So now that there is a frame ( in sketchup ), what is needed next ?</p> <ul> <li><a href="http://www.contraptor.org/make-sliding-elements">Sliding elements</a> : design already started in the <a href="http://www.contraptor.org/forum/t-273404/contraptor-openstructures">big-cnc project</a>, raw aluminium square tube easily available.</li> <li><a href="http://www.contraptor.org/make-linear-bearings">Linear bearings</a> : TBD, main problem is here is that aluminium channel is hard to find. Could be made by shortening U profile legs.</li> <li><a href="http://www.contraptor.org/make-linear-rail">Linear rails</a> :&nbsp;design started in sketchup, same problem with aluminium channel.</li> <li><a href="http://www.contraptor.org/make-coupling-nut-clamp">Coupling nut clamp</a> and <a href="http://www.contraptor.org/make-lead-nut-mount">Lead nut mount</a> :&nbsp;TBD</li> <li><a href="http://www.contraptor.org/make-shaft-mount">Shaft mount</a> : easy, will be made with laser cut holders, see <a href="http://www.contraptor.org/forum/t-292919/ball-bearing-mount-idea">discution</a></li> <li><a href="http://www.contraptor.org/make-belt-clamp">Belt clamp</a> : easy too.</li> <li><a href="http://www.contraptor.org/make-motor-mount">Motor mount</a> : design already started in the <a href="http://www.contraptor.org/forum/t-273404/contraptor-openstructures">big-cnc project</a>, from square tube cut in half, with rubber vibration isolation.</li> <li><a href="http://www.contraptor.org/mini-cnc-subset">The rest ( parts column )</a> : TBD, but lots of progress already done for the <a href="http://www.contraptor.org/forum/t-273404/contraptor-openstructures">big-cnc project</a></li> </ul> Picture of a first draft :<br /> <a href="https://www.flickr.com/photos/arthurwolf/5284198802/"><img src="https://farm6.static.flickr.com/5243/5284198802_5b4696435d.jpg" alt="flickr:5284198802" class="image" /></a> <p>Documentation :&nbsp;</p> <ul> <li>Wiki page ( under <a href="http://www.contraptor.org/metric-version-development">Metric version</a> )</li> <li>Sketchup file to be uploaded to 3D warehouse</li> <li>Build log with pictures</li> <li>Trying to document it as well as the original mini-cnc</li> </ul> <p>Any comments/advice is super welcome !</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-292956</guid>
				<title>Mini CNC with modified Z axis</title>
				<link>http://contraptor.wikidot.com/forum/t-292956/mini-cnc-with-modified-z-axis</link>
				<description></description>
				<pubDate>Sun, 19 Dec 2010 07:08:26 +0000</pubDate>
				<wikidot:authorName>Albanetc</wikidot:authorName>				<wikidot:authorUserId>381022</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Over the last 2-3 weeks I spent a few hours here and there on validating the assembly sequence for mini CNC (<a href="http://www.contraptor.org/mini-cnc#assembly">http://www.contraptor.org/mini-cnc#assembly</a>) and looking for spots in the alignment process that could use more documentation. One of such spots is the leadscrew alignment - I found that following a few simple rules and knowing how things might go wrong can really shorten the time it takes to get the leadscrew drive working. I will need to write it up in detail but here is the draft: <a href="http://www.contraptor.org/leadscrew-alignment">http://www.contraptor.org/leadscrew-alignment</a></p> <p>When I started Z-axis assembly, it became clear that the design wouldn't allow to easily perform the leadscrew alignment steps, so I ended up modifying Z-axis to accommodate that. By the way, one of the advantages of construction sets is that a new version of an assembled device doesn't require time/expense of making/buying modified parts, as the case may be with a traditional kit. I simply rearranged the existing parts - construction set is more like software in that sense.</p> <p>Here is the new Z-axis:</p> <a href="https://www.flickr.com/photos/40642599@N07/5260132260/"><img src="https://farm6.static.flickr.com/5002/5260132260_fc5ee86bcd_m.jpg" alt="flickr:5260132260" class="image" /></a> <a href="https://www.flickr.com/photos/40642599@N07/5267579659/"><img src="https://farm6.static.flickr.com/5087/5267579659_59d72bde5b_m.jpg" alt="flickr:5267579659" class="image" /></a> <p>The design allows to assemble and align each of the rails independently.</p> <a href="https://www.flickr.com/photos/40642599@N07/5216669235/"><img src="https://farm5.static.flickr.com/4089/5216669235_7cc1ba59bc_m.jpg" alt="flickr:5216669235" class="image" /></a> <a href="https://www.flickr.com/photos/40642599@N07/5216671211/"><img src="https://farm5.static.flickr.com/4133/5216671211_34495336ab_m.jpg" alt="flickr:5216671211" class="image" /></a> <p>It also provides more Z axis travel - almost 3&quot; (measured without Dremel). This may be useful for some of the attachments such as drill chuck.</p> <a href="https://www.flickr.com/photos/40642599@N07/5259527325/"><img src="https://farm6.static.flickr.com/5202/5259527325_90cbb9f8ae_m.jpg" alt="flickr:5259527325" class="image" /></a> <a href="https://www.flickr.com/photos/40642599@N07/5259533199/"><img src="https://farm6.static.flickr.com/5043/5259533199_026ddc903d_m.jpg" alt="flickr:5259533199" class="image" /></a> <p>The first tests went well, but when I replaced 6&quot; flat plexi bracket on the rear of X stage with AL angle to enable grounding of the limit switches, I ran into um.. a runtime error when the X stage rear angle crashed into one of the stepper driver heatsinks with Z raised all the way up. I didn't really <em>crash</em>, X stage just kept going, getting more and more skewed as the top was blocked and the bottom continued to move.</p> <a href="https://www.flickr.com/photos/40642599@N07/5260135830/"><img src="https://farm6.static.flickr.com/5009/5260135830_17a962e3b0_m.jpg" alt="flickr:5260135830" class="image" /></a> <a href="https://www.flickr.com/photos/40642599@N07/5260141998/"><img src="https://farm6.static.flickr.com/5245/5260141998_16f9125575_m.jpg" alt="flickr:5260141998" class="image" /></a> <p>So now I have to remove the entire X axis and (mostly) re-assemble and re-align it from scratch. However this means I can take care of another narrow assembly spot - securing X axis to Z stage. It's somewhat difficult with the wrench and using hex socket is almost impossible. There is no reason why the flat screw/nut at the end of the linear rail can't be removed/moved 1&quot; inward - that way it won't interfere with the hex socket.</p> <a href="https://www.flickr.com/photos/40642599@N07/5259530467/"><img src="https://farm6.static.flickr.com/5210/5259530467_aa96a552e8_m.jpg" alt="flickr:5259530467" class="image" /></a> <a href="https://www.flickr.com/photos/40642599@N07/5259530973/"><img src="https://farm6.static.flickr.com/5169/5259530973_3726ab78f0_m.jpg" alt="flickr:5259530973" class="image" /></a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-292919</guid>
				<title>Ball bearing mount idea</title>
				<link>http://contraptor.wikidot.com/forum/t-292919/ball-bearing-mount-idea</link>
				<description></description>
				<pubDate>Sun, 19 Dec 2010 00:34:56 +0000</pubDate>
				<wikidot:authorName>arthurwolf</wikidot:authorName>				<wikidot:authorUserId>471107</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hello.</p> <p>I'd like opinions on this idea for a ball bearing mount.<br /> I really like the simplicity of the one in the contraptor set, but in my mini-cnc when building they popped off very often.<br /> Also the bearing I will get for the big-cnc project do not have edges that sharp/square, they are a bit rounded so that will make it more difficult to stay in place with that technique.</p> <p>My current idea is to entirely surround the ball bearing.<br /> This only needs two small pieces of aluminium ( or maybe some lasercut plastic, maybe cheaper and/or simpler ) with a hole the size of the ball bearing, and smaller holes for screws.<br /> And then the angle is drilled the same way, but with a bit smaller diameter for the ball bearing hole, which makes the ball bearing hold.</p> Picture :<br /> <a href="https://www.flickr.com/photos/arthurwolf/5272677058/"><img src="https://farm6.static.flickr.com/5285/5272677058_ed60cfb957_z.jpg" alt="flickr:5272677058" class="image" /></a> <p>What do you think ?</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-291878</guid>
				<title>Contraptor Mini-CNC with EMC2</title>
				<link>http://contraptor.wikidot.com/forum/t-291878/contraptor-mini-cnc-with-emc2</link>
				<description>Lot of control over a Mini-CNC with EMC2</description>
				<pubDate>Tue, 14 Dec 2010 23:05:07 +0000</pubDate>
				<wikidot:authorName>gatonero</wikidot:authorName>				<wikidot:authorUserId>406275</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Today I got my Contraptor Mini-CNC Mill running with <a href="http://www.linuxcnc.org/" target="_blank">EMC / LinuxCNC</a></p> <a href="https://www.flickr.com/photos/mantao05/5262113666/"><img src="https://farm6.static.flickr.com/5083/5262113666_7bea31b315.jpg" alt="flickr:5262113666" class="image" /></a> <p>This software is very sophisticated and gives a lot of control and possibilities to run a mill.</p> <p>No Arduino is necessary for this, but a parallel port.</p> <p>What I have done is discussed in the <a href="http://www.linuxcnc.org/component/option,com_kunena/Itemid,20/func,view/id,5654/catid,16/limit,6/limitstart,0/lang,english/" target="_blank">LinuxCNC forum</a></p> <p>To get running this, I made a Reprap Stepper Motor Driver v1.2 parallel port adapter with <a href="http://kicad.sourceforge.net/wiki/index.php/Main_Page" target="_blank">KiCad</a>.</p> <a href="https://www.flickr.com/photos/mantao05/5261514513/"><img src="https://farm6.static.flickr.com/5210/5261514513_f0ea2d10fa.jpg" alt="flickr:5261514513" class="image" /></a> <p>As soon as possible I will describe it in detail and will attach all files.</p> <p>Christoph</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-291261</guid>
				<title>Contraptor Firmware With XY, XZ, &amp; YZ arcs</title>
				<link>http://contraptor.wikidot.com/forum/t-291261/contraptor-firmware-with-xy-xz-yz-arcs</link>
				<description></description>
				<pubDate>Mon, 13 Dec 2010 00:12:57 +0000</pubDate>
				<wikidot:authorName>MMarz</wikidot:authorName>				<wikidot:authorUserId>632172</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p><strong>Warning! I have not extensively tested this code. Do not leave your machine unattended while it is running. Let me know if you find any bugs. I take no responsibility for any damage that occurs from using this code.</strong></p> <p>I've modified the Contraptor firmware to include XZ and YZ arcs. The way I implemented this was by creating dummy indices I_Axis, J_Axis, &amp; K_axis. I-J is the plane that the arc resides in and K is always normal to it. So for XY arcs I = X, J = Y, &amp; K = Z. For XZ, I = X, J = Z, &amp; K = Y. Since the code originally only acted on the XY plane, I made it act on the new generic I-J plane. The way I set it up, the code will behave identically to the original unless you provide it with the g-codes G18 or G19. G18 = XZ plan. G19 = YZ plane. Although I did add a small fix to the way feedrates were handled after a change in the unit system. The original code would not change the units for the feedrate properly if an arc move immediately followed the unit change command.</p> <p>The syntax for arc moves goes like this:</p> <div class="code"> <pre><code>G90 G20 G17 G1 X0.0 Y0.0 Z0.0 G3 X0.5 Y-0.5 I0.5 J0.0 G18 G1 X0.0 Y0.0 Z0.0 G3 X0.5 Z-0.5 I0.5 K0.0 G19 G1 X0.0 Y0.0 Z0.0 G3 Y0.5 Z-0.5 J0.5 K0.0</code></pre></div> <p>That should draw the same quarter circle in all three planes. If you wanted to draw a helix, you can use the following command:</p> <div class="code"> <pre><code>G90 G20 G18 G1 X0.0 Y0.0 Z0.0 G3 X0.5 Z-0.5 I0.5 K0.0 Y1.0</code></pre></div> <p>G17 = XY plane, G18 = XZ plane, G19 = YZ plane.</p> <p><strong>Other bonuses in this code include:</strong><br /> -<a href="http://www.contraptor.org/forum/t-275140/reprap-new-firmware-1-16-microstepping-trouble#post-897494">arthurwolf microstepping fix</a> (I haven't tested this but he seems to know what he is doing)<br /> -<a href="http://www.contraptor.org/forum/t-192541/mini-cnc-case-study#post-749373">Albanetc's arc fix</a><br /> -Added M2, M3, M5 and M30 codes for starting and stopping your cutting head. Use TOOL_HEAD_PIN in _init to select which pin that will act on. Set it to -1 if you don't want to use it.<br /> -Added manual controls:</p> <ol> <li>-START_PAUSE pin is an analog pin connected to a pull down resistor and a high side switch. When switched to high, it exits all of the running code, and enters a while loop that allows you to jog the stage. The jogging isn't taken to account by the main program. So absolute positioning is not maintained. I used an analog pin for START_PAUSE, so that I can add other functions later.</li> <li>-TOOL_HEAD_SW_PIN will turn on the cutting head when the code is paused. If it is left high when you enter the paused loop, it must be toggled low and then high again to turn on the cutting head (safety feature).</li> <li>-HOLD_PIN will enable and disable all of the steppers. If it is left high when you enter the paused loop, it must be toggled low and then high again to turn on the steppers (safety feature).</li> <li>-MAX_MIN_PIN is an analog pin which all of the limit switches are connected to. A resistor ladder is used to differentiate between the limit switches. This is necessary when manually jogging if you want to back off of a limit switch. This also frees up more pins.</li> <li>-_LEFT_RIGHT are analog pins connected to pots to move the axis. 2.5V = no movement. 0V = fastest left. 5V = fastest right. All directions can be moved at once. I used an old gaming controller and wired the existing pots to my arduino.</li> </ol> <p>You can enable and disable the manual controls code by using MANUAL_ATTACH inside reprap_new_firmware_arc.pde. If you don't want the manual controls, set #define MANUAL_ATTACH 0 and the firmware should behave like the original.</p> <p>Here is the firmware: <a href="http://www.mediafire.com/?6756ivkwz7kk8ih">http://www.mediafire.com/?6756ivkwz7kk8ih</a></p> <p>(Small update: fixed an issue that caused the manual controls to not work.)</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-289349</guid>
				<title>Stepper motor driver problem</title>
				<link>http://contraptor.wikidot.com/forum/t-289349/stepper-motor-driver-problem</link>
				<description></description>
				<pubDate>Sat, 04 Dec 2010 08:19:06 +0000</pubDate>
				<wikidot:authorName>MMarz</wikidot:authorName>				<wikidot:authorUserId>632172</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I am having a very strange issue. I am using a similar layout as the RepRap Stepper Motor Driver 1.2 except that I am wiring it together on perfboard myself. So three driver boards in all attached to three stepper motors. When everything is connected except the X stepper motor, the machine works fine. The Y and Z axis move smoothly. If I then connect the X stepper to its driver board (when everything is off) and then turn on the machine, the X axis works but the Y and Z stop functioning. The Y and Z hiss and stutter and sometimes they even start moving uncontrollably in one direction. The Y and Z motors also get hot. They act as if they are being short circuited in terms of heat output. My circuit deviates from version 1.2 in that all three drivers share a single V-ref pot. Also, they all share a single oscillator. I tried wiring the oscillator to one of the L297's and then connecting their sync lines, but the issue stayed the same. Can anyone think of what might be causing this? I don't see how adding the load on the x-driver board can cause the other two to stop working correctly.</p> <p>To show you visually what is happening:</p> <p>Arduino<br /> {X-driver}<br /> {Y-driver}-{Y-stepper}<br /> {Z-driver}-{Z-stepper}<br /> (Y and Z function correctly)</p> <p>Arduino<br /> {X-driver}-{X-stepper}<br /> {Y-driver}-{Y-stepper}<br /> {Z-driver}-{Z-stepper}<br /> (Only X functions correctly)</p> <p>Also, if the X stepper motor is attached, but I disable the X-driver using the L297 disable pin, then Y and Z works fine. I thought it might be a problem with my power supply. So I upgraded my power supply to one that had 3 times the calculated amperage, but the issue stayed the same. I know the motors are wired correctly because they all individually work. I only run into a problem when all of them are wired at once.</p> <p>Update: I tried replacing the L297 on the X driver but the problem remains. With X disabled, Y and Z function without hissing. With X enabled, strong hissing is heard and only X moves smoothly. I think my next step will be to try to replace the L298n on the X driver.</p> <p>Do you guys normally hear a hissing? I know the chopper is supposed to make a noise but when only Y and Z are enabled, I hear no hissing and they work perfectly.</p> <p>Update 2: <strong>Solved!!!</strong></p> <p>The problem had nothing to do with the X axis. I had combined all three stepper drives onto a single 3&quot; by 4&quot; board, and in doing so, I forgot to multiply the capacitor on the +5V line. When one of the steppers would stop at half a step, it would put a heavy load on the 5V side and the other chips would become unreliable (jitter, move, act crazy). I guess when I only had two motors enabled, the cap on the board could handle the load. I put a huge capacitor on the board and everything is running smoothly now. This is funny because I had assumed this was a problem with the 24V line. I already had a 4000uF cap on there and changed my power supply to a 24A one. I hope this helps someone else that runs into the same problem.</p> <p>Update 3: <strong>Solved Secondary Problem with Acrs</strong></p> <p>[<a href="http://www.contraptor.org/forum/t-192541/mini-cnc-case-study#post-749373">http://www.contraptor.org/forum/t-192541/mini-cnc-case-study#post-749373</a>]</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-287260</guid>
				<title>Gcode Sender Program</title>
				<link>http://contraptor.wikidot.com/forum/t-287260/gcode-sender-program</link>
				<description>I made a GUI for sending gcode to arduino based CNC machines.</description>
				<pubDate>Fri, 26 Nov 2010 18:46:00 +0000</pubDate>
				<wikidot:authorName>MMarz</wikidot:authorName>				<wikidot:authorUserId>632172</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I didn't actually make this GUI. It was part of the <a href="http://cpwebste.blogspot.com/2010/05/hydra-mmm-v14-finally-released.html">Hydra MMM project</a>. I changed it so that it works with any arduino based cnc project. It is a GUI that connects to your Arduino, and then sends a gcode file, line by line to it. It has a visual representation of the tool head to show you the progress. It also shows you what lines it has already sent and the replies back from the Arduino. The only requirements are that your Arduino executes &quot;println(&quot;start&quot;);&quot; in setup{} and then uses &quot;\n&quot; to distinguish between lines of Gcode, and then the Arduino must send an &quot;println(&quot;ok&quot;);&quot; after each command it executes. If the Arduino sends a &quot;huh&quot;, then that line will be skipped and the program will continue. If you use <a href="http://www.contraptor.org/arduino-gcode-interpreter">Chris Meighan's firmware</a>, you are good to go.</p> <p>The GUI is a Processing Sketch.<br /> You need to download the processing program <a href="http://processing.org/download/">here.</a><br /> Download the GUI sketch <a href="http://www.mediafire.com/?c3x163a90a9byex">here.</a></p> <p>Then run the processing.exe and open the GUI sketch, Gcode_Feeder_GUI.pde. Press the play button and the GUI pops up. The sketches have the same extension as Arduino sketches, so don't accidentally try to run the processing sketch with the Arduino IDE.</p> <p>To connect to the Arduino you can press &quot;connect&quot; and it will try every available port until it connects, or you can type in the com port and press enter. Example: &quot;COM19&quot; &lt;&#8212;The case matters.</p> <p>Let me know if you find any errors.</p> <p>This website has been a great help in my CNC build. Thanks for all of the information.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-286873</guid>
				<title>Iron ?</title>
				<link>http://contraptor.wikidot.com/forum/t-286873/iron</link>
				<description></description>
				<pubDate>Wed, 24 Nov 2010 21:40:44 +0000</pubDate>
				<wikidot:authorName>arthurwolf</wikidot:authorName>				<wikidot:authorUserId>471107</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>( sorry for the forum flood, I have time for contraptor these few days )<br /> What's the interrest of aluminium against other metals when choosing for something like contraptor ?</p> <p>I'm asking because I can get :</p> <ul> <li>1 meter of aluminium angle for 1,022 euros</li> <li>1 meter of cold rolled iron angle for 0,643 euros</li> </ul> <p>So the money concerns tell me to get iron, but something tells me aluminium was not choosen for nothing.<br /> What are the inconveniences and advantages of each and why was aluminium choosen for contraptor ?</p> <p>Thanks :)</p> <p>Edit : Also, in case this may be usefull to other metric folks, the website I'm planning to buy from ( delivers to France, Belgium and Netherlands ), it's the cheapest I found ( tell me if you find cheaper ) :&nbsp;<br /> The website is <a href="http://www.leboutte.be">leboutte.be</a><br /> Google translation : <a href="http://translate.google.fr/translate?js=n&amp;prev=_t&amp;hl=en&amp;ie=UTF-8&amp;layout=2&amp;eotf=1&amp;sl=auto&amp;tl=en&amp;u=http://www.leboutte.be/catalogue_FR_Metaux_aluminium.html&amp;act=url">Aluminium</a> and <a href="http://translate.google.fr/translate?hl=en&amp;sl=auto&amp;tl=en&amp;u=http://www.leboutte.be/catalogue_FR_Metaux_fer.html">Iron</a></p> <p>Edit 2: I just saw this : <a href="http://www.contraptor.org/forum/t-202736/">http://www.contraptor.org/forum/t-202736/</a> , gives me a short answer, but I'd still be curious to know a more.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-286763</guid>
				<title>Using the mini-cnc : needs documentation.</title>
				<link>http://contraptor.wikidot.com/forum/t-286763/using-the-mini-cnc:needs-documentation</link>
				<description></description>
				<pubDate>Wed, 24 Nov 2010 10:53:30 +0000</pubDate>
				<wikidot:authorName>arthurwolf</wikidot:authorName>				<wikidot:authorUserId>471107</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>So when you have finished building the mini-cnc and it's working, you have to generate gcode to use it.<br /> When you've never done it before, it's very hard to :&nbsp;<br /> - find tools that generate gcode<br /> - find documentation that makes sense<br /> - use them ( all of those I tried I gave up after an hour not understanding anything and not having generated any gcode, the interfaces and terms are very cryptic to me )</p> <p>Google did not give me any simple tutorial on anything, just bribes, and all suppose I already know a lot ( but maybe I&nbsp;also don't know what to look for ).</p> <p>Reprap has <a href="http://reprap.org/wiki/Mendel_User_Manual:_Host_Software">documentation</a> on how to use the reprap for 3d printing, but that's not of big use for everything else.</p> <p>Specifically what I'd like to learn how to do :&nbsp;<br /> - Drawing text ( <a href="http://www.timeguy.com/cradek/truetype">http://www.timeguy.com/cradek/truetype</a> produces gcode, but I don't get how to get the GUI, I just have CLI, and the gcode is filled with variables that need interpolation )<br /> - Drawing/Engraving circuit boards<br /> - Previewing the Gcode's effect before actually sending it to the machine ( something a bit like <a href="http://replicat.org/">http://replicat.org/</a> )<br /> - Carving 3D objects ( from Sketchup files ? :) )</p> <p>I'm sure there is a lot more to learn and a lot more to document also.<br /> Only basic info on how to get from 0 to a complete run for very simple cases ( with screenshots ) would help get on the train to learn further.</p> <p>Documentation on the contraptor site is very well done, but that part is missing ( in the Learn menu maybe ? ).<br /> This page has links : <a href="http://www.contraptor.org/motion-control">http://www.contraptor.org/motion-control</a>, I just saw cambam has <a href="http://www.cambam.info/vids/Introduction/">video</a> tutorials, going to look at them now.</p> <p>Just throwing an idea, I can't do it myself as I don't have the knowledge, and I&nbsp;think writing this documentation would take lots of work.</p> <p>Edit: spent a part of the day learning cambam, it' easier to get now that I have read the documentation, fills a lot of the gaps I'm asking here to fill, still, contraptor-centric documentation/introduction on it would be nice, maybe I can do it when I know more.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-284421</guid>
				<title>Easy first steps using contraptor</title>
				<link>http://contraptor.wikidot.com/forum/t-284421/easy-first-steps-using-contraptor</link>
				<description>I need some help for an easy startup routine</description>
				<pubDate>Sun, 14 Nov 2010 18:26:01 +0000</pubDate>
				<wikidot:authorName>Buqpa</wikidot:authorName>				<wikidot:authorUserId>620840</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hello everyone and thanks in advance,<br /> First of all, I am a very newbie on Arduino and Contraptor, and I feel a little like &quot;butter spread over too much bread&quot;<br /> I have a contraptor machine, just XY axis one. I want it to make circles from a list of XY points but I can not find how to do it smoothly.<br /> I'm trying reading the contraptor routines, but I feel pretty lost.<br /> What I am trying to do is, from a list of X and Y coordinates, make the plotter do lines from one point to the other, just that, but I would like both axis to move at the same time (or at least as much as possible). Can anybody suggest me some code to start and have a look?</p> <p>Best,<br /> Diego</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-275140</guid>
				<title>Reprap_new_firmware + 1/16 microstepping = trouble</title>
				<link>http://contraptor.wikidot.com/forum/t-275140/reprap-new-firmware-1-16-microstepping-trouble</link>
				<description></description>
				<pubDate>Wed, 13 Oct 2010 19:16:10 +0000</pubDate>
				<wikidot:authorName>arthurwolf</wikidot:authorName>				<wikidot:authorUserId>471107</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hello.</p> <p>So, I'm still trying to get my mini-cnc to work with the pololu steeper drivers and my sanguino.<br /> I have run into some trouble, all of which seeming to be related to the fact that I use 1/16 micro steeping.</p> <p>This leads me to values like :</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-prepro">#define</span><span class="hl-code"> </span><span class="hl-identifier">X_STEPS_PER_MM</span><span class="hl-code"> </span><span class="hl-number">2500</span><span class="hl-code"> </span><span class="hl-prepro">#define</span><span class="hl-code"> </span><span class="hl-identifier">X_MOTOR_STEPS</span><span class="hl-code"> </span><span class="hl-number">3200</span></pre></div> </div> <p>Which the firmware seems not to like.</p> <p>First problem I ran into was the firmware didn't do accelerations for feed-rates superior to 217&#160;mm/m ( went directly to full speed ).<br /> I'm not sure who writes this firmware so I'm posting this here, tell me if you know who to report this to.<br /> Fix is, in stepper_control.pde , replace :</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">next_move_ptr</span><span class="hl-code">-&gt;</span><span class="hl-identifier">steps_to_accelerate</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-types">int</span><span class="hl-brackets">)</span><span class="hl-identifier">floor</span><span class="hl-brackets">(</span><span class="hl-identifier">square</span><span class="hl-brackets">(</span><span class="hl-identifier">master_axis_feedrate</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-identifier">steps_per_unit</span><span class="hl-code"> / </span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-number">120</span><span class="hl-code"> * </span><span class="hl-identifier">units_based_constants</span><span class="hl-brackets">[</span><span class="hl-identifier">MAX_ACCEL</span><span class="hl-brackets">]</span><span class="hl-code"> </span><span class="hl-brackets">))</span><span class="hl-code">;</span></pre></div> </div> <br /> with: <div class="code"> <div class="hl-main"> <pre><span class="hl-identifier">next_move_ptr</span><span class="hl-code">-&gt;</span><span class="hl-identifier">steps_to_accelerate</span><span class="hl-code"> = </span><span class="hl-brackets">(</span><span class="hl-types">long</span><span class="hl-brackets">)</span><span class="hl-identifier">floor</span><span class="hl-brackets">(</span><span class="hl-identifier">square</span><span class="hl-brackets">(</span><span class="hl-identifier">master_axis_feedrate</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-identifier">steps_per_unit</span><span class="hl-code"> / </span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-number">120</span><span class="hl-code"> * </span><span class="hl-identifier">units_based_constants</span><span class="hl-brackets">[</span><span class="hl-identifier">MAX_ACCEL</span><span class="hl-brackets">]</span><span class="hl-code"> </span><span class="hl-brackets">))</span><span class="hl-code">;</span></pre></div> </div> <br /> Otherwise you get negative values for values bigger than int, and it skips acceleration. <p>The second problem is one I'm still stuck with :<br /> During acceleration, at higher feedrates, the motor stops working after accelerating for a while. Depending on values, it might start working again when maximam speed is reached, then stop working again during deceleration.<br /> I asked on pololu forums, where I was told it may be resonnance from the stepper, or a problem with the signals my microcontroller sends.<br /> I disconnected the stepper driver, and connected a speaker on the step pin instead : the problem is with the signal the step pin sends.<br /> I have read most of the code for this pin, and still can't find where the problem is.<br /> Here is the detail of the problem:</p> <p>I have added the following code just before the end of the pin interrupt loop thing ( OCR1A = timer1LoadValue; ) :</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-identifier">sequence_step_number</span><span class="hl-code"> % </span><span class="hl-number">100</span><span class="hl-code"> == </span><span class="hl-number">0</span><span class="hl-code"> </span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">Serial</span><span class="hl-code">.</span><span class="hl-identifier">print</span><span class="hl-brackets">(</span><span class="hl-identifier">millis</span><span class="hl-brackets">()</span><span class="hl-code">-</span><span class="hl-identifier">last_dump</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">Serial</span><span class="hl-code">.</span><span class="hl-identifier">print</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string"> </span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">Serial</span><span class="hl-code">.</span><span class="hl-identifier">print</span><span class="hl-brackets">(</span><span class="hl-identifier">sequence_step_number</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">Serial</span><span class="hl-code">.</span><span class="hl-identifier">print</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string"> </span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">Serial</span><span class="hl-code">.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-identifier">timer1LoadValue</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">last_dump</span><span class="hl-code"> = </span><span class="hl-identifier">millis</span><span class="hl-brackets">()</span><span class="hl-code">; </span><span class="hl-brackets">}</span></pre></div> </div> <p>Note :&nbsp;the problem exists even without this debug code, it's not causing it, it just adds a bass line to the sound from the speaker.<br /> So now every 100 steps I get the time it took to do that step, the step's number, and the duration we will wait untill sending the next step signal.<br /> I made a graph with the data :&nbsp;</p> <a href="https://www.flickr.com/photos/arthurwolf/5079202984/"><img src="https://farm5.static.flickr.com/4108/5079202984_b3b47b8ede.jpg" alt="flickr:5079202984" class="image" /></a> <p>X is step number, green Y&nbsp;is timer1LoadValue, and red Y is the time the step took ( it's supposed to be the same as the green one ).</p> <p>What it looks like is that when the timer1LoadValue variable gets near 255 and 127, the steps take a lot longer to iterate than they should.<br /> These two values don't seem random, but I&nbsp;don't find the problem in the code.</p> <p>Anybody has an idea ?</p> <p>Thanks a lot !<br /> ( will post this in the reprap forums in a few days if no answer here )</p> <p>EDIT :&nbsp;</p> <p>To get only the iterations that are too long, I put the following debug code :</p> <div class="code"> <div class="hl-main"> <pre><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-types">double</span><span class="hl-brackets">)(</span><span class="hl-identifier">micros</span><span class="hl-brackets">()</span><span class="hl-code">-</span><span class="hl-identifier">last_dump</span><span class="hl-brackets">)</span><span class="hl-code"> &gt; </span><span class="hl-number">30000</span><span class="hl-code"> </span><span class="hl-brackets">){</span><span class="hl-code"> </span><span class="hl-identifier">Serial</span><span class="hl-code">.</span><span class="hl-identifier">print</span><span class="hl-brackets">((</span><span class="hl-types">double</span><span class="hl-brackets">)(</span><span class="hl-identifier">micros</span><span class="hl-brackets">()</span><span class="hl-code">-</span><span class="hl-identifier">last_dump</span><span class="hl-brackets">))</span><span class="hl-code">; </span><span class="hl-identifier">Serial</span><span class="hl-code">.</span><span class="hl-identifier">print</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string"> </span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">Serial</span><span class="hl-code">.</span><span class="hl-identifier">print</span><span class="hl-brackets">(</span><span class="hl-identifier">sequence_step_number</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">Serial</span><span class="hl-code">.</span><span class="hl-identifier">print</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string"> </span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-identifier">Serial</span><span class="hl-code">.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-identifier">timer1LoadValue</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-brackets">}</span><span class="hl-code"> </span><span class="hl-identifier">last_dump</span><span class="hl-code"> = </span><span class="hl-identifier">micros</span><span class="hl-brackets">()</span><span class="hl-code">;</span></pre></div> </div> <p>Here is an example of the data this outputs :</p> <div class="code"> <pre><code>start 1775536.00 2 23432 ok 32876.00 13308 246 32876.00 13315 246 32876.00 13322 246 32876.00 13379 244 32876.00 13510 244 32872.00 14889 232 32876.00 14910 232 32876.00 14916 232 32876.00 14964 232 32876.00 14989 232 32876.00 15010 232 32876.00 15183 230 32876.00 15218 230 32880.00 15234 230 32876.00 15249 230 32876.00 15252 230 32876.00 15265 230 32876.00 15330 228 32876.00 15334 228 32872.00 15367 228 32876.00 15383 228 32876.00 15589 226 32876.00 15748 226 32884.00 15758 226 32884.00 15764 226 32876.00 15779 226 32876.00 15791 226 32888.00 15793 226 32876.00 15795 226 32876.00 15797 226 32876.00 15799 226 32876.00 15801 226 32876.00 15805 226 32876.00 15807 226 32888.00 15809 226 32876.00 15811 226 32876.00 15813 226 32876.00 15815 226 32876.00 15817 224 32876.00 15831 224 32876.00 15841 224 32876.00 15853 224 32876.00 15862 224 32884.00 15866 224 32876.00 15870 224 32888.00 15877 224 32876.00 15881 224 32876.00 15886 224 32876.00 15896 224 32884.00 15930 224 32872.00 15962 224 32876.00 16030 224 32876.00 16036 224 32872.00 16053 224 32876.00 16063 224 32872.00 16068 224 32876.00 16073 224 32876.00 16096 222 32876.00 16103 224 32876.00 16119 222 32876.00 16130 222 32876.00 16133 222 32884.00 16136 222 32876.00 16148 222 32884.00 16152 222 32876.00 16159 222 32892.00 16182 222 32888.00 57610 214 32872.00 57661 214 32872.00 57666 214 32872.00 57676 216 32872.00 57682 216 32872.00 57726 216 32872.00 57880 216 32872.00 57891 216 32872.00 57899 216 32872.00 57927 216 32880.00 57935 216 32872.00 57939 216 32872.00 57950 216 32868.00 57956 216 32872.00 57968 216 32872.00 57979 218 32872.00 57989 218 32868.00 57991 218 32872.00 57993 216 32872.00 58015 218 32872.00 58024 218 32872.00 58026 218 32872.00 58035 218 32872.00 58050 218 32872.00 58055 218 32872.00 58067 218 32868.00 58073 218 32884.00 58099 218 32892.00 58129 218 32884.00 58498 220 32876.00 58538 220 32876.00 58558 220 32872.00 58571 220 32872.00 58574 220 32872.00 58601 222 32872.00 58612 222 32876.00 58614 222 32872.00 58616 222 32872.00 58661 222 32872.00 58803 222 32884.00 58823 222 32876.00 58838 222 32872.00 58850 222 32872.00 58866 222 32876.00 58872 222 32872.00 58878 222 32872.00 58886 224 32876.00 58898 224 32872.00 58922 222 32876.00 58935 224 32876.00 58952 224 32872.00 58958 224 32872.00 58973 224 32872.00 58997 224 32880.00 59086 224 32872.00 59166 224 32876.00 59183 226 32884.00 59200 226 32872.00 59217 226 32872.00 59252 226 32872.00 59258 226 32876.00 59301 226 32872.00 59426 226 32876.00 59435 226 32876.00 59456 226 32884.00 59489 228 32876.00 60514 236 32872.00 60942 238 32872.00 60949 238 32876.00 61045 240 32828.00 75002 120</code></pre></div> <p>So it seems the loop lasts 32768 microseconds too long for some values.</p> <p>EDIT 2:</p> <p>Putting the last_dump = micros(); just after ISR(TIMER1_COMPA_vect) { shows the problem is not with the calculations being too long ( never lasts over 200microseconds ), so the problem is with the PWM thing.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-274259</guid>
				<title>Silenced motor mount.</title>
				<link>http://contraptor.wikidot.com/forum/t-274259/silenced-motor-mount</link>
				<description></description>
				<pubDate>Mon, 11 Oct 2010 12:08:03 +0000</pubDate>
				<wikidot:authorName>arthurwolf</wikidot:authorName>				<wikidot:authorUserId>471107</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>So, noise is a big concern for <a href="http://www.contraptor.org/forum/t-234948/mini-cnc-build-log">this build.</a><br /> I changed the threaded rods to not-bent ones, which made everything steadier, but it still made too much noise.</p> <p>So here is what I did to make it less noisy.<br /> The big idea is to not have metal touching metal between the motor and the machine.</p> Material used:<br /> <a href="https://www.flickr.com/photos/arthurwolf/5071448266/"><img src="https://farm5.static.flickr.com/4112/5071448266_6af034826f.jpg" alt="flickr:5071448266" class="image" /></a> <p>The small black rubber things come from a meccano set, I guess you can find something equivalent in an hardware store for cheap.<br /> I cut them in two to have more, and so that they are smaller.<br /> The black rubber band I don't know how it is named, it stretches, and becomes solid(er) once used, I use it a lot but I don't have a box for it, it's used for pipes I think.</p> <p>So step by step:</p> Put rubber band around the bolt:<br /> <a href="https://www.flickr.com/photos/arthurwolf/5070840817/"><img src="https://farm5.static.flickr.com/4127/5070840817_e63a80f881.jpg" alt="flickr:5070840817" class="image" /></a><br /> <a href="https://www.flickr.com/photos/arthurwolf/5071445418/"><img src="https://farm5.static.flickr.com/4153/5071445418_717aff3e68.jpg" alt="flickr:5071445418" class="image" /></a>Add half rubber thingie:<br /> <a href="https://www.flickr.com/photos/arthurwolf/5071446128/"><img src="https://farm5.static.flickr.com/4111/5071446128_007a6920e0.jpg" alt="flickr:5071446128" class="image" /></a>Add to stepper:<br /> <a href="https://www.flickr.com/photos/arthurwolf/5071450122/"><img src="https://farm5.static.flickr.com/4088/5071450122_7eaf8a7904.jpg" alt="flickr:5071450122" class="image" /></a>Add another rubber thingie:<br /> <a href="https://www.flickr.com/photos/arthurwolf/5070841251/"><img src="https://farm5.static.flickr.com/4085/5070841251_a39315d503.jpg" alt="flickr:5070841251" class="image" /></a>Do that for two bolts:<br /> <a href="https://www.flickr.com/photos/arthurwolf/5071449400/"><img src="https://farm5.static.flickr.com/4154/5071449400_0104150f4c.jpg" alt="flickr:5071449400" class="image" /></a>Add motor mount:<br /> <a href="https://www.flickr.com/photos/arthurwolf/5071448032/"><img src="https://farm5.static.flickr.com/4113/5071448032_c689b9f983.jpg" alt="flickr:5071448032" class="image" /></a>Add rubber thingie:<br /> <a href="https://www.flickr.com/photos/arthurwolf/5071447768/"><img src="https://farm5.static.flickr.com/4093/5071447768_a264356ed3.jpg" alt="flickr:5071447768" class="image" /></a>Add nut:<br /> <a href="https://www.flickr.com/photos/arthurwolf/5070839575/"><img src="https://farm5.static.flickr.com/4091/5070839575_9b60a9f231.jpg" alt="flickr:5070839575" class="image" /></a><br /> <a href="https://www.flickr.com/photos/arthurwolf/5071446538/"><img src="https://farm5.static.flickr.com/4128/5071446538_f36c29bff9.jpg" alt="flickr:5071446538" class="image" /></a>It's the same thing to attach the motor mount to the machine:<br /> <a href="https://www.flickr.com/photos/arthurwolf/5071445746/"><img src="https://farm5.static.flickr.com/4153/5071445746_8c6a10ff95.jpg" alt="flickr:5071445746" class="image" /></a>And then:<br /> <a href="https://www.flickr.com/photos/arthurwolf/5071446908/"><img src="https://farm5.static.flickr.com/4124/5071446908_14b627474a.jpg" alt="flickr:5071446908" class="image" /></a> <p>And it's done.<br /> Once everything is together, parts can move a bit.<br /> That was not a problem for my X-axis, but for the Y-axis I had to add a third bolt ( but that may be due to another problem with the axis ).</p> <p>Now everything makes lots less noise, very calm and low sound :</p> <p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/YtZvDgOBbwM?fs=1&amp;hl=fr_FR" /> <param name="allowFullScreen" value="true" /> <param name="allowscriptaccess" value="always" /> <embed src="http://www.youtube.com/v/YtZvDgOBbwM?fs=1&amp;hl=fr_FR" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385" /></object></p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://contraptor.wikidot.com/forum/t-273788</guid>
				<title>Micro CNC / Laser</title>
				<link>http://contraptor.wikidot.com/forum/t-273788/micro-cnc-laser</link>
				<description>Hacked a 3 Axis base from an old microscope, Busy converting it into a mini CNC</description>
				<pubDate>Sun, 10 Oct 2010 12:53:42 +0000</pubDate>
				<wikidot:authorName>Danieldk1</wikidot:authorName>				<wikidot:authorUserId>588971</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I'll post some more pictures later, but I am stuck with the contraptor software, I can control the rig perfectly with the current software config, but When I send the command to turn the laser off (I am using &quot;extruder_speed&quot; ) as my laser power control, because it controls pin 19 (analogue pin 5) which PWMs my laser&#8230;</p> <p>When I send the M code &quot;M05&quot; it should turn the laser off (pin 19 to GND), but instead, it turns it off, and before the next move starts, it turns back on again.. any suggestions ?<br /> The following snippet is from &quot;&quot;process_string.pde&quot; where the commands are interpreted&#8230;</p> <div class="code"> <pre><code> if (intCodesSeen &amp; M_CODE_SEEN) { switch (intVals[M_CODE_INDEX]) { //turn extruder on, case 03: // extruder_set_direction(1); extruder_set_speed(extruder_speed); //digitalWrite(EXTRUDER_MOTOR_SPEED_PIN,HIGH); //analogWrite(EXTRUDER_MOTOR_SPEED_PIN, extruder_speed); break; //turn extruder off case 05: // extruder_speed = 0; extruder_set_speed(0); //analogWrite(EXTRUDER_MOTOR_SPEED_PIN, 0); //digitalWrite(EXTRUDER_MOTOR_SPEED_PIN,LOW); break;</code></pre></div> 
				 	]]>
				</content:encoded>							</item>
				</channel>
</rss>