M227 / 228 Cubex "The Mistery Function"

490 views
Skip to first unread message

giovanni...@gmail.com

unread,
Mar 9, 2014, 6:49:57 PM3/9/14
to kisslicer-r...@googlegroups.com
Hi, I would like to share my observations and with your help try to understant these functions.

At the moment I didnt use the M228.

I'm pretty sure about the following :
The triggers are M103 for the Suck and M101/201/301 for the Prime.
The speed of the Suck and Prime is not affected by the Speed set with M108/208/308.

I'm not 100% sure about the following:
With M227 S220 P200 the printer does a Suck of 220 and a Prime of 200 but only if the distance from the last point to the new point is long enough.
When the programm find a M103 the extruder starts the Suck and while is sucking the extruder moves to the next position, if the distance is long the extruder makes the whole suck then continues to move to the next start position. When the extruder arrives to next start position the M101/201/301 starts the Prime, the extruder doesnt move until the Prime .
If the end point and the start point are close, the M103 makes the start Suck and the extruder moves to next position ( like before ) but when the extruder arrives to the next point the Suck stops ( that means if U put 220 into the programm , in this case you will get maybe only 50 or 150 of Sucking ) now the M101/201/301 starts the Prime, if like in the previous example Prime<Suck the extruder Primes less than what it has sucked before, but I dont know if the difference is still the same or if it's proportional.
Example :
Programm : M227 S220 P200, the distance is short and it will resul on a Suck of 110 only I dont know if the Prime will result on 110-(220-200) or 110-(220-200)*110/220.

giovanni...@gmail.com

unread,
Mar 10, 2014, 12:05:01 PM3/10/14
to kisslicer-r...@googlegroups.com
Does someone have an idea on how to control the speed during the retraction and specially during the Prime ?


Message has been deleted

giovanni...@gmail.com

unread,
Mar 10, 2014, 5:42:30 PM3/10/14
to kisslicer-r...@googlegroups.com
The only reason I see is that when the extruder stops, the plastic that was just inserted warms up and expands.
If the travel takes more time the expansion will increase and a longer Suck will be required.


Le lundi 10 mars 2014 21:04:23 UTC+1, Ron Konkoma a écrit :
M227:  But why would someone want to change the purge or suck value depending on the distance/time that the print head had to travel?  That would not seem to serve any purpose....

hugues

unread,
Mar 10, 2014, 6:00:11 PM3/10/14
to kisslicer-r...@googlegroups.com
I made lot of test, holow pyramid, treefrog, cylinders, box and lines etc.. and the surface aspect is not regular after the seam point, when seam is 360 i still have some dirty effect like blobs and holes.
Try to print a small cylinder with a 0 in seam, you will see a line with a bump at the loop start and a hole (in the worst case) at the end. They are made by the PS.
This is a reference print made with your cubeit:
https://docs.google.com/file/d/0BwvkEZk49WpGMThNTVNxQTA4RVk/edit?usp=docslist_api

On square shape we found a thickeness difference between the start and the end of one loop

I think we found a bug in the cubex firmware, but we have to confirm this.
We will keep you in toucht.

You made a really good job with cubeit, without your work, the cubex was really bad. Thanks !

PS: sorry for my french english...

Bkjnky

unread,
Mar 12, 2014, 1:27:18 AM3/12/14
to kisslicer-r...@googlegroups.com
Some testing I did a few months back, hope it helps


M551 P1000 S80.000
M227 P0 S0
M228 P0 S0
* NO SUCK MOTION DURING TRAVEL TO INITIAL PRINT POINT
* OOZE AT NOZZLE TIP TRAVELING TO INITIAL PRINT POINT
* NO SUCK OR PRIME MOTION ON FIRST LAYER
* VERY LOW FILAMENT FLOW ON FIRST LAYER, ALMOST NONE FOR INITIAL 50MM
* NO SUCK OR PRIME ON SECOND OR SUBSQUENT LAYERS
* VERY LOW FILAMENT FLOW FLOW FOR FIRST 50MM AFTER LAYER START

M551 P1000 S80.000
M227 P0 S0
DELETED M228 P0 S0
* NO SUCK MOTION DURING TRAVEL TO INITIAL PRINT POINT
* OOZE AT NOZZLE TIP TRAVELING TO INITIAL PRINT POINT
* NO SUCK OR PRIME MOTION ON FIRST LAYER
* VERY LOW FILAMENT FLOW ON FIRST LAYER, ALMOST NONE FOR INITIAL 50MM
* NO SUCK OR PRIME ON SECOND OR SUBSEQUENT LAYERS
* VERY LOW FILAMENT FLOW FLOW FOR FIRST 50MM AFTER LAYER START

M551 P1000 S80.000
M227 P800 S0
M228 P0 S0
* NO SUCK ON TRAVEL TO FIRST PRINT POINT.
* OOZE AT NOZZLE TIP TRAVELING TO INITIAL PRINT POINT
* BIG PUDDLE AT INITIAL PRINT POINT
* NO SUCK AND NO PRIME MOTION AFTER INITIAL LAYER

M551 P1000 S80.000
M227 P150 S0
M228 P0 S0
* NO SUCK ON TRAVEL TO FIRST PRINT POINT.
* OOZE AT NOZZLE TIP TRAVELING TO INITIAL PRINT POINT
* VERY SMALL PUDDLE AT INITIAL PRINT POINT
* EQUAL SMALL SUCK AND PRIME MOTION STARTING AT LAYER 2

M551 P1000 S80.000
M227 P150 S1
M228 P0 S0
* NO SUCK MOTION DURING TRAVEL TO INITIAL PRINT POINT
* OOZE AT NOZZLE TIP TRAVELING TO INITIAL PRINT POINT
* UPON REACHING INITIAL PRINT POINT, PRINT HEAD PAUSED FOR VERY LONG TIME, POSSIBLY 10+ SECONDS, EXTRUDER WAS TURNING CLOCKWISE AT ALMOST UNRECOGNIZABLEY SLOW SPEED.
* EACH SUBSEQUENT LAYER START HAD SAME PAUSE

M551 P1000 S80.000
M227 P150 S10
M228 P0 S0
* NO SUCK MOTION DURING TRAVEL TO INITIAL PRINT POINT
* OOZE AT NOZZLE TIP TRAVELING TO INITIAL PRINT POINT
* UPON REACHING INITIAL PRINT POINT, PRINT HEAD PAUSED FOR APPROXIMATELY 6 SECONDS, EXTRUDER WAS TURNING CLOCKWISE AT SLIGHTLY FASTER SPEED THAN PREVIOUS TEST SPEED.
* EACH SUBSEQUENT LAYER START HAD SAME PAUSE

M551 P1000 S80.000
M227 P150 S150
M228 P0 S0
* NO SUCK MOTION DURING TRAVEL TO INITIAL PRINT POINT
* OOZE AT NOZZLE TIP TRAVELING TO INITIAL PRINT POINT
* UPON REACHING INITIAL PRINT POINT, PRINT HEAD PAUSED FOR APPROXIMATELY .5 SECONDS, EXTRUDER TURNED CLOCKWISE TO QUICKLY TO DISTINGUISH SEPARATION FROM START OF PRINT.
* EACH SUBSEQUENT LAYER START HAD SAME PAUSE

M551 P1000 S80.000
M227 P0 S0
M228 P800 S0
* NO SUCK MOTION DURING TRAVEL TO INITIAL PRINT POINT
* OOZE AT NOZZLE TIP TRAVELING TO INITIAL PRINT POINT
* NO SUCK OR PRIME MOTION ON FIRST LAYER
* VERY LOW FILAMENT FLOW ON FIRST LAYER, ALMOST NONE FOR INITIAL 50MM
* NO SUCK OR PRIME ON SECOND OR SUBSEQUENT LAYERS
* VERY LOW FILAMENT FLOW FLOW FOR FIRST 50MM AFTER LAYER START

M551 P1000 S80.000
M227 P0 S0
M228 P0 S800
* NO SUCK MOTION DURING TRAVEL TO INITIAL PRINT POINT
* OOZE AT NOZZLE TIP TRAVELING TO INITIAL PRINT POINT
* NO SUCK OR PRIME MOTION ON FIRST LAYER
* VERY LOW FILAMENT FLOW ON FIRST LAYER, ALMOST NONE FOR INITIAL 50MM
* NO SUCK OR PRIME ON SECOND OR SUBSEQUENT LAYERS
* VERY LOW FILAMENT FLOW FLOW FOR FIRST 50MM AFTER LAYER START

M551 P1000 S80.000
M227 P150 S0
M228 P1 S0
* NO SUCK MOTION DURING TRAVEL TO INITIAL PRINT POINT
* OOZE AT NOZZLE TIP TRAVELING TO INITIAL PRINT POINT
* SMALL PUDDLE AT INITIAL PRINT POINT
* EQUAL SMALL SUCK AND PRIME MOTION STARTING AT LAYER 2

M551 P1000 S80.000
M227 P150 S0
M228 P150 S0
* NO SUCK MOTION DURING TRAVEL TO INITIAL PRINT POINT
* OOZE AT NOZZLE TIP TRAVELING TO INITIAL PRINT POINT
* SMALL PUDDLE AT INITIAL PRINT POINT
* EQUAL SMALL SUCK AND PRIME MOTION STARTING AT LAYER 2

M551 P1000 S80.000
M227 P150 S0
M228 P0 S1
* NO SUCK MOTION DURING TRAVEL TO INITIAL PRINT POINT
* OOZE AT NOZZLE TIP TRAVELING TO INITIAL PRINT POINT
* SMALL PUDDLE AT INITIAL PRINT POINT
* EQUAL SMALL SUCK AND PRIME MOTION STARTING AT LAYER 2

M551 P1000 S80.000
M227 P150 S0
M228 P0 S150
* NO SUCK MOTION DURING TRAVEL TO INITIAL PRINT POINT
* OOZE AT NOZZLE TIP TRAVELING TO INITIAL PRINT POINT
* SMALL PUDDLE AT INITIAL PRINT POINT
* EQUAL SMALL SUCK AND PRIME MOTION STARTING AT LAYER 2

M551 P1000 S80.000
M227 P150 S0
M228 P0 S800
* NO SUCK MOTION DURING TRAVEL TO INITIAL PRINT POINT
* OOZE AT NOZZLE TIP TRAVELING TO INITIAL PRINT POINT
* SMALL PUDDLE AT INITIAL PRINT POINT
* EQUAL SMALL SUCK AND PRIME MOTION STARTING AT LAYER 2

M551 P1000 S80.000
M227 P150 S0
M228 P150 S1
* NO SUCK MOTION DURING TRAVEL TO INITIAL PRINT POINT
* OOZE AT NOZZLE TIP TRAVELING TO INITIAL PRINT POINT
* SMALL PUDDLE AT INITIAL PRINT POINT
* EQUAL SMALL SUCK AND PRIME MOTION STARTING AT LAYER 2

M551 P1000 S80.000
M227 P150 S150
M228 P0 S150
* NO SUCK MOTION DURING TRAVEL TO INITIAL PRINT POINT
* OOZE AT NOZZLE TIP TRAVELING TO INITIAL PRINT POINT
* SMALL PUDDLE AT INITIAL PRINT POINT
* EQUAL SMALL SUCK AND PRIME MOTION STARTING AT LAYER 2

M551 P1000 S80.000
M227 P150 S150
M228 P0 S800
* NO SUCK MOTION DURING TRAVEL TO INITAL PRINT POINT
* OOZE AT NOZZLE TIP TRAVELING TO INITIAL PRINT POINT
* SMALL PUDDLE AT INITIAL PRINT POINT
* EQUAL SMALL SUCK AND PRIME MOTION STARTING AT LAYER 2

M551 P1000 S80.000
M227 P150 S300
M228 P0 S800
* NO SUCK MOTION DURING TRAVEL TO INITIAL PRINT POINT
* OOZE AT NOZZLE TIP TRAVELING TO INITIAL PRINT POINT
* SMALL PUDDLE AT INITIAL PRINT POINT
* EQUAL SMALL SUCK AND PRIME MOTION STARTING AT LAYER 2

M551 P1000 S80.000
M227 P150 S300
M228 S800 P0
* NO SUCK MOTION DURING TRAVEL TO INITIAL PRINT POINT
* OOZE AT NOZZLE TIP TRAVELING TO INITIAL PRINT POINT
* SMALL PUDDLE AT INITIAL PRINT POINT
* EQUAL SMALL SUCK AND PRIME MOTION STARTING AT LAYER 2

M551 P1000 S80.000
M227 P150 S300
M228 S1 P0
* NO SUCK MOTION DURING TRAVEL TO INITIAL PRINT POINT
* OOZE AT NOZZLE TIP TRAVELING TO INITIAL PRINT POINT
* SMALL PUDDLE AT INITIAL PRINT POINT
* EQUAL SMALL SUCK AND PRIME MOTION STARTING AT LAYER

Bkjnky

unread,
Mar 12, 2014, 1:29:59 AM3/12/14
to kisslicer-r...@googlegroups.com
Hi All,
I think I have a new clue to the M227 and M228 Mystery.

with further testing, I think the firmware has a short travel and long travel Suck/Prime parameter and M228 appears to be the short distance prime/suck parameter.

When setting
M227 P2000 S150
M228 P0 S150

resulted in a long suck/prime cycle before the travel started from the wiper to the point of print near the middle of the print bed, and with each loop starting next to where the previous had just ended, a short Suck/Prime cycle. When the print traveled again to start a new loop quite far from the end of the prior loop, I got another long Suck/Prime cycle.

When setting
M227 P2000 S150
M228 P0 S2000

Resulted in long Suck/Prime cycle every time a new loop was started after a travel.

Basically I think that any time the firmware encounters M103 it calculates the travel distance, and applies either M227 PX or M228 SX at the speed setting specified by M227 Sx.

My guess is that the long travel distance trigger is somewhere between 75mm and 100mm

Can anyone do some testing on this theory?

heres my cubit INI setting incase you wanted to see the block

; Prime/Suck/Purge Block Inserted (at M55x) for FIRST layers of PLA (Required Section)
[PSPBlock PLA First]
Line1=M227 P2000 S150
Line2=M55x P1500 S80.000
Line3=M228 P0 S2000

; Prime/Suck/Purge Block Inserted (at M55x) for Remaining layers of PLA (Required Section)
[PSPBlock PLA Rest]
Line1=M227 P2000 S150
Line2=M228 P0 S2000
Line3=M55x P1500 S60.000


hugues

unread,
Mar 12, 2014, 5:46:12 AM3/12/14
to kisslicer-r...@googlegroups.com
Thanks for your feedback !

Did you notice when testing a difference between the wall thickness ?
I found it changing between 0.3 an 0.9 mm... 
Message has been deleted

y.ult...@gmail.com

unread,
Mar 13, 2014, 6:00:04 AM3/13/14
to kisslicer-r...@googlegroups.com
I'm in trouble, someone could spend M227/M228 parameter that function pretty well? currently I'm using the following parameters:

; Prime/Suck/Purge Block Inserted (at M55x) for FIRST layers of ABS (Required Section)
[PSPBlock ABS First]
Line1=M55x P600 S80
Line2=M227 P180 S160
Line3=M228 P0 S180

; Prime/Suck/Purge Block Inserted (at M55x) for Remaining layers of ABS (Required Section)
[PSPBlock ABS Rest]
Line1=M227 P180 S160
Line2=M228 P0 S180
Line3=M55x P600 S80

Can we do better?

giovanni...@gmail.com

unread,
Mar 13, 2014, 6:09:30 AM3/13/14
to kisslicer-r...@googlegroups.com
Hi ,
can you please try with CubeItMod, put 0.08 for Suck and 0,04 for Prime into Kisslacer and let me know.
Thanks
Giovanni

y.ult...@gmail.com

unread,
Mar 17, 2014, 3:27:25 AM3/17/14
to kisslicer-r...@googlegroups.com
Hi,

Pretty good
I need to do more test with cubeitmod V2 also

Thank you very much

giovanni...@gmail.com

unread,
Mar 19, 2014, 2:15:22 PM3/19/14
to kisslicer-r...@googlegroups.com
Hi Bkjnky,
thanks a lot, with the results of your tests and the tests Hugues and me we made, I think we cleared up that "mystery".

M227 P sets the length of filament that has to be sucked and primed, the M227 S sets the speed of the filament when is sucked or primed. ( Exactly as you pointed out )

The lenght of filament that can be sucked or primed can be divided into 2 parts, one is done "dynamically" the other "statically".

The M227 can be used without the M228, but if so it works only with a "dynamic" Suck and "Static" Prime.
The dynamic Suck can vary in function of the distance between the end of a loop and the beginning of the next loop.
Example : if you put M227 P400 S100, at the end of each loop the extruding head starts to move to next point and at the same time the Suck starts with the speed S100, if the distance is short, only one part of the P400 is done because the head reaches the new starting point before the whole length is done, if so the Suck and the X/Y axis stops and a "static" Prime is done to compensate the amount that has been sucked, is a "static" Prime because the head didn't move X/Y while is done.
If the distance between the end of loop and the next starting point is big, the whole P400 sucking is done at S100 speed while X/Y moves, the final part of x/Y movement is done without Sucking because the whole P400 is done during the travel, when the head reaches the new starting point a whole P400 static Prime is done to compensate the suck.

The purpose of M228 is to create a "static" Suck at the end of loop and a "dynamic" Prime at the beginning of next loop, both are very interesting.
If you put 
M227 P400 S100
M228 P80 S90

At the end of the loop a static Suck of S90 is done at speed S100, the full length is always done, then the head moves to next point and the "dynamic" Suck starts , his maximal length is (400-90) =310, but as is dynamic it depends on how many time the head takes to reach the next point.
When the head reaches the new point a static Prime starts but when the last part to be primed match the P80 then the head starts to move along the new loop while the P80 dynamic Prime is done.

I hope you understand because my english is not so good.

Within a hour I'll post a new version of CubeItMod to use the M228.

Giovanni  


Le mercredi 12 mars 2014 06:29:59 UTC+1, Bkjnky a écrit :

Steven

unread,
Mar 19, 2014, 2:53:17 PM3/19/14
to kisslicer-r...@googlegroups.com
Very interesting.

How do I set the prime to be twice a big as the suck?  On my machine, the start of the loop is always weak.  I want to increase the prime without increasing the suck.  Is that possible.

How did you measure the actual length and speed of the prime and suck?

giovanni...@gmail.com

unread,
Mar 19, 2014, 3:20:11 PM3/19/14
to kisslicer-r...@googlegroups.com
Make screen shoots of all your menus in Kisslicer and send them to me with a PM, I think your problem is elsewhere , i'll get a look.

Giovanni 

Bkjnky

unread,
Mar 19, 2014, 10:06:46 PM3/19/14
to kisslicer-r...@googlegroups.com
Glad to hear about your success!!! Your conclusion was my suspicion after I did the tests and I'm glad you were able to confirm! I haven't been able to due any prints lately but an looking forward to trying out your fix on my next print
Reply all
Reply to author
Forward
0 new messages