Compare commits

...

6 Commits

Author SHA1 Message Date
7c3bc51691 Gods fucking dammit 2024-09-16 21:09:05 -04:00
8ad9fb0e46 Add Taz base config 2024-09-16 21:07:49 -04:00
46da506ac7 Update Firmware Building 2024-09-16 21:07:32 -04:00
80ec5a75b6 Add todo 2024-08-19 20:26:03 -04:00
32d3020421 Fix port selection 2024-08-19 20:18:33 -04:00
837c10eb21 Add base config for Lulzbot Mini 2024-08-19 20:18:24 -04:00
3 changed files with 460 additions and 18 deletions

216
club_configs/mini.cfg Normal file
View File

@ -0,0 +1,216 @@
#This file contains pin mappings for the Lulzbot Mini 1 using RAMBo Mini and SingleExtruder
#To use this config, the firmware should be compiled for the AVR atmega2560.
# See docs/Config_Reference.md for a description of parameters.
#-------------------------------------------------------------------------------------------------
# LULZBOT Mini 1 SingleExtruder (RAMBoMini)
# defines are copied from Marlin pins_MINIRAMBO.h
# pin conversion was found in fastio_1280.h
#-------------------------------------------------------------------------------------------------
[stepper_x]
#define X_STEP_PIN 37
step_pin: PC0
#define X_DIR_PIN 48
dir_pin: PL1
#define X_ENABLE_PIN 29
enable_pin: !PA7
# 1/100
microsteps: 16
rotation_distance: 32
#define X_MIN_PIN 12
endstop_pin: ^!PB6
position_endstop: -3
position_min: -3
position_max: 159
homing_speed: 50
homing_retract_dist: 2.0
second_homing_speed: 5
[stepper_y]
#define Y_STEP_PIN 36
step_pin: PC1
#define Y_DIR_PIN 49
dir_pin: !PL0
#define Y_ENABLE_PIN 28
enable_pin: !PA6
# 1/100
microsteps: 16
rotation_distance: 32
#define Y_MIN_PIN 11
endstop_pin: ^!PB5
position_endstop: -7
position_min: -7
position_max: 173
homing_speed: 50
homing_retract_dist: 2.0
second_homing_speed: 5
[stepper_z]
#define Z_STEP_PIN 35
step_pin: PC2
#define Z_DIR_PIN 47
dir_pin: PL2
#define Z_ENABLE_PIN 27
enable_pin: !PA5
# 1/1600
microsteps: 16
rotation_distance: 2
#define Z_MAX_PIN 23
endstop_pin: ^!PA1
# I have replaced the original nozzle with
# a hardened steel one that make the extruder
# 1-1.5mm longer, so this may be a little too low
position_endstop: 161.5
position_max: 161.5
position_min: -2.0
homing_speed: 7
homing_retract_dist: 2.0
second_homing_speed: 2
[extruder]
#define E0_STEP_PIN 34
step_pin: PC3
#define E0_DIR_PIN 43
dir_pin: !PL6
#define E0_ENABLE_PIN 26
enable_pin: !PA4
# 1/833
microsteps: 16
rotation_distance: 3.842
nozzle_diameter: 0.400
filament_diameter: 2.850
#define HEATER_0_PIN 3
heater_pin: PE5
#The Extruder uses 100K thermistor - ATC Semitec 104GT-2 (#5) and PID control
sensor_type: ATC Semitec 104GT-2
# I can't explain this from Marlin
sensor_pin: PF0
control: pid
pid_Kp: 28.79
pid_Ki: 1.91
pid_Kd: 108.51
min_temp: 0
max_temp: 280
min_extrude_temp: 160
max_extrude_only_velocity: 500
max_extrude_only_accel: 2000
[heater_bed]
#define HEATER_BED_PIN 4
heater_pin: PG5
# The Heater Bed uses Honeywell 100K 135-104LAG-J01 temp sensor (#7) and PID control
sensor_type: Honeywell 100K 135-104LAG-J01
# I can't explain this from Marlin
sensor_pin: PF2
control: pid
pid_Kp: 294.0
pid_Ki: 65.0
pid_Kd: 382.0
min_temp: 0
max_temp: 130
[fan]
#define FAN_PIN 8
pin: PH5
[heater_fan heatbreak_cooling_fan]
#define FAN1_PIN 6
pin: PH3
[output_pin stepper_xy_current]
#define MOTOR_CURRENT_PWM_XY_PIN 46
pin: PL3
pwm: True
scale: 2.0
cycle_time: .000030
hardware_pwm: True
value: 1.300
[output_pin stepper_z_current]
pin: PL4
pwm: True
scale: 2.0
cycle_time: .000030
hardware_pwm: True
value: 1.630
[output_pin stepper_e_current]
pin: PL5
pwm: True
scale: 2.0
cycle_time: .000030
hardware_pwm: True
value: 1.250
[static_digital_output stepper_config]
# Microstepping pins
#define X_MS1_PIN 40
#define X_MS2_PIN 41
#define Y_MS1_PIN 69
#define Y_MS2_PIN 39
#define Z_MS1_PIN 68
#define Z_MS2_PIN 67
#define E0_MS1_PIN 65
#define E0_MS2_PIN 66
pins:
PG1, PG0,
PK7, PG2,
PK6, PK5,
PK3, PK4
[static_digital_output yellow_led]
#define LED_PIN 13
pins: !PB7
[mcu]
serial: /dev/ttyACM0
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 2000
max_z_velocity: 7
max_z_accel: 500
[homing_override]
gcode:
G91
G28 Z
G0 Z-5
G28 X Y
G0 X3 Y7
G90
[probe]
#define Z_MIN_PROBE_PIN 10
pin: ^!PB4
# z_offset equals washer thickness ~= 1.377
z_offset: 1.377
speed: 5.0
samples: 2
sample_retract_dist: 1.0
samples_result: average
samples_tolerance: 0.200
samples_tolerance_retries: 2
[bed_tilt]
# Enable bed tilt measurments using the probe we defined above
# Probe points using X0 Y0 offsets @ 0.01mm/step
points: -2, -6
156, -6
156, 158
-2, 158
speed: 75
horizontal_move_z: 2
[firmware_retraction]
retract_length: 2
retract_speed: 200
unretract_extra_length: 0
unretract_speed: 200
[gcode_macro G29]
# Preform the ABL by running G29 in the start GCODE script
gcode:
BED_TILT_CALIBRATE

214
club_configs/taz.cfg Normal file
View File

@ -0,0 +1,214 @@
# This file contains common pin mappings for the BIGTREETECH SKR mini
# E3 v3.0. To use this config, the firmware should be compiled for the
# STM32G0B1 with a "8KiB bootloader" and USB communication.
# The "make flash" command does not work on the SKR mini E3. Instead,
# after running "make", copy the generated "out/klipper.bin" file to a
# file named "firmware.bin" on an SD card and then restart the SKR
# mini E3 with that SD card.
# See docs/Config_Reference.md for a description of parameters.
[gcode_macro CALIBRATE_NOZZLE_OFFSET]
description: Move to center of bed and calibrate nozzle offset
gcode:
G90
G0 X100 Y155 F1500
PROBE_CALIBRATE
[gcode_macro LEVEL_BED]
description: "Level the bed manually."
gcode:
BED_SCREWS_ADJUST
[gcode_macro CHECK_DEVIATION]
description: "Check the deviation of the bed from the last loaded mesh."
gcode:
SCREWS_TILT_CALCULATE MAX_DEVIATION=0.05
[gcode_macro LIZ_IS_A_BAKA]
description: "Liz is a baka, so here's her start G-Code >.<"
gcode:
BED_MESH_CALIBRATE
BED_MESH_PROFILE SAVE=default
[gcode_macro _START_GCODE]
description: "The gcode that should be called from your slicer at the beginning of a print."
gcode:
# Ender 3 Custom Start G-code
G90
G1 X2 Y30 Z30 F1500
G1 Z0.28 F240
G92 E0
G1 Y220 E10 F1500 ; prime the nozzle
G1 X2.3 F5000
G92 E0
G1 Y30 E10 F1200 ; prime the nozzle
G92 E0
G1 Z5 F1500 ; don't scratch the build plate
[gcode_macro _END_GCODE]
description: "The gcode that should be called from your slicer at the end of a print."
gcode:
G91 # Relative positioning
G1 E-2 F2700 # Retract a bit
G1 E-2 Z0.2 F2400 # Retract and raise Z
G1 X5 Y5 F3000 # Wipe out
G1 Z10 # Raise Z more
G90 # Absolute positioning
G1 X0 Y220 # Present print
M106 S0 # Turn-off fan
M104 S0 # Turn-off hotend
M140 S0 # Turn-off bed
M84 X Y E # Disable all steppers but Z
[stepper_x]
step_pin: PB13
dir_pin: !PB12
enable_pin: !PB14
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC0
position_endstop: 0
position_max: 235
homing_speed: 50
[tmc2209 stepper_x]
uart_pin: PC11
tx_pin: PC10
uart_address: 0
run_current: 0.580
stealthchop_threshold: 999999
[stepper_y]
step_pin: PB10
dir_pin: !PB2
enable_pin: !PB11
microsteps: 16
rotation_distance: 40
endstop_pin: ^PC1
position_endstop: 0
position_max: 235
homing_speed: 50
[tmc2209 stepper_y]
uart_pin: PC11
tx_pin: PC10
uart_address: 2
run_current: 0.580
stealthchop_threshold: 999999
[stepper_z]
step_pin: PB0
dir_pin: PC5
enable_pin: !PB1
microsteps: 16
rotation_distance: 8
endstop_pin: ^PC2
position_endstop: 0.0
position_max: 250
[tmc2209 stepper_z]
uart_pin: PC11
tx_pin: PC10
uart_address: 1
run_current: 0.580
stealthchop_threshold: 999999
[bltouch]
sensor_pin: PC14
control_pin: PA1
x_offset: -44
y_offset: 8
probe_with_touch_mode: True
# pin_up_touch_mode_reports_triggered = False
# z_offset: 3.0
[bed_mesh]
speed: 120
horizontal_move_z: 7
mesh_min: 30, 40
mesh_max: 250, 230
probe_count: 5
mesh_pps: 3
algorithm: bicubic
[safe_z_home]
home_xy_position: 140, 140
speed: 50
z_hop: 10
z_hop_speed: 5
[extruder]
step_pin: PB3
dir_pin: !PB4
enable_pin: !PD1
microsteps: 16
rotation_distance: 7.9797
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC8
# sensor_type: EPCOS 100K B57560G104F # Stock board config
sensor_type: NTC 100K MGB18-104F39050L32
sensor_pin: PA0
control: pid
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: 0
max_temp: 300
[tmc2209 extruder]
uart_pin: PC11
tx_pin: PC10
uart_address: 3
run_current: 0.650
stealthchop_threshold: 999999
[heater_bed]
heater_pin: PC9
# sensor_type: ATC Semitec 104GT-2 # Stock board config
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC4
control: pid
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: 0
max_temp: 130
[heater_fan heatbreak_cooling_fan]
pin: PC6
fan_speed: 1.0
heater: extruder
heater_temp: 50.0
[fan cooling]
pin: PC7 # Part cooling
# [heater_fan controller_fan]
# pin: PB15
# [fan]
# pin: PC6
[mcu]
serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
[board_pins]
aliases:
# EXP1 header
EXP1_1=PB5, EXP1_3=PA9, EXP1_5=PA10, EXP1_7=PB8, EXP1_9=<GND>,
EXP1_2=PA15, EXP1_4=<RST>, EXP1_6=PB9, EXP1_8=PD6, EXP1_10=<5V>
# See the sample-lcd.cfg file for definitions of common LCD displays.
[include mainsail.cfg]

View File

@ -3,6 +3,7 @@
# TODO: Add Crowsnest Support
# TODO: Dry run
# TODO: Printer Directory Page in NGINX
# TODO: Add mainsail GCODE if config not manually entered
# Handle arguments
ARG_HELP=0
@ -10,6 +11,7 @@ ARG_SKIP_APT=0
ARG_NAME=0
ARG_CONFIG=0
ARG_PORT=0
ARG_FIRM=0
while [[ "$#" -gt 0 ]]; do
case $1 in
-h|--help) ARG_HELP=1 ;;
@ -17,6 +19,7 @@ while [[ "$#" -gt 0 ]]; do
-n|--name) ARG_NAME="$2" ; shift ;;
-c|--config) ARG_CONFIG="$2" ; shift ;;
-p|--port) ARG_PORT="$2" ; shift ;;
-f|--skip-firmware) ARG_FIRM=1 ;;
*) echo "Unknown Parameter"; exit 3 ;;
esac
shift
@ -40,12 +43,13 @@ cd $ROOT_DIR
source ./ColorEchoForShell/dist/ColorEcho.bash
if [[ "$ARG_HELP" == 1 ]]; then
echo.Cyan "HacDC Printewr Setup Script Usage"
echo.Cyan "HacDC Printer Setup Script Usage"
echo.Yellow "./setup.sh [options]"
echo ""
echo.BoldPurple "Option Description"
echo.Rainbow "-h/--help Display this help msg"
echo.Rainbow "-a/--skip-apt Skip installing apt packages"
echo.Rainbow "-f/--skip-firmware Skip firmware build/install"
echo.Rainbow "-n/--name Specify printer name (skips popup)"
echo.Rainbow "-c/--config Specify printer config (skips popup)"
echo.Rainbow "-p/--port Specify printer port (skips popup)"
@ -101,7 +105,10 @@ cp -r $ROOT_DIR/dirs $ROOT_DIR/$PRINTER_NAME
# Select Klipper Config
cd $ROOT_DIR/$PRINTER_NAME/klipper
make menuconfig
if [[ "$ARG_FIRM" == 0 ]]; then
make menuconfig
fi
CONFIG_FILE=""
if [[ "$ARG_CONFIG" == 0 ]]; then
CONFIG_FILES=(`ls config`)
@ -148,7 +155,9 @@ if [[ "$ARG_PORT" == 0 ]]; then
while [ ! -f "${MANUAL_FILE}" ]; do
MANUAL_FILE=$(dialog --backtitle "drwho@hackers.town" --title "Manual Device Selection" --inputbox "Enter Full Device File Path" 8 40 "${MANUAL_FILE}" 3>&1 1>&2 2>&3)
done
DEVICE="/dev/serial/by-id/$MANUAL_FILE"
DEVICE="$MANUAL_FILE"
else
DEVICE="/dev/serial/by-id/$DEVICE"
fi
else
echo.ICyan "Using passed serial port"
@ -156,17 +165,20 @@ else
fi
# Build Klipper
echo.Cyan "Compile Klipper Firmware"
cp $CONFIG_FILE $ROOT_DIR/$PRINTER_NAME/klipper/printer.cfg
sed -i -e "s/^serial: .\+$/LINEHERE/g" "$ROOT_DIR/$PRINTER_NAME/klipper/printer.cfg"
cat $ROOT_DIR/$PRINTER_NAME/klipper/printer.cfg | replace "LINEHERE" "serial: $DEVICE" > $ROOT_DIR/$PRINTER_NAME/klipper/tmp.cfg
rm $ROOT_DIR/$PRINTER_NAME/klipper/printer.cfg
mv $ROOT_DIR/$PRINTER_NAME/klipper/tmp.cfg $ROOT_DIR/$PRINTER_NAME/klipper/printer.cfg
make -j$(nproc)
# Flash Firmware
echo.Cyan "Flash Device"
make flash FLASH_DEVICE=$DEVICE
if [[ "$ARG_FIRM" == 0 ]]; then
echo.Cyan "Compile Klipper Firmware"
cp $CONFIG_FILE $ROOT_DIR/$PRINTER_NAME/klipper/printer.cfg
sed -i -e "s/^serial: .\+$/LINEHERE/g" "$ROOT_DIR/$PRINTER_NAME/klipper/printer.cfg"
cat $ROOT_DIR/$PRINTER_NAME/klipper/printer.cfg | replace "LINEHERE" "serial: $DEVICE" > $ROOT_DIR/$PRINTER_NAME/klipper/tmp.cfg
rm $ROOT_DIR/$PRINTER_NAME/klipper/printer.cfg
mv $ROOT_DIR/$PRINTER_NAME/klipper/tmp.cfg $ROOT_DIR/$PRINTER_NAME/klipper/printer.cfg
make -j$(nproc)
# Flash Firmware
echo.Cyan "Flash Device"
make flash FLASH_DEVICE=$DEVICE
else
echo.ICyan "Skipping firmware build"
fi
# Copy over printer config file
echo.Cyan "Setup printer.cfg"
@ -206,21 +218,21 @@ echo.ICyan "Installing base nginx configs"
if [ ! -f /etc/nginx/conf.d/upstreams.conf ]; then
sudo cp $ROOT_DIR/config/nginx/upstreams.conf /etc/nginx/conf.d/upstreams.conf
sudo chown root:root /etc/nginx/conf.d/upstreams.conf
else
else
echo.ICyan "upstreams.conf already exists"
fi
if [ ! -f /etc/nginx/sites-available/site.conf ]; then
sudo cp $ROOT_DIR/config/nginx/site.conf /etc/nginx/sites-available/site.conf
sudo chown root:root /etc/nginx/sites-available/site.conf
else
else
echo.ICyan "site.conf already exists"
fi
if [ ! -f /etc/nginx/conf.d/common_vars.conf ]; then
sudo cp $ROOT_DIR/config/nginx/common_vars.conf /etc/nginx/conf.d/common_vars.conf
sudo chown root:root /etc/nginx/conf.d/common_vars.conf
else
else
echo.ICyan "common_vars.conf already exists"
fi
@ -319,4 +331,4 @@ if [ ! -f /etc/nginx/sites-enabled/site.conf ]; then
echo.Red "NGINX config not enabled, don't forget to symlink the site.conf file from sites-available to sites-enabled"
else
sudo systemctl start nginx
fi
fi