Ik heb enige tijd aan het commando M1203 besteed. Dit is het commando dat de CraftBot gebruikt om de settings van de firmware in te stellen aangaande de acceleratie van de extruderkop tijdens horizontale bewegingen.
Een paar jaar geleden bestond deze functie nog niet. De maximum print snelheid was zo’n 30mm/s en leverde een enorme herrie op bij elke beweging. Als bewegingen ongeaccelereerd zijn dan moet de constructie van de printer in staat zijn om binnen haast geen afstand van hoge snelheid tot stilstand te komen. Het is alsof je in een auto telkens tegen een betonnen muur moet botsen voordat je kan afslaan.
Nu zijn er algoritmes beschikbaar in de firmware van een 3D Printer om alle bewegingen geleidelijker te doen. Net als in een auto wordt er geleidelijk geremd voordat er een veilige snelheid is bereikt om af te slaan. Datzelfde geldt voor het weer versnellen na de richtings verandering.
vloeiende acceleratie
In de firmware van de CraftBot is het M1203 commando aanwezig om te bepalen hoe hard er geremd en opgetrokken wordt. Een instelling van M1203 A10 D10 levert bijvoorbeeld een heel vloeiende beweging op van langzaam optrekken en afremmen.
ongeacceleerde prints
Overigens: de instelling M1203 A0 D0 schakelt de acceleratie helemaal uit. Zeker geen slechte keus voor prints die echt heel strak moeten worden. Ze duren wel langer, omdat de maximum snelheid zo’n 20 of 30 mm/s is.
Prints die niet geacceleerd worden geprint hebben namelijk geen last van zogenaamde ‘ringing’. Dat is het effect van kleine golfjes dat je ziet op rechte vlakken na hoeken bijvoorbeeld.
(plaatje van de Sailfish handleiding)
ontwikkeling firmware CraftBot
Ik dacht altijd dat de versnelling en de planner van de firmware van de CraftBot nog wat werk benodigden, maar na wat aanvullende testen heb ik een veel positievere attitude. Neemt niet weg dat het altijd beter kan ;-)
De standaardinstelling van de M1203 waarde is:
M1203 A66 D44 F240
Bij mij leken printbewegingen nogal inconsistent. Vooral kleine segmenten van de infill werden afgedrukt alsof de printer steeds moest nadenken. Het kwam aarzelend over. Soms leken segmenten ongeacceleerd geprint en andere weer veel te traag versneld.
testen instellingen
Ik heb een aantal verschillende instellingen geprobeerd. In het algemeen print ik alles met 80mm/s en de perimeter en de bovenste laag met 40mm/s. De stroom van de steppers is verhoogd tot: m906 X50 Omdat ik heel soms missende stappen had van de XY steppers bij hoge snelheden. (Dit resulteert dan in verschoven lagen van de print).
Ik heb de verschillende instellingen getest door te printen via een USB kabel en via de console van CraftPrint telkens de M1203 commando’s te geven.
M1203 A0 D0 resulteert in ongeaccellereerd prints: mooie huid, maar zeer traag (en een lage snelheid benodigd)
M1203 A3 D3 leidt tot zeer langzaam versnellen en vertragen. Klinkt wel leuk, maar onnodig traag.
M1203 A99 D99 resulteert in een snelle acceleratie / vertraging; bang-bang stijl en geluiden.
de invloed van de F waarde
Maar wat mij verbaasde was dat de F-waarde van het M1203 commando niet een algemene minimale snelheid waarde was. Deze leek uiteindelijk meer een grenswaarde -threshold- dus een drempel waar versnelling wel of niet werd niet toegepast.
De standaardinstelling is F240 = 4 mm / s. Ik probeerde een aantal instellingen in combinatie met verschillende versnelling waarden, en het leek erop dat een hogere waarde van F1200 = 20mm/s een veel consistent gedrag in versnelling en de bijbehorende planning leverde. Alsof snelheids veranderingen onder die waarde niet meer werden versneld en dus consistenter waren.
De kleine segmenten werden niet aarzelend meer geprint, maar snel en consistent. Ook het toepassen van de versnelling leek meer consistent, hoewel dat een subjectief gevoel was , slechts beoordeeld op geluid.
Betreffende het eindresultaat leek de omtrek minder last van ringing te hebben, vermoedelijk omdat de druk van de extruder meer constant is met grotere versnelling.
gelijkmatige druk in de extruder levert een mooiere print
Het probleem met versnellings algoritmes is dat de drukverlaging van de extruder altijd te laat is tijdens het remmen en te vroeg bij het accelereren. Dit probleem kan worden aangepakt door toevoeging van een algoritme in de firmware die dat compenseert. Of, wanneer deze functie niet beschikbaar is, door de versnelling zo groot mogelijk te laten zijn als het mechanisme van de printer toelaat in relatie met de snelheid.
aanpassing startGcode slicers voor deze setting
Voor nu heb ik aan mijn startGcodes de volgende regels toegevoegd:
M906 X50
M1203 A88 D66 F1200
Ik was benieuwd of anderen dezelfde resultaten hebben als ik, of misschien een andere set van combinaties van deze M1203 waarde.
Dat lijkt er wel op. Een en ander wordt bediscussieert op het CraftUnique forum:
https://craftunique.com/forums/view-thread/1207
Bart