diff --git a/ANYCUBIC Kossel User Manual_V2.pdf b/ANYCUBIC Kossel User Manual_V2.pdf new file mode 100644 index 0000000..78e2827 Binary files /dev/null and b/ANYCUBIC Kossel User Manual_V2.pdf differ diff --git a/Anycubic_Linear_Plus_Cura_Profile.zip b/Anycubic_Linear_Plus_Cura_Profile.zip new file mode 100644 index 0000000..f135f28 Binary files /dev/null and b/Anycubic_Linear_Plus_Cura_Profile.zip differ diff --git a/README.md b/README.md index f62edc2..10b261b 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,152 @@ # Anycubic Kossel Plus +Set-up guide and related things for the Anycubic Kossel Linear Plus 3D Printer. + +## Getting started + +### Build Marlin + + * [Marlin Repository](https://github.com/MarlinFirmware/Marlin) + * [Instructions for Anycubic Kossel](https://github.com/MarlinFirmware/Marlin/tree/bugfix-2.0.x/config/examples/delta/Anycubic/Kossel) + +```bash +git clone https://github.com/MarlinFirmware/Marlin.git -b bugfix-2.0.x +cd Marlin +cp config/examples/delta/Anycubic/Kossel/Configuration.h Marlin/ +cp config/examples/delta/Anycubic/Kossel/Configuration_adv.h Marlin/ +``` + +Adjust the `Marlin/Configuration.h` for your model: + +> #define ANYCUBIC_KOSSEL_PLUS +> #define ANYCUBIC_PROBE_VERSION 2 +> #define ANYCUBIC_KOSSEL_ENABLE_BED 1 +> +> ( #if ANYCUBIC_PROBE_VERSION == 2 +> #define NOZZLE_TO_PROBE_OFFSET { 0, 0, -15.00 } +> ) + +```bash +virtualenv -p python --no-site-packages . +source bin/activate +pip install -U platformio +pio run +pio run --target upload +``` + +### Set up the 3d printer + + * `Configuration > Advanced Settings > Initialize EEPROM` + * `Configuration > Delta Calibration > Set Delta Height` ( G33 P1 ) + * `Configuration > Delta Configuration > Probe Z-offset` ( Set manually to 15.00 ) + * `Configuration > Delta Calibration > Set Delta Height` ( G33 P1 ) + * connect the Z-Probe and start `Configuration > Delta Calibration > Auto Calibration` + * `Configuration > Delta Calibration > Store Settings` + * `Motion > Bed Leveling > Level bed` followed by `Store Settings` + +use `Configuration > Advanced Settings > Probe Z Offset` to correct the difference and execute the calibration again + + +### optional: tune PID + +#### Nozzle + +(DEFAULT_Kp 22.36 DEFAULT_Ki 1.63 DEFAULT_Kd 76.48) + + * run the following G-Code (e.g. in Proterface) with the nozzle cold: 'M106 S255' & 'M303 E0 C10 S200' + * store measured values: 'M301 P17.96 I1.44 D55.90' + +#### Bed + +(DEFAULT_bedKp 374.03 DEFAULT_bedKi 72.47 DEFAULT_bedKd 482.59) + + * run 'M303 E-1 C8 S60' + + * store measured values: 'M304 P254.09 I44.31 D971.39' + +#### store values in eeprom: +'M500' + + +### Configure Cura +[Cura Profiles](https://www.thingiverse.com/thing:2367365) + +Download the profiles and put the json-Files into: `$HOME/.local/share/cura/4.4/definitions/` + + +## Snippets + +### Firmware backup + + avrdude -p m2560 -c avrispmkII -P /dev/ttyUSB0 -b 115200 -D -U flash:r:factory_kossel.hex:i + avrdude -p m2560 -c avrispmkII -P /dev/ttyUSB0 -b 115200 -D -U eeprom:r:factory_kossel_eeprom.hex:i + +### Litophanes: + +[3dp.rocks Image to Litophane Converter](http://3dp.rocks/lithophane/) + +### Plotting + +use Inkscape and the included [Gcodetools](https://github.com/cnc-club/gcodetools). +A 3d-printable pen holder (to use with rubber-bands) is attached in the `addons/` folder. + +#### Prepare Image + + * Make sure to have everything on a single layer + * At the top bar leave units at px but treat them as mm! + * scale object to desired size + * `Path -> Object to Path` + * `Path -> Combine` + * `Path -> Union` + * `View -> Display mode -> Outline` to preview + * if there are too many nodes: `Path -> Simplify` + +#### Gcodetools + + * `Extensions -> Gcodetools -> Tools library...` select `default` tool + * Diameter: 1.0 + * Feed: 2400 + * Penetration feed: 2400 + * Passing feed: 3600 + * Depth step: 1.0 + + * `Extensions -> Gcodetools -> Orientation points` + * 2-points mode + * Z surface: 0.0 + * Z depth: -1.0 + * move to center of object (0,0 is center of print-bed) and a bit to the right, as the pen is mounted right from the effector (45mm) + + * select object + * `Extensions -> Gcodetools -> Path to Gcode + * Offset along Z axis: 11.0 + * Z safe height for G00 move over blank: 3.0 + * Units: mm + +#### Print + * home printer + * print + +#### Experimental Cura settings: + +> Layer Height: 10 mm +> Initial Layer Height: 10 mm +> Wall Line Count: 1 +> Top/Bottom Thickness: 10 mm +> Print Thin Walls: True +> Infill Density: 0 % +> Default Printing Temperature: 0 °C +> Build Plate Temperature: 0 °C +> Enable Retraction: True +> Retraction Minimum Travel: 2 mm +> Combing Mode: off +> Z Hop When Retracted: True +> Z Hop Height: 2 mm +> Enable Print Cooling: False +> Generate Support: False +> Build Plate Adhesion Type: none +> Slicing Tolerance: Inclusive +> Maximum Resolution: 0.2 mm + +## Original Anycubic Links + + * https://github.com/ANYCUBIC-3D/ANYCUBIC_Kossel_Source_Code diff --git a/addons/Anycubic_Kossel_Toolholder.zip b/addons/Anycubic_Kossel_Toolholder.zip new file mode 100644 index 0000000..3060564 Binary files /dev/null and b/addons/Anycubic_Kossel_Toolholder.zip differ diff --git a/addons/Delta_Kossel_Tool_Box.zip b/addons/Delta_Kossel_Tool_Box.zip new file mode 100644 index 0000000..19ca61e Binary files /dev/null and b/addons/Delta_Kossel_Tool_Box.zip differ diff --git a/addons/emergency_stop_-_Not-Stopp_Anycubic.zip b/addons/emergency_stop_-_Not-Stopp_Anycubic.zip new file mode 100644 index 0000000..65a9a7a Binary files /dev/null and b/addons/emergency_stop_-_Not-Stopp_Anycubic.zip differ diff --git a/addons/kossel_plotter_pen_holder.scad b/addons/kossel_plotter_pen_holder.scad new file mode 100644 index 0000000..76f5745 --- /dev/null +++ b/addons/kossel_plotter_pen_holder.scad @@ -0,0 +1,39 @@ +pen_diameter=9; // stabilo: 9mm // weitere: 11mm +height=65; +thick=1.5; + +$fn=100; + +module rubberband_fix() { + translate([1.5,0,0]) cube([pen_diameter/2+2*thick-3,1.5,1]); + translate([0,1.5,0]) cube([pen_diameter/2+2*thick,1.5,1]); +} + +module all_rubberband_fix() { + translate([0,pen_diameter+2*thick,47+4+4*thick+2]) rubberband_fix(); + translate([0,pen_diameter+2*thick,47+4+4*thick+2-12]) rubberband_fix(); + translate([0,pen_diameter+2*thick,47+4+4*thick+2-24]) rubberband_fix(); + translate([0,pen_diameter+2*thick,4+thick]) rubberband_fix(); + translate([0,pen_diameter+2*thick,4+thick+12]) rubberband_fix(); + translate([pen_diameter/2+2*thick,0,47+4+4*thick+2]) rotate([0,0,180]) rubberband_fix(); + translate([pen_diameter/2+2*thick,0,47+4+4*thick+2-12]) rotate([0,0,180]) rubberband_fix(); + translate([pen_diameter/2+2*thick,0,47+4+4*thick+2-24]) rotate([0,0,180]) rubberband_fix(); + translate([pen_diameter/2+2*thick,0,4+thick]) rotate([0,0,180]) rubberband_fix(); + translate([pen_diameter/2+2*thick,0,4+thick+12]) rotate([0,0,180]) rubberband_fix(); +} + +difference() { + union() { + cube([pen_diameter/2+2*thick,pen_diameter+2*thick,height]); + translate([-22,0,4]) cube([22,pen_diameter+2*thick,47+4*thick]); + translate([-3,0,1]) cube([3,pen_diameter+2*thick,1]); // rubber band bottom + translate([-3,0,47+4+4*thick+2]) cube([3,pen_diameter+2*thick,1]); // rubber band top + all_rubberband_fix(); + } + translate([pen_diameter/2+thick,pen_diameter/2+thick,-0.2]) cylinder(r=pen_diameter/2,h=height+0.4); // pen + translate([-20-12,0,4+2*thick+7]) cube([20,pen_diameter+2*thick,47+thick-7-1]); // fan + translate([-30,0,4+2*thick]) cube([30,pen_diameter+2*thick,7]); // plate + translate([-20-9,0,4]) cube([20,pen_diameter+2*thick,2*thick]); // bottom + //#translate([-30,0,0.33*height]) cube([30,pen_diameter+2*thick,2]); // rubberband cutout + //#translate([-30,0,0.66*height]) cube([30,pen_diameter+2*thick,2]); // rubberband cutout +}