This is my first 3d printer and I intend to fully own it, pursuant to Bart's motto "If you didn't build it, you will never own it."
The Hadron ORDbot was received on Monday, April 23, in excellent condition, well packed and nothing missing. The mechanical part was easy to build, but not without hiccups. Some things are obvious in the end, but a puzzle at start. Like drilling the holes on the extrusions.
I drilled the Y-axis hole at the wrong end (Bart, please add to the relevant drawing that the Y-axis hole is to be drilled near the extrusion end that's NOT tapped to take the foot screws ). Fortunately, the extra hole is at the bottom and might prove useful for some extra wiring in the future.
The machine is indeed very stiff and the design splendid. The lovely metal look only breaks by the long nylon stepper spacers of the x-axis. These spacers are also the only places where I see a little flex under heavy stress.
I like screws well tighten but I read a warning about the nylon spacers that kept me from doing so. However, since I happened to have some 10mm 1mm thick aluminum tubing laying around, I cut 4 pcs 38mm each, ground the ends flat and replaced the long nylon spacers of the X-axis stepper. I now have them as tight as I want.
Boy, is this rigid! the whole X-axis feels like cast iron!
Replaced the nylon stepper spacers.
I'll leave it that way. I like the all metal look and feel. Maybe this can be an option for the next batch of ORDbots. It shouldn't raise the cost by much.
Comment from: Stephen Wright on Saturday, April 28th 2012 - 2:49 AM
That looks great, frob posted a good idea for a motor mount here http://www.buildlog.net/forum/viewtopic.php?f=4&t=1242&p=10784#p10784 I ordered some square tube from Amazon Supply to see if I can do the same or maybe something like what you have, hmmm.... so many ideas to steal from....
Comment from: orcinus on Saturday, April 28th 2012 - 2:55 AM
dzach wrote:I drilled the Y-axis hole at the wrong end (Bart, please add to the relevant drawing that the Y-axis hole is to be drilled near the extrusion end that's NOT tapped to take the foot screws ). Fortunately, the extra hole is at the bottom and might prove useful for some extra wiring in the future.
Oh, crap, i've just realised i did the same mistake. I think i'll just tap the other end instead of drilling another hole...
Saturday, April 28th 2012 - 7:52 AM
orcinus wrote:I think i'll just tap the other end instead of drilling another hole...
Yeah, I had such an urge to see it up and running that the thought this extra hole would be needed soon and the fact that I didn't have a 5mm tap in hand prevailed. But things go slower than planned. This machine deserves a tidy wiring, but this takes more time than I thought.
I bought this 360W, 12V 30A power supply for 35€ at a local store. It had no dimensions on the ad but it's made in China and pictures of it are all over the internet and some had dimensions: 199x100x40mm. Same picture at the store's web page, so I assumed it would be the same dimensions.
It came out to be 215x115x50mm and different than in the pictures
I thought wiring the ORDbot would be quick, despite the wiki warning to the contrary. Wiki was right, it does take time, as I keep forgetting what cable goes into what hole.
Here is a wiring plan showing location of cables and number of conductors needed. Cable locations are as close to the wiki proposal as possible:
ORDbot wiring plan v1
Here is the source SVG file for the wiring plan created with Inkscape. Please feel free to use/comment/correct it (delete the last .txt file extension):
Comment from: naPS on Saturday, April 28th 2012 - 7:43 PM
Bitchin' diagram man - would definitely have made my first build way easier.
Saturday, April 28th 2012 - 8:57 PM
naPS wrote:Bitchin' diagram man - would definitely have made my first build way easier.
Yeah, but please keep in mind that I don't have a working printer yet. After the wiring plan gets some comments or errors are fixed and a working printer is assembled based on it, it could be added to the wiki, having been field proven.
Comment from: orcinus on Saturday, April 28th 2012 - 10:45 PM
Can't see the text in the SVG (probably a missing font). Also, shouldn't the green text say "extruder stepper", not "x-axis stepper"?
Sunday, April 29th 2012 - 12:02 AM
orcinus wrote:Can't see the text in the SVG (probably a missing font). Also, shouldn't the green text say "extruder stepper", not "x-axis stepper"?
Thanks for catching this. You are probably right, it should be a font problem. I'm on Kubuntu Linux and was using a default 'Sans' font. It's missing the MS Arial font that's common to most platforms. I'll try to see why but in the meanwhile I changed the font to DejaVu Sans. Hopefully that's common enough.
Here is v2 of the drawings. I've added some separate ones for the signals etc.
Reassembled the whole bot using last night's drawings. Run out of 5 core cable. Other than that it went a lot faster, but...
Handle plate holes were 8mm and not 10mm
passing more than one multicore cable through the extrusion holes is a real pain. I had to drill the diameter of the holes in the cross Z handle plate to 10mm.
Decided to hide the power wiring into the extrusion too, like in the drawings. The place of entrance into the extrusions is at the base of the left (rear view) vertical makerslide to accommodate a nearby power supply.
Used 220V cable cores. Not the right colors for 12V DC but the right wire gauge.
Hacked an old PC power connector
Some screw terminals were misaligned when soldered. (Almost) ready to power up!
8mm holes in the plates with oversized springs are a convenient way to add some strain relief and hide cables.
However, they take away the capability to temporary remove the X axis for repairs, improvements etc.To be able to do that, one has to install connectors at the end of the cables and these connectors cannot pass through the 8mm holes.
So, I passed a tie-wrap through the hole
cut and added connectors to the stepper cable and X axis limit switch
It looks tight, but there is actually lots of space
Comment from: JackInTheBox1982 on Wednesday, May 2nd 2012 - 10:31 PM
Please forgive if this is a little off-topic, but I was wondering what the advantages are of using direct-drive from a stepper motor, instead of using step-down gearing. Would this make much difference on resolution of printed components. I am currently working on my own laser-cutter and am unsure if I should use a drive-system that's directly attached to the output shaft on my stepper motors, or to use a drive reduction system.
Cheers,
Tim
Wednesday, May 2nd 2012 - 11:17 PM
It depends on the rest of the linear motion system. In general, using a drive reduction system gives better positional resolution and better torque. However, if you exceed the accuracy or torque requirements, then gearing down will just slow down the overall speed of the machine, without any real benefit.
This picture of the Quantum ORDbot wiring is deceptive: it's missing a lot of connections, like USB, power, heated bed, heated bed temperature and all limit switch signals. This is more or less what it should look like when complete:
Comment from: mxk on Thursday, May 3rd 2012 - 1:09 AM
dzach wrote:This is more or less what it should look like when complete:
Or like this
Comment from: luiscp on Thursday, May 3rd 2012 - 4:47 AM
Here is my build in progress. Attachements...
A picture of the whole thing.
These is what I like about the Azteeg board. Since all the connection are coming from the side, it easier to keep it clean.
Comment from: naPS on Thursday, May 3rd 2012 - 7:07 AM
Here's mine. I've still got to route the main power and USB cable, but I'm still deciding where I want them to end up. So for now, they're just hung in place. I agree though, the Azteeg makes the wiring super clean.
Thursday, May 3rd 2012 - 9:10 AM
Thanks guys! Good to see how other people manage the cable spaghetti. I left extra long tails so that the wires clear the heatsinks when they are installed, but I guess I'll have to tidy it up a little more. The cables are shielded and the black spider seen on the top is the common ground connection.
I am afraid the wiki pictures show the Y axis built the wrong way. This drawing, and all the model renderings and the STP file show clearly the carriage with the limit switch holes and the top t-slot to the left, looking from the motor to the idler wheel (rear to front). The tapped holes for the foot are at the idler wheel side.
and most of the rest show the limit switch holes and the top extrusion t-slot to the right.
I initially followed the drawing and drilled the Y-axis bottom hole according to the drawing. After that however, the tapped holes were on the wrong side of the extrusion. The pictures were also proving that I drilled the hole on the wrong side. This led to the first reassembly of the bot.
Then, just as I finished cutting and connecting all the wires to the RAMPS board, I realised that there is no way to wire the Y-axis limit switch on the bottom side of the carriage plate and drive the cable to the bottom left (looking from the rear) Z-axis extrusion hole, because the wires would be crossing the belt and interfering with it.
Conclusion: The model and the drawings are correct and the Y-axis limit switch can be wired on the bottom side of the plate, if the drawings are followed. The wiki pictures show a different assembly. The Y-axis foot holes of my kit were tapped on the wrong side of the extrusion. Now, I either need to wire the Y-axis limit switch on the top of the carriage plate or I should reassemble the bot like in the drawings, after tapping the other side of the Y-axis extrusion, and go back to the first hole I drilled, which I thought was wrong. And go again through the wiring hell
Comment from: bdring on Thursday, May 3rd 2012 - 8:30 PM
I'll take responsibility for the tapping. I just randomly tapped them without thinking it mattered.
I am sure Murphy will make sure less than half of you you got it right
Sorry about that.
It is not a real project unless you have to buy a new tool....M5 Tap.
If you have a #10-32 or #10-24 that should work in the same pilot hole.
Comment from: awesomenesser on Thursday, May 3rd 2012 - 8:36 PM
dzach,
I noticed that the holes were tapped on the wrong side too and just tapped the other side before I assembled it (Already had the M5 tap from the laser build). (The only reason I tapped the other side is that I didn't want to break all the constraints in my Inventor drawing and flip the makerslide.)
Thursday, May 3rd 2012 - 8:42 PM
Nah, after all it seems to be a minor problem. Indeed I drilled another hole because I didn't have an M5 tap, but now I see that others, who have it right, still wire the carriage wires on the top face of the plate because of the heated bed. So I guess I'll just do that for the time being. I'm so close to start testing the motors I can't think of a reassembly right now.
We have motion! After one dead out-of-the-box stepper driver (which I'll have to examine), all motion systems work flawlessly. In the beginning I thought there was something wrong with the electronics, the sound was so weak. Then I realized all steppers were actually moving, and moving strong they were! I don't know how other printers sound, this ORDbot is really discreet, almost a whisper. Motion was tested with this code. Marlin gives me an error that needs debugging, parameter settings etc., next thing to do.
Motion!
Z-axis steppers are connected in series. There is no wobble that I can see or feel. Experimental AlFe extruder works fine but CuHotE hotend needs some more work to finalize.
Comment from: mxk on Saturday, May 5th 2012 - 3:54 PM
Congratulations!! That's a major milestone! Now the real fun begins...
Saturday, May 5th 2012 - 5:50 PM
Thanks! I gave in to perfection and changed the Y-axis to be in accordance with the drawings, i.e. top t-slot to the left and all look proper.
Other than that, I have a little difficulty getting Marlin to act properly. The hotend temperature is fluctuating, although when I heat the thermistor it shows immediately. I get the feeling that the thermistor type is not correct, it's supposed to be an EPCOS - B57560G104F - THERMISTOR, NTC, if I remember correctly, but this behavior is not normal.
That may also be the cause for an error:
Extruder switched off. MINTEMP triggered ! Error:Printer stopped deu to errors. Fix the error and use M999 to restart!. (Temperature is reset. Set it before restarting)
So back to reading the RepRap forum for answers, before I ask for help.
Comment from: mxk on Saturday, May 5th 2012 - 11:08 PM
Are you using bang-bang heating, or PID temperature control? If you are using bang-bang, then oscillations of as much as +/-5 degrees around your target temperature shouldn't be unexpected.
Fwiw, I've had good results with the 100K thermistors sold by Ultimachine. I bought a bunch for future needs, so I would not be playing the guessing game again.
If you are sure you have selected the correct thermistor when you compiled Marlin, then definitely use the auto-PID tuning. Send it a command of M303 from Pronterface or the terminal screen in the Arduino environment, and it will heat up to around 150 degrees (not enough to cause any problems, but enough to get into the range it needs to be accurate) then will cycle around that about four times. At the end, it will tell you the recommended values you should use for P, I, and D in the code. After that the temperature fluctuations should be around half a degree.
Sunday, May 6th 2012 - 12:41 AM
mxk wrote:Are you using bang-bang heating, or PID temperature control?
No heater yet in working condition, I should have clarified that, just the thermistors. I'm just monitoring the temperature as it's read in using an M105 code:
ok T:3.0 /3.0 B:5.0 /3.0 @:0 ok T:37.9 /3.0 B:12.3 /3.0 @:0 ok T:38.7 /3.0 B:45.5 /3.0 @:0 ok T:9.7 /3.0 B:45.1 /3.0 @:0 ok T:18.5 /3.0 B:36.7 /3.0 @:0 ok T:3.0 /3.0 B:36.1 /3.0 @:0 ok T:3.0 /3.0 B:3.0 /3.0 @:0
You can see the fluctuation in both the extruder and the heated bed thermistor outputs, same as with Pronterface. Here is a plot of about 200 values:
Thermistor temperature reading
If I heat the thermistor I get an immediate response (not shown above) and after a while it goes back to the same kind of noise. The above is the output as read by a small script that just connects through the USB, sends the M105 command and saves the output to a file. I need the temperature data at a later stage to examine the operation of the DIY hotend.
I've disabled the PID process but it doesn't seem to matter.
Comment from: tango282 on Sunday, May 6th 2012 - 3:19 AM
Are your ohms correct on the thermistor at room temp? (that is the thermistor is good?) The next question that popped into my head was of course with your software. As I have zero experience with printing please forgive me if you are way past this stage or I do not understand he problem correctly. You mentioned that you tested the system with a specific code (http://reprap.org/wiki/File:RAMPS1.4_Te ... ilehistory) Is that still running? I only ask because in the comments section of the Ramps wiki the author states that the code cycles on and off all of the MOSFETS and that graph definitely shows a cycle. Whew!!! 20 links of comments later (stupid rabbit holes! but I guess that is how I found the ORD Bot) Another thread I read was talking about increasing the delay in measuring to allow the ADC to catch up (http://forums.adafruit.com/viewtopic.php?f=25&t=11597) and switching the reference voltage to 3.3 due to noise (they mention USB) (http://www.ladyada.net/learn/sensors/thermistor.html) I am just spit-balling here, like I said I have no idea what I'm talking about..
Sunday, May 6th 2012 - 9:42 AM
Thank you for taking the time to help me with this problems.
tango282 wrote:Are your ohms correct on the thermistor at room temp? (that is the thermistor is good?)
Yes, I measured the thermistors (disconnected) and their resistance seems ok, around 98kOhm when left to settle at room temperature, the value fluctuating very little in the decimal part. I've got 4 thermistors and they all show the same values but also have the same behavior when connected.
After I tested the motors (I have not connected any heaters yet) I loaded the Marlin 1.0.0 RC2 firmware. The test code is no longer running on the RAMPS.
After reading the above links, I see that the Arduinos have an issue with reading multiplexed analog imputs fast, and another issue with the reference voltage for the ADC not being regulated.
I disconnected the heated bed thermistor and run the test again. Strangely enough, the disconnected input continued to measure temperature without the thermistor, possibly because the multiplexer does not have the time to completely switch the input between readings.
In the above test, the thermistor was at room temperature up to about point 70, at which time I put the soldering iron at a distance of about 1cm from the thermistor and left it there for the rest of the test. The readings showed the change immediately, but there still exists a huge fluctuation and missed readings. In the plot above, the heated bed thermistor is DISCONNECTED but I still get a reading close to the one from the extruder.
The reading are taken using the M105 code with Marlin 1.0.0 RC2 running in an ATMega1280 RAMPS board.
Visualizing axis direction and end stop position may not be so obvious, especially for the Y axis, but they should be set correctly in the firmware. Here are two drawings for each case.
Please comment if you see something that's not the way you think it should be.
EDIT: These drawings depict an arbitrary coordinate space for the motors. RepRap defines a convention for the coordinate space in terms of the extruder. See the drawing below.
Comment from: mxk on Monday, May 7th 2012 - 12:46 AM
Dzach, the second drawing matches the common reprap software setup. As you face the front of the printer 0,0,0 will be at the left corner closest to you. I usually tell people to make a gun with their left hand - thumb points to positive Z, index finger points to positive Y, and other fingers point to positive X.
Monday, May 7th 2012 - 9:59 AM
mxk wrote:Dzach, the second drawing matches the common reprap software setup. As you face the front of the printer 0,0,0 will be at the left corner closest to you. I usually tell people to make a gun with their left hand - thumb points to positive Z, index finger points to positive Y, and other fingers point to positive X.
Hmm, the drawings above show coordinate spaces for the motors, not the extruder, that's why the second drawing shows the origin at the far left side and not the near left as you mention. I edited the post to clarify that. Here is the drawing with a coordinate space for the extruder, with the end stops corrected accordingly:
Extruder coordinate space (RepRap convention)
The Y axis end stops may seem wrong to an outside observer, but for an observer siting on the gantry (i.e. the extruder) Y min is achieved when the carriage moves to the back of the bot.
... for the Hadron that is. Here are some photos from the assembly of a plexiglass/glass bed for printing with PLA. It's not a heated one but hopefully will do the job.
The materials used: M4x20mm flat head screws, 4mm washers, 4x10mm springs, 220x220x5mm plexiglass, 220x220x3mm glass, binder clips
Drill 4.5mm to allow for some 0.5 mm of play, countersink with a 8 mm drill for abt. 0.5 mm play.
Tap the carriage corner holes tapped to M4.
From top to bottom: M4x20mm flat head screw, bed, washer, spring, washer, carriage
Flat head screw, sunk in bed
The bed assembled
The glass top
Bed dimensions: 220x220x5mm. Glass top: 220x220x3mm. The plexiglass cost 5€. The glass was taken from an old scanner, cut and ground in house. The springs were cut to size and widened to allow for some play, otherwise the would stick on the screws.
Comment from: mxk on Friday, May 11th 2012 - 3:59 PM
FWIW, I was a long-time proponent of using springs to protect against head crashes, and still recommend them for machines using printed components, but these ORD bots are just too darn well designed, smooth running, and fast for that, even with acceleration and low jerk rates.
My advice is that once you have gotten things working well and are satisfied with the adjustments of your printer (day two or three, instead of week five like many reprap printers), you tighten the screws down until the springs are almost fully compressed. Otherwise, the mass of the Y carriage and inertia will give you some faint ripples in areas of rapid back-and-forth Y movements.
Friday, May 11th 2012 - 4:16 PM
Yes, I've read about it in some other post. The springs in the picture are almost fully extended but I intend to leave less than 0.5 mm play when I reassemble the extruder later tonight and calibrate the Z axis and bed.
I guess I could also eliminate them completely and replace them with nuts, calibrate the bed and forget it there, adjusting the Z rods if/when necessary, but first I need to gain some experience with Hadron.
Comment from: frob on Friday, May 11th 2012 - 6:37 PM
dzach wrote:My DIY extruder just came to life!
Very cool, congrats ! Love the idea of all-metal extruder, i might have to borrow (steal) from that Looks great, your off to a terrific start!
Friday, May 11th 2012 - 6:45 PM
Thanks frob!
Please do steal as much as you can, just keep their names As soon as it proves successful, I'll post more details about the design. I've installed two thermistors, one at the nozzle and one at the junction of the barrel with the heatsink so that I can monitor/record/analyze the operation of CuHotE.
A second thermistor ins6talled at the junction of the barrel with the heatsink. The holes in the heatsink allow the air blown from the (always on) fan to cool both the inner and outer surfaces of the heatsink as well as the upper cold end of the barrel inside the hollow heatsink.
Does anyone know how to read the second thermistor in Marlin? It's setup as T2 in RAMPS, supposedly the thermistor for the second extruder, but there is no 2nd extruder yet.
Comment from: canadianavenger on Friday, May 11th 2012 - 7:17 PM
you have to compile marlin with multiple extruder support. you can read the temperatures by selecting the tool using the Tn command [T0=extruder 1, T1=Extruder 2] and then issuing M105. I think a compound M105 T0 or M105 T1 is also valid, but am not sure.
Friday, May 11th 2012 - 9:15 PM
Thanks! I'll try to find out how I can compile it for multiple extruders
Comment from: canadianavenger on Friday, May 11th 2012 - 9:28 PM
It's at line 75 of "Configuration_adv.h" in the Marlin source directory -- change the "1" to "2", after changing the value you'll have to re-build the project in the Arduino environment. I can't promise that this change won't introduce other problems as you don't really have 2 extruders, though I doubt it will.
Friday, May 11th 2012 - 9:57 PM
I compiled it with
#define EXTRUDERS 2
. Now it doesn't error on "M105 T1" but doesn't return the temperature either. It just receives:
it responds: ok but it doesn't echo the temperature to the screen.
The T1 command gives an error in single extruder mode, as does "M105 T1".
I also get frequent errors like this:
RECV: Error:0 : Extruder switched off. MINTEMP triggered ! RECV: : Extruder switched off. MINTEMP triggered ! Error:Printer stopped deu to errors. Fix the error and use M999 to restart!. (Temperature is reset. Set it before restarting)
Trying to find the PID parameters using M303 gives:
PID Autotune failed! timeout
I think the PID control is not tuned and might be responsible for the errors.
I still have the MINTERM error persisting. It pops up early in a print and hangs the process. To test the bot I hand crafted a simple test.gcode file which I load with pronterface and run. Here are some results with varying layer heights:
Hand crafted test print.
I also suspect USB connection problems; I had them before, they might still be present as I still see some fragmented input and "Command not known" replies.
Does anybody know if Marlin calculates a checksum of the input?
Spent the day trying to debug my Marlin settings. Here is the first strange thing I discovered:
CuHotE performance curve
21 to 200°C in about 37 sec.
21-200deg C in 37 sec.
Not bad, but what is this ripple on the top?
Strange ripple and steps along the curve
Here are some close-ups of the graphs:
40-45°C
200-205°C
After looking into thermistortables.h in Marlin's source files I discovered that the table for setting 6 - EPCOS 100k, which I was using, has errors in it. I spent quite some time learning about thermistor internals and ended up verifying and using setting 1 - 100k thermistor While going through the source I disabled the timeout check in line 230 in temperature.cpp which was giving me PID Autotune failed! timeout errors and could not complete the PID auto-tuning process.
I gave up on Marlin. It still refuses to work for me even after I disabled the error generating routines in the source. So, I tried Sprinter and it printed immediately without any complain whatsoever. This is what it printed, a single wall open cube:
Then I discovered that the filament I got from ReprapWorld is not round:
Min. 1.62, max. 1.81
Trying to calibrate the bot, I calculated the cross section area of this shape:
Min = 1.62mm, max = 1.81mm, avg = 1.72
From that I got the equivalent diameter, which is equal to 1.72mm. Funny thing, the average of the min and max diameters is also 1.72mm
Now, Sprinter lacks a workable PID control so this is how CuHotE performs:
Heatsink reaches 33°C max with an ambient temperature @25°C.
This is what the tip of the filament looks like in the melt chamber:
The melted part measures 10mm, exactly the height of the cylindrical heating element. The inner diameter of the barrel is 2mm.
I also did a feed vs. temperature measurement to see how CuHotE performs:
For each measurement, I extruded 100mm of PLA and accepted the measurement only if there was no missed steps.
It can extrude PLA filament at 300mm/min @200°C, but because of the ripple of the temperature with Sprinter, I'll have to repeat the measurement with Marlin and its working PID.
Comment from: frob on Monday, May 21st 2012 - 6:24 AM
Wow excellent work! this will benefit everyone here i think. Me for sure, i was also having trouble getting the extruder temp right, i may have been experiencing the same problem , i'll try this as soon as my Hadron is rebuilt (probably next weekend)
Cheers!
dzach wrote:Spent the day trying to debug my Marlin settings..... This is the result:... Looks good!
Comment from: Enraged on Monday, May 21st 2012 - 6:30 AM
how do you log the temperature?
Monday, May 21st 2012 - 3:46 PM
Enraged wrote:how do you log the temperature?
I use a small script to send temperature settings and M105's to read temperatures from the RAMPS @100ms intervals through the serial USB connection.
frob wrote:Wow excellent work! this will benefit everyone here i think. Me for sure, i was also having trouble getting the extruder temp right, i may have been experiencing the same problem , i'll try this as soon as my Hadron is rebuilt (probably next weekend)
Thanks! I have a need to understand in more detail how an extruder/hotend pair works and I bet others need that too. Temperature fluctuations of +-5 deg, though tolerable, are too big for a quality print, I can now see the difference.
I have disabled the MINTEMP alarms and am able to print with Marlin, but I still have problems with USB communications. At 115200 bps I get checksum errors that stop the show, so I have to work at 57600 bps. Why would a checksum error stop a print? As soon as I manage to load the 3D development environment to another PC I'll know if it's a local problem or something to blame Marlin for.
Enraged wrote:For reference, here is what mine is set too currently: //J Head #define DEFAULT_Kp 20.18 #define DEFAULT_Ki 0.69 #define DEFAULT_Kd 197.48
Why copy values form others? You can send a "M303" and let Marlin autotune the PID parameters for you. Here are mine for CuHotE:
Comment from: Enraged on Monday, May 21st 2012 - 4:46 PM
I wanted it in the right ballpark from the start, as I was dealing with stepper driver issues as well. I'm tuning everything today so I'll adjust it.
Monday, May 21st 2012 - 11:16 PM
I guess I have to correct myself. The temperatures shown in the graphs are what Sprinter and Marlin THINK they are, based on the 100k thermistor tables. I have not yet verified the actual temperatures, and when I do, I'm afraid I'll be surprised.
I keep extruding ABS at what seems to be very low temperature, about 180 deg. C. This, I think is not normal but rather an indication that my thermistor tables are the wrong ones, or that the difference between the thermistor reading and the actual melt chamber is a lot greater than I thought it is. I'll do a test with icy and boiling water and see how it comes out.
EDIT: I just turned the heater off and kept pushing the filament by hand in the barrel. It stopped coming out of the nozzle at abt. 90°C !! Is this normal? I definitely need to do a temperature verification.
EDIT 2: Or I may have done something wrong while fiddling with the extruder tonight.
EDIT 3: As it turns out, I fried the thermistor while doing some high temperature measurements last night. It continued showing temperatures, only they were way out of order. I will probably have to use thermocouples for such work. Ιt looks like the 300°C limit on the EPCOS thermistor needs to be taken seriously into consideration.
This is a picture of the fried thermistor together with a new one:
I need to calibrate the thermistor so that the graphs I post are meaningful. To see how the thermistor performs I need two standard temperatures. Water offers an easy way to calibrate temperature. This is the setup to measure the temperature at 100°C and 0°C:
Measurement setup: Boiling water
The plastic bag is there to protect the thermistor from the water.
Measurement setup: Icy water
And the resulting graph:
From tap water to boiling water, icy water, stirred icy water and room temperature.
Conclusion: Thermistor looks good at 0°C but at 100°C it only shows 96°C. I'll have to find a way to correct the tables now.
Comment from: frob on Tuesday, May 22nd 2012 - 6:00 PM
dzach wrote:Conclusion: Thermistor looks good at 0°C but at 100°C it only shows 96°C. I'll have to find a way to correct the tables now.
That kind of thermistor isn't rated for temperatures over 125C, or 155 in some cases. Its not a good choice to use on an extruder that runs in the 180-250C range. Most Glass-encapsulated thermistors can handle 250C, or 300C in some models. Epcos makes those too.
Also, each thermistor has a tolerance - you can buy them as 10%, 5%, 2%, 1% etc. 96/100 would be within tolerance for a 5% thermistor. Also with 100K thermistor, impedance is high enough that it can pick up a significant amount of induced noise from the motor cables, which can throw off your measurements in a small but measurable way.
Note that in the target temperature range, they will have a resistance somewhere around 1.5K-2.2K; thus to get the best resolution in temp measurement, the pullup resistor should be in the same ballpark value, also a 1% or better, though that would require an adjusted thermistor lookup table. Also note that the 10-bit ADC in the AVR has its accuracy spec'd at 2%, and on the Arduinos there's no filtering on the AVcc supply. So even with a 1% thermistor+resistor i wouldn't expect better than 5% overall accuracy.
... considered using thermocouples?
Comment from: Stephen Wright on Tuesday, May 22nd 2012 - 7:29 PM
Comment from: loopingz on Wednesday, May 23rd 2012 - 8:56 AM
I have to agree with Stephen here, altitude and day pressure can influente to this amount and the overall deviation is not that bad for a cheap captor...
This is a very good point. My altitude is ~400m so the boiling temperature should be ~98.5°C. That accounts for 1.5°C of the difference.
frob wrote:Also, each thermistor has a tolerance - you can buy them as 10%, 5%, 2%, 1% etc. 96/100 would be within tolerance for a 5% thermistor.
I believe I have the EPCOS B57561G0104F000 type which is stated at 1% tolerance. That, together with the ADC and resistor tolerances may be the explanation for the remaining 2.5°C difference.
frob wrote:That kind of thermistor isn't rated for temperatures over 125C, or 155 in some cases. Its not a good choice to use on an extruder that runs in the 180-250C range. Most Glass-encapsulated thermistors can handle 250C, or 300C in some models. Epcos makes those too.
The spec says it is good to 250°C, there is a Tmax for bath soldering 260°C, as I now see. I went (unintentionally) higher than 300°C and the little thing was permanently damaged.
frob wrote:... considered using thermocouples?
Yes, I've considered using thermocouples for testing, but the electronics are more involved and I had already ordered some extra thermistors. I will probably end up ordering some thermocouples now.
Comment from: frob on Wednesday, May 23rd 2012 - 7:07 PM
dzach wrote:
frob wrote:That kind of thermistor isn't rated for temperatures over 125C, or 155 in some cases. Its not a good choice to use on an extruder that runs in the 180-250C range. Most Glass-encapsulated thermistors can handle 250C, or 300C in some models. Epcos makes those too.
The spec says it is good to 250°C, there is a Tmax for bath soldering 260°C, as I now see. I went (unintentionally) higher than 300°C and the little thing was permanently damaged.
Hmm i may be wrong then - i assumed they were low temp epoxy dipped types because thats what they really look like in your pictures. usually the glass encapsulated ones are transparent, translucent, or very obviously made of glass. maybe its dipped in epoxy as a second protective coat, but i'd check to be sure - try cutting open the dead one, or scraping the top layer off to see whats inside.
Vcc voltage would also play a role in the value the ADC reads.
Well that depends on how the ADC is set up in software. you can use ratiometric (Vcc as reference) or the internal precision reference. in this case we want radiometric. i assumed the firmware does that right, but haven't actually checked - I'll do that next time i need to go wading in there (a couple days hence..) and see what kind of digital filtering is used. It might be interesting to also do a test to see the noise and DC offset with and without the motors running.
Wednesday, May 23rd 2012 - 10:00 PM
It looked like epoxy to me too, I bought it as EPCOS B57561G0104F000 and had no problem working up to 250°C, I tried extruding ABS at this temperature.
frob wrote: try cutting open the dead one, or scraping the top layer off to see whats inside.
Too late for that now, but I had already broken it open and it sure didn't look like glass in the inside. I might be wrong though.
frob wrote:It might be interesting to also do a test to see the noise and DC offset with and without the motors running.
This would be interesting indeed. I still get errors with Marlin. I use shielded cables for the motors, but I don't have the necessary equipment to do a test for either the noise or the protocol.
Comment from: Enraged on Friday, May 25th 2012 - 10:17 PM
nice, I'll have to hook one up on the weekend.
you should print yourself a fan duct and see if that helps
Comment from: naPS on Friday, May 25th 2012 - 11:04 PM
I've been using a couple of 40mm fans mounted to a thing I printed off of thingaverse, and it's been amazing the difference in quality of prints that I've been getting. I'm still bummed that I've been getting a little bit of wobble out of the Z, but I've ordered some leadscrews to hopefully eliminate that. Here's the fan mount - works great for a MakerGear stepper plastruder : http://www.thingiverse.com/thing:12336
The only problem with the mount that I've found is that it doesn't blow on the back. When I try to really crank the speed up I get a little bit of warping on the side of the print closest to the back of the machine. I'm trying to rig some temporary things up, and will actually probably resort to printing this fan mount when I get a couple of my calibration issues done : http://www.thingiverse.com/thing:20459
Comment from: mike on Saturday, May 26th 2012 - 1:22 AM
It's been a month since I started this log and here are the two most significant things I learned so far for printing objects:
The bed needs to be leveled carefully and first layer should stick well. If the first layer is compressed too much by the nozzle, then hot plastic, not having an escape path rises up in the barrel and forms a break to the filament movement, resulting in stepper missing steps and a deteriorated or ruined print. At least, this is what happens with my DIY AlFe + CuHotE extruder. If, to the contrary, the first layer is correctly sized then the whole print goes smoothly and no step is ever missed in the extruder.
Using a fan for PLA prints is a MUST(I haven't yet printed anything in ABS, mostly due to its smell) The 2mm tip in Sappho's bun hairstyle cannot be printed with out a cooling fan or slowing down the print significantly to allow for natural cooling:
0.25mm layers, 0.4mm nozzle.
Here are some objects printed today:
http://www.thingiverse.com/thing:14565
There are some artifacts due to Z-axis wobble. They can be seen in the small Sappho's chest. I've carefully adjusted the stepper motor screws to minimize wobble and the improvement shows in the bigger Sappho, though the problem is not yet eliminated. The bigger Sappho is just a scaled up version of the small, so both have the same amount of details.
I needed connectors for my DIY extruder. This made the gantry a plate of cable spaghetti. Time to tidy it up:
Before/after
I used a perforated PCB to mount the connectors. Usually the connectors go with the cable so that it can be easily removed, but I change the extruder frequently for measurements, so I put the connectors on the extruder and fixed the cable on the PCB. The PCB is mounted on a printed PLA base. The PCB is populated with additional connectors for a second extruder.
Tried a couple of quick solutions for a filament spooler but didn't like the result, so what's better than printing one? Well, trying to print a large object showed that the bed needed some levelling. Here's how I mounted the dial indicator:
I had to clean the V wheels of the X-axis with a cotton swab, because any dirt on them shows directly on the dial. This is the simple spooler I printed for a 125x200mm OD spool:
Solved a problem with the Z-axis end-stop not functioning properly: it was stopping before the end just after moving for a few mm. The whole z-axis had a problem too: couldn't move reliably but stopped at random points along the requested distance.
Conclusion: There must be a serious noise problem with my built. That showed up early with the thermistor and persists until today, showing various symptoms.
On the good side of things, I printed the Venus of Willendorf- Bakutis Style thing at 150% scale (about actual real size, 116mm tall) and 0.25mm layers, 0.4mm nozzle @80mm/sec with acceleration X2000 Y4000. It took 02:08:39 and went flawlessly from start to end. This is the tallest thing I've printed so far.
Venus of Willendorf- Bakutis Style, Thingiverse.com
There is still a slight z-axis wobble that I need to eliminate that shows on the shiny parts of the print.
Trying to break my own record set above, here is the tornado,created by Martijn, printed with the same settings as above, with about the same print duration. It's a single walled object.:
While printing it, I realized that the max height of objects I can print is 184mm. Although there still is some 15mm left of z-axis, the max height is limited by the bot's handle.
A small hiccup can be seen at about Z148mm:
Arc quantization together with z-wobble make interesting artifacts:
Comment from: Gijs on Friday, June 8th 2012 - 9:41 PM
Thanks for posting these images, your prints are starting to look very good. Im still in the process of sourcing everything I need to complete my build ;(
Just wondering about the noise problems you had with the end stop: do you have your wires twisted?
Cheers, Gijs
Friday, June 8th 2012 - 10:37 PM
Thanks! I hope you find the rest of the parts and get on with printing, it's a lot of fan (and sorrow too)
Gijs wrote:Just wondering about the noise problems you had with the end stop: do you have your wires twisted?
No, they are inside the shielded cables. All cables I use are shielded, and signals go in different cables than motors, so theoretically the signal wires should not pick up EMI from the motors etc. but reality wants it differently. What's strange is that I use the normally closed connection of the limit switch so the signal wire is connected to the ground until the switch hits the end stop, at which time the pull-up resistor drives the signal to Vcc+. But it seems I'm getting the noise while the contact is closed i.e. on a grounded wire
At present I have gathered all cable shields and grounded them at the power input ground terminal. I have also grounded the gantry and the alu frame and checked that all connections are good. There might be something else though, that's gone unnoticed.
In time, I'll get the RAMPS boards caged in a metal box and see if it gets any better
dzach wrote:Thanks! I hope you find the rest of the parts and get on with printing, it's a lot of fan (and sorrow too)
Indeed, lots of fan, I got 3 already installed, one for the extruder, one for the bed and one for the RAMPS electronics.
I followed Gijs suggestion and twisted the stepper motor wires, together with a rearrangement of the electronics and a separate ground on the frame. Result: The problem of noise in the end stop wires is gone. Got rid of the extra filtering capacitor I installed as a work around for the problem too. Next I'll try installing Marlin again, which was not working properly, possibly due to the same noise problem.
Things aren't always the way they should be. Here is a photo with some ABS prints.
The T5 pulley was printed @240°C, 0.35mm layers, 70mm/s feedrate. Something is not right but what? The filament looks like it's been overheated.
The bottom test cube was printed @220°C, 0.25mm layers, 25mm/s feedrate. I thought that lowering the speed would probably result in better quality. Was I wrong! The plastic was sticky and felt like it had been boiling.
The top test cube was printed @185°C, 0.26mm layers, 150mm/s feedrate. That's right, 185°C. I didn't expect it to print at all, after all PLA has a lower extrusion temperature (I can't print PLA at temperatures lower than 180°C) but came out great in comparison with the other two.
While testing this ABS filament I was able to extrude it @135°C !! I repeated the test many times; at 250°C the plastic makes sounds like frying potatoes ! At 150°C it extrudes happily and silently complete objects.
Conclusion: Every batch of material should be individually tested.
Story 2:
I was using Slic3r for some parts that involved some 3mm holes and a 22mm one to take a press-fit 608z bearing.
No matter what I did, the holes were coming out the wrong size; I could either get the 3mm right or the 22mm right but not both of them at the same time. In this thread I described the problem. As it turns out, Slic3r has a feature/bug that shrinks the holes that cannot be turned off, at least in the last version 0.8.3.
I tried Skeinforge and finally managed to print the part correctly. I've been using Skeinforge since then which, although its user interface can be intimidating to the new-comer, gives a lot more control over the result.
I did some more speed tests with the same 0.5mm cube:
The cubes were pulled off the bed while still hot, so they deformed a little.
The 250mm/s one took 0:54" @250mm/s to complete but I think the speed was limited by the acceleration being 2000mm/s^2 and the side of the cube being 20mm. I tried again @350mm/s with acceleration 3000mm/s^2 and it took 0:47" to complete.
I forced the parts off the bed while still hot and they deformed a little. The wall is indeed 0.5mm thick as in the STL. ABS at that thickness is quite flexible.
The maximum feedrate I can safely achieve with the Hadron is 22000mm/min = 366mm/s for a 210mm travel, after that the motors start skipping.
EDIT: As I suspected, the acceleration is limiting the speed for small travel. I designed a similar shape but this time with a longer side of 100mm so that the head can achieve the requested speed and this is the result:
The bed is covered with ABS juice so that the parts stick firmly to it.
The 150mm/s part printed fine. This proves my DIY extruder's limit lies somewhere between 150mm/s and 200mm/s.
It seems that to claim high speed records one should have to print objects that allow the print head to reach the claimed speed, otherwise the record would be false.
EDIT 2: Doing a little math, a 20mm travel can only allow a final speed of :
v = sqrt( (20mm/s)^2 + 2*3000mm/s^2*50mm = 548.0 mm/s
We take half of the length available as travel because the head needs to equally decelerate before it reaches the end.
At 3000mm/s^2 the 350mm/s speed is reached after 20.35mm of travel, which means that a minimum length of 40.7mm is needed if we include the necessary deceleration travel. To be sure, an additional length of travel should be added so that the extruder extrudes at that speed for some more time. The best possible test object would span the whole bed; 210mm would allow the head to accelerate, reach 350mm/s final velocity and extrude 169.3mm of plastic @350mm/s feedrate.
Or, a 210mm side will allow a final speed of 794mm/s to be momentarily reached.
Hopefully the above make sence. Here is the STL file, in case someone else wants to measure the performance of his extruder. Attachements...
Comment from: mxk on Saturday, June 23rd 2012 - 2:57 AM
Did you increase your temperature as you increased the speed? Sometimes you have to increase it dramatically to handle sustained high feedrates. The downside is the increased tendency to string.
Saturday, June 23rd 2012 - 8:12 AM
mxk wrote:Did you increase your temperature as you increased the speed?
Yes, I forgot to mention it. I increased the temperature to 220°C in all tests, because the extruder was skipping heavily at 185°C. It stopped skipping around 220°C but even at a higher temperature, e.g. at a "boiling" 250°C, it couldn't go higher than 200mm/s without skipping. As it can be seen in the pictures above, even at 350mm/s, the sort sides of the parallelepiped print much better than the long ones because the head doesn't have the time to reach max speed.
So the real limiting factor in my case seems to be the extruder. I wish I could find some comparison data, but it seems that many people claiming high print speeds make the same mistake: set the speed to a number and print a random object, ignoring the fact that the actual speed achieved is not even close to that number.
It would be interesting to see how other extruders perform under the same conditions.
Comment from: flurin on Tuesday, June 26th 2012 - 7:44 AM
The acceleration is the default value: 3000 mm/s^2.
Note:
The results are better if I use an additional cooling fan and increase the temperature to 230 °C. But obviously the limit is the extruder capacity.
Monday, July 2nd 2012 - 10:03 PM
After a week or more of testing with Skeinforge and Hadron, I finally managed to print an improved test object at true speeds, I believe, around 300mm/s before hitting another limit, that the calculations above do not anticipate. The extruder does not miss any steps and the limit seems to be mechanical. The time to print the test object @300mm/s was 1:08 with the nozzle hot.
I reiterate my conclusion from above that, unless the object to print is big enough in size, increasing speed (feed rate) doesn't make any difference because the printer does not have the time to accelerate to the requested (high) speed. I've found that my Hadron's max XY speed is about 21500mm/min = 358mm/s, down ~500mm/min from previous max of 22000mm/min since I added a 5mm aluminum bed.
Here are some pictures from the test print (layers 0.25mm, object height 5mm):
Apologies for the dirty print bed, it is ABS juice that wasn't cleaned between the tests.
The duration for a test print at 250mm/s was 1:17" and the duration for the same test at 300mms/ and at 350mm/s was 1:08", as timed with Pronterface. The prints were timed with the nozzle hot.
2.1 Filament 2.1.1 Material ABS [PLA, ABS, other] 2.1.2 Filament average diameter 1.7 mm 2.1.3 Die swell (mid air extrusion diameter) 0.85 mm
2.2 Thermal 2.2.1 Melt zone temperature ~240 °C (thermistor not trusted any more) 2.2.2 Temperature fluctuation <1 % 2.2.3 Ambient temperature 28 °C 2.2.4 Ambient humidity 50 %
Comment from: flurin on Tuesday, July 3rd 2012 - 1:02 PM
Hi dzach
I've installed Skeinforge in order to print the tests with Skeinforge. However on my Mac (OS 10.7.4) Skeinforge doesn't display the fields and the field descriptions correctly. I'm searching for the reason.
Has Skeinforge a similar INI-File as Slic3r? If yes, could you please post your Skeinforge-settings.
Tuesday, July 3rd 2012 - 2:38 PM
Unfortunately it has 51 config files, one for each tool, but here is a zip file with them as I used them for the test:
The breakthrough in my understanding Skeinforge was finding the "magic" ratio of feed rate to flow rate. This gets just the right amount of plastic through the nozzle and one can then fiddle with other settings like oozing, stringing etc. knowing that the basic flow calculations will not change. The instructions usually say to use the same numbers for feed rate and flow rate, but doing so put just too much plastic though my CuHotE extruder.
My "magic" ratio is 50/39, feed_rate / flow_rate. For e.g. 150mm/s the settings will be 3*50mm/s and 3*39 or 150mm/s and 117.
Although Slic3r is a user friendly and fast piece of software, I find the fact that it hides most of the details not helping me understand the extrusion parameters and process. I just couldn't get it to print accurately and consistently. Skeinforge, though user unfriendly, allows greater control over the extrusion parameters and gives me confidence that I can make it do what's necessary for a good print.
Comment from: flurin on Tuesday, July 3rd 2012 - 2:47 PM
Thank you dzach!
I've still troubles with Skeinforge on my MAC. I'll try your settings ASAP.
Tuesday, July 3rd 2012 - 2:52 PM
I just printed another version of a Z-stop adjuster. It uses M3 screws and an oversized knob with 20 dents so that each dent changes the z-limit by 0.025mm, a full turn is 0.5mm. Maybe an overkill, but it printed, unattended, in 5' at 150mm/s.
I think red does not go well with the Hadron colors.
The Skeinforge config files go into a folder named like the profile name, in a hidden path .skeinforge/profiles/extrusion in the user's home directory, e.g.:
Comment from: flurin on Tuesday, July 3rd 2012 - 3:45 PM
I've generate the ooze-j-test_export.gcode file, however it doesn't seem to me to print at 150 mm/s! Attached you' ll find the file. The code F3600 corresponds to a speed of 60 mm/s. Attachements...
EDIT: I dont know if the gcode is an indication of the actual speed of the print. I've printed successfully @350mm/s, and the gcode shows F21000 but I saw no real improvement over 300mm/s in the actual duration.
Comment from: flurin on Tuesday, July 3rd 2012 - 5:26 PM
I'll use the new settings. I quickly compared cool.csv, Activate Cool is now set to false. This was the reason. Thank You!
I 'll post the test results ASAP.
Comment from: flurin on Tuesday, July 3rd 2012 - 6:08 PM
... and here is the first test result:
The circle is almost perfect, I 'll do more tests in order to eliminate the lack of plastic at the left.
Wednesday, July 4th 2012 - 6:22 AM
Good news, Flurin, the circle looks so smooth, mine is segmented. With my extruder, the gaps right after the layer change were corrected by playing with the retraction parameters, after I made sure the plastic flow was right by measuring the wall thickness, but your case may be different.
I printed your gcode with my Hadron and came out great, the circle printed very smooth too, only the walls came out 0.38mm thick, about 0.12mm thinner than the design. . Looking into the gcode I see:
Comment from: flurin on Wednesday, July 4th 2012 - 10:06 PM
I measured a thickness between 0.4 and 0.45 mm.
I suppose Slic3r can't print 0.5 mm because the nozzle is 0.35 mm and the layer height is 0.25 mm, indeed it prints only one line each layer. If the thickness of the ooze-j-test would be 0.8 mm or greater than Slic3r would probably print at least two lines.
Otherwise setting the layer height to 0.2 mm results in a wall width of 0.49 mm.
Edit:
I've attached the Gcode-File with layer height=0.2mm > thickness = 0.5mm
It was an epoxy encapsulated thermistor not a glass one and wasn't good for the hot end. This is the third thermistor that's gone bad. I bought it as an EPCOS B57561G0104F000.
This is a glass one and hopefully it will last longer:
The scale is the same in both photos. The glass encapsulated thermistor is 0.8mm in diameter.
Comment from: Enraged on Sunday, July 8th 2012 - 4:53 AM
Is that a wire heater? why not use a resistor or a cartridge?
Sunday, July 8th 2012 - 12:41 PM
Well, I have these reasons for using a nichrome heater:
1. It can be built in any shape, i.e. is not limited by the size of the resistor 2. It can have a very short melt zone, for faster prints 3. It can be very symmetrical and distribute heat evenly to the melt chamber, whereas a resistor/cartridge only heats from one side 4. It can be of any power desired, provided there is an appropriate nichrome wire size.
The destroyed heater had a length of 6mm, and so will the new one.
Hand milled a pocket for the wires on a drill press with a 3mm fluted bit. Not very nice but functional.
Nichrome wire installed and high temperature cement cured.
Thermally insulated.
Mounted on the new extruder plate made from scrap aluminum. It's about 10mm longer than the old one to make space for safer heater connections
Drilling 1mm holes on copper is not an easy task. The thermal capacity of copper raises the temperature quickly and the bit sticks or brakes very easily. So instead of the nice angled holes that I planned, I ended up with straight holes and 2 broken bits left in the heater's body. It does its job, but doesn't look as great as I wanted.
EDIT:
This is a thermal response graph of both old and new extruders:
I have been avoiding to print large parts with ABS due to problems with warping. Here is my first take at a heated bed which might help minimize this problem:
Nichrome wire sandwiched between kapton tape
Glass fiber insulation. All held together with adhesive aluminum tape.
Heater installed under a 5mm aluminum plate which distributes the heat evenly.
This is a low power heated bed, since it is only about 80W.
Heated bed thermal response
The thermal response graph shows that it would be impossible to reach 150°C with this power. It takes 24' to reach 83°C. In the next iteration I'll make the heater with two nichrome wires in parallel.
Here is a video with my Hadron printing a test object at 300mm/s with the new heater. I don't see much of a difference with it except that it takes more than 3 times longer to reach extrusion temperature.
One of the few problems remaining with my Hadron has been Z-axis wobble. Not wanting to go the ACME lead screw way, I gave my best trying to align the coupler. I even run a dial indicator on the coupler, inserted shims in the coupler bore, and added more set screws at 120° angles:
Finally I managed to get the coupler dead centered and the threaded rod with now wobble at all. Alas, this didn't stop the motor from wobbling on its semi-flexible bracket, which unfortunately showed also on the surface of the prints.
Nophead's Prusa Z-coupling. Notice the artifacts on the surface of the coupler, due to Z-axis wobble.
The coupler requires the installation of a plastic tube on the motor axis to take some of the angular wobble. Not having the recommended plastic tube, I settled for 3 layers of heat-shrink that I happened to have:
The diameter of the axis after the heat-shrink was about 7.25 mm:
This is a test @0.33mm layers, printed at 150mm/s using the new couplers:
I didn't even bother to use ABS juice or heat the bed. ABS does warp when given the opportunity.
The problem is gone.
The rods do still wobble a little but the motors are absolutely still. To align them, I tighten the coupler screws lightly, loosen the motor bracket and derlin nut holding screws and run the z motors up and down a number of times, one or two are not enough. The couplers align themselves nicely. I knew I was done when the motors stopped wobbling. Tightening the screws back needs to be done gradually not to upset the optimal alignment of the system.
Comment from: orcinus on Sunday, July 29th 2012 - 1:34 AM
I've tried the heat shrink method with Bart's couplers as well as a flexible alu clamp-type coupler that had the wrong diameter. It works awesomely at first, but be advised - it deteriorates over time.
The heat shrink starts slipping and gets torn to pieces eventually. Might just be the kind i've used.
I've switched to spiral-cut clamp couplers (proper diameter this time), aligned everything and for the first time, i'm getting zero wobble without fear of it all flying loose after a high-acceleration Z move.
Sunday, July 29th 2012 - 9:10 AM
Thanks orcinus.
It looks to me like most of the z-axis wobble effects are due to the angular component, which makes the motor wobble. This is what the plastic tubing seems to be curing. Hopefully the heat shrink sleeves will not have the fate of the ones you used with Bart's couplers, I'll report it if they do. Maybe it was the set screw that damaged the sleeves initially and then they failed. I'll try to find some proper plastic tubing, just in case, cause I'm not going back to the z-wobble days, no matter what.
Comment from: orcinus on Sunday, July 29th 2012 - 12:51 PM
Oh, yeah, it does away with the angular misalignment and steppers rocking on (or with) the mounting plates. But you still get some eccentricity between the motor shaft and the threaded rod. Not initially, but as the sleeving gets squeezed/torn, and you keep tightening the set screw (or the clamping screw), the layers of sleeving can become uneven. One caveat, though - i had to use 3 layers to get to the wanted diameter, so your mileage may vary
BTW, i found a nice, simple way to align the rods to the motor shafts. Mount the coupler on one of the steppers and unscrew the rod out of it so it hangs above the coupler. Poke the threaded rod with your finger a little, get it to hang loosely (which it will, unless your delrin nuts are unused, because the threads do wear out rather quickly initially). Unscrew the stepper plate T nuts a little - enough to move the stepper freely, but leave it tight enough so it keeps position. Look down the threaded rod and see where the end... ends. And move the stepper along with the plate and the coupler until the coupler hole is dead center under the rod end. Tighten the stepper plate (carefully, while watching the rod, so you don't rotate it away again with your wrench), screw down the rod into the coupler with your fingers and tighten. Rinse and repeat for the other side.
Edit: Obviously, you need to have the coupler on the other side too while doing one side, but the point is, it doesn't have to be perfect, you just need it to keep the gantry up. Also, it helps immensely if you adjust the gantry so it's level and immobilise it while doing this, becase there's usually enough leeway in the left and right Z to have it at enough of an angle for the threaded rod to end up hanging at an oblique angle.
Sunday, July 29th 2012 - 3:41 PM
I do align the axes in a similar way, have a look at the picture above with the digital calipers, where the rod is hanging right above the shaft . I did that from the beginning but it didn't eliminate the wobble effects.
Listening to the sound of the motor also helps find if there is a misalignment, the more it sounds the worse the misalignment.
Comment from: orcinus on Sunday, July 29th 2012 - 8:48 PM
Yeah, i never really got rid of the sound, but it's now created by the bend of the rods. Goes a bit like zeet-zeet-zeet-zeet
It mostly gets transformed into whipping of the rod tops now. Which is fine as long as i don't go all the way to the top of the Z travel.
Tuesday, December 18th 2012 - 12:50 AM
I've been happily printing since the start of the summer, when I replaced the Z axis couplers with nophead's z-couplers as described above. Today, I printed an 100mm tall car roof rail profile, to use it as a guide for some brackets.
After it finished printing I measured the height, it was supposed to be 100mm but it came out 101.91, that's ~2mm taller than expected or ~2% off.
Off by 1.91mm, that's ~2% !
I calibrated the z axis long ago (Spring '12) with the Z resolution given at the time in the wiki : I believe it was 2599.75. Now, I've just revisited that page and I see that the calibration data has changed: Z axis resolution is now 2560, for a M8 threaded rod. Aha! 2599.75 / 2560 = 1.016 ~= 1.019.
Obviously I need to correct the Z resolution to 2560.
Note: The pimples in the ABS print are because I used higher than usual nozzle temperature, to make the layers bond better. Higher nozzle temperature combined with a Width/Thickness of approx. 2 really makes me stronger parts.
Here are two animations from a program I wrote some time ago to automatically calculate and adjust Skeinforge parameters. They show how variation of layer thickness (T) and width/thickness (W/T) influence the shape of the extrudate and and speed. The snapshots where taken with flow fixed to maximum. To get this max flow, I have to set the nozzle temperature to 315°C; this is not the temperature in the melt chamber but the temperature that the thermistor reads. The thermistor is displaced abt 1.0mm from the wall of the melt chamber and therefore reads a different temperature than that of the molten plastic, due to the thermal conductivity of the barrel being less than ideal (i.e. infinite).
This one has W/T varying while keeping layer thickness (T) fixed. Notice the change in speed as the W/T changes and the flow is kept maximum.
Varying W/T while keeping layer thickness and flow fixed.
This one has layer thickness (height) varying while keeping W/T fixed. Notice the dramatic change in speed as the layer thickness decreases.
Varying layer thickness (T) while keeping W/T and flow fixed
The temperature is calculated automatically following the flow vs. temperature graph. Unfortunately, the graph shown in the animations is from an early test, showing no details in the area between 12.5 and 17 mm3/s of flow.
I have not put strict limits to the variation of these values, other than the absolute necessary, like height being smaller than die swell and extrudate being thicker than the nozzle diameter.