Close
0%
0%

Coaxial8or [gd0144]

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

Similar projects worth following
The Coaxial8or 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 R0

4-in-1-out Coaxial Hotend

Media 

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 holder and extruders installed
L70
[X][M] Heating Tests and Coaxial8or R1
L71
[M][T] Coaxial8... 4 A Budget?
- Backwards compatibility with 4-in-1-out
- Why not 6-in-1-out?
L72
[C] Push/Pull V-Tools in Marlin
L73
[A] Dryrun worked. Print powered down.
L74
[X][M] First Coaxial8or prints (single colour)
L75
[M] Removed M2 threads in Coaxial8or R1
L76
[T] More potential features for mixing extruders
L77
[X] Minimal flow...
Read more »

  • [M] New coaxialising geometry

    kelvinA7 hours ago 0 comments

    The new geometry is implemented into the design, and I'm still at 193cm^3 (52.0g). Heat-up times should be about 40% faster than R0.

    Because I was trying to find more information about Construct3D's custom heatblock design that is targetting 200mm^3/s, I started listening to a podcast and one of the things that Jacob mentioned was "intent", describing how the quality of his Minecraft server building designs had much more quality when he had to struggle in Survival Mode to get every block, compared to Creative Mode when he has unlimited everything, and he subsequently brought this idea of intent over to his 3D printer design methodology. Now that I've got a new heatblock design and every millimetre of it has been questioned multiple times, I've been thinking of the similarities to Jacob's talk of intent. 

    Firstly, some quick changes that have happened in the design:

    • MinorChannels are now 1.75 * 0.75 + 0.2 -> 1.5125mm.
    • I've reduced the length of the thread and now it is 10mm (down from 12mm in R0).
    • The height of the heatblock is now 41.5mm, which is about 10mm reduction from R0.
    • The heatsink thread holes are 2mm from the edge, which should be ok.

    Centre Pillar

    The main profile is shown below:

    For weeks, I've been wondering if I should change the 0.95mm spacing, but I felt that I didn't want to even change it by more than +/- 0.05mm so I left it. Well now the geometric laws have spoken, and by ensuring a minimum wall thickness of 1.2mm, the spacing is precisely 0.94mm. 

    Additionally, the centre pillar now has a much more active role in forming the extrudate instead of being there just because I hope it has a positive effect. As the fluid inside the heatblock is incompressible, the idea is that a push/pull of material will move this 3D revolve of the triangle between the 2 inputs:

    The volume of this is 9.118mm^3, and the push/pull length can be found as follows:

    ( 2 * [purge volume] / ( pi * [filament diameter]^2)
    ( 2 * 9.188 / (pi * 1.75^2) )
    = 1.91mm

     I had set my push/pull length for the c8or r0 to be 1.8mm, so I'm doing great on these guestimates. 

    I'm hoping that this new geometry both gives more time for the cone-ring-CSA to equalise in pressure, reduce the diffusion-area between different materials and make the flow interactions more forced. 

    Pathways

    As the aim is to get consistent 360 degree pressure and the crosshead designs I saw yesterday weren't doing any centrifugal-like geometry, I've gone back to a simpler design with 2 inputs. I had considered 3 inputs but feared about pressure propogation delays and how channel 7/8 may have a different pressure profile than the other 6 since I can't just go straight through the heater cartridges. The sketch is shown below:

    Well, that's half the reason. I was forced into it because the staggered approach caused minimum-wall-thickness violations.

    I then tried some conic curves to transition from the minor to major channel, mainly so that channel4 was more spaced from the paths of channel7.

    I did the revolve and then made this fancy variable fillet which aims to keep the pressure more constant as material moves further away from the inputs:

    About 2 more hours of fixing later (which didn't help since Fusion decided to delete some features and sketches instead of just making them yellow or red) and I had the new geometry implemented. Almost everywhere was >=1.2mm minimum wall from what I could tell.

    I decided to let this one slide, at 1.181mm distance.

    The heatbreaks go right to the edges of the bounding box, but I was still able to keep the 29 x 49 XY size.

    Next-day fixes

    First I tried something called draft analysis as I was hoping that I could use it to see overhangs over 45 degrees, but it seems limited in that it's only optimised for injection-moulding workflows and, as such, I can't set anything over 15 degrees.

    So I did the usual cross...

    Read more »

  • [M][T][A] R1 needs to be redesigned.

    kelvinAa day ago 0 comments

    I've cancelled the PCBWay order for the Coaxial8or R1.

    It started small. Small as in a small missing fillet. That was easy to correct.

    Then the engineer came back because they had concerns about the M6 threads:

    I looked at how Heinz did their threads and one thing I noticed was the taper before the flat wasn't a basic chamfer. I presume this is so that imperfections from the printed thread does not affect the important face that seals against the nozzle.

    Thus I went in and did some modifications:

    Then I was validating the model and found an extreme minimum wall violation that I unfortunately missed:

    The hole is the grub-screw hole and so I had to rethink quite a bit of the design (and this is when I requested the order be cancelled since it could take a while).

    Fast forwarding a bit, I moved the grub screws, reduced the clamp block thickness because it no longer had to fit the grub screws, and trimed the body of the heatblock so that I could simultaneously get under 20,000mm3 and $40 autoquote, and I got this:

    Side tangent: Trimming around channel 7 / 8

    I first tried doing the trim with an extrude and draft angle but it just looked... wrong... so I instead created a cone surface and extruded to that, which actually trimmed off even more material.

    Tangent over. Back to the main story of events.

    So I was dancing about how my design is now 193cm3 and the autoquote was $38.80, and I was on Discord asking Heinz a few questions to get the latest insights in the technology tree. The response:

    -- lots of colors are nice, but biggest improvement is in the coating meachanism itself imho.

    -- making it as small as possible for less purge and quick color change

    -- similiar to the cetus2 brass insert...

    I was going to reply that I felt like colour gamut vs colour change speed would be one of those engineering challenges where one is forced to pick a side. I still feel that way, but that it's not as black and white as I originally thought.

    Remember that print of a clip that was supposed to be white but only got to a medium-light grey at best?

    Well I looked into the model cross section and determined that I needed to reduce the contact zone between differing materials whilst still being manufacturable. 

    Ideally, colour changes would be like a micro, molten version of the Pallete filament splicer. Another way to think of it is like a 1-dimensional version of offset printing:

    The final colour output created by merging the combined-effort of previous work with a single colour.

    I started sketching a solution that could potentially be geometrically viable yesterday:

    Today, I've looked into "Crosshead Extrusion", which is a method to coat wires with insulation:

    Source

    I'm continuing to experiment with what I can do with the design whilst keeping it compact, ensuring a minimum wall thickness and keeping the pressure as axissymmetric as possible:

    The idea is to make the geometry more like a revolved version of the Cetus2 nozzle for each channel. This is also to hopefully make push/pull vtools more effective.

  • [E1][B][R] Coaxial8or R1 print costs $47, and failed simulation attempt

    kelvinA5 days ago 0 comments

    PCBWay pricing for Coaxial8or R1

    Amazing cost reductions!

    Perhaps it's because this design is similar to R0 which PCBway already has experience on, but now the autoquote and the actual price were essentially identical. Unexpectedly, the "Standard Global Shipping" is now almost half the cost. Perhaps it has something to do with the bounding box of R1 being smaller than 50 x 30 x 50mm3?

    Another possible reason for the lower price could be that the 1.5mm channels are easier to clean inside than the 1.25mm ones? 

    The current Mastercard conversion rate means that it will cost me £45.25.

    Simulation attempts

    I was going to install the Windows Subsystem for Linux to try OpenFOAM, but then I found out and tried to use the injection moulding simulation feature in Fusion 360. Unfortunately, it complains if I set the mould temperature to something like 236C for PETG, and when I set it to within the recommended values, I got an incomplete fill animation:

    I can use my imagination for this much of a simulation.

    [Apr 07] There was a material called "Bionolle" that had a close melt and mould temperature of 115C and 80C respectively, and I moved the inputs so that I could at least see the filling of the coaxialiser and path length matching. 

    Allegedly, the material will expand into the empty space from both directions instead of only clockwise.
    It seems that the paths for all 8 inputs are matched to within about 1.5mm. Hopefully, this means that the pressure difference between the splitting paths is low.

    [End of Apr 06 edit]

    I signed up for SimScale but it became apparent very quickly that I'd only be able to simulate liquids like water and oil.

    Ideally, it seems that I'd need something like Ansys Polyflow, which seems to be able to simulate coextrusion:

    YouTube

  • [M] Updated pathways and protected cartridges

    kelvinA6 days ago 0 comments

    It's a bit plain on the top now.

    I did the mental calculations and thought that it would take at least 5 hours to clean up the Coaxial8or R0, since solid plastic is difficult to remove, and then it would take another 2 or so hours to put everything back together again, as well as 1 hour for resolving anything that I didn't account for. 

    That's 8 hours. I've seen Stuff Made Here scan jigsaw puzzles, and suspect it won't be the first and only time I'd find myself in this situation now that I need to find a new gasket material.

    I have instead spent 4 hours updating the design of Coaxial8or R1 to hopefully increase flow rate and prevent any future leaks from melting onto the surface of the heating elements. 

    Cartridge protection

    The wall between the cartridges and top face is 1.75mm, with the expectation that this will reduce to 1mm after the face has been flattened. I am considering increasing the CAD thickness to 2mm.

    I think I now understand what I've heard in the past about "safe failure modes", in that in the event that the system fails, at least it fails nicely. Putting the cartridges on the underside means that I could have the heatblock heated when cleaning off plastic. The only concern with this solution is that it's possible for one of the heater cartridges to fall out onto the print if not sufficiently secured.

    New pathways

    As you may be able to see, I've now replaced the T-like intersection between the major and minor channels for more of a Y-like intersection:

    Since the thermistor is no longer in the centre, I've also reduced the diameter of the internal column to 4mm. I still feel like it's important to give the molten material something solid to build upon, especially when the main coaxial-ising section is 30mm long. I tried to reduce it but I wasn't able to. At least with this diameter reduction, the cross sectional area drops from about 20mm3 to 14mm3, which should notably reduce the amount of internal material.

    Other things

    Bounding box is now 49 x 29 x 49mm XYZ and the heatblock is 23,200 mm3. 

    I also tried to make the M6 thread more printable but Fusion generated so many faces and froze when I tried to offset them.

  • [X] Minimal flow rate, medium mixing, maximum leakage.

    kelvinA04/05/2024 at 12:18 0 comments

    I think the test octogon prints add a nice bit of flair to this image.

    The above picture of all 8 heatsinks neatly in a line probably gave it away if the title didn't already, but it's ovur and I've dissassembled the Coaxial8or hotend.

    Extrusion (and colour uniformity) tests

    I started today with an extrusion test to get some real numbers for volumetric flow rate. So that I could also finally answer the question of "Does it coaxialate?", I decided to create a virtual filament of white + some other colour.

    First I tested white encased in blue on channel 7 and 8, thus white was in 7 and blue was in 8 and they were a 50/50 mix. I also decided to create a purge line GCODE in PrusaSlicer:

    ; Extruder Priming Setup
    T[current_extruder]
    [start_filament_gcode[current_extruder]]
    ; Priming nozzle
    G0 X0 Y0 Z0.5 F9000
    G92 E0
    G1 Y305 E48 F600
    G0 X0.5
    G1 Y0 E48
    G1 E-4
    G92 E0

    Then I started the print and quite quickly had to slow it down to 35% because it wasn't working all that well. I managed to get up to 90% speed though. My settings were 0.4mm layer height, 0.6mm nozzle, and 90% speed would correspond to 54mm/s. The good news is that it does seem to coaxialate, and looks consistent when the nozzle is travelling up and down the Y axis.

    I cancelled this print not because it looked like it was about to warp off the bed, but because I noticed that there was a black blob of molten plastic seemingly oozing out the top of the CHC Pro and went to clean up and reseat the nozzle.

    After levelling the bed so that both the edges and centre were of equal spacing to the nozzle, I tried again at 54mm/s but had to slow it down again to 90% speed, meaning that I'm probably fine at 48mm/s but 54 is at the edge of reliability. PrusaSlicer says this corresponds to 11.4mm3/s, which is very low. I was expecting that this design would be at least in the 30s. Additionally, the extruder for the white filament stopped turning for the last 2mm for some reason, so the very top is just transparent blue. Noticeably, the X direction is a slightly darker shade of blue. It's very slight though and I've got to 

    For reference, this is what the input filaments look like:

    Anyway, at this point, my answer to the question "Does the solution pass or fail?" is actually "Partial Credit.". I can't say outright that the solution fails, because as long as it's good enough to put my other projects together, being able to mix, albeit slowly, is the solution actually working.

    I decided to then move on with this 48mm/s speed to a new virtual filament of 50/50 copper/white, where the white encases the copper.

    The filament looks redder in person. See one of the previous logs where I printed a clip with it.

    I also decided to try channel 5 and 6 to see if it's potentially the minor channels that are bottlenecking my speeds. 5 and 6 have the longest uninterrupted major-channel diameter of 1.7mm, wheras I suspect that the dual minor channels are 1.05mm each. 

    I started the print at 48mm/s and by the end of it, I was up 180mm/s speed! That corresponds to 86mm/s which I rounded up to 90mm/s for the print afterwards. Just like with the virtual light blue, this virtual light copper was a darker shade on the X axis, just even more noticeable this time. Both virtual filaments do look nice though.

    I also had to increase the brim from 4mm to 10mm so that it didin't warp like the virtual light blue prints

    With this test, it also confirms that I've been able to extrude through all 8 inputs. 🎉🎉

    The next print was to confirm that I could print at 90mm/s, and it certainly looked like I could. 110% worked too but 120% didn't (see underextrusion gap) so I reverted to 110%:

    As you can see, the zone when I reverted from 120% to 110% looked more consistent in X and Y. It was also lighter than the previous run:

    Secret super leak

    Now if you're wondering why the second run of Virtual Light Copper looks...

    Read more »

  • [T] More potential features for mixing extruders

    kelvinA04/03/2024 at 08:58 0 comments

    • Filament sensors via I2C
      • This would likely help greatly with the day-to-day dealings of using an 8-channel 3D printer.
      • There's not enough pins on the Octopus Pro to be able to have a filament sensor for each input, but I hear that Marlin supports I2C communication and I've got some PCF8575 IO Expanders.
      • This expander has 16 inputs, which means that I could implement a "low filament" and "no filament" sensor, which I will explain below.
    • Redundant channels
      • I was thinking of a GCODE command to tell Marlin that it can switch to another channel if the filament runs out.
      • There needs to be a way to differentiate that there isn't any filament (or plugging wire) into the hotend, so that the heatbreaks aren't clogged with material flowing into the wrong direction, and just that there isn't enough material to continue printing with it.
      • Thus, the "no filament" sensor, mounted as close to the extruder inputs as possible, and a "low filament" sensor, which can be mounted a bit further away, is required. 
      • Unlike a switching extruder, mixing extruders can feed multiple channels in at once, meaning that there should also be a feature that actually just uses all redundant channels at once to increase flow rate.

  • [M] Removed M2 threads in Coaxial8or R1

    kelvinA04/03/2024 at 08:44 0 comments

    Reducing the height by 2mm and the volume by ~2500mm^3, I've refreshed the Coaxial8or R1 and swapped out the old nozzle heatblock for a CHC (that I tweaked from the CHC Pro CAD I already have). 

    When designing the internal channels, I decided to play it safe and have every input the same. However, I'm now thinking that channel 8 could be like the image below without any drawbacks. If anything, it might help increase flow for that channel.

    Also notice how the cartridge heater holes now go straight through the heatblock like the machined coaxial heatblocks designed in the past.

  • [E1][X][M] First Coaxial8or prints (single colour)

    kelvinA04/02/2024 at 17:03 0 comments

    Power

    I started today by using my FysetC ceramic screwdriver to turn the voltage of my adjustable power supply down to 24.2V and then installing into the system.

    I could play the Studiopolis theme tune to this look.

    Unfortunately, the current display cannot be trusted, as it only displays 0.00 unless there is a heating load applied, and even then, it only showed a peak of 7.5A that drops to 5.6A during main heating. Heating the c8or was about 3A, which equates to 72W or half of what it should be drawing. Activated motors don't seem to move the needle at all. 

    The power supply otherwise seems fine, keeping a solid 24.0 - 24.3V under all loads.

    Coaxial8or Priming

    I wanted to do a flow calibration, but I wasn't getting much extrusion so I thought that I'd print a flat octogon to make sure the internal cavities of the heatblock are filled. I used E0 for this, which has white installed.

    Clip for M592 Testing

    The night before, I had found out about M592, a feature implemented into Marlin to account for the reduced amount of material fed into the hotend at higher extruder speeds. This is because M593 is ZV input shaping. M493 Fixed Time Motion has more algorithms, but does not support a mixing extruder. 

    I had an idea that I could use a clip of some sort to place on the filament and then move it so that it's 50mm away from the extruder entrance and then extrude to get the values I needed, and I wondered where I was going to get such a clip. Then I remembered that this is what 3D printers are for, so I modelled one in Fusion.

    Printing

    All 3 prints that I did today.

    I decided that I was going to print the clip as a test print, and do so in black to see the time for a colour transition. I was getting extruder skipped steps, but the print did complete. From the whispy ooze, I measured 0.43mm and suspected that the volcano nozzle installed wasn't my go-to 0.6mm nozzle, but instead 0.4mm. Thus, I started a print in white with 0.4mm settings and confirmed my suspicions during the print.

    I indeed have 4 dots on the 2 nozzles I have.
    Both prints looked very shiny, so I assume the PETG was thoroughly melted. It seems that PrusaSlicer was set to 2mm retractions, which sounds fine for all-metal heatbreaks, so I'm going to try a temperature tower first before tweaking retraction settings. As you might be able to notice, the white filament essentially plateus at a light-grey colour. Perhaps the ideal filament order is in reverse to what I hypothesised.This is when I decided to look for leaks. I peeked through the grill and the back of the cover and saw no leaks peeking out anywhere. The mysterious synthetic odour I forgot to mention in the previous log was also much lower to the point where I forgot about it; I assume it's just like getting any new appliance and heating it up for the first time. I was also able to loosen the nozzle when cold, which is another good sign that there are no leaks. Lastly, the face at which the coaxial8or meets the nozzle still looks clean, so I assume that the leaking issue has been sufficiently addressed.

    I moved on to a 3rd material: Copper PETG. I bought it around this time in 2018 and this is the first print I've ever done using it because of it's unweildly 30cm diameter spool (filament spools are usually 21cm). Since I'm only doing short test prints and dont have any spool holders, I've just had the filament on the floor and I spin out some slack length. I also decided to switch to my plated nozzle that I planned to install in the CR600S sometime in late 2019, and can confirm that I can do a 1-handed nozzle change.

    The material actually looks very nice -- much nicer than implied on the spool -- but I can't tell if it's wet or if that bumpy sparkle look is the intended look. The purge transition went light-grey, black, copper after perhaps 5 layers. I believe I started with the c8or at 218C...

    Read more »

  • [A] Dryrun worked. Print powered down.

    kelvinA04/01/2024 at 15:21 0 comments

    So, instead of the "move fast and break things" approach that Me In January did, I took a more cautionary approach and did some dry-runs first. It's a good thing I did, because I caught issues like the G3 crash ahead of time and was able to increase my Y current to 900mA because it was skipping steps.

    After a successful test-run of everything running except fillament through the extruders, I installed filament into them. The large gear on the DDEs are useful because I can see / feel if the filament has actually gone inside or if it caught on the bowdens. Seemed that the PETG understandably went through the system a lot easier with the c8or set to 224 degrees instead of the 188 I had originally set and used in the dryrun.

    After getting the skin on my thumbs iirritated and peeling from all the high-torque scrolling of the gear, I used my handy M165 R to set the mix to A1 B1 and see that it was set correctly before then extruding perhaps 200mm of filament in. While this was happening, I took a flashlight to see if there were any obvious leaks and I didn't see any, which is a good sign at least. 

    Whilst wondering if this filament was actually getting anywhere, I saw a whisp come out of the nozzle and ghasped.

    There's filament, and it's grey! I'm only extruding in White and Black PETG. Thus I changed the start-gcode to heat the Coaxial8or to 224C and pressed print.

    Now this is where all the goodness ends, because my Z offset was wrong and so I was scraping on the bed. Whilst trying to increase the babysteps, the printer just turned off. This wasn't like the G3 crash where it would restart after a bit, because the PSU LED was off too! Whilst turning the printer off and on again brought power back and I was able to re-tram the bed, the power cut perhaps 1 second into the homing and heating procedure.

    So I did the calculations and when I add:

    • 140W Coaxial8or
    • 115W CHC Pro
    • 24V extruders with currents (in amps)
      • X: 0.6
      • Y: 0.9
      • Z: 0.6
      • E0-7: 0.45 x 8 = 3.6

    ...I get 392W. Considering everything else would be probably another 15W, I've likely exceeded the overcurrent protection of my £6 PSU. 

    Look, I bought it because it was small, looked nice, was silent and would arrive fast (and £6 for all that sounded amazing). When I did the original calculations, I was getting maybe 80% utilisation, likely because of the lower initial motor current estimates of 0.6 for Y and 0.3 for each E. 

    This kinda makes a bit of sense because, during tests, I could hear the fans drop in frequency and the multimeter tested a shaky 20V value, most likely because the heaters are only toggled at a relatively low 7Hz from what I've heard in the Marlin discord.

    I've still got my £60 (that I bought on sale for £11 off), 0 - 36V, 1.5KW PSU beside me so I guess I can install that, but first I need to lower the voltage to 24V or else I'll fry everything.

    Just not a fan that the voltage and current adjustment are two tiny trimpots.

    Surely this won't be the third power supply this project eats up. The good thing about this PSU is that it's got a current and voltage reading so I'd be able to spec the next one accordingly. 

  • [C] Push/Pull V-Tools in Marlin

    kelvinA03/30/2024 at 17:09 0 comments

    I've spent the past week implementing this feature I call push/pull toolchange. 

    It started when @heinz posted his findings with the Cetus2 nozzle and its strategy for fast toolchanges:

    The shownotes of implementation went something like this:

    • Day 1
      • Write initial pseudocode
    • Day 2
      • Look inside tool_change(...)
      • Write config modifications, looking at SWITCHING_TOOLHEAD for naming conventions
      • Write more detailed pseudocode
      • Try and understand what COLOR_A_MASK means
    • Day 3
      • Look at how the extruder directions are applied (and ask if there's any specific thing I'm supposed to do so that I don't break everything, since this is outside the mixing-related code.
      • Look up what do { } while(0) does, and it seems to make sure if-blocks don't break things.
    • Day 4
      • Find out there's something called MIXER_AUTORETRACT_TOOL
      • Understand a few other functions in mixing.h
      • Create a pushpull type
    • Day 5
      • Turn off VSCode Cpp formatting so that it doesn't mess with the formatting that's already present
      • discover "mix" and related functions, and enable them for push/pull
      • Write initial implementation for pushpull in the mixing.h side of things, such as creating MIXER_PUSHPULL_TOOL instead of a colour in the pushpull type.
    • Day 6 (today)
      • Find out that there are bit-mask macros and use them to tidy up my code.
      • Try, fail, try some more to create the new E_APPLY_DIR macro.
      • Change get_extruder_bits(...) to e_dir(...), where the former gave the thing that asked for it the entire 8 bits wheras the latter is a boolean on if that specific extruder is inverted or not. This made the MIXER_STEPPER_LOOP easier.
      • Allow pushpull to use the too_cold(...) function already in toolchange.cpp
      • Get more errors that stem from how I implemented the E_APPLY_DIR macro, as well as Mixer::pushpull
      • Finally get the E_APPLY_DIR macro to work by needing essentially a do { do { ... }while(0) }while(0)
      • Add a definition of pushpull_t Mixer::pushpull into mixing.c
      • Marlin compiles finally
      • Fix errors when optionals in config.h are disabled
      • Improve too-cold error message by adding an additional context message
      • Everything seems to work except I'm not getting any directions
      • Test to see that my bits are being set correctly
      • Find out that I need to apply the stepper directions, and I can't do that from mixing.h
      • Split the code so that the logic responsible for extruding was in toolchange.cpp.
      • Extruders work but there are a few quickly-squashed bugs.
      • Pull Request created.
    Implementation estimate: 12 hours
    Implementation time...
    15 hours?
    • Day 7 [Mar 31]
      • Code cleanup to make it look minty fresh.
      • Thought of a potential bug, confirmed and fixed it.
        • When going from a A5 B5 C0 D0 to an A0 B0 C5 D5 mix, the push/pull length was wrong as I assumed it would just be 2x all the time
      • Found out that G3 causes Marlin to crash and probably has something to do with the I and J values, 
        • Changing the HIJK mix characters to LMNO seems to fix it.

View all 81 project logs

Enjoy this project?

Share

Discussions

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