New Large Format IDEX Printer Project
-
@dc42 said in New Large Format IDEX Printer Project:
@sebkritikel said in New Large Format IDEX Printer Project:
I've been internally struggling with the active heater - as is the DC side is powered by a 500W power supply, with the bed heater sitting at 1000W on the AC. I'm worried that when adding in the fin strip heater I have that I'll be pushing the limits of an electrical outlet/breaker
What's the limit for an outlet in your country? Here in UK it's a little over 3kW, which would leave plenty for a chamber heater.
I'm based in the US, so typically rated for 15 or 20amps, and looking at my breaker box that room is on a 15amp breaker - 1800W. Sitting at 12.5 amps now. I'm not using all 500W on the DC side (some back of the napkin math puts me at 350W) so I could run the heater in a limited capacity off that, but I would certainly need to investigate it further.
While you're here, I'm curious if you could provide some insight into goofy "Tool 2" (duplication) start of print movement.
https://www.youtube.com/watch?v=9kUz8KFMRlY&feature=youtu.beRelative files:
; tfree2.g ; called when tool 2 is freed M83 ; relative extruder movement G91 ; relative axis movement G1 Z3 F1200 ; up 3mm G90 ; absolute axis movement G1 S2 X-210 F18000 ; park the X carriage at -210mm G1 S2 U217 F18000 ; park the U carriage at 217mm G1 S2 X-260 F6000 ; park the X carriage at -260mm G1 S2 U267 F6000 ; park the U carriage at 267mm
; tpost2.g ; called after tool 2 has been selected M116 P2 ; wait for tool 2 heaters to reach operating temperature G1 E4 F900 ; extrude 4mm M98 P"/macros/X_Tool_Clean1.g" M98 P"/macros/U_Tool_Clean1.g"
; X_Tool_Clean1.g M83 ; relative extruder movement G90 G1 S2 X-260 Y235 F15000 ; brush home G1 X-253 Y205.5 F15000 G1 Y225.5 F15000 G1 X-260 Y205.5 F15000 G1 S2 X-260 Y235 F15000 ; brush home
; U_Tool_Clean1.g M83 ; relative extruder movement G90 G1 S2 U267 Y235 F15000 ; brush home G1 U260 Y205.5 F15000 G1 Y225.5 F15000 G1 U267 Y205.5 F15000 G1 S2 U267 Y235 F15000 ; brush home
Example start of GCODE
; Generated with Cura_SteamEngine mb-master-20200321 T2 ; Called before "start gcode" lines M190 S120; Called before "start gcode" lines M104 S285; Called before "start gcode" lines M109 S285; Called before "start gcode" lines M82 ; Called before "start gcode" lines G28 ;Home, first line of "start gcode" T2; call T2 again after bed probing (deselects all active tools) G1 Z15.0 F6000 ;Prime the extruder G92 E0 G1 F200 E10 G92 E0
The first X and U moves are not normally seen (including the extraordinarily slow movement back to the X homing switch). After homing (G28) and T2 is called again, I can see the X_Tool_Clean1.g macro executing, but during the first move the U axis moves to its offset position via G10. X_Tool_Clean1.g completes, but U_Tool_Clean1.g doesn't execute, or at least not correctly (both print heads bounce around). Z-axis moves down per start of print file, and then both extruders prime, although not over the last positions in the macros.
-
Some exciting updates! I've done a good chunk of work on the assembly recently, which can be seen in the Google Drive here. Included with that is a much more detailed bill of materials which features sourcing information.
Updates of note:
- Added ~590mm length of angled aluminum to run on top of the X and U belt runs. I was having issues with the PTFE tube and wiring harnesses resting on the belts as the carriages moved around. This is really more of a patch, as the root cause is the fact my enclosure is too short, forcing the tubing and wiring downwards.
- Finally fully enclosed the printer - I was only missing a few section in the rear previously, but those are now filled in. During the first print where I was monitoring the chamber temperature the chamber easily rose to 70°C within the first 30 minutes. At that point I got spooked, and dropped the bed temperature down to 100°C, trying to keep it at or below 70°C. I found that I could keep it between 69-70°C with the bed at 96°C. For reference, I typically keep the bed at 120°C, and with those back sections open, max out at 66-68°C
In some other, not so exciting updates, I experienced my first heater fault (x-axis) and jam (u-axis) in the same print, roughly around the same time. Prior to this print, I reworked the X and U PTFE and wiring routes, fitting them both in the nylon webbing (previously I cable tied the filament tubes to the wiring harnesses). Before the modifications I had a thermistor attached to (and the hanging some) the X wiring harness, and used this to measure the chamber temperature. Worked well, as it was always a little above the actual X carriage, but mostly centered on the build plate. Started the roughly five hour, dual extrusion print (sans chamber thermistor), and halfway through I fitted the last few pieces of insulation in the back. Probably not the smartest idea I've had...
I came back to the printer some time later, thinking the print was done. Saw that the support filament had stopped extruding a few layers prior to the print being suspended due to a heater fault on the other extruder. Opened up the web interface, but the fault in question had occurred outside of the 10minute window available for the temperature plots. Fault was similar to "Temperature excursion exceeded 15.0C". I'm confident in thinking that the jam was related to the chamber temperature - build plate was at 120°C, and I wasn't monitoring the chamber temperature, but I can't safely assume the temperature fault was due to the unknown increased chamber temperature - I don't have the greatest strain relief setup on the hotend carriages, and on inspection it appeared that there was quite a bit of tension on the thermistor connector at the hotend.
Part of the jam in question - the length between the hotend and the BMG drive gears.I was able to easily upload a modified DWC version where I increased the plot range to 1 hour, should help in case I miss some other fault in the future.
- Added ~590mm length of angled aluminum to run on top of the X and U belt runs. I was having issues with the PTFE tube and wiring harnesses resting on the belts as the carriages moved around. This is really more of a patch, as the root cause is the fact my enclosure is too short, forcing the tubing and wiring downwards.
-
@sebkritikel Amazing printer and thank you for sharing and taking us along through the design and commissioning.
Saw the image of the filament in your last post and wanted to share something that I’ve run into with using a mosquito in an enclosure. Not sure if it directly applies but it might.
I’ve found that the stock mosquito fan doesn’t provide enough airflow to properly cool the cold side of the heat break when the environment temperature increases. This Increases the cold side temp of the hotend and causes the filament to soften, buckle and jams the hotend. Ultimately I went to a 40mm fan and reversed the airflow to draw air across the heat break. This has dramatically reduced the hotend jams. Might be something to look into.
-
@sebkritikel said in New Large Format IDEX Printer Project:
While you're here, I'm curious if you could provide some insight into goofy "Tool 2" (duplication) start of print movement.
If that's still an issue with the latest 3.01-RC11 firmware, please start a separate thread about it.
-
@mwolter said in New Large Format IDEX Printer Project:
@sebkritikel Amazing printer and thank you for sharing and taking us along through the design and commissioning.
Saw the image of the filament in your last post and wanted to share something that I’ve run into with using a mosquito in an enclosure. Not sure if it directly applies but it might.
I’ve found that the stock mosquito fan doesn’t provide enough airflow to properly cool the cold side of the heat break when the environment temperature increases. This Increases the cold side temp of the hotend and causes the filament to soften, buckle and jams the hotend. Ultimately I went to a 40mm fan and reversed the airflow to draw air across the heat break. This has dramatically reduced the hotend jams. Might be something to look into.
Thank you! With the chamber fully enclosed now, I will definitely be monitoring the extruder performance much more closely. I feel that ABS, HIPS, nylon, and other similar filaments are much more tolerant of a smaller temperature gradient in the heat break, especially when compared to PLA. If I continue having issues I'll definitely look into different cooling solutions. What made you decide on reversing the direction of the airflow across the heatbreak?
@dc42 said in New Large Format IDEX Printer Project:
@sebkritikel said in New Large Format IDEX Printer Project:
While you're here, I'm curious if you could provide some insight into goofy "Tool 2" (duplication) start of print movement.
If that's still an issue with the latest 3.01-RC11 firmware, please start a separate thread about it.
Not related to 3.01-RC11 at this time (still on 2.05.1). I think it is somewhat user error, created my T2 macros and toolchange files without really thinking about it. If/when I update, and if I have issues, I will create a separate thread.
-
I recently made the switch from 2.05.1 to 3.01-RC11. I followed the procedure outlined below to maintain my 2.05.1 config in case I needed to swap back.
-
I created a "2" and a "3" folder under /sys/
-
I moved all relevant 2.05.1 files under the "2" folder (tpost, tpre, heightmaps, etc)
-
I copied all 2.05.1 files I may want to use in RRF3 to the "3" folder
-
I made a new config.g for RRF3 offline, and then uploaded it to the "3" folder
-
I created/modified the original config.g under /sys/ to include the M505 command
-
I upgraded to RRF 3.01-RC11 following the proper procedure
-
Once upgraded, I changed the M505 in /sys/config.g to be "M505 P"3"" pointing to the new RRF3 config.g, while the original 2.05.1 is in the /sys/2 folder
-
Tested the new config (obviously found some issues with the new config I wrote up
Some headaches I worked through:
Creating the new config lines for the BLTouch was a bit of work. I have the BLTouch plugged into the Duex PWM1 connector, so my working configuration lines are
M574 Z1 S2 ;probe, new line M558 P9 C"^zprobe.in" H5 F200 A8 R0.75 T6000 S.02 ; set Z probe type to bltouch and the dive height + speeds M950 S0 C"duex.pwm1"
One of my mistakes was using "!duex.pwm1" instead of "duex.pwm1".
I got burned by the recent tool change scripts executing despite axes not being homed - I inserted conditional gcode into tpre files to home each axis if they are not homed.
; tpre0.g ; called before tool 0 is selected ; If the printer hasn't been homed, home it if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed || !move.axes[3].homed G28
I manged to work out my T2 (duplicate) tool macro issues (seen a few posts up).
-
In my homeall.g, I used to call "T-1 P0" prior to homing the bed with the BLTouch - this is because Cura would inject a tool number into a generated gcode file prior to Cura start gcode. I ran into issues where I wanted to start a print with T1, but the bed homing was run with the probe at the T0 home position. The twist is, that in homeall.g I first home the X, Y, and U axes PRIOR to calling T-1 P0. This caused the slow X carriage crawl to the X endstop in the earlier video. Moving T-1 P0 to the start of the homeall.g file fixed this issue.
-
The tpost2.g file linked to two macros that are used to wipe the nozzles on the cleaning brushes. The goofy back and forth movement was caused by not using the H2 parameter during these G1 moves. I created a new T2_Tool_Clean1.g macro that cleans both X and U at the same time, using the H2 parameter.
A couple more items to work out with Cura, but much better!
https://www.youtube.com/watch?v=QpGq3R-Gm_c&feature=youtu.be -
-
I was aiming for a short video... well time is relative haha
https://youtu.be/z_CbTmiBqswIn a few other threads I've documented my woes of attempting to "merge" expected print behavior on the build plate during IDEX Duplication or Mirror modes to what is seen in the Cura preview, but I think I've not got a solution that works fairly well, and does not require excessive user input.
Prereqs:
- Change duplication/mirror tool G10s from
G10 P2 X50 Y0 U-50 S0 R0 ; set tool offsets and temperatures for tool 2
to
G10 P2 X0 Y0 U-100 S0 R0 ; set tool offsets and temperatures for tool 2
The offset applies only to U, rather than both X and U. @dc42 this differs from what you typically recommend (not that that is wrong, this is just different!)
2. Create a real print profile in Cura
https://github.com/Ultimaker/Cura/wiki/Adding-new-machine-profiles-to-CuraThe key is to create a 3rd extruder in Cura for the printer - or more - naturally for T2 in RRF. In the printer .def.json, include:
"machine_disallowed_areas": { "value": "[ [ [0, -237.5], [0, 237.5], [225, 237.5], [225, -237.5] ] ] if len(extruderValues('extruder_nr')) > 2 else []"}
When a duplication or mirror print is desired, the workflow is
- Activate the third (or, fourth extruder for T3)
- Load in the model
- Right click the model, select the third Cura extruder as the extruder to use.
- Ensure things like build plate extruder use the 3rd extruder.
The way this works is if two or less Cura extruders are active (does not matter which extruder is selected...) the entire build plate is available. If the number of extruders active is greater than two (again, not what is selected) machine_disallowed_areas kicks in to split the build plate.
Reading material:
https://github.com/Ultimaker/Cura/issues/7486
https://github.com/Ghostkeeper/SettingsGuide/blob/master/resources/articles/machine_settings/machine_start_gcode.md
https://github.com/Ultimaker/Cura/issues/7395
https://github.com/Ultimaker/Cura/issues/6383
https://github.com/eugr/Flashforge-for-Cura/blob/master/resources/definitions/creator_pro.def.json
https://github.com/Ultimaker/Cura/issues/6859
https://github.com/Ultimaker/Cura/issues/8379 -
Hey!
I started an inquiry to you about you're impressive machine, but instead, threw the question out to everybody in a new, more recent post. I mentioned you and this post in the new thread, but I'll ask you directly here:How's your machine running? How fast can it print, as fast as a Voron 2.4? Most importantly, could it be modified to print two prints (250mm x 250mm) side by side?
Okay, that's it. Thanks for sharing your design. You rule!
Onward,
Chris -
-
@sebkritikel Thank you very much for sharing, very nice job/build.
I am currently also constructing/building a IDEX printer.Would it be possible that you share the configuration files?
Regards Mark,
-
@mdejong said in New Large Format IDEX Printer Project:
@sebkritikel Thank you very much for sharing, very nice job/build.
I am currently also constructing/building a IDEX printer.Would it be possible that you share the configuration files?
Regards Mark,
Config files
https://drive.google.com/file/d/1YFRLG1p-1BWzesjVF5xkvDGQXmHolgCN/view?usp=sharingA few macros.
https://drive.google.com/file/d/1JYeDPMh5vsuDdju80Gcau3OX2jCOVeex/view?usp=sharingHopefully they help!
-
@sebkritikel Thank you very much it will help me alot.
-
Thanks for sharing all the details of your printer. I saw the screenshot of Cura. It's that in your opinion the best slicer for your IDEX printer? Did you try other slicers as well?
Best regards,
Jeroen
-
@gjwater My apologies for the delay in getting back to you!
I can't say for sure that it is the best, but I do enjoy using it and have a fairly robust IDEX process that works nicely with Cura. In all, I have about 3.5 years of IDEX experience with it (starting the the BCN3D fork of Cura that natively supports their Marlin-flavor of mirror+duplication modes).
With any slicer - it is important to identify what messages or scripts are placed into slicer-generated pre/post/start/end gcode sections vs. what is used in Duet/RRF tool change scripts. Over time I've moved as much as I could out of the slicer and into my tfree, tpost, and custom tool changes macros on the Duet.
-
-
Sorry for writing in old theme, but I think it could be useful to be found in the same place.
First @sebkritikel very impressive work. I did build in the past a few machines, including IDEX and actively heated ones, but not in the same setup.
I am planning to build a new one and might be using your design as a foundation.
One thing I do not see in CAD and I think is not mentioned anywhere.
How do you align in the Z axis both IDEX heads? In my experience, this is the key for printing in copy and mirror mode -
@martin7404 No worries! And thanks for the comment.
You're right that for mirror and copy modes, you want the nozzles to be closely aligned in the Z axis. Unfortunately I did not design in any provisions to mechanically level the two nozzles, as my BMG extruders essentially directly mount to my X & U rail blocks. This hasn't been too much of an issue for me, as I typically print in 'normal' mode (build tool and support tool, dual color, etc), but I could deal with any Z variance by printing in mirror/copy modes with a raft.
If I were to do IDEX again, I would definitely make my tool heads a two-part system - I would have the motion carriage, and then the tool plate. The tool plate (extruder, hotend, fans, etc) would mount onto the motion carriage, and could be mechanically adjusted at least in the Z axis. I'd then use something like the door knob "KnobProbe " to check Z offsets, and also improve how I've used TAMV to align the X/Y and Y axes (I've also seen this product, but haven't given it a try https://www.emberprototypes.com/products/cxc).
Some other recommendations I have
- Design a fully fleshed tool head before committing to and detailing the rest of the printer build. I essentially did the opposite - started from the outside, ending my design+build with the tool heads (I thought they would be easy). Quite the opposite
- Make sure your tool heads can be easily worked on. I would not put significant effort into making them compact, with lots of fiddly screws.
- Design mounts for input-shaping accelerometers close to/on the tool extruder. (Can be accomplished with the Duet 3 tool boards). You want the accelermoter as close to the nozzle as possible, and rigidly mounted near it to truly characterize the motion+vibrations.
- Have a thermistor/thermocouple mounted on each tool to measure the ambient/chamber air - maybe near the hotend cooling fan inlet. Helps you keep an eye on what the chamber temperature of the build volume is.
- Try to insulate as much of the frame as possible from the chamber air.
- Really put effort into the 'parked' positions for each tool head. You want space to purge material, perform nozzle wiping activities, etc.
- Ensure all belts, pulleys, shafts are in double shear. You don't want to put massive radial loads on stepper motors while getting the belts to the correct tension (in fact, it likely cannot be done). My X and U motors are in single shear, I would absolutely either do like I did on the Y axes and isolate the motor from the Y-axes motion belts, or use a shaft coupler, with the secondary shaft+pulley in double shear.
- Definitely research magnetic/removable build sheets. Initially I went with a 5mil PEI sheet, which worked pretty well for all the materials I used, but that thickness is delicate. I recently switched to a 40mil PEI sheet which is significantly more durable. Heck, I'd be curious if I could go thicker (of course, 40mil was expensive, like $160 USD).
- Put some thought into what cables you use (motion rated, bend radius) you use for each toolhead, and how you manage their motion (energy chains, etc). Make sure that for each printing type (normal, copy, mirror) you don't run into any physical cable routing issues (cables getting caught on framing, or pushing into each other, bending into belt paths, etc).
- Look into an equivalent of https://sendcutsend.com/ for your area, and design to their capabilities. Their prices, lead times, material options are amazing, and can make cost-effective alternatives to using pure aluminum extrusion (and the associated t-slot nuts, etc).
I'm reading this forum daily, feel free to reach out if you have any other questions or ideas!
-
@sebkritikel Happy new year. Thank you very much for the guidelines. For tool heads I think I will go with Hemera, I have one running in a chamber for more than a year and a half. Another option is biqu h2 500, which is designed for heat chambers, this has the great advantage that the heartbreak can be adjusted in height and one great disadvantage of having not hardened drive gears
-
A few changes from the previous status
- April 2022 - reworked the X-U axis motor mount / bearing block mounts, as well as tool plates using cut and bent parts from SendCutSend
- April 2022 - swapped out X / Y / U bearing blocks from no preload to preload
- October 2022 - Present - experimenting with alternative extruder designs (small Nema8 motors, DC motors)
- March 2023 - swapped out the Duet 2 + Duex5 with a Duet 3 6HC
Had been wanting to try out the SendCutSend service, and stiffening up my X-U rail assembly was a good excuse to try it out. The vertical members (total quantity 4) are actually the all same plate - installed mirrored depeind on if they are on the high side or low side of the shared axis. Flat plates are aluminum, bent were in stainless. Total order price was a touch under $100 (~$10 a part). Idler pulleys are now fixed properly (using shoulder bolts that actual bear onto the surface). Tapped all the holes once I received the parts.
Previously the X, Y, and U bearing blocks were all clearance blocks (no preload). Was able to change all four out for IKO blocks with preload - this stiffened up the system by a surprising margin, increasing my input shaping target by ~20Hz! (Measurements taken after installing the SendCutSend parts)
I picked up a really neat Nema8 with an attached 16:1 gearbox off eBay. While researching the motor, all of the extruder requirements seemed to check out - motor and output shaft could rotate at an appropriate speed with sufficient torque - all with a steps/mm value of 2292 (16x microstepping, typicality a standard value). The first crack at installing it into the printer (below left) worked pretty well - had the motor offset from the drive gear (experimentation has been with a single drive extruder, rather than dual extruder gears) using 2x printed spur gears, with the drive gear being a Bondtech BMG gear. Had some print artifacts resulting from surface seams on the printed gears, and eventually one of the printed gears slipped loose (didn't want to overtighten the set screw).
For further testing, I put the motor inline with the drive gear (above right) using a shaft coupler I had on hand. A bit long in this setup, but has been working quite well! Verdict is out on if my hackish extruder designs are any better than a 'commercial' product, but I've been comparing to a BMG setup that doesn't seem to exhibit the extreme VFAs that others have experienced.
The Nema8 experimentation led me to try out the geared DC motor from a Stratasys Dimension machine, which I detailed here some:
https://forum.duet3d.com/topic/31642/duet-2-wifi-and-geckodrive-g320x-on-stepper-channels-10-and-11/11?_=1680448852416While I was able to get it working, and print quality seemed solid, I think the Stratasys machine does some additional tricks to manage the load on the DC motor. I was finding with the Geckodrive (0-20A output) there was a fine line between the motor stalling/faulting on moderate extruder accelerations, and overheating the motor. I would typically see a 35°C thermal rise using the Geckodrive directly with the Duet 2, whereas in the Stratasys machine (all original controller boards) I would only see a 18°C thermal rise.
https://www.youtube.com/watch?v=vvajxcZIf6MFinally, this past week I upgraded to a 1.02 rev of the Duet 3 6HC. Currently still running with 24V. Overall the swap went over smoothly.
- I like how simple the pin names are in comparison to the Duet 2. Not that it was confusing, but something like io0.in is easy to understand and type.
- Motors and motion sound a touch different - almost like they resonate at a slightly higher frequency, with a little more consistency, but not really any louder?
- Only hiccup I had was wiring and sending signal to my heat bed SSR. I am using Out 0 to drive the SSR, but did not provide an input to Out 0 power in.
- VH contacts crimp fairly easily.