Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
anycubic_kossel_plus [2017/05/14 19:58] sschueller |
anycubic_kossel_plus [2017/06/23 12:31] (current) sschueller |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Anycubic Kossel Plus ====== | ====== Anycubic Kossel Plus ====== | ||
- | ===== BL / 3D Touch Setup ===== | + | * [[BL Touch]] |
- | ==== Hardware ==== | + | * [[Inductive Probe]] |
- | - Print bracket such as: http://www.thingiverse.com/thing:2251115 | + | |
- | - Connect White/Black wire to z-min-endstop (S = (signal - white), - = (minus - black)). Orientation doesn't matter | + | |
- | - Connect Brown/Red/Orange wire to servo 0 port (S = Orange, + = Red, - = Brown) NOTE: on the Tri Gorila Board + and - are reversed. | + | |
- | {{::20170513_152037.jpg?direct&300|}}{{::20170513_164053.jpg?direct&300|}} | + | |
- | - Powering on system should make LED light red and move the pin a few times | ||
- | |||
- | |||
- | ==== Software (Marlin) ==== | ||
- | |||
- | Using release from Anycubic: https://drive.google.com/drive/u/0/folders/0B8VIB533cgdMa1czMW5hNWlXYW8 | ||
- | Some of these may already be set. | ||
- | |||
- | <code Configuration.h> | ||
- | #define MOTHERBOARD 43 // using 33 doesn't work | ||
- | |||
- | #define BLTOUCH // turn on probe | ||
- | |||
- | // these values strongly depend on your mount! | ||
- | #define X_PROBE_OFFSET_FROM_EXTRUDER 36.1 // X offset: -left +right [of the nozzle] | ||
- | #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Y offset: -front +behind [the nozzle] | ||
- | #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.6 // Z offset: -below +above [the nozzle] | ||
- | |||
- | #define XY_PROBE_SPEED 6000 | ||
- | |||
- | #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||
- | |||
- | #define Z_CLEARANCE_DEPLOY_PROBE 50 // Z Clearance for Deploy/Stow | ||
- | #define Z_CLEARANCE_BETWEEN_PROBES 10 // Z Clearance between probe points | ||
- | |||
- | #define AUTO_BED_LEVELING_BILINEAR | ||
- | |||
- | // works better but still not ideal | ||
- | #define SAFETY_MARGIN 5 | ||
- | #define DELTA_PROBEABLE_RADIUS (DELTA_PRINTABLE_RADIUS - sqrt(sq(X_PROBE_OFFSET_FROM_EXTRUDER)+sq(Y_PROBE_OFFSET_FROM_EXTRUDER)) - SAFETY_MARGIN ) | ||
- | // #define DELTA_PROBEABLE_RADIUS (DELTA_PRINTABLE_RADIUS -10) | ||
- | #define LEFT_PROBE_BED_POSITION -(DELTA_PROBEABLE_RADIUS) | ||
- | #define RIGHT_PROBE_BED_POSITION DELTA_PROBEABLE_RADIUS | ||
- | #define FRONT_PROBE_BED_POSITION -(DELTA_PROBEABLE_RADIUS) | ||
- | #define BACK_PROBE_BED_POSITION DELTA_PROBEABLE_RADIUS | ||
- | |||
- | </code> | ||
- | |||
- | ==== Test the probe works ==== | ||
- | Send G codes ''M280 P0 S10'' and ''M280 P0 S90''. Probe should extend on first command and retract on second. | ||
- | |||
- | ==== Finding probe to hotend offset (Marlin) ==== | ||
- | - make a mark on the bed with a pen or sticker | ||
- | - Move the hotend to this exact location (use G codes, e.g. ''G1X10Y-10Z10'' moves the probe to X +10, Y -10 and Z +10) | ||
- | - Put a paper under the probe and move it until the paper sticks a bit. Use ''G1Z5'', ''G1Z4'' et.c until you reach the paper | ||
- | - Reset all values to Zero: ''G92 X0 Y0 Z0'' | ||
- | - Move the hotend off the mark ''G1Z10'' | ||
- | - Now move the probe exactly over the mark using G codes like above | ||
- | - once you are exactly on the mark extend the probe with ''M280 P0 S10'' (if the probe doesnt move reset it with ''M280 P0 S260'') | ||
- | - start lowering the probe slowly using ''G1Z9'', ''G1Z8'' etc. once you are close start adding decimals | ||
- | - when the probe activates note down the numbers on the LCD. | ||
- | - In my case I had ''X-36.1 Y 29 Z 3.6'', now enter the offsets in Configuration.h (NOTE: X shows a negative, that means enter it possitve in Marlin, Y is entered as a negative. ) | ||
- | |||
- | ==== Trigger Auto Leveling ==== | ||
- | |||
- | - Enable logging to see what is going on ''M111 S247'' | ||
- | - Zero Z, using ''G28'' | ||
- | - Level Bed ''G29'' (use ''G29 V4'' to see more log info) | ||
- | |||
- | NOTICE: Doing a ''G28'' resets the autolevel values! I am still trying to figure out how to get Octoprint to not reset my auto level values before printing. | ||
- | |||
- | ===== Live streaming to youtube ===== | ||
- | - compile ffmpeg with hardware encoder | ||
- | <code bash> | ||
- | cd /usr/src | ||
- | git clone https://git.ffmpeg.org/ffmpeg.git | ||
- | cd ffmpeg | ||
- | ./configure --enable-omx --enable-omx-rpi --enable-libfreetype | ||
- | make | ||
- | make install | ||
- | </code> | ||
- | |||
- | Scripts | ||
- | <code bash> | ||
- | #!/bin/bash | ||
- | |||
- | KEY=******** | ||
- | URL=rtmp://a.rtmp.youtube.com/live2 | ||
- | |||
- | while true ; do | ||
- | |||
- | ffmpeg \ | ||
- | -ar 44100 -ac 2 -f s16le -i /dev/zero \ | ||
- | -thread_queue_size 512 \ | ||
- | -i /dev/video0 -f flv \ | ||
- | -framerate 30 -video_size 720x404 \ | ||
- | -vcodec h264_omx -maxrate 768k -bufsize 8080k \ | ||
- | -vf drawtext="fontfile=DejaVuSansMono.ttf:textfile=status.txt:fontsize=10:fontcolor=white:y=main_h-(text_h*1):reload=1" \ | ||
- | "$URL/$KEY" | ||
- | |||
- | sleep 5 | ||
- | done | ||
- | </code> | ||
- | |||
- | <code bash> | ||
- | #!/bin/bash | ||
- | |||
- | DATA=$(curl -s --header "X-Api-Key: *****" http://localhost/api/printer) | ||
- | |||
- | DATA2=$(curl -s --header "X-Api-Key: *****" http://localhost/api/job) | ||
- | |||
- | TOOTEMP=$(echo $DATA | jq -r '.temperature.tool0.actual') | ||
- | BEDTEMP=$(echo $DATA | jq -r '.temperature.bed.actual') | ||
- | PROGRES=$(echo $DATA2 | jq -r '.progress.completion') | ||
- | STATE=$(echo $DATA2 | jq -r '.state') | ||
- | FINAME=$(echo $DATA2 | jq -r '.job.file.name') | ||
- | PRROUND=$(echo "$PROGRES/1" | bc ) | ||
- | |||
- | printf " Tool: $TOOTEMP°C / Bed: $BEDTEMP°C\n State: $STATE, Progress: $PRROUND\n File: $FINAME\n" > status-temp.txt | ||
- | |||
- | cp -f status-temp.txt status.txt | ||
- | |||
- | </code> | ||