top of page
Forum Posts
Alan
Apr 03, 2024
In Your 3D Chameleon Creations
IMPORTANT TO NOTE: MY CHAMELEON HAS SINCE STOPPED WORKING PROPERLY OUT OF THE BLUE. IT IS NOT RELATED TO THIS TIP SHAPING BUT NONETHELESS HAS PREVENTED ME FROM CONTINUING. I AM LEAVING THIS NOTE SO MY POST IS NOT MISCONSTRUED AS AN EXAMPLE OF A PERFECTLY WORKING 3D CHAMELEON.
While trying to get my tip shaping to be more reliable I stumbled upon a way to swap colors without any cooling down or tip forging needed. The result is small string on the end of a perfect sharp tip. not perfect looking but loads great every time. I took inspiration from the built-in unload button on the printer.
Instead of trying to form and cool the filament at the end of the nozzle I just push it out 10mm, so there is very little molten filament left, then quickly pull back 15mm. Then slowly retract by 10mm more, and finally quickly retract to snap and stringing attached and pull out of the extruder gears. I hope this can help out other people and save some print time!
100 color changes with this shaping is 33 minutes of time, with the default tip shaping profile 100 changes is almost 3 hours of time. That shaves 2.5 hours off per 100 changes. So for a 400 color-change print that is 10 hours saved!!
Here is a pic of how the tips look:
G92 E0
M83
G90
G0 X284 Y293 F4000 ; MOVE TO BUTTON
G92 E0;
G0 E10 F500 ; push out the molten filament
G0 E-15 F4000 ; quickly retract
G0 E-10 F150 ; slowly retract
G0 E-60 F4000 ; quickly retract all the way out
M107
G91 ; relative mode
G0 Y3 F2000 ; press the button
1
8
425
Alan
Mar 17, 2024
In Your 3D Chameleon Creations
I saw the YouTube video by Chris's basement where he showed what the filament was doing during tip shaping with 3D chameleon via a CAD model. I thought that was clever. I decided to animate what my tip shaping does so I could visually see what is happening. Found a perfect step file on printables and painstakingly converted my movements into exact micro seconds for the animation.
Thought I would share in case it helps anyone else
I added a section in the code where the temp it cools to for tip shaping is relative to the print temp of that material instead of a fixed temp. This should allow for the use of multiple different filament types. For instance, I just did a PC and PLA+ print and for PC it cools from 270 to 240 for tip shaping, PLA+ cools from 210 to 180.
I'll be testing more with TPU as well to see if I can get multi-material working as well as multi-color.
This is accomplished with this command:
M109 S{nozzle_temperature- (30)}
Here is the code that this movement represents:
G92 E0
M83
G92 E0;
G0 E-27 F2000 ; retract a bit, adjust this to tune waste
G90
G0 X295 Y150 F4000 ; move to aux fan COOL DOWN
M106 S255 ; part fan 100%
M106 P2 S255 ; aux fan 100%
M109 S{(nozzle_temperature)- (30)} ; COOL TO 30C less than print temp
G0 E27 F1500 ; TIP SHAPING WARM
G0 E-5 F500
G0 E5 F1500
G0 E-2 F500
G0 E2 F1500
G0 E-27 F500
G90
M106 S0 ; part fan off
M106 P2 S0 ; aux fan off
G0 X284 Y293 F4000 ; MOVE TO BUTTON
M104 S[nozzle_temperature]
G92 E0
G0 E-80 F500 ; RETRACT
M107
G91 ; relative mode
G0 Y3 F2000 ; press the button
1
10
265
Alan
Feb 27, 2024
In Your 3D Chameleon Creations
I spent over 4 weeks chasing my tail and going down a dozen rabbit holes trying to figure out why I couldn't get the 3D Chameleon working with my K1 Max. I don't want everyone to have to go through that so I'm hoping this post can serve as a source of extra info, specific to the K1 Max (most is applicable to K1).
I had the problem where the filament would get chewed up at the Chameleon drive gear and would not unload. I thought my tip shaping was bad so I went that route. I played with the code and tried different temperatures and distances. nothing worked. Then I used almost every tension slider variation and reprinted the A,B, and C parts a few times. Still no luck. So I reached out to Bill via email and we spent a couple days working through the possible issues.
In the end it turned out that my cam on the selector motor of the Chameleon was damaged, likely while I was testing I think. Replacing this fixed all my problems and I now I am printing reliably! The notch on the top of it was not going to 0, 90, 180, and 270 degrees before, which was causing the issue.
Be sure to rule out any hardware issues if you are having trouble. The drive gear also needs to be perfectly aligned with the filament paths. Ensure this is the case on yours!
I heavily modified the tip shaping g-code to be a lot faster. It only cools down to 180 and uses the side aux fan for quicker cooling. Color changes take between 1:30 and 1:45, vs 2:40 with the original tip-shaping. This shaves hours off print times when you add up hundreds of color changes.
I also noticed that with Prusa Slicer the pressure advance is turned down to 0 every time it purges at the tower. To get around this I set my pressure advance in the end of the Tool Change g-code. You will see it highlighted below so you can enter your PA value.
My Setup & Print Pics
My Setup Guide
1. Test your Chameleon based on the regular instructions
2. Install your hardware in your desired configuration. My Y-Splitter is at the right rear, my switch is at the back right motor. I included other files I printed/designed for my setup below
3. Find your button coordinates (easier in mainsail or fluidd)
- Home X & Y
- Send hotend to X280 Y280
- Incrementally move X 1mm at a time until the black nub on the hotend is lined up with the switch
- Incrementally move Y 1mm at a time until you hear the button click
- Write down this X and Y value for the switch coordinates in the g-code sections
4. Find your load/unload timing using the regular instructions, save the P value and E value for the g-code section
5. Add the Start, End and Tool Change g-code sections to Prusa Slicer and edit the highlighted sections in my code below with your values from the previous steps. The initial button position is the coordinates you found before, minus 3. For me it clicks at Y296, so I use Y293 for start position.
6. Turn on "single extruder multi material" in Prusa Slicer Printer Settings
7. Turn off "prime all printing extruders" in Prusa Slicer Print Settings > Wipe Tower
Printed Part Files
Lower Spool Holders(https://www.printables.com/model/540699-creality-k1-max-side-load-spool-holder)
Upper Spool Holders(https://www.printables.com/model/666725-k1-max-spool-side-mount-for-stock-spool)
Auto Rewind Spools(https://www.printables.com/model/4357-sisyphus-auto-rewind-spool-holder-mm)
My adapter for rewind spools(https://www.printables.com/model/790024-sisyphus-axel-for-k1-and-k1-max)
My right-angle PTFE mount for left-mounted spools:(https://www.printables.com/model/790016-90-degree-ptfe-bracket-for-k1)
Mini Y-Spitter Mount (swivels)(https://www.printables.com/model/790028-tiny-y-splitter-mount-for-k1-and-3d-chameleon)
Start G-Code
SET_PRESSURE_ADVANCE ADVANCE=0.05
SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE=0
SET_FILAMENT_SENSOR SENSOR=filament_sensor_2 ENABLE=0
M82 ;absolute extrusion mode
START_PRINT EXTRUDER_TEMP=[first_layer_temperature] BED_TEMP=[first_layer_bed_temperature]
G92 E0
; 3DChameleon Preload Extruder 1
; load filament 1 to extruder
G0 X286 Y293 F4000 ; move to button
; three quick button presses to cancel out any active commands
G0 Y296 F2000 ; press button
G4 P150 ; wait for 150 ms
G0 Y293 F2000 ; unpress button
G4 P150 ; wait for 150 ms
G0 Y296 F2000 ; press button
G4 P150 ; wait for 150 ms
G0 Y293 F2000 ; unpress button
G4 P150 ; wait for 150 ms
G0 Y296 F2000 ; press button
G4 P150 ; wait for 150 ms
G0 Y293 F2000 ; unpress button
G4 P150 ; wait for 150 ms
G0 Y296 F2000 ; press button
G4 P3200 ; wait for 7 pulses
G0 Y293 F2000 ; unpress button
G4 P2000 ; wait for it to home
; select T0
G0 Y296 F2000 ; press button
G4 P550 ; wait for 550 milliseconds
G0 Y293 F2000 ; unpress button
G4 P2000 ; all done
; load T0 for 28 seconds and into extruder
G0 Y296 F2000 ; press button
G4 P18300 ; load
G0 E80 F1524 ; <<<--- adjust this E value to tune extruder loading
G0 X290 Y280 Z.2 F1000; move to extruders assigned purge line
G92 E0
G0 Y0 E100; purge the extruder.
G4 P200 ; all done
SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE=1
SET_FILAMENT_SENSOR SENSOR=filament_sensor_2 ENABLE=1
Tool Change G-Code
{if previous_extruder>-1}
{if next_extruder!=previous_extruder}
SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE=0
SET_FILAMENT_SENSOR SENSOR=filament_sensor_2 ENABLE=0
; Creality K1 3D Chameleon Mk3 Mode 3 Tool Change GCode for PrusaSlicer
; - 3D Chameleon Mk3 Tool T{next_extruder} -
;begin switch from extruder {previous_extruder} to extruder #{next_extruder}
G0 E-2 F2400; retract to prevent blobbing
; unload extruder {previous_extruder}
G92 E0
; go to holding position to unload the stock extruder
M83
G92 E0;
G0 E-27 F2000 ; retract a bit, adjust this to tune waste
G90
G0 X295 Y150 F4000 ; move to aux fan COOL DOWN
M106 S127 ; part fan 50%
M106 P2 S127 ; aux fan 50%
M109 S180
G0 E27 F1500 ; TIP SHAPING WARM
G0 E-5 F500 ;
G0 E5 F1500 ;
G0 E-2 F500 ;
G0 E2 F1500 ;
G0 E-27 F500 ;
G90
M106 S0 ; part fan off
M106 P2 S0 ; aux fan off
G0 X286 Y293 F4000 ; MOVE TO BUTTON
M109 S200
G92 E0
G0 E-60 F500 ; RETRACT
G92 E0
G0 E-60 F500 ; RETRACT
M107 ;
G91; relative mode
M104 S[temperature]
; /// filament ejected now... or end of tip shaping/mechanical cutting
; load extruder #{next_extruder}
; press the button to select the new extruder
G0 Y3 F2000
{if next_extruder==0}
G4 P550 ; dwell for .5 seconds - adjust this to match your machines single pulse time
{endif}
{if next_extruder==1}
G4 P1000 ; dwell for 1.0 seconds - adjust this to match your machines two pulse time
{endif}
{if next_extruder==2}
G4 P1500 ; dwell for 1.5 seconds - adjust this to match your machines three pulse time
{endif}
{if next_extruder==3}
G4 P2000 ; dwell for 2.0 seconds - adjust this to match your machines four pulse time
{endif}
G0 Y-3 F10000
G0 Y3 F2000
G0 E-80 F1524 ; continue to back out of the extruder
G4 P17500
G0 Y-3
G4 P400
G0 Y3 F2000 ;
G4 P18300 ;
G0 E80 F1524 ; <<<--- adjust this E value to tune extruder loading
G0 Y-3 F2400;
G4 P400
G92 E0
M104 S[temperature];
M106 S[max_fan_speed];
SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE=1
SET_FILAMENT_SENSOR SENSOR=filament_sensor_2 ENABLE=1
SET_PRESSURE_ADVANCE ADVANCE=0.05
G90 ; move to absolute mode
M83
{endif}
{endif}
End G-Code
SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE=0
SET_FILAMENT_SENSOR SENSOR=filament_sensor_2 ENABLE=0
G92 E0
G0 E-2 F2400; retract to prevent blobbing
G92 E0
; go to holding position to unload the stock extruder
G0 X286 Y293 F10000 ; <<----- EDIT THIS LINE TO SET THE INITIAL LOCATION OF THE BUTTON
G91 ; move to relative mode
M83
;
; add tip shaping here
G92 E0;
; back out the filament
G0 E-25 F500 ; retract a bit, adjust this to tune waste
; <<<< insert mechanical cutter code here instead if you have one! >>>>
G0 E25 F1500 ;
G0 E-5 F500 ;
G0 E5 F1500 ;
G0 E-1 F500 ;
G0 E1 F1500 ;
G0 E-25 F500 ;
M106 S255
M109 S180; cool down to prevent swelling
G0 E24 F1500 ; last tip dip with cold tip
G0 E-24 F500 ; last tip dip with cold tip
M109 S150; cool down to prevent swelling
M109 S180; ok... go back up in temp so we can move the extruder
G0 E-50 F500 ; back out of the extruder
G92 E0
G0 E-50 F500 ; back out of the extruder
G92 E0
M107 ;
G0 Y3 F2000 ; press button
G4 P2800 ; wait for 6 pulses
G0 Y-3 F2000 ; unpress button
G4 P2000 ; wait for it to cut filament
G92 E0
G0 Y3 F2000
G0 E-75 F1524 ; continue to back out of the extruder
G4 P18500
G0 Y-3
G4 P400
G90
M83
BEEP
END_PRINT
6
56
1k
Alan
Feb 04, 2024
In Support
I have been working to get my 3D Chameleon working for a few weeks now and have been able to work out all the issues exept one.
After 4-8 color changes a filament will fail to unload. Checking the filament there is a big notch where the chameleon gear grinded away at it.
I thought it was due to loading too far during load, so I tuned that so it doesn't grind the filament at all but feeds consistently still. Probably undershooting load time by a hair.
It kept happening so then I thought the filament must be getting stuck either in the extruder or PTFE opening. I checked the filament and it can easily pass through and is not trapped in the gears when this failure occurs. So I don't think it's a tip shape or unload issue.
I tried a few different slider tensions, but no difference was noticed for this issue. Currently using the default tension, +.25 spacing, for all of them.
It seems to happen sooner with some filaments than others.
My loads and unloads are perfect at this point, but I can't seem to figure this one out.
Any ideas why this might be happening and how to find the culprit?
Edit, more info: This is on my Creality K1 Max. I see the extruder lock arm move a bit (indicating the filament is in the gears) at the same time as hearing the motors stop, so I think my load time is spot on. I have been checking the filament after each unload to see if there is a spot gradually wearing down, but never notice anything. Then out of the blue it just happens. Perhaps when unloading?
UPDATE: It seems that the default tip shaping was the issue. For whatever reason it was not consistent and occasionally gave a wide tip that got caught in the PTFE when unloading. I redid my tip-shaping code, and now it is both more conistent and faster.
M83
G92 E0;
G0 E-25 F2000 ; retract a bit, adjust this to tune waste
G90
G0 X295 Y150 F4000 ; move to aux fan COOL DOWN
M106 S255 ; part fan 100%
M106 P2 S255 ; aux fan 100%
M109 S190
G0 24 F1500 ; TIP SHAPING WARM
G0 E-5 F500 ;
G0 E5 F1500 ;
G0 E-2 F500 ;
G0 E2 F1500 ;
G0 E-24 F500 ;
G90
M106 S0 ; part fan off
M106 P2 S0 ; aux fan off
G0 X284 Y293 F4000 ; MOVE TO BUTTON
M109 S200
G92 E0
G0 E-60 F500 ; RETRACT
G92 E0
M107 ;
G91; relative mode
M104 S[temperature];
0
7
203
Alan
More actions
bottom of page