Last active
February 17, 2024 23:52
-
-
Save hg42/bed3f138e01c367a7d172e821e2bc662 to your computer and use it in GitHub Desktop.
Tools for Makers (e.g. *.qalc for VSCode Qalc)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#------------------------------------------------------------------------------- constants | |
# Dichte | |
rho_PLA = 1240 kg/m^3 # Dichte von PLA | |
rho_PETG = 1250 kg/m^3 # Dichte von PETG | |
eta_PLA = 1000 Pa s | |
filament_d = 1.75 mm | |
nozzle_d = 0.8 mm | |
#------------------------------------------------------------------------------- printer constants | |
rotation_distance_H2 = 4 mm | |
#------------------------------------------------------------------------------- general | |
area(d) = pi * (d / 2)^2 | |
v_from_flow(flow, area) = flow/area in mm/s | |
ve_from_filament_flow(flow) = v_from_flow(flow, area(filament_d)) | |
v_from_flow_rect(flow, width, height) = v_from_flow(flow, width*height) | |
kg_per_N = kg/N | |
mg_per_N = mg/N | |
#------------------------------------------------------------------------------- speed vs. flow etc. | |
rpm_from_flow(flow, rotation_distance) = flow/rotation_distance/area(filament_d) | |
rpm_from_flow_H2(flow) = rpm_from_flow(flow, rotation_distance_H2) | |
#--------------------------------------------------------------------- extrude | |
flow = 15 mm^3/s | |
rpm_from_flow_H2(flow) | |
ve_from_filament_flow(flow) | |
flow = 20 mm^3/s | |
rpm_from_flow_H2(flow) | |
ve_from_filament_flow(flow) | |
flow = 25 mm^3/s | |
rpm_from_flow_H2(flow) | |
ve_from_filament_flow(flow) | |
flow = 30 mm^3/s | |
rpm_from_flow_H2(flow) | |
ve_from_filament_flow(flow) | |
flow = 45 mm^3/s | |
rpm_from_flow_H2(flow) | |
ve_from_filament_flow(flow) | |
flow = 70 mm^3/s | |
rpm_from_flow_H2(flow) | |
ve_from_filament_flow(flow) | |
#--------------------------------------------------------------------- 0.8/0.25 | |
width = 0.8 mm | |
height = 0.25 mm | |
flow = 15 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 20 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 25 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 30 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 45 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 70 mm^3/s ; v_from_flow_rect(flow, width, height) | |
#--------------------------------------------------------------------- 0.8/0.4 | |
width = 0.8 mm | |
height = 0.4 mm | |
flow = 15 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 20 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 25 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 30 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 45 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 70 mm^3/s ; v_from_flow_rect(flow, width, height) | |
#--------------------------------------------------------------------- 1.0/0.2 | |
width = 1.0 mm | |
height = 0.2 mm | |
flow = 15 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 20 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 25 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 30 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 45 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 70 mm^3/s ; v_from_flow_rect(flow, width, height) | |
#--------------------------------------------------------------------- 1.0/0.25 | |
width = 1.0 mm | |
height = 0.25 mm | |
flow = 15 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 20 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 25 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 30 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 45 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 70 mm^3/s ; v_from_flow_rect(flow, width, height) | |
#--------------------------------------------------------------------- 1.0/0.3 | |
width = 1.0 mm | |
height = 0.3 mm | |
flow = 15 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 20 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 25 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 30 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 45 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 70 mm^3/s ; v_from_flow_rect(flow, width, height) | |
#--------------------------------------------------------------------- 1.0/0.5 | |
width = 1.0 mm | |
height = 0.5 mm | |
flow = 15 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 20 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 25 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 30 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 45 mm^3/s ; v_from_flow_rect(flow, width, height) | |
flow = 70 mm^3/s ; v_from_flow_rect(flow, width, height) | |
#------------------------------------------------------------------------------- belt tension vs. resonance frequency | |
f_reso_belt(len, weight, density) = 1/(2*len) * sqrt((weight * 9.81 m/s^2)/density) | |
dens_gates = 0.0083 kg/m in g/m | |
# black, cheap china belt (quite stiff, no steel inlet) | |
dens_black_meas = 37 g / 3.93 m | |
# brown, cheap china belt (thin, flexible) | |
dens_brown_meas = 7 g / 1.06 m | |
#----- user hg | |
len_hg_y = 550 mm | |
len_hg_x = 330 mm | |
f_reso_belt(len_hg_y, 6 lb, dens_gates) | |
f_reso_belt(len_hg_x, 6 lb, dens_gates) | |
f_reso_belt(len_hg_y, 5 lb, dens_brown_meas) | |
f_reso_belt(len_hg_x, 5 lb, dens_brown_meas) | |
f_reso_belt(len_hg_y, 5 lb, dens_black_meas) | |
#----- user sk | |
len_sk_y = 400 mm | |
len_sk_x = 330 mm | |
f_reso_belt(len_sk_y, 6 lb, dens_gates) | |
f_reso_belt(len_sk_x, 6 lb, dens_gates) | |
f_reso_belt(len_sk_y, 8 lb, dens_gates) | |
f_reso_belt(len_sk_x, 8 lb, dens_gates) | |
#------------------------------------------------------------------------------- force by narrowing of nozzle area | |
# results are suspicious | |
# Bernoulli equation to calculate delta P | |
# eta: dynamic viscosity of the filament (Pa.s, is not used here) | |
# rho: density of filaments (kg/m^3) | |
# d_in: diameter of the entrance opening (m) | |
# d_out: diameter of the exit opening (m) | |
# v_in: speed on entry (m/s) | |
F_narrowing(rho, d_in, d_out, v_in) = area(d_in) * rho * ((v_in * area(d_in)/area(d_out))^2 / 2 - v_in^2 / 2) | |
#nozzle_d = 0.6 mm | |
nozzle_d = 1.0 mm | |
d_in = 2 mm | |
d_out = nozzle_d | |
v_in = ve_from_filament_flow(25 mm^3/s) in mm/s | |
# example calculation | |
A_in = area(d_in) | |
A_out = area(d_out) | |
v_out = A_in*v_in/A_out in mm/s | |
delta_p = ((rho_PLA*v_in^2)/2 - (rho_PLA*v_out^2)/2) in Pa | |
F_PLA = delta_p * A_in / gravity in mg | |
F_narrowing_PLA = F_narrowing(rho_PLA, d_in, d_out, v_in) / gravity in mg | |
F_narrowing_PETG = F_narrowing(rho_PETG, d_in, d_out, v_in) / gravity in mg | |
flow = 25 mm^3/s | |
nozzle_l = 1mm | |
F_flow(flow, len, d, eta) = (8 * eta * len * flow) / (d/2)^2 | |
F_flow(flow, nozzle_l, nozzle_d, eta_PLA) in N | |
F_flow(flow, nozzle_l, nozzle_d, eta_PLA) / gravity in g | |
#------------------------------------------------------------------------------- etc | |
# very fast printing | |
v_from_flow_rect(60mm^3/s, 0.4mm, 0.1mm) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment