Close
0%
0%

Coaxial8or [gd0144]

Full-colour FFF? Multi-materials with unparalleled interlayer bond strength? Abrasives without abrasion?

Similar projects worth following
The Coaxial8or (c8or for short) is a heatblock for my CR600S (a modified CR-10) that aims to allow me to bulk-buy 6 filament colours but print in 600. Any feature implemented afterwards is a bonus, such as printing abrasives with a brass hotend or different materials that usually wouldn't bond together.

Results

Coaxial8or R2

R2 with nozzle and holder installed.
Extrusion from 1.2mm nozzle
White around black PETG

Top: Magenta around black
Middle: White around magenta
Bottom: Yellow around magenta

Coaxial8or R0

R0 without CHC Pro or holder installed
Produces colours with one side slightly darker than the other:
Transparent blue around white
White around copper

4-in-1-out Coaxial Hotend

I suspect that E-steps was twice as large as they should be.

Inspiration and/or examples of working principle

Render simulation of Cyan filament; Cyan coating of White filament; Cyan coating of Magenta coating of White filament; Magenta coating of White filament and finally Magenta filament.
Image source: https://twitter.com/i/status/1648662200544907267

Navigation

The title tag system is explained here, and the table is updated when a change occurs. Notable logs have bold L# text.

L1
[M][T] Initial design and fabrication optimization
L2
[M][T] 5 inputs were possible?!
L3
[T] 4 material + tube?
L4
[M] Center grub insert
L5
[M] Smallest possible size?
- Also possible prior art found
L6
[M] Fabrication Changes
L7
[M] Hotend digitally assembled
L8
[M] Starting on the cover
L9
[R] PCBWay still can't manufacture?
L10
[M] Metal 3D print edition
L11
[M] Asking PCBWay for a brass insert
L12
[M][R] Preparation for Uni round 2
L13
[T] Threads and feedback
L14
[M] Cooling ducts
L15
[M] Carriage Mount
L16
[P] 6028 Fans
L17
[P] All other components
L18
[P] Successful Fabrication and Assembly
L19
[T] Sealing with 2mm ball bearings?
L20
[X] No immediate leaks!
L21
[X] Looking at the state of the grub screws.
L22
[M] M4 Grub + 2mm Ball Edition
L23
[T] An Insert Like The Positron Hotend?
L24
[A] Mystery CNC Price Hike
L25
[T] Hotend hypotheticals: Off-centered inlet approach?
L26
[P][A] Outer Cover and leak detected
L27
[M] Visible indication of full grub tightness
L28
[M][T] Internally groove the heatblock-heatbreak mating surface?
L29
[M] Centrifugal-inlet design with expanding ball plugs
L30
[T][R] Dual heater zones?
L31
[M] 8 in 1 out hotend
L32
[M] Added components to 8 in 1 out hotend
L33
[T] Filament order and issue prevention strategy
L34
[A][B] PCBWay CNC fabrication costs USD$257 - $334
L35
[R] Bowden couplings, collets and compression fittings
L36
[T] Print abrasive filament without abrasion?
L37
[M] Heatsink for Unibody Coaxial Hotend
L38
[M] Finished modelling the Unibody 8-in-1-out hotend
L39
[T] Abrasive filament to smooth internal channels?
L40
[M][R] Simulation software and model optimizations  
L41
[M] Thermal comparison between machined and unibody
L42
[T] Next steps
L43
[A] Details page before 11 Jan 2024
L44
[P] Nozzle-block heatbreak fabricated and simulated
L45
[T] Grub screw sleeve?
L46
[A] CNC price keeps increasing
L47
[C] Setting up Marlin Firmware

L48
[M][T] Machined 6-in-1-out not geometrically possible?
- Also talks about 8-in-1-out tweaks
L49
[X][P][T] CR600S setup and first test prints
- Tests 4-in-1-out hotend
- Thoughts on BotObjects 5-in-1-out hotend heatsinks
- Direct drive idea
- Failed due to leaks so only got 2 short prints
L50
[M] Printed Coaxial Hotend with clamp plate
L51
[B][C][M] Preparing shopping cart and Marlin
L52
[M] Slim Cover and Hotend Holder
L53
[M] 2D plate drawings
L54
[T] Directional fan and new filament strategy
L55
[P][M] Plates manufactured
L56
[M] Heatblock design optimisation
- Tip on preventing profile rotation when sweeping in Fusion 360
L57
[A] Heatblock ordered and 1mm PTFE gasket
L58
[T] Potential name: Coaxial8tor
L59
[M][A] Switch to 17HS4023 Nema17?
L60
[M] More ideal extruder mount
L61
[M] Coaxial8or logotype and test model
L62
[R] 42BYGH24S Nema17
L63
[C] Marlin M165 improvements
L64
[M] CR600S+coaxial8or logotype and numbers
L65
[P] Flat files fabricated
L66
[M] Using Fusion's renderer to simulate colours
L67
[P] Coaxial8or aluminium 3D print
- Other parts arrived:
--- DDE (BMG Clone)
--- Nema17
--- BTT EXP MOT
--- TMC2226
--- £6 400W PSU
--- Bowden couplers
L68
[P][A] Clamp face flattened, motors installed and holder attempted
L69
[M][A] Successful hotend...
Read more »

  • [M][P][T] Cover, holder, clamp plate and BMGs

    kelvinA2 days ago 0 comments

    The outer cover setup and print

    Surprisingly, this turned into a multi-hour ordeal. Some of that was just getting one of the uni 3D printers to stick to the bed, but it was mostly to do with setup. 

    I don't usually design parts that need supports, so I had to be setting that up. But then I'd get supports where I didn't want them, and Cura really doesn't like reloading a multi-body .3mf, so I modelled the no-supports zone in fusion. Additionally, I added a thickened section. I should've just done 100% infill instead of the 40% I set. 

    Furthermore, as I was looking through the gcode preview, it did seem like there was a lot of excessive material being used so I trimmed it down. It also allowed me to catch an issue in the design, which is that I wouldn't be able to install one of the fans without first threading the wire through and resoldering.

    It has then been printed, and the tree support broke away easily.
    My retraction was set to 2.5mm instead of something more reasonable for a bowden, like 6mm.

    It does seem I overestimated how steep an angle I could print, which was 60 degrees. Instead, it seems that even 55 is slightly over the limit. I've changed a setting so that Cura prints from the inside outwards in aims of improving this.

    The hotend holder design

    I thought through a mental simulation and, like I mentioned in the previous log, I didn't have the confidence that the way I designed the side plate a few days back was going to work as intended, due to material bending:

    Thus, I've opted for a 5th M3x12 bolt and dual side plates:

    New metal plate holder for a 3D printer hotend

    Clamp plate of R2

    In anticipation of R3 and so that I can test the fit of the 6028 fans in the newly-printed cover, I disassembled R2. The reason why I haven't done much testing is that all the inputs were slightly leaking, as can be seen by the multicoloured  blob that remained:

    Leak of materials the clamp plate for Coaxial8or R2
    I think Transparent and Cyan are the only ones that didn't show up.
    Additionally, it seems that the elevated temperatures cause the top surface to rust. I couldn't see any rusting on the sides or bottom:
    Like with last time, the strategy to separate and clear the heatsinks worked just fine:
    1. Unscrew the clamp bolts
    2. Heat to 150C
    3. Use spatula to separate
    4. Cool to 130C
      1. this prevents long, thin wisps and also allows for a "warm pull" of the inputs for the next step.
    5. Pull clamp plate from Coaxial8or
    6. Manually extrude material from each input till it pops out, after which the buldge can be snipped off and the filament recoiled.
      1. I did have to use needlenose pliers on 2 of the inputs to help them pop off the heatbreaks. 

    Thinking of reversing the extruders that have shorter bowden tubes

    The DDEs, more commonly called "BMG Clones", should be able to work when mounted in reverse. The benefits include:

    • Much easier access to the large gear, especially for extruder E6 
      • (remember it's E0 - E7)
    • The short bowdens will be even shorter
      • The drive gears are closer to the handle end of the DDE.
      • The improvement would be about 50mm or so, which will contribute a larger percentage difference for the 30-35cm bowdens of E0, E1, E6, E7 than the 45 -50cm of the others.

  • [M] Print-in-place cooling duct

    kelvinA5 days ago 0 comments

    I decided to just go in and scribble something up for the fan duct. In my years of FFF printer upgrading, I've always dislike having to design them since they usually need to be more organic. To my surprise though, this duct came out better than I expected. It's effectively invisible from the front, giving the coaxial hotend assembly a very minimalistic and open look:

    Design methodology

    So I first decided that I was going to go back to the symmetrical-bolt mounting of the 6028 fans, and with the hotend holder now entirely made of metal, it can also help with heat dissipation. I then noticed that there'd be more space above than below the cooling 6028 so I pointed it upwards.

    Then, similar to how I'd go about solving a maze, I started thinking up ideas on how the duct would start and end. I knew that the rear of the Coaxial8or was the most suitable location for the duct output. It also looked like a revolve would be beneficial to cool from multiple directions. I gladly found out that Fusion supports lofting from such a curved face:

    I found that it was better to untangle the loft first and apply tangency second.
    Very rough proof of concept

    I went on to refine the geometry so that it was at least 3mm or so from anything else and didn't stick out beyond the bottom wheel bolt:

  • [M] Metal plate hotend holder

    kelvinA5 days ago 0 comments

    I was finally able to model the new hotend holder, which uses aluminium plates for its construction. No longer do I have to worry about the holder unintentionally melting, sagging due to the weight, or blocking the view when inserting the heatsinks into the couplers.

    I still have visibility on all coupler holes, unlike the printed designs.

    The holder presses against the x carriage to better support it.

    This was one of those things that is kind of hard to model because when there's nothing but an empty canvas, it feels like every plate depends on every other plate, thus a cyclic reference (aka catch22 / chicken and egg problem). 

    I initially was planning on a jaws-based solution similar to the redesigned holder for R2, but had concerns with grip so I just went with grub screws. This design allows all 8 heatsinks to get a grubscrew.

    This shows the 1/4th section of the plates (except the + shaped plate, which is shown in its entirety). The + shaped plate is for added stiffness, but I don't have full confidence it's going to help.

  • [A] R3 - Heatblock ordered

    kelvinA10/30/2024 at 11:59 0 comments

    Instead of saying something along the lines of "I expect the part will be printed in X orientation", I instead just specified "There shouldn't be any powder / supports in the internal channels" and the engineer quote was $47.69; almost 10 entire dollars lower than earlier quotes. Obviously, I wanted to find out why and the engineer sent this:

    I thought the bridge overhangs (see below) weren't allowed and produce a coarse surface finish but the engineer informed me that it'll be the same as the forward tilt. 

    The grand total with all the fees and shipping (that didn't budge from $12 regardless on if the part was 30, 29.9, 29.4 or 29mm high) was 4,777 pennies (£47.77) so I'll take that as a sign that I've "hit the jackpot".

    I found Xometry had an article on DLMS design practices and it does mention that "unsupported bridges" can be 2mm long, and the channels are only 10% longer than that:

    Essentially, I've been trying to model around a problem that doesn't exist. Thus, the orientation the engineer chose is indeed the better one when also considering the external features like the output port.

    My main hope is that the port rings print correctly. I don't know what the shape would be called, but from looking at past prints, I'd guess that the minimum fillet is 0.25mm radius.

    Left: As modelled. Right: Expected shape of physical print.

    Then, by screwing in the stainless steel nozzle, it'll flatten out to a very narrow surface. This both reduces the chance for defects to allow material to leak through and places much higher pressures on the sealing faces.

    Area of the above face is 3.15mm2. Area of the heatbreak, which is in full contact with the R2 face, is 23.4mm2.

  • [E1][X] Cross-section is a kite

    kelvinA10/27/2024 at 18:07 0 comments

    Partially to answer @Trovoski, but mainly so that I can have confidence in the coaxialiser simulations before I spend another £55 (engineer quote + shipping) on the 3rd heatblock revision, I've been looking at the cross section of the extrusion.

    0.6mm nozzle

    While it's too small to see the shape of the inner core, I was able to at least see that there was an inner core with a 0.6mm nozzle. I did yellow : black and cyan : copper as a 2 : 1 mix and then cut the extrusion with the PTFE cutter.

    With the cyan/copper extrusion, I could also see a streak of copper on the side. This seems to be disconnected from the inner core. I suspect that this is residual copper that has clinged to the walls of the internal channels when cyan came through.

    Nozzleless

    Unfortunately, the extrusion was very uneven and bumpy when I removed the nozzle. I hoped that it would just be a smooth, 2mm-or-so filament, but it actually came out 2.05 x 2.60mm. The good news was that I was at least able to see the transition from cyan to transparent-blue:

    As you can see, one side transitions faster than the other.

    1.2mm nozzle

    I bought the largest stainless steel volcano nozzle. The reason I didn't buy a standard brass one is because I intend to use this nozzle to "stamp" the R3 input/output holes instead of using abrasion. 

    I hoped to use the extrusion to push the material out of the nozzle but said extrusion swelled to 1.35mm so I didn't bother to try.

    The image below shows the extrusion cut at 4 sections, going further back in time from left to right:
    Yes, the initial extrusion through the nozzle was black and white, before colour was invented.

    Now perhaps I should've extruded more than about 50cm of filament, but I was using the TFT24 and its "slow" speed indeed is slow, but it's "normal" speed seemed too fast for the R2 and it's inadequate meltzone. Out of the 4, the 2nd one to the left has the most consistent edge (hence the title).

    I also cut one just before the nozzle to take a look:

    It kind of seems that the inner core is mid-transition.

    R3 simulation

    I also questioned if there was an even better way to see the ParaView results than using cutting planes or streams, and I did:

    Using the threshold settings, I was able to get this cool visualisation that looks like a Minecraft speed build:

    Not sure why, but I was getting frame drops.

    Since the input is split in primarily perpendicular directions, compared to R2 (below), it seems that the 4 paths arrive at approximately the same time, hopefully meaning that the output core would be more squircle. 

    Anyway, this is what the simulated core material looks like for R3:

    [Nov 03]

    I secured the 1.2mm nozzle to one of the aluminium plates and was trying to use the extrusion I left on it to push the material out of it. The PETG became much too floppy to succeed with that plan. However, the "task failed successfully" because the pushing and pulling caused the plastic at the nozzle input to flatten from the multicoloured cone it was initially, revealing the cross section:

    All the light-coloured streaks seem to be reflections of light on the surface, because they fade in and out when I rotate the nozzle.

    Black area: 0.705 mm^2

    Cyan area: 2.436 mm^2

    Ratio: 1 : 3.46


  • [E2][M] R3 - Heatblock modelled

    kelvinA10/20/2024 at 11:22 0 comments

    Finally! I've been trying to solve a solution essentially daily since the 8th and I've finally arrived at one that minimises the drawbacks and incorporates the benefits.

    The main issue was mounting the 30mm cartridge in such a way that it didn't block an allen key to the plate bolts and that the cartridge can be held in a clamping mount instead of grub screws. When I got to save v45, I more or less abandoned mounting the cartridge horizontally since I couldn't think of a solution that didn't look ugly (and likely use a relatively large amount of material). 

    My ceiling for modelling was 20cm3, and the result is a respectable 17.2cm3. The PCBWay autoquoter says this print is $35.

    LWH dimensions are 26 x 53.5 x 30mm with each input being 10mm away from adjacent ones.
    To cut down on material usage while minimising radiation, I've come to this heatsink-fin-esque design. The cutouts are perpendicular to the X axis to minimise air moving through the heatblock during printing.
    Additionally, measures have been taken to both try and prevent leaks and prevent difficult cleanup should they occur. All inputs and output has a print-in-place o-ring to encourage deformation at the contact points, hopefully avoiding the need for post processing like the previous revisions. Then, leak channels have been added to allow any leaks a low(er) pressure way out, instead of a leak deciding to show up wherever. Furthermore, 5mm steel plates are used, with the mounting bolts as close as possible to the inputs to minimise flexure. Lastly, the design has a gap between the input plates and the cartridge+thermistor as a last line of defence against rogue plastic.
    This solution has been facilitated by a modified input shaft and coaxialiser geometry. In addition to the split (hopefully) increasing flow rate, it allows the inputs to be connected without a bridge overhang, which would be the case if a basic L path was rotated 45 degrees. The coaxialiser is slightly more compact now. I did try orienting the coaxialiser vertically, but it uses more Z height.
    Vertical coaxialiser idea
    Current geometry, which is about 2cm3. The output is still an octagon.

     From the top of the o-ring to the Y split is 19.5mm long uninterrupted, so I'm expecting that this heatblock can put the "ate" in Coaxial8or when it comes to consuming filament.

    As for aesthetics, I think I've done a passable job with the limitations I have to abide by. Like previous designs, there's a main element of symmetry. Somewhat inspired by earbuds, I've used fillets to make everything seem more organic, like a pebble. There are also some sharp edges, a design tip I saw used for cars (and some earbuds). I like how my logo is somewhat obscured, peering out of the shadows.

    I just don't like how flat the bottom of the heatblock is:

    [Oct 21] - I've opted to go with a sharp circle for all inputs/output. I feel it will have more pronounced deformation.

    I'm also trying a new variable fillet across the bottom to improve aesthetics:

    [Oct 27]

    I've added a cutout so that the allen key has uninterrupted access to the bolts, requiring a slight aesthetics adjustment, and I've made use of the internal space to add a 5-way intersection so that each collection of 4 inputs can change their resultant mix relatively quickly.

    I'm also testing to see if there's a step-increase in PCBWay's delivery cost if the shortest bounding box dimension is 30mm or more. The R1 and R2 orders cost sub-$8 to ship, which both were 29mm or less on an axis. R0 was 35mm at its thinnest and was around $16. R3 was 30.0mm, but I've reduced it to 29.9mm in hopes of reducing its $12 delivery fee.

  • [T] Marlin - Retract specific extruders?

    kelvinA10/11/2024 at 12:15 0 comments

    In Marlin, along with the standard way of retraction, there's a feature that will retract all materials instead of just the active one. I want to try this out in the future since, to depressurise the heatblock, each channel will only have to retract 1/8th as much as a single channel. For example, in perfect conditions, retracting 8mm from one channel would be equivalent to retracting 1mm from all 8.

    However, reality is likely different. The length between the bowden tube means that the tip of the filament might not even move until the extruder retracts 2mm, for instance. For TPU, this is likely more.

    Perhaps the firmware retract feature would be a good thing to look into. I've never used it before, most likely because Cura doesn't natively support it, and it just seems that it merely moves the already-basic slicer settings into the firmware without provisions for multi material situations.

    Another thing to consider is Linear Advance. I haven't gotten around to testing it out, but I assume that it only works on the active channel. I'm wondering if the other channels could be used to assist in some way.

    Ideally, there'd be a per-extruder toggle whereby some won't retract and others will instead, to make up for it (e.g. retracting all but TPU channels). This should mean that both retractions and LA can react faster to flow rate changes.

    The main edge case I need to worry about is one or more channels slowly ejecting themselves, i.e. a few retractions or LA corners later, the filament in a channel slowly moves backwards, -0.3mm here, -0.9mm there, and accumulates to -30mm.

  • [E1][M] R3 - High flow pathway geometry

    kelvinA10/11/2024 at 08:00 0 comments

    So, instead of trying to print ABS-core PETG to test before buying and trying a stiffer 64D TPU (compared to the presumably 95A TPU I have now), I've been wanting to implement some improvements into CAD:

    • single-channel flow rate
    • heater cartridge choice and mounting
    • sealing
    • post-processing without expensive machinery

    I expect that this TPU would be most ideal to use as glue/core, but part of the reason for the higher melt time is ideally to make standard TPU more likely to print successfully. Additionally, I suspect that my flow rate is still limited at around 10mm/s/channel, which is not enough for my usual layer height at any reasonable speed, limited to under 40mm/s.

    To increase "yields" of clamp plates (i.e. a plate where all M6 threads are perpendicular), as well as give space for the heatbreak tightening spanner, I've moved the inputs to 2 squares of 4. This way, I only need half as many threads per plate. It's better to have to redo the plate if the 3rd thread was bent instead of the 7th. I also hope this would make alignment to the couplers easier.

    The plan is to then heat this with a 30mm long, 160W cartridge. Hopefully, I don't need to use a 47mm, 320W cartridge. I'll use a clamp design, which should also allow 20mm cartridges to be used.

    As expected, the immediate 90-degree bend doesn't fair well when it comes to flow rate. As seen in the topmost image, my plan was to have a straight path to the bottom, then go back upwards with the coaxialiser before outputting to the nozzle. Additionally, I had recently seen the below video on tests done with multiple 2D path geometries:

    He obtained good results with a straight-length distance of 11mm before the split. He also tried a 4mm length before the split and flow rate was worse than no split at all. The split distance in my design is 13mm. The drawback is that the high-flow columns alone will store 1250mm^3 (2/3rds total) of material in them. The R2 has less than 1000mm^3 entirely.

    My only slight concern is the output directly after the coaxialiser since it's sloped such that it could become too steep an overhang when the part is printed at a 45 degree angle:

    There was also a noteworthy comment left in the video above:
    I think there is a flawed assumption by the community that smooth bore=better flow, that seems so obvious that nobody questions it, so nobody tries anything else.

    I did an experiment polishing a 100mm long bore [...]. Instead of being shiny and polished, it was like the "orange peel" of a bad automotive paint job. I tested it anyway, and the results were a 30% improvement over any previous test!

    Since then I have tried several similar strategies to intentionally "ruin" my barrels: scouring with stainless wire, running a tap into the bore, running a dull drill bit through it, etc.. All the tests either show an improvement or no improvement over smooth bore, but none perform worse.

    I have several theories about why, but my two favorite are that the rough surface creates turbulent flow, mixing hotter fluid at the perimeter with cooler fluid in the center, and that a rough surface is more surface, and more surface = more heat transfer.

    Thus, I don't think I need to concern myself about the surface roughness of DLMS parts, and just need to ensure that overhangs don't exceed 45 degrees.

    I also like that this design is more accepting of arbitrary input amounts. The only thing stopping someone from a Coaxielveor (12-in-1-out) or Coaxihexor (16-in-1-out, not to be confused with a Coaxi6or) are other things like software / firmware / hardware support.

    [Oct 12]

    I decided to take a loft straight from the coaxialiser to the output pipe, which looks cool and seems printable. I've then simulated it and it takes 4.5s for the output to transition.

    The coaxialised output conforms to the cross section. The below images show the output just as it leaves the coaxialiser (left), halfway up the loft (middle) and the end of...
    Read more »

  • [X] Attempting to calibrate input shaping

    kelvinA10/06/2024 at 08:49 0 comments

    I've fixed the levelling Z height and determined that the PETG sticks at 84C instead of 72C on my machine. I tried a 1 : 1 mix of black and magenta but that just made a colour similar to "#222" when compared to the all-black clip I printed with R0. Unexpectedly, the black channel choked and so I was able to issue an M165 to change the mix to 1 : 1 white/magenta. Noticing how fast the colour changed, I wanted to see if I used yellow instead of white.

    Part of the reason I'm using 4-bit-per-channel colour is partially a form of "rounding", since I don't have the tools to precisely measure colour and physical objects will look different based on the kind of light that hits it anyway (the "mint" filament looks closer to cyan under a daylight-white light source). My estimate for these 2 new colours is "#C9B" for the pink and "#A74" for the grapefruit-yellow.

    As for actually calibrating input shaping, it was inconclusive. I also noticed slow-growing blobs from the Coaxial8or.

    I decided to use the zeta x and y gcodes instead to calibrate each axis individually. It was inconclusive on the first few rounds as I had set the speed to 30% to test the waters. I found that I got the pattern to reliably stick at 0.2mm layer height and 1.5x extrusion multiplier, as well as limiting the test frequency to 36Hz.

    Zeta/Damping Factor Pattern Y
    Y axis test on the bed

    While printing, I could see and hear when the Y axis hit the resonant frequency. The issue was that it seemed like it was in 2 different points depending if the resonant frequency was increasing or decreasing.

    As you can see from Marlin's diagram, It seems that I'm looking for the most "jagged" looking line throughout and the resonant frequency is the largest V or ∧. Unfortunately, the test pattern doesn't make that easy. I eventually came to the hypothesis that, in reality, the sharp point will actually curl up as the nozzle moves back towards the centerline. Taking the spring steel off the bed, I angled it around to see that one sharp point in a few of the lines was slightly raised compared to others, and I took that as the resonant frequency (highlighted in green below). I also thin 0.7 zeta looks the closest to the ideal (highlighted in blue below):

    I do wish that the pattern could be clipped and scaled another 2X (thus 4mm is 1Hz, starting from 10Hz for example), since the really low frequencies overextrude. Another idea would be an option to print an S shape, 1-layer-thick raft so that the test was less susceptible to bed adhesion issues, but that may decrease contrast of the pattern.

    The X axis was even harder to determine and it's possible that I only barely caught it in the 36Hz window:

    Zeta/Damping Factor Pattern X
    X axis test, taken off the magnetic plate to improve contrast.

    My results from this test:

    #if ENABLED(INPUT_SHAPING_X)
        #define SHAPING_FREQ_X  31.6
        #define SHAPING_ZETA_X   0.6      
      #endif
      #if ENABLED(INPUT_SHAPING_Y)
        #define SHAPING_FREQ_Y  18.3        
        #define SHAPING_ZETA_Y   0.7
    [...]
    #define SHAPING_MIN_FREQ  15.0     // Default is 20 and line commented out

     I decided to round up the zeta factor to the nearest 0.1

  • [A][T] Improved start-gcode. Marlin AutoMix colours?

    kelvinA10/04/2024 at 19:21 0 comments

    I've been able to improve the start gcode and figure out how to get the filament colours to display. The code...

    M140 S[first_layer_bed_temperature] ; Start preheating the bed
    M104 S[first_layer_temperature]     ; Start heating nozzle
    
    G28                                 ; Home
    G0   Z15 F1200
    
    M190 S[first_layer_bed_temperature] ; Wait for bed to reach temp
    M109 S[first_layer_temperature]     ; Wait for nozzle to reach temp
    
    G28  Z                              ; Home Z axis
    
    ; Virtual Tool Setup
    T0
    
    ; Filament: [filament_preset_15]
    [filament_notes_15]
    M164 S15
    
    ; Filament: [filament_preset_14]
    [filament_notes_14]
    M164 S14
    
    ; Filament: [filament_preset_13]
    [filament_notes_13]
    M164 S13
    
    ; Filament: [filament_preset_12]
    [filament_notes_12]
    M164 S12
    
    ; Filament: [filament_preset_11]
    [filament_notes_11]
    M164 S11
    
    ; Filament: [filament_preset_10]
    [filament_notes_10]
    M164 S10
    
    ; Filament: [filament_preset_9]
    [filament_notes_9]
    M164 S9
    
    ; Filament: [filament_preset_8]
    [filament_notes_8]
    M164 S8
    
    ; Filament: [filament_preset_7]
    M165 O1
    M164 S7
    
    ; Filament: [filament_preset_6]
    M165 N1
    M164 S6
    
    ; Filament: [filament_preset_5]
    M165 M1
    M164 S5
    
    ; Filament: [filament_preset_4]
    M165 L1
    M164 S4
    
    ; Filament: [filament_preset_3]
    M165 D1
    M164 S3
    
    ; Filament: [filament_preset_2]
    M165 C1
    M164 S2
    
    ; Filament: [filament_preset_1]
    M165 B1
    M164 S1
    
    ; Filament: [filament_preset_0]
    M165 A1
    M164 S0 
    
    ; Extruder Priming Setup
    T[current_extruder]
    G0 X0 Y0 Z0.5 F9000
    M83 ; Extruder Relative mode
    G1 Y305 E48 F600
    G0 X0.5
    G1 Y0 E48
    G1 E-2 ; Retract
    G92 E0 ; 
    ;Prime Finished
    
    M204 P2400

    ...produces:

    [...]
    ; Filament: cr600s.All
    M165 A1 B1 C1 D1 L1 M1 N1 O1
    M164 S9
    
    ; Filament: tmp.magentaBlack
    M165 L1 N1
    M164 S8
    
    ; Filament: petg.Transparent
    M165 O1
    M164 S7
    
    ; Filament: petg.Black
    M165 N1
    M164 S6
    
    ; Filament: petg.Copper
    M165 M1
    M164 S5
    
    ; Filament: petg.Magenta
    M165 L1
    M164 S4
    
    ; Filament: petg.TransBlue
    M165 D1
    M164 S3
    
    ; Filament: petg.Mint
    M165 C1
    M164 S2
    
    ; Filament: petg.Yellow
    M165 B1
    M164 S1
    
    ; Filament: petg.White
    M165 A1
    M164 S0 
    
    ; Extruder Priming Setup
    T8
    ; Priming nozzle
    G0 X0 Y0 Z0.5 F9000
    M83 ; Extruder Relative mode
    G1 Y305 E48 F600
    G0 X0.5
    M73 P1 R31
    G1 Y0 E48
    G1 E-2 ; Retract
    M73 P3 R31
    G92 E0 ; 
    ;Prime Finished
    
    M204 P2400
    G21 ; set units to millimeters
    G90 ; use absolute coordinates
    M83 ; use relative distances for extrusion
    ; Filament: tmp.magentaBlack
    T8
    [...]

     This utilises the filament_notes field to store the mixes, and uses the toolchange-gcode to make filament name comments:

    ; Filament: [filament_preset_[next_extruder]]

     With this, PushPull should work correctly. Before, the mix was changed only after the tool was, so the first change to a new virtual tool would have an incorrect PushPull event. Additionally, a user wouldn't be able to change the mixes during the print.

    Marlin feature idea - AutoMix

    While my gcode changes hopefully reduce my issue list, it likely isn't sustainable for more than a handful of virtual filaments and it would be more ideal for the slicer to just tell the firmware what colour and transparency is desired. For this, it would need to know:

    • AutoMix channel?
      • If no, there should be a settable mix. E.g. 50% ABS channel, 45% AutoMix, 5% TPU channel = tinted ABS
    • Material Colour: RGBA hex
      • No I'm not expecting 16.7 million colours from the c8or. 
      • 4 bits per channel is already loads for FFF 3D printers: 4096 colours, 16 levels of opacity.
      • Firmware will need some understanding to know "#0000" and "#FFF0" are both equivalent to "full transparency"
    • Potentially a Look Up Table (LUT) for gamma
      • The WhiteBlack test print is slightly darker than the midpoint "#888F" grey, seeming closer to "#666F".
      • Hopefully it's as simple as printing a 1 : 1 mix of 2 materials, inputting the resultant colour and then generating a LUT curve that passes through it, similar to pressure curves for stylus tablets:

    With this feature, the firmware can be the one to worry what channel white filament is in and the ratios needed to produce "#9A9F". This would also open the realm to automatic...

    Read more »

View all 111 project logs

Enjoy this project?

Share

Discussions

Trovoski wrote 09/18/2024 at 13:20 point

I have been following this project for months, and it's my go to morning reading when I clock into work, haha

  Are you sure? yes | no

kelvinA wrote 09/18/2024 at 13:53 point

Waw, that's great to hear! I do occasionally wonder if these logs are being sent out to the void as dark as this site's colour scheme, so it's reassuring to see this.

  Are you sure? yes | no

Daren Schwenke wrote 08/11/2024 at 22:48 point

If you route a path in your AL and add a cover, water cooling.  Probably lighter.

  Are you sure? yes | no

kelvinA wrote 08/12/2024 at 08:47 point

What do you mean by "add a cover"? 

As for water cooling, I decided that I didn't want to include its complexity nor potential for leaks.

  Are you sure? yes | no

Daren Schwenke wrote 08/12/2024 at 15:18 point

Oh.. I was just saying with your existing design you already have a nice block of AL right where you need cooling.  Route a channel in the top for water to flow around and cover with a plate to contain it. Air cooling works too and is simpler, yes.

  Are you sure? yes | no

Joshua R. Taylor wrote 10/05/2023 at 13:22 point

OMG!!!! we need to talk! josh@jrt3d.com

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates