<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8471106642347408850</id><updated>2011-04-21T13:41:58.853-06:00</updated><category term='Extruder'/><category term='Gradient'/><category term='temperature'/><category term='thermal model'/><category term='distribution'/><title type='text'>RepRap Ideas</title><subtitle type='html'>This is a collection of ideas I have for the reprap project as well as general ideas for other things.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://geo01005-ideas.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://geo01005-ideas.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>geo01005</name><uri>http://www.blogger.com/profile/05207244129346213313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8471106642347408850.post-8618840014587000252</id><published>2009-04-23T22:15:00.002-06:00</published><updated>2009-04-27T12:38:22.518-06:00</updated><title type='text'>New extruder Design</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_yGISvXfy_zU/SfX6b5PG7cI/AAAAAAAAAH8/VSCvFE8mWq0/s1600-h/NewExtruder%282%29.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 283px; height: 320px;" src="http://1.bp.blogspot.com/_yGISvXfy_zU/SfX6b5PG7cI/AAAAAAAAAH8/VSCvFE8mWq0/s320/NewExtruder%282%29.png" alt="" id="BLOGGER_PHOTO_ID_5329441091190451650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Just a quick update on the EMC controlled extruder. Here is a quick video :&lt;br /&gt;&lt;pre&gt;http://www.youtube.com/watch?v=txx586M2r9s&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8471106642347408850-8618840014587000252?l=geo01005-ideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geo01005-ideas.blogspot.com/feeds/8618840014587000252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://geo01005-ideas.blogspot.com/2009/04/new-extruder.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default/8618840014587000252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default/8618840014587000252'/><link rel='alternate' type='text/html' href='http://geo01005-ideas.blogspot.com/2009/04/new-extruder.html' title='New extruder Design'/><author><name>geo01005</name><uri>http://www.blogger.com/profile/05207244129346213313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_yGISvXfy_zU/SfX6b5PG7cI/AAAAAAAAAH8/VSCvFE8mWq0/s72-c/NewExtruder%282%29.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8471106642347408850.post-7981344952649800063</id><published>2009-04-21T08:11:00.002-06:00</published><updated>2009-04-21T08:33:00.177-06:00</updated><title type='text'>Extruder Tempuratue Control</title><content type='html'>So I have been spending some time trying to fully implement PID heater control for my EMC based repstrap. As part of that I needed to get all the bugs worked out of the heater design. I'll post of pictures of my new compact extruder heater a little later, I left my USB cable at home.&lt;br /&gt;&lt;br /&gt;Well I have reduced the mass of the extruder greatly and attached my thermocouple inside of the heater. By doing this I was able to reduce the warm up time, from 20 C to 220 C, to about 18 seconds. I'm using a 16 ohm resistance heater with  a 24VDC supply, so about 36 watts max. Here is the responce shown in the Hal scope:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_yGISvXfy_zU/Se3VJEIPYjI/AAAAAAAAAHs/rLVovH_kL18/s1600-h/GreatHeater.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_yGISvXfy_zU/Se3VJEIPYjI/AAAAAAAAAHs/rLVovH_kL18/s320/GreatHeater.png" alt="" id="BLOGGER_PHOTO_ID_5327148285953008178" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I'm using a maxim MAX6675 thermocouple to SPI interface (read by a mesa 7i43 anything I/O FPGA board running hostmot2). The Max 6675 chip requires about 100ms to perform a conversion, so I'm sampling it at a little less than 10hz. I have tunned the PID parameters so that the responce time is fast, but there is little overshoot (1-2 degrees) and high disturbance rejection.&lt;br /&gt;&lt;br /&gt;For you EMC guys, right now I'm using the hm2 raw interface with a custom realtime component to do the SPI communication. Hopefully somtime soon we will be able to have a formal SPI interface for hm2. I used comp to make the rt component, it is attached to hm2 in the hal.&lt;br /&gt;&lt;br /&gt;Here is the dirty awefull code for the comp file:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;//   This is a component for EMC2 HAL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;//   Copyright 2009 Jon George &lt;geo01005&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;//&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;//   This program is free software; you can redistribute it and/or&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;//   modify it under the terms of version 2 of the GNU General&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;//   Public License as published by the Free Software Foundation.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;//&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;//   This program is distributed in the hope that it will be useful,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;//   but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;//   GNU General Public License for more details.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;//&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;//   You should have received a copy of the GNU General Public License&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;//   along with this program; if not, write to the Free Software&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;//   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;component SPI "Drive my SPI thermcouple amp";&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;//Setup the pins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;pin in u32 raw_read_data "Raw Read data"; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;pin out u32 raw_write_data "Raw Write data" ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;pin io bit raw_strobe "strobe the raw write";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;pin out u32 raw_write_address "raw write addres";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;pin out u32 raw_read_address "Raw read adderes";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;pin out float temp "Current Temp";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;pin in u32 CD "the all mighty channel descriptor";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;pin in u32 timer ;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;//Initialize a variable to store the iteration number&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;variable u32 iteration=1;// "used to store the interation before configuration"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;function _;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;license "GPL";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;FUNCTION(_) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   raw_read_address=0x1104;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    //Select the correct case based on the current iteration&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   switch(iteration){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    case 1: {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        // Set up the DDR for the port&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        raw_write_address= 0x1104;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        raw_write_data= ((raw_read_data | 0x3B000) &amp;amp; 0xFFBFFF);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        raw_strobe=TRUE;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        raw_read_address= 0x1204;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        break;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    case 2: {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        //Set up the alt source stuff&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        raw_write_address= 0x1204;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        raw_write_data= raw_read_data | 0x3F000;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        raw_strobe=TRUE;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        break;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    case 3: {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        //Set up the DBSPI chanell descriptor&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        raw_write_address= 0x5900;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        raw_write_data= CD;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        raw_strobe=TRUE;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        raw_read_address=0x5800;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        break;        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    case 4: {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        // The regular running type&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        //Request the data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        raw_read_address=0x5800;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        raw_write_address= 0x5800;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        raw_write_data= 0xFFFFFFFF;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        raw_strobe=TRUE;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        break;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    case 5: {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        // Actually read the data on the next cycle&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        // Read the data &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        // Note-The data is one cycle old by now!!!!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        temp =((raw_read_data &amp;amp; 0x7ff8)&gt;&gt;3)/4.0;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        break;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;iteration++;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;if(iteration &gt; timer) iteration =4; //only return to case 4&lt;/span&gt;&lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Anyhow, I hope this makes us a little step closer to having a really fantastic Reprap interface for EMC.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8471106642347408850-7981344952649800063?l=geo01005-ideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geo01005-ideas.blogspot.com/feeds/7981344952649800063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://geo01005-ideas.blogspot.com/2009/04/extruder-tempuratue-control.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default/7981344952649800063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default/7981344952649800063'/><link rel='alternate' type='text/html' href='http://geo01005-ideas.blogspot.com/2009/04/extruder-tempuratue-control.html' title='Extruder Tempuratue Control'/><author><name>geo01005</name><uri>http://www.blogger.com/profile/05207244129346213313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_yGISvXfy_zU/Se3VJEIPYjI/AAAAAAAAAHs/rLVovH_kL18/s72-c/GreatHeater.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8471106642347408850.post-2822384743918170286</id><published>2009-02-22T16:48:00.002-07:00</published><updated>2009-02-22T17:05:21.532-07:00</updated><title type='text'>Basic HM2 SPI driver</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_yGISvXfy_zU/SaHkjPmHUMI/AAAAAAAAAHM/N5OpSK9Bx2Q/s1600-h/hm2SPI.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 78px;" src="http://3.bp.blogspot.com/_yGISvXfy_zU/SaHkjPmHUMI/AAAAAAAAAHM/N5OpSK9Bx2Q/s320/hm2SPI.bmp" alt="" id="BLOGGER_PHOTO_ID_5305773130152104130" border="0" /&gt;&lt;/a&gt;So lots of this is what the guys on #emc have been saying from the beginning. I now see the light and see why you would not want to support lots of devices right in the HM2 driver. So I think that all that the only information that the hm2 driver needs is what SPI channels you plan to use and how many "frames" to put on each SPI port. This is what SWPadnos suggested for something similar:&lt;br /&gt;&lt;br /&gt;SPI=4,-1,5,-1&lt;br /&gt;&lt;br /&gt;Meaning 4 frames on port 0, port 1 OFF, 5 frames on port 2, and port 3 OFF. This would create a set of HAL pins for each frame. They are as follows:&lt;br /&gt;&lt;br /&gt;CD (U32)  This is the channel descriptor for the frame&lt;br /&gt;SEND (U32) This is pin for the bits to send, the length in bits is specified in the channel descriptor.&lt;br /&gt;RECEIVE(U32) This is a pin for the resulting bits from the frame&lt;br /&gt;READ(BIT) This is a bit that specifies if the frame should be sent during the hm2 read or write functions. If the bit is set, then the frame is sent during the read function.&lt;br /&gt;ENABLE(BIT) Enable or disable the frame.&lt;br /&gt;&lt;br /&gt;A driver could then be made for each device. There isn't really anything to difficult to do here. I believe that a simple realtime component could be written for any new device. Then the HAL pins connected and the interface should be very flexible. The device drivers should even be able to send internalization data to devices without any special features from the HM2 driver.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Let me know if I've got something wrong here. Of course I haven't address anything about how HM2 will actually do any of this, but it appears that a conclusion about this stuff needs to come first.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8471106642347408850-2822384743918170286?l=geo01005-ideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geo01005-ideas.blogspot.com/feeds/2822384743918170286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://geo01005-ideas.blogspot.com/2009/02/basic-hm2-spi-driver.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default/2822384743918170286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default/2822384743918170286'/><link rel='alternate' type='text/html' href='http://geo01005-ideas.blogspot.com/2009/02/basic-hm2-spi-driver.html' title='Basic HM2 SPI driver'/><author><name>geo01005</name><uri>http://www.blogger.com/profile/05207244129346213313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_yGISvXfy_zU/SaHkjPmHUMI/AAAAAAAAAHM/N5OpSK9Bx2Q/s72-c/hm2SPI.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8471106642347408850.post-8678392975424138985</id><published>2009-02-19T15:28:00.002-07:00</published><updated>2009-02-19T15:32:11.739-07:00</updated><title type='text'>Possilbe HM2 SPI Hierarchy</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_yGISvXfy_zU/SZ3dOdgJmMI/AAAAAAAAAHE/RmmTKx-7R_w/s1600-h/WouldThiswork.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 206px;" src="http://2.bp.blogspot.com/_yGISvXfy_zU/SZ3dOdgJmMI/AAAAAAAAAHE/RmmTKx-7R_w/s320/WouldThiswork.JPG" alt="" id="BLOGGER_PHOTO_ID_5304639176619694274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Do you think this would work? Ignore the fact that it is XML. All the attributes, shown in read are HAL pins. Use config parameters to set how many of everything. Input a bit, float, int, scaling and length transform this into the proper bits to send to the SPI buffer. I know lots of details are missing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8471106642347408850-8678392975424138985?l=geo01005-ideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geo01005-ideas.blogspot.com/feeds/8678392975424138985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://geo01005-ideas.blogspot.com/2009/02/possilbe-hm2-spi-hierarchy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default/8678392975424138985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default/8678392975424138985'/><link rel='alternate' type='text/html' href='http://geo01005-ideas.blogspot.com/2009/02/possilbe-hm2-spi-hierarchy.html' title='Possilbe HM2 SPI Hierarchy'/><author><name>geo01005</name><uri>http://www.blogger.com/profile/05207244129346213313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_yGISvXfy_zU/SZ3dOdgJmMI/AAAAAAAAAHE/RmmTKx-7R_w/s72-c/WouldThiswork.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8471106642347408850.post-1046766090239729711</id><published>2009-02-17T18:00:00.004-07:00</published><updated>2009-02-17T18:37:22.928-07:00</updated><title type='text'>SPI serial interface for MESA Anything I/O Cards</title><content type='html'>Ok, so I have been spending some time working on developing some hardware, and software for running serious RepRap machine using EMC2. I have to admit that I see lots of advantages of using EMC over the Arduino or Sanguino core controllers. I have been using a MESA 7i43 (www.mesanet.com)  FPGA card running Hostmot2 firmware to control a three axis gantry mill. I'm working on adding RepRap capabilities to this machine.&lt;br /&gt;The electronics are great, and I can use servo motors with encoders or stepper motors and still have tons of I/O available to do what I want. However, there is one hold up. I would like EMC to be in complete control of the RepRap machine including the extruder. The only problem with the MESA cards is that they have no analog inputs built into them. I have been talking with the EMC developers trying to determine if it is reasonable to add the SPI serial interface onto the MESA cards to read A/D converters, or a SPI thermocouple interface to measure the temperature. EMC already has PID controller with full feed forward control loops built in. Anyway, this post is geared toward the EMC developers.&lt;br /&gt;&lt;br /&gt;Well now that is all done, we have been talking about the SPI driver for the Hostmot2, it has been determined that the hardware portion of the interface is very doable. The hard part seems to be creating a way to describe how to talk to the devices on a BSPI channel, and how to interpret the resulting data. As I have described, I'm not terribly knowledgeable in the way of all the EMC internals. I have been doing lots of reading in the last couple of weeks, but I still have a ton to learn.&lt;br /&gt;Currently the way that the Hostmot2 driver is customized to a specific set of modules (encoders, PWM, stepgen, ect...) is with "config" mod parameter (please forgive me on the terminology) that are basically command line parameters. This is apparently quite difficult to program, but looks like the best way to setup the driver. Today on the IRC I asked if an XML file describing the configuration would be any easier to use. Because of the realtime nature of the driver, this would require lots of "messy" code working directly with the kernel. So not good.&lt;br /&gt;&lt;br /&gt;I just kept thinking that we could easily describe how to talk to a device and interpret the results using a XML file. So, here is another one of my crazy stabs at this whole SPI driver mess:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create an XML file that gives the hierarchy of the SPI channel and describes how each device talk. It would be nice to have a GUI, but not really necessary.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Develop a script that parses the XML file for errors and conflicts, and then generates the source code for a new SPI driver for the attached devices.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Compile the driver prior to EMC runtime, do all the stuff that I don't know how to do to make the driver work.&lt;/li&gt;&lt;li&gt;And somehow make it work with the current Hostmot2 dirver...um...I don't know how to do that.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Naturally what I'm suggesting is crazy, after all I'm the one saying it. However, I hope that this may spark some ideas of how this might work. Here is a view of a possible XML tree for an BSPI channel:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_yGISvXfy_zU/SZtjpZFvsEI/AAAAAAAAAG0/4lSLnqQ2DAk/s1600-h/XML_Setup.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 250px;" src="http://2.bp.blogspot.com/_yGISvXfy_zU/SZtjpZFvsEI/AAAAAAAAAG0/4lSLnqQ2DAk/s320/XML_Setup.JPG" alt="" id="BLOGGER_PHOTO_ID_5303942548919660610" border="0" /&gt;&lt;/a&gt;And here is the raw XML:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_yGISvXfy_zU/SZtl7RaSQFI/AAAAAAAAAG8/Szo1ajeiZsQ/s1600-h/XML.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 110px;" src="http://1.bp.blogspot.com/_yGISvXfy_zU/SZtl7RaSQFI/AAAAAAAAAG8/Szo1ajeiZsQ/s320/XML.JPG" alt="" id="BLOGGER_PHOTO_ID_5303945055119229010" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;style&gt;                BODY{font:x-small 'Verdana';margin-right:1.5em}      .c{cursor:hand}      .b{color:red;font-family:'Courier New';font-weight:bold;text-decoration:none}      .e{margin-left:1em;text-indent:-1em;margin-right:1em}      .k{margin-left:1em;text-indent:-1em;margin-right:1em}      .at{color:red}      .xat{color:#990099}     .t{color:#990000}      .xt{color:#990099}      .ns{color:red}      .dt{color:blue}      .m{color:blue}      .tx{font-weight:bold}      .db{text-indent:0px;margin-left:0;margin-top:-1em;margin-bottom:-1em;padding-left:0;border-left:1px solid #CCCCCC;font:small Courier}      .di{font:small Courier}      .d{color:blue}      .pi{color:blue}      .cb{text-indent:0px;margin-left:0;margin-top:-1em;margin-bottom:-1em;padding-left:0;font:small Courier;color:green}      .ci{font:small Courier;color:green}      .av {color:blue;}     PRE{margin:0px;display:inline}         &lt;/style&gt;&lt;script&gt;&lt;!--                function f(e){      if (e.className=="ci"){       if (e.children(0).innerText.indexOf("\n")&gt;0) fix(e,"cb");     }      if (e.className=="di"){       if (e.children(0).innerText.indexOf("\n")&gt;0) fix(e,"db");     }      e.id="";    }    function fix(e,cl){      e.className=cl;      e.style.display="block";      j=e.parentElement.children(0);      j.className="c";      k=j.children(0);      k.style.visibility="visible";      k.href="#";    }    function ch(e){      mark=e.children(0).children(0);      if (mark.innerText=="+"){        mark.innerText="-";        for (var i=1;i&lt;e.children.length;i++) display="block" innertext="=" innertext="+" i="1;i&lt;e.children.length;i++)" display="none" mark="e.children(0).children(0);" contents="e.children(1);" innertext="=" innertext="-" classname="=" classname="=" display="block" display="inline" innertext="=" innertext="+" display="none" e="window.event.srcElement;" e="e.parentElement;" e="e.parentElement;" classname="=" classname="=" status=" " onclick="cl;"&gt;&lt;/script&gt;&lt;div class="e"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;There are lots of different SPI devices, but of most interest in this application is A/D converters, D/A converters, and GPIO deceives. The script I talked about would have to know how to handle different types of devices. For A/D, we would need a type that takes the right N bits and creates a scaled, or unscaled, number out of them. The opposite for D/A. For GPIO, the data would need to be mapped to and from the bits.&lt;br /&gt;&lt;br /&gt;Anyhow, I'm done going crazy now. let me know what you all think. I'm almost certain to hear that this idea is not the best because hey, Hal drivers are suppose to be static. This of course is just the opposite of standardized components.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8471106642347408850-1046766090239729711?l=geo01005-ideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geo01005-ideas.blogspot.com/feeds/1046766090239729711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://geo01005-ideas.blogspot.com/2009/02/spi-serial-interface-for-mesa-anything.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default/1046766090239729711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default/1046766090239729711'/><link rel='alternate' type='text/html' href='http://geo01005-ideas.blogspot.com/2009/02/spi-serial-interface-for-mesa-anything.html' title='SPI serial interface for MESA Anything I/O Cards'/><author><name>geo01005</name><uri>http://www.blogger.com/profile/05207244129346213313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_yGISvXfy_zU/SZtjpZFvsEI/AAAAAAAAAG0/4lSLnqQ2DAk/s72-c/XML_Setup.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8471106642347408850.post-8591755089915603003</id><published>2009-01-13T07:42:00.010-07:00</published><updated>2009-01-13T09:10:07.207-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gradient'/><category scheme='http://www.blogger.com/atom/ns#' term='distribution'/><category scheme='http://www.blogger.com/atom/ns#' term='thermal model'/><category scheme='http://www.blogger.com/atom/ns#' term='temperature'/><category scheme='http://www.blogger.com/atom/ns#' term='Extruder'/><title type='text'>Exturder Thermal Model</title><content type='html'>So yesterday I cooked up a simple 1 dimensional, lumped mass thermal model for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Nop&lt;/span&gt; head's latest &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;extruder&lt;/span&gt;. I wanted to develop a thermal model so that we can predict what the temperature profile in an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;extruder&lt;/span&gt; will be without actually making the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;extruder&lt;/span&gt;. Please note, this model is a steady state model, however, later similar models could be used to study the transient behavior of the extruder.&lt;br /&gt;&lt;br /&gt;The model I made has some simplifying assumptions that make it really easy to solve. I looked at the thermal resistance of the conduction in comparison to the convection and decided that assuming there is no convection or radiation was a good assumption. The model is a lumped mass model, meaning that the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;extruder&lt;/span&gt; is split up into a bunch of little pieces. The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;extruder&lt;/span&gt; is sliced into disks along it's longitudinal axis. Each slice is given an effective inside diameter and outside diameter and material properties. Each mass is treated as a thermal resistance and connected in series. The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;extruder&lt;/span&gt; is treated as a constant temperature heat source and the cold end is treated as  a constant temperature heat sink. This model requires some design judgment to determine if the results mean anything. Anyhow, if you want more details, let me know.&lt;br /&gt;&lt;br /&gt;The results are a pretty good match to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Nop&lt;/span&gt; Heads measurements. The model is split up into 1mm slices, but it could be split into much less. Really only one slice is needed for each part where the cross sectional area and material properties are the same because the convection is assumed to be zero. &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_yGISvXfy_zU/SWyqcFHX8cI/AAAAAAAAAF0/ndQXTpguI1Y/s1600-h/NopHeadModel.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 186px;" src="http://2.bp.blogspot.com/_yGISvXfy_zU/SWyqcFHX8cI/AAAAAAAAAF0/ndQXTpguI1Y/s320/NopHeadModel.png" alt="" id="BLOGGER_PHOTO_ID_5290791061639655874" border="0" /&gt;&lt;/a&gt;I didn't do anything make my model fit &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Nop's&lt;/span&gt; data, it is just right out of the model. Just to mention the model also gives the same prediction for heat loss out of the end of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;extruder&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Now the reason for developing the model is to see what we might be able to do to predict what would happen if we made some changes in the design.  Now if we look up the glass transition temperature for ABS, we can see that it is right about 100 degrees C. The glass transition temperature is the point where the plastic starts to deform under light loads, and just above that temp it might start sticking the the walls of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;extruder&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Lets consider design changes to make the temperature go down below the glass temperature quickly. The following figure shows the results if the necked down portion's outside diameter where simply to be reduced to 3.8mm. I know that is a thin wall, but it is steel, it should still be plenty strong. As you can see the temperature fairly quickly heads below 100 degrees C.  The predicted heat loss to the "heat sink" in this design is .85 watts. For simplicity this may be the best design, or something like it. However, it is not the best performance in terms of quick temperature drop and low heat dissipation.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_yGISvXfy_zU/SWyszXUkQUI/AAAAAAAAAF8/eARAkcTUET0/s1600-h/reduced+neck.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 186px;" src="http://4.bp.blogspot.com/_yGISvXfy_zU/SWyszXUkQUI/AAAAAAAAAF8/eARAkcTUET0/s320/reduced+neck.png" alt="" id="BLOGGER_PHOTO_ID_5290793660687073602" border="0" /&gt;&lt;/a&gt;Lets see what might happen if we used a design where the stainless steel is a constant diameter:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_yGISvXfy_zU/SWyuHOOMpKI/AAAAAAAAAGE/etYOuJB3Qjk/s1600-h/Constant+Diameter.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 186px;" src="http://3.bp.blogspot.com/_yGISvXfy_zU/SWyuHOOMpKI/AAAAAAAAAGE/etYOuJB3Qjk/s320/Constant+Diameter.png" alt="" id="BLOGGER_PHOTO_ID_5290795101353452706" border="0" /&gt;&lt;/a&gt;Here we see what we expected, a linear temperature distribution, that would lead to lots of sticking on the walls. Also the heat dissipated is about 1.75 watts. Not really the best design.&lt;br /&gt;&lt;br /&gt;Now we consider &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Nop's&lt;/span&gt; previous design. Lets pretend for a moment that no bolts are needed to connect the heater to heat sink portion. Just a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;PTFE&lt;/span&gt; tube 5mm OD, 3MM ID, 5mm long. Lets have a look see at what the distribution would look like:&lt;br /&gt;&lt;br /&gt;&lt;img src="file:///C:/DOCUME%7E1/Jonathan/LOCALS%7E1/Temp/moz-screenshot-1.jpg" alt="" /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_yGISvXfy_zU/SWywUTRdrrI/AAAAAAAAAGM/afX_jSo0oOQ/s1600-h/PTFE.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 186px;" src="http://1.bp.blogspot.com/_yGISvXfy_zU/SWywUTRdrrI/AAAAAAAAAGM/afX_jSo0oOQ/s320/PTFE.png" alt="" id="BLOGGER_PHOTO_ID_5290797525070884530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now, that is the kind of stuff we wanted to see. However, it should be noted that under these condition the assumption that convection is zero is no longer quite as valid. A more realistic curve would not be so abrupt and the aluminum portion would be a little warmer, I think... well not really. Anyhow, what this shows us it that if we have a short portion with very low conductivity then the temperature distribution will have a quite drop. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;Ok&lt;/span&gt;, by the way the heat dissipated in the design is .13 watts. Note that this is without the screws!. If we can just get rid of the low resistance of those screws!&lt;br /&gt;&lt;br /&gt;Here is a design that nearly eliminates the heat flow in the screws. Just about any screw material would work, but stainless steel would be marginally better than others. The Insulation doesn't have to be &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;PTFE&lt;/span&gt;, I have suggested drywall board and hard board before. I think you will get the point though. Let me know if you have any questions. I understand that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;Nop&lt;/span&gt; is currently working on insulating the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;extruder&lt;/span&gt; end, but I don't know about the heat sink end. Insulating both would reduce the heat flow, but I don't think that it will have a large impact on extrusion performance.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_yGISvXfy_zU/SWy10-wEM1I/AAAAAAAAAGU/HgBOzkh3jmo/s1600-h/New+Design.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 294px;" src="http://2.bp.blogspot.com/_yGISvXfy_zU/SWy10-wEM1I/AAAAAAAAAGU/HgBOzkh3jmo/s320/New+Design.png" alt="" id="BLOGGER_PHOTO_ID_5290803584055915346" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8471106642347408850-8591755089915603003?l=geo01005-ideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geo01005-ideas.blogspot.com/feeds/8591755089915603003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://geo01005-ideas.blogspot.com/2009/01/exturder-thermal-model.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default/8591755089915603003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default/8591755089915603003'/><link rel='alternate' type='text/html' href='http://geo01005-ideas.blogspot.com/2009/01/exturder-thermal-model.html' title='Exturder Thermal Model'/><author><name>geo01005</name><uri>http://www.blogger.com/profile/05207244129346213313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_yGISvXfy_zU/SWyqcFHX8cI/AAAAAAAAAF0/ndQXTpguI1Y/s72-c/NopHeadModel.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8471106642347408850.post-6439528462594873369</id><published>2009-01-09T12:56:00.003-07:00</published><updated>2009-01-09T13:03:22.166-07:00</updated><title type='text'>Harmonic Linear Drive</title><content type='html'>Has anybody seen this before? This is a really neat, neat, neat, neat speed reducer!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oemdynamics.com/hld_animation/hld_intro.html"&gt;http://www.oemdynamics.com/hld_animation/hld_intro.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.oemdynamics.com/"&gt;http://www.oemdynamics.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Unfortunately Animatics products are generally quite expensive. They say they have patent applications for this drive in 30 countries, I can't find the patent. It sure would be neat to be able to use it on the reprap.&lt;br /&gt;&lt;br /&gt;Let me know what you think.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8471106642347408850-6439528462594873369?l=geo01005-ideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geo01005-ideas.blogspot.com/feeds/6439528462594873369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://geo01005-ideas.blogspot.com/2009/01/harmonic-linear-drive.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default/6439528462594873369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default/6439528462594873369'/><link rel='alternate' type='text/html' href='http://geo01005-ideas.blogspot.com/2009/01/harmonic-linear-drive.html' title='Harmonic Linear Drive'/><author><name>geo01005</name><uri>http://www.blogger.com/profile/05207244129346213313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8471106642347408850.post-8624669471777884070</id><published>2008-12-25T12:18:00.004-07:00</published><updated>2008-12-25T12:47:25.241-07:00</updated><title type='text'>Squeezy heater barrel</title><content type='html'>I fiddled around with this idea a year ago, but I can't remember how well it worked. The idea is to have a filament that is slightly larger than the hole in the heater barrel. In the picture I greatly exaggerated the overlap between the filament and the hole. This idea causes the filament to compress and create pressure on the bore wall preventing any plastic from leaking past the filament. This also will increase the amount of force needed to extrude the plastic.    Here is the picture:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_yGISvXfy_zU/SVPin6RYtNI/AAAAAAAAAEw/gc_2HKpWkUM/s1600-h/SQUEEZY.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 199px;" src="http://1.bp.blogspot.com/_yGISvXfy_zU/SVPin6RYtNI/AAAAAAAAAEw/gc_2HKpWkUM/s320/SQUEEZY.png" alt="" id="BLOGGER_PHOTO_ID_5283815963120678098" border="0" /&gt;&lt;/a&gt;A better option is to only have a short section that is the small diameter, and then the boar opens back up to relieve the pressure. Here is a picture of that:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_yGISvXfy_zU/SVPjGPwqKzI/AAAAAAAAAE4/2Vv6a12eBUI/s1600-h/SQUEEZY_MOD.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 199px;" src="http://4.bp.blogspot.com/_yGISvXfy_zU/SVPjGPwqKzI/AAAAAAAAAE4/2Vv6a12eBUI/s320/SQUEEZY_MOD.png" alt="" id="BLOGGER_PHOTO_ID_5283816484285066034" border="0" /&gt;&lt;/a&gt;I'll try to get around to actually doing this soon. I'll let you all know how it works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8471106642347408850-8624669471777884070?l=geo01005-ideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geo01005-ideas.blogspot.com/feeds/8624669471777884070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://geo01005-ideas.blogspot.com/2008/12/squeezy-heater-barrel.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default/8624669471777884070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default/8624669471777884070'/><link rel='alternate' type='text/html' href='http://geo01005-ideas.blogspot.com/2008/12/squeezy-heater-barrel.html' title='Squeezy heater barrel'/><author><name>geo01005</name><uri>http://www.blogger.com/profile/05207244129346213313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_yGISvXfy_zU/SVPin6RYtNI/AAAAAAAAAEw/gc_2HKpWkUM/s72-c/SQUEEZY.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8471106642347408850.post-7030440530941141560</id><published>2008-12-24T21:24:00.003-07:00</published><updated>2008-12-24T22:00:51.035-07:00</updated><title type='text'>Drywall insulated extruder Idea</title><content type='html'>Well it looks like Demented Chihuahua and I had similar ideas about the same time with the extruder. He posted on the builders blog on Wednesday on the extruder topic.  I don't have a ton of time to explain this current revision, but I hope it will spur some discussion.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_yGISvXfy_zU/SVMOZJMRTSI/AAAAAAAAAEo/2ohxOBKdItI/s1600-h/Drywall_type.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 421px; height: 289px;" src="http://3.bp.blogspot.com/_yGISvXfy_zU/SVMOZJMRTSI/AAAAAAAAAEo/2ohxOBKdItI/s320/Drywall_type.png" alt="" id="BLOGGER_PHOTO_ID_5283582612962626850" border="0" /&gt;&lt;/a&gt;As you can see the basic design is very similar to the one Demented Chihuahua made. However, there are a few main differences. First, the filament guide must extend almost to the heater to prevent buckling in the filament. Also, the heater is insulated with drywall, or fire cement or some other insulating board. I choose drywall because it is dirt cheap and easy to work. Also in my machine I'm going to be using cartridge heater driven at mains voltage, switched by a SSR (time proportioning control).&lt;br /&gt;&lt;br /&gt;There has been some question as to whether or not the filament can be pushed directly into the heater body without the molten plastic squirting back up the filament entrance in the heater. I did some experiments back a year ago, but never got around to documenting any of it. I repeated the experiment last night and had no troubles. I used a 0.095" filament pushed through a 0.103" hole. If a generous chamfer is added to the heater entrance, then filaments slightly larger than the hole in the heater could be used. This would prevent ANY mushrooming of plastic and the heater entrance. However, this still needs to be tested. I really am confident that this is how the Dimension FDM machines work.&lt;br /&gt;&lt;br /&gt;Let me know what you all think :) Please let me see the holes in my logic and ideas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8471106642347408850-7030440530941141560?l=geo01005-ideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geo01005-ideas.blogspot.com/feeds/7030440530941141560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://geo01005-ideas.blogspot.com/2008/12/drywall-insulated-extruder-idea.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default/7030440530941141560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default/7030440530941141560'/><link rel='alternate' type='text/html' href='http://geo01005-ideas.blogspot.com/2008/12/drywall-insulated-extruder-idea.html' title='Drywall insulated extruder Idea'/><author><name>geo01005</name><uri>http://www.blogger.com/profile/05207244129346213313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_yGISvXfy_zU/SVMOZJMRTSI/AAAAAAAAAEo/2ohxOBKdItI/s72-c/Drywall_type.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8471106642347408850.post-2279728339287941946</id><published>2008-12-23T09:51:00.008-07:00</published><updated>2008-12-23T11:27:15.422-07:00</updated><title type='text'>Extruder Ideas</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_yGISvXfy_zU/SVEe9ZrlaOI/AAAAAAAAADw/8-B6dugJlyM/s1600-h/Linear-Grad.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 213px;" src="http://2.bp.blogspot.com/_yGISvXfy_zU/SVEe9ZrlaOI/AAAAAAAAADw/8-B6dugJlyM/s320/Linear-Grad.png" alt="" id="BLOGGER_PHOTO_ID_5283037878096849122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So I have been thinking about the thermoplastic extruder lots since I read nophead's blog http://hydraraptor.blogspot.com/2008/12/sticking-point.html. My goal in this post is to decribe the problems and the abstract solution to the problem.&lt;br /&gt;&lt;br /&gt;The big problem that nophead describes is the transition between molten plastic and solid plastic in the various extruder designs. The problem is that in some of these extruder designs there is a temperature gradient from the hot end to the cool end. Because these design have a gradual, nearly linear tempurature change from the "hot" end to the "cool" end of the extruder. This tempurature distribution leads to a semi-solid section of thermoplastic that gets stuck in the exturder. The first picture shows what the tempurature gradiant in the modified desoldering tool is problably like. Because the way the desoldering tool is made the transtion zone (that includes the glass transition tempuratuer for the thermoplastic) is large. This long transition zone results in a long portion of the filiment that will remain stuck in the exturder when you try to reheat it.&lt;br /&gt;&lt;br /&gt;I propose that there is a very simple solution to the problem. Simply make the transtion zone shorter. This is shown in the second picure:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_yGISvXfy_zU/SVEg5KiKkkI/AAAAAAAAAD4/fMuMVVF-g2U/s1600-h/Fast_Grad.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 269px;" src="http://2.bp.blogspot.com/_yGISvXfy_zU/SVEg5KiKkkI/AAAAAAAAAD4/fMuMVVF-g2U/s320/Fast_Grad.png" alt="" id="BLOGGER_PHOTO_ID_5283040004334588482" border="0" /&gt;&lt;/a&gt;Reducing the length, or nearly eliminating this transtion zone (at least in the filiment) will prevent the filiment from becoming stuck in the extruder on reheat cycles. There are many ways that this can physicly happen. The current teflon sleve acomlishes this goal to some degree. If you look at the system as a set of lumped thermal masses, where each lump has as thermal resistance, then we can use an analogy of a voltage divider. The following figure shows this:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_yGISvXfy_zU/SVEka3bQIGI/AAAAAAAAAEQ/u_qmECPXexA/s1600-h/Voltage_Divider.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 146px;" src="http://3.bp.blogspot.com/_yGISvXfy_zU/SVEka3bQIGI/AAAAAAAAAEQ/u_qmECPXexA/s320/Voltage_Divider.png" alt="" id="BLOGGER_PHOTO_ID_5283043881855754338" border="0" /&gt;&lt;/a&gt;The higher the thermal resistance of the transition zone, the closer to ambient tempurature the junction between the transition section and the cool section will be. Lets look at the equation that gives this thermal resistance: R=L/(k*A), where L is the length of the section, A is the cross sectional area of the section and k is the thermal conductivity of the material the section is composed of. So we want to increase the thermal resistance of the transition zone, right? Well to do this we can do three things, increase the length, reduce the cross sectional area, or choose a material will low thermal conductivity.&lt;br /&gt;&lt;br /&gt;There are some tradeoffs in each of these ways to increase the thermal resistance of the transition zone. Increasing the length of the transition zone does indead increase the resistance but at the cost of a larger transition zone making the sticking problem worse.&lt;br /&gt;&lt;br /&gt;We can reduce the cross sectional area of material in the transition zone, and this will increase the resistance of the transition zone. However we can only make the material so thin because it is in tension, and be need to make sure the stress in the transition material is reasonable.&lt;br /&gt;&lt;br /&gt;Selection of material is at the heart of the mater. If we choose to use a metal, stainless steel would be one of the better choices, however it is expensive. Only a hand full of plastics and composite materials can handle the heat, hence the reason for the current teflon transition zone. However there are several other ceramic, and ceramic composites at are very cheap and meet the bill. An example of one of these materials is gypsum, conviently contained in drywall.  More on this later.&lt;br /&gt;&lt;br /&gt;Now keep in mind that what we really care about is tempurature of the filiment in the transtion zone. The very best thing we could do is eliminate any conection between the cool section and the hot section of the extruder except for the filiment it's self. Now as this isn't really possible, we move to the idea of removing the local connection between the transition zone and the filiment. I'm not saying this very well so I'll include a picture to describe what I'm saying:&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_yGISvXfy_zU/SVEq8YF7VgI/AAAAAAAAAEY/wj8oxskuKcA/s1600-h/New_Idea.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 224px; height: 320px;" src="http://4.bp.blogspot.com/_yGISvXfy_zU/SVEq8YF7VgI/AAAAAAAAAEY/wj8oxskuKcA/s320/New_Idea.png" alt="" id="BLOGGER_PHOTO_ID_5283051054630131202" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I did a quick thermal analysis of this concept using an thermal FEA model. I assumed the whole thing was made of stainless steel with average convection cooling and heat flow. Here is the result:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_yGISvXfy_zU/SVEsN8_iGlI/AAAAAAAAAEg/Sq9S89ynbWk/s1600-h/New_Idea_Edited.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 204px;" src="http://1.bp.blogspot.com/_yGISvXfy_zU/SVEsN8_iGlI/AAAAAAAAAEg/Sq9S89ynbWk/s320/New_Idea_Edited.png" alt="" id="BLOGGER_PHOTO_ID_5283052456104827474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I didn't model the filiment in the extruder, but will the low thermal conductivity the polymers there would be very little difference. As you can see the filiment goes from low tempurature to the feed tempurature in a very short difference. However this is only one way this can be done. Once again I just want to explain the concepts that will allow us to design a great extruder.&lt;br /&gt;&lt;br /&gt;I'm all out of time for now, but i'll continue will this topic in the next couple of days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8471106642347408850-2279728339287941946?l=geo01005-ideas.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geo01005-ideas.blogspot.com/feeds/2279728339287941946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://geo01005-ideas.blogspot.com/2008/12/extruder-ideas.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default/2279728339287941946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8471106642347408850/posts/default/2279728339287941946'/><link rel='alternate' type='text/html' href='http://geo01005-ideas.blogspot.com/2008/12/extruder-ideas.html' title='Extruder Ideas'/><author><name>geo01005</name><uri>http://www.blogger.com/profile/05207244129346213313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_yGISvXfy_zU/SVEe9ZrlaOI/AAAAAAAAADw/8-B6dugJlyM/s72-c/Linear-Grad.png' height='72' width='72'/><thr:total>7</thr:total></entry></feed>
