3D Printer
Hardware
Anet A8 Desktop 3D Printer
- Overall, an excellent price-performance ratio. Relatively quickly to assemble. Good printing output, tested only with PLA so far. Easy to use software.
- Power
- Printing Area
- Spare part
- Improvement:
- LJ18A3-8-Z/BX-5V Captor Autoleveling
- [Y Axis Rework]
- [Corner]
Firmware
- Arduino IDE 1.8.3
- Marlin-1.1.8
- http://marlinfw.org/
- Calculate Extruder thermistor PID
M303 E0 S220 C8 ... ... Recv: PID Autotune finished! Put the last Kp, Ki and Kd constants from below into Configuration.h Recv: #define DEFAULT_Kp 15.42 Recv: #define DEFAULT_Ki 0.65 Recv: #define DEFAULT_Kd 91.61
- configuration files
- configuration.h Marlin configuration.h
- configuration.h Marlin configuration_adv.h
- Detail Changes
- configuration.h
- Baud Rate
- configuration files
//###Nr001 #define BAUDRATE 250000 #define BAUDRATE 115200
- MotherBoard
#ifndef MOTHERBOARD //###Nr001 #define MOTHERBOARD BOARD_RAMPS_14_EFB #define MOTHERBOARD BOARD_ANET_10 #endif
- Filament
//###Nr001#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0 #define DEFAULT_NOMINAL_FILAMENT_DIA 1.75
- Activate Temperature Sensor Extruder and Bed
//###Nr001#define TEMP_SENSOR_0 1 #define TEMP_SENSOR_0 5 //###Nr001#define TEMP_SENSOR_BED 0 #define TEMP_SENSOR_BED 5
- Increase Temp Residency
//###Nr001 #define TEMP_RESIDENCY_TIME 6 // (seconds) #define TEMP_RESIDENCY_TIME 10 // (seconds)
- Reduce Max Bed Temp
//###Nr001 #define BED_MAXTEMP 150 #define BED_MAXTEMP 130
- Increase PID Functional Range
//###Nr001 #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature #define PID_FUNCTIONAL_RANGE 15 // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
- Add My Own PID value based on the automated calculation
//###Nr001 ANET A8 Customized Value //###Nr001 #define DEFAULT_Kp 21.0 //###Nr001 #define DEFAULT_Ki 1.25 //###Nr001 #define DEFAULT_Kd 86.0 #define DEFAULT_Kp 15.42 #define DEFAULT_Ki 0.65 #define DEFAULT_Kd 91.61
- Enable Bed Limit Switch
//###Nr001 #define BED_LIMIT_SWITCHING
- Change ENDSTOP_INVERTING
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). //###Nr001 #define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. //###Nr001 #define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. //###Nr001 #define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. //###Nr001 #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. //###Nr001 #define ENDSTOP_INTERRUPTS_FEATURE
- Setup Stepper Direction.
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way. #define INVERT_X_DIR false //###Nr001 #define INVERT_Y_DIR true #define INVERT_Y_DIR false //###Nr001 #define INVERT_Z_DIR false #define INVERT_Z_DIR true
- Adjust Steps Per Unit (steps / mm)
//###Nr001 #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 500 } #define DEFAULT_AXIS_STEPS_PER_UNIT {100, 100, 400, 100} /** * Default Max Feed Rate (mm/s) * Override with M203 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ //###Nr001 #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } #define DEFAULT_MAX_FEEDRATE {400, 400, 8, 50} /** * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ //###Nr001 #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } #define DEFAULT_MAX_ACCELERATION { 2000, 2000, 100, 10000 }
- Adjust Accelerations
//###Nr001 #define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration for printing moves #define DEFAULT_ACCELERATION 400 // X, Y, Z and E acceleration for printing moves //###Nr001 #define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts #define DEFAULT_RETRACT_ACCELERATION 1000 // E acceleration for retracts //###Nr001 #define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves #define DEFAULT_TRAVEL_ACCELERATION 1000 // X, Y, Z acceleration for travel (non printing) moves
- Define Printer Characteristics
// The size of the print bed //###Nr001 #define X_BED_SIZE 200 #define X_BED_SIZE 220 //###Nr001 #define Y_BED_SIZE 200 #define Y_BED_SIZE 220 // Travel limits (mm) after homing, corresponding to endstop positions. //###Nr001 #define X_MIN_POS 0 #define X_MIN_POS -33 //###Nr001 #define Y_MIN_POS 0 #define Y_MIN_POS -10 //###Nr001 #define Z_MAX_POS 200 #define Z_MAX_POS 240
- Perform Z Autohome on the bed Z_SAFE_HOMING
// Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area. //###Nr001 #define Z_SAFE_HOMING
- Enable SD Card
//###Nr001 #define SDSUPPORT
- Enable LCD for Anet A8
//###Nr001 #define ZONESTAR_LCD
- Setup Autoleveling
//###Nr001 #define FIX_MOUNTED_PROBE //###Nr001 #define AUTO_BED_LEVELING_LINEAR //###Nr001 #define G26_MESH_VALIDATION // Enable G26 mesh validation //###Nr001 #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_X 4
- Adjust Probe
// Set the boundaries for probing (where the probe can reach). //###Nr001 #define LEFT_PROBE_BED_POSITION 15 #define LEFT_PROBE_BED_POSITION 20 //###Nr001 #define RIGHT_PROBE_BED_POSITION 170 #define RIGHT_PROBE_BED_POSITION 195 //###Nr001 #define FRONT_PROBE_BED_POSITION 20 #define FRONT_PROBE_BED_POSITION 30 #define BACK_PROBE_BED_POSITION 190
SoftWare
Cura
Setup
Machine Setup
- Printer Setting
x: 220 Y: 220 Z: 220
- Print Head Setting
X min: 0 Y min: 0 X max: 0 y max: 0
- Ganty height: 0
- Nozzle size: .04
- Machine Center is Zero: Not Selected
- Heated Bed : Select
- Start GCode
G21 ;metric values G90 ;absolute positioning M82 ;set extruder to absolute mode M107 ;start with the fan off G28 X0 Y0 ;move X/Y to min endstops G28 Z0 ;move Z to min endstops G29 ;Autoleveling G1 Z15.0 F9000 ;move the platform down 15mm G92 E0 ;zero the extruded length G1 F200 E3 ;extrude 3mm of feed stock G92 E0 ;zero the extruded length again G1 F9000 M117 Printing...
* End GCode <pre> M104 S0 ;extruder heater off M140 S0 ;heated bed heater off (if you have it) G91 ;relative positioning G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure G1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way M84 ;steppers off G90 ;absolute positioning
OctoPrint
Switch On/Off
- Add switch on off
/home/pi/.octoprint/config.yaml
system: actions: - action: led on command: gpio -g write 18 1 name: Turn on the led - action: led off command: gpio -g write 18 0 confirm: You are about to turn off the led. name: Turn off the led
Stream On/Off
- Add switch on off
/home/pi/.octoprint/config.yaml
system: actions: - action: streamon command: /home/pi/scripts/webcam start confirm: false name: Start video stream - action: streamoff command: /home/pi/scripts/webcam stop confirm: false name: Stop video stream