Doodle3D / doodle3d-firmware

The API of the Doodle3D WiFi box. This can for example talk to print3d, save settings, update the firmware etc.
www.doodle3d.com
GNU General Public License v2.0
13 stars 9 forks source link

Velleman K8400 support #49

Open peteruithoven opened 9 years ago

peteruithoven commented 9 years ago

We've been asked to add a printer profile for the Velleman K8400, but with a specific start and end gcode. This makes maintaining and updating start/end gcode harder. I'd like to find a way to make the same gcode support both options, by making parts variable, like our heated bed support. This also makes it easier to add more printers that require the same tweak.

The difference in start gcode is that the move the platform 15mm is done later. There doesn't seem to be a difference in the end gcode.

Our current default start gcode:

;Generated with Doodle3D (default)
M109 S{printingTemp} ;set target temperature 
{if heatedBed}M190 S{printingBedTemp} ;set target bed temperature
G21 ;metric values
G91 ;relative positioning
M107 ;start with the fan off
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops
G1 Z15 F9000 ;move the platform down 15mm
G92 E0 ;zero the extruded length
G1 F200 E10 ;extrude 10mm of feed stock
G92 E0 ;zero the extruded length again
G92 E0 ;zero the extruded length again
G1 F9000
G90 ;absolute positioning
M117 Printing Doodle...   ;display message (20 characters to clear whole screen)

Requested Velleman K8400 start gcode:

;Generated with Doodle3D (K8400)
M109 S{printingTemp} ;set target temperature 
{if heatedBed}M190 S{printingBedTemp} ;set target bed temperature
G21 ;metric values
G91 ;relative positioning
M107 ;start with the fan off
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops

G92 E0 ;zero the extruded length
G1 F200 E10 ;extrude 10mm of feed stock
G92 E0 ;zero the extruded length again
G92 E0 ;zero the extruded length again
G1 F9000
G90 ;absolute positioning
G1 Z15 F9000 ;move the platform 15mm
M117 Printing Doodle... ;display message (20 characters to clear whole screen)
peteruithoven commented 9 years ago

From E-mail communication I understand this was done to prevent blobs sticking to printed doodles. Probably the filament that's extruded before the print is started. This doesn't happen as bad for example on the Ultimaker Original because it has a cap in the bed in the corner this filament is extruded.

If this works on all printers this could be a better start gcode for all marlin based printers. Also for example for the Ultimaker2.