Tux, linuksowy pingwinek nosi nazwę Tux od Torvald's UniX
Banach-Trinity
- morf
- Drukarz
- Postów w temacie: 1
- Posty: 3250
- Rejestracja: 17 sty 2017, 12:28
- Drukarka: Reprapy, Prusa MK3S
- x 1603
Re: Banach-Trinity
Done is better than perfect.
- Rozarh
- Drukarz
- Postów w temacie: 10
- Posty: 657
- Rejestracja: 12 kwie 2021, 10:45
- Lokalizacja: opolskie
- Drukarka: Fenix, A20M, TT1SM..
- x 267
Re: Banach-Trinity
A mogę wrzucić publicznie. Wprawdzie to moje dzieło, ale może ktoś z twórców Klippera namierzy i wesprze taki tryb pracy
Kod: Zaznacz cały
[extruder]
heater_pin: PE3 # HE0
sensor_pin: PA1 # T0
sensor_type: PT1000
pullup_resistor: 2200
nozzle_diameter: 0.400
filament_diameter: 1.750
# rotation_distance: 7.710843373493976
control: pid
pid_Kp: 17.604
pid_Ki: 0.659
pid_Kd: 117.506
min_temp: 5
max_temp: 250
max_extrude_only_distance: 200.0
[extruder_stepper e1Niebieski]
dir_pin: PA14
step_pin: PA10
enable_pin: !PA15
microsteps: 16
extruder:
rotation_distance: 8
[extruder_stepper e2Czerwony]
dir_pin: PD9
step_pin: PD11
enable_pin: !PD15
microsteps: 16
extruder:
rotation_distance: 8
[extruder_stepper e3Czarny]
dir_pin: PC6
step_pin: PD8
enable_pin: !PC7
microsteps: 16
extruder:
rotation_distance: 8
Kod: Zaznacz cały
[gcode_macro _LOW_TEMP_CHECK]
description: Rozgrzej głowicę jesli jest zimna
gcode:
{% if printer.extruder.target >= 200 %} # if there is a setpoint for extruder
{% if printer.extruder.temperature < printer.extruder.target %} # if not reached, heat
# RESPOND PREFIX="info:" MSG="Heating from {printer.extruder.temperature} to {printer.extruder.target}."
M109 S{printer.extruder.target|float}
{% endif %}
{% else %} # if no setpoint for extruder
{% if printer.extruder.target < 200 %} # heat to T.
# RESPOND PREFIX="info:" MSG="No setpoint, heating to 180."
M109 S210
{% endif %}
{% endif %}
[gcode_macro _TOOL_CHANGE]
gcode:
# {% set tools = ['e1Niebieski', 'e2Czerwony', 'e3Czarny'] %}
# {% set oldtool = printer["gcode_macro _TOOL_CHANGE"].current|int %}
# {% if oldtool == 3 %}
{% if (params.TOOL|int)%2 == 1 %}
SYNC_EXTRUDER_MOTION EXTRUDER=e1Niebieski MOTION_QUEUE=extruder
SET_GCODE_VARIABLE MACRO=SET_PRESSURE_ADVANCE VARIABLE=current VALUE='-"e1Niebieski"-' # wartość ma być postaci: apostrof, cudzysłów, treść, cudzysłów, apostrof - bez kreseczek
{% if not printer.stepper_enable["extruder_stepper e1Niebieski"] %}
SET_STEPPER_ENABLE STEPPER="extruder_stepper e1Niebieski" ENABLE=1
{% endif %}
{% else %}
SYNC_EXTRUDER_MOTION EXTRUDER=e1Niebieski MOTION_QUEUE=
{% endif %}
{% if ((params.TOOL|int)//2)%2 == 1 %}
SYNC_EXTRUDER_MOTION EXTRUDER=e2Czerwony MOTION_QUEUE=extruder
SET_GCODE_VARIABLE MACRO=SET_PRESSURE_ADVANCE VARIABLE=current VALUE='-"e2Czerwony"-' # wartość ma być postaci: apostrof, cudzysłów, treść, cudzysłów, apostrof - bez kreseczek
{% if not printer.stepper_enable["extruder_stepper e2Czerwony"] %}
SET_STEPPER_ENABLE STEPPER="extruder_stepper e2Czerwony" ENABLE=1
{% endif %}
{% else %}
SYNC_EXTRUDER_MOTION EXTRUDER=e2Czerwony MOTION_QUEUE=
{% endif %}
{% if ((params.TOOL|int)//4)%2 == 1 %}
SYNC_EXTRUDER_MOTION EXTRUDER=e3Czarny MOTION_QUEUE=extruder
SET_GCODE_VARIABLE MACRO=SET_PRESSURE_ADVANCE VARIABLE=current VALUE='-"e3Czarny"-' # wartość ma być postaci: apostrof, cudzysłów, treść, cudzysłów, apostrof - bez kreseczek
{% if not printer.stepper_enable["extruder_stepper e3Czarny"] %}
SET_STEPPER_ENABLE STEPPER="extruder_stepper e3Czarny" ENABLE=1
{% endif %}
{% else %}
SYNC_EXTRUDER_MOTION EXTRUDER=e3Czarny MOTION_QUEUE=
{% endif %}
ACTIVATE_EXTRUDER EXTRUDER=extruder
[gcode_macro SET_PRESSURE_ADVANCE]
variable_current: "e1Niebieski"
rename_existing: SET_PRESSURE_ADVANCE_BASE
gcode:
SET_PRESSURE_ADVANCE_BASE ADVANCE={params.ADVANCE} EXTRUDER="{current}"
[gcode_macro _WYSUN]
gcode:
_LOW_TEMP_CHECK
SAVE_GCODE_STATE NAME=wymiana
M83
G1 E-45 F4000
[gcode_macro _WSUN]
gcode:
_LOW_TEMP_CHECK
M83
G1 E45 F4000
RESTORE_GCODE_STATE NAME=wymiana MOVE=0
[gcode_macro T0]
gcode:
_TOOL_CHANGE TOOL=1
[gcode_macro T1]
gcode:
_TOOL_CHANGE TOOL=2
[gcode_macro T2]
gcode:
_TOOL_CHANGE TOOL=4
_TOOL_CHANGE to samo przełączenie silników ekstruderów. Początkowo łączyłem je z makrami _WYSUN i _WSUN, ale okazało się to bardziej problematyczne. A i koledzy na czacie podpowiedzieli, żeby tak nie robić. Więc teraz g-code do zmiany narzędzia w SuperSlicer to:
Kod: Zaznacz cały
_WYSUN
T[next_extruder]
_WSUN
Teoretycznie wysuwanie i wsuwanie filamentu można zwalić na slicer, ale tego nie rozpracowywałem - u mnie wartość 45mm robi to dobrze, a w slicerze trzeba podać całą masę wartości.
Makro _TOOL_CHANGE jest tak skonstruowane, że wywołane np. jako
Kod: Zaznacz cały
_TOOL_CHANGE TOOL=7
Niestety robiłem testy z zapamiętywaniem stanu drukarki - który filament "w dyszy" a który niezaładowany, ale wychodzi na to, że najlepszy jest kontroler "białkowy" - czyli operator drukarki. Przy obecnym poziomie rozwoju systemu żaden kod Klippera nie uwzględni wszystkich możliwych stanów początkowych drukarki - zwłaszcza bez czujników filamentu.
Ostatnio zmieniony 31 gru 2023, 00:42 przez Rozarh, łącznie zmieniany 1 raz.
konradsdev1
Parafrazując wpis by artusiek:
Nie chcesz grzebać? Kup Prusę lub Bambu Labs
Kupiłeś coś co dopieszczasz? Naucz się grzebać!!!
Nie chcesz grzebać? Kup Prusę lub Bambu Labs
Kupiłeś coś co dopieszczasz? Naucz się grzebać!!!
- Rozarh
- Drukarz
- Postów w temacie: 10
- Posty: 657
- Rejestracja: 12 kwie 2021, 10:45
- Lokalizacja: opolskie
- Drukarka: Fenix, A20M, TT1SM..
- x 267
Re: Banach-Trinity
Aha - makro SET_PRESSURE_ADVANCE redefiniuję tylko na potrzeby SuperSlicera - uparł się, aby odpalać SET_PRESSURE_ADVANCE ale nie podaje ekstrudera tylko samo ADVANCE - dlatego procedura ustawia od razu bieżący ekstruder...
Parafrazując wpis by artusiek:
Nie chcesz grzebać? Kup Prusę lub Bambu Labs
Kupiłeś coś co dopieszczasz? Naucz się grzebać!!!
Nie chcesz grzebać? Kup Prusę lub Bambu Labs
Kupiłeś coś co dopieszczasz? Naucz się grzebać!!!
- Jarewa
- Drukarz
- Postów w temacie: 3
- Posty: 1637
- Rejestracja: 26 sty 2021, 22:16
- Lokalizacja: Głogów
- x 375
Re: Banach-Trinity
Dzięki
Właśnie będę maił czujniki, i się nad tym zastanawiam jak to ugryźć by w fazie włączenia klipper wiedział który extruder jest aktywny.Rozarh pisze: ↑31 gru 2023, 00:27
Niestety robiłem testy z zapamiętywaniem stanu drukarki - który filament "w dyszy" a który niezaładowany, ale wychodzi na to, że najlepszy jest kontroler "białkowy" - czyli operator drukarki. Przy obecnym poziomie rozwoju systemu żaden kod Klippera nie uwzględni wszystkich możliwych stanów początkowych drukarki - zwłaszcza bez czujników filamentu.
- Rozarh
- Drukarz
- Postów w temacie: 10
- Posty: 657
- Rejestracja: 12 kwie 2021, 10:45
- Lokalizacja: opolskie
- Drukarka: Fenix, A20M, TT1SM..
- x 267
Re: Banach-Trinity
Dla głowicy ZSYong 3in1 jak i dla 2in1 (którą prawdopodobnie posiadasz) to jest nie do opanowania o ile jest używana standardowo. Po prostu brakuje czujnika wewnątrz głowicy.
A nawet gdyby był, to i tak nie wiesz, który kolor siedzi w dyszy tylko, że któryś siedzi...
Rozwiązaniem mogły by być czujniki zaraz na wlocie przed głowicą - na starcie rozgrzewasz głowicę i wszystkie filamenty, które są wskazywane przez czujnik, że siedzą w środku wycofujesz do zadziałania czujnika. Wtedy masz pewność gdzie każda nitka filamentu się znajduje.
Tylko wymaga to czujników, które siedzą na bowdenie - ekstrudery są daleko i nie można pozwolić sobie na luzy bowdena pomiędzy ekstruderem a głowicą...
A nawet gdyby był, to i tak nie wiesz, który kolor siedzi w dyszy tylko, że któryś siedzi...
Rozwiązaniem mogły by być czujniki zaraz na wlocie przed głowicą - na starcie rozgrzewasz głowicę i wszystkie filamenty, które są wskazywane przez czujnik, że siedzą w środku wycofujesz do zadziałania czujnika. Wtedy masz pewność gdzie każda nitka filamentu się znajduje.
Tylko wymaga to czujników, które siedzą na bowdenie - ekstrudery są daleko i nie można pozwolić sobie na luzy bowdena pomiędzy ekstruderem a głowicą...
Parafrazując wpis by artusiek:
Nie chcesz grzebać? Kup Prusę lub Bambu Labs
Kupiłeś coś co dopieszczasz? Naucz się grzebać!!!
Nie chcesz grzebać? Kup Prusę lub Bambu Labs
Kupiłeś coś co dopieszczasz? Naucz się grzebać!!!
- Jarewa
- Drukarz
- Postów w temacie: 3
- Posty: 1637
- Rejestracja: 26 sty 2021, 22:16
- Lokalizacja: Głogów
- x 375
Re: Banach-Trinity
Buduje własny extruder będzie to spliter direct w zasadzie prawie już gotowy. Właśnie mam czujniki tak sobie zaprojektowałem bo przymiarka jest taka by wycofywać do czujników a nie na odległosć i zanim następny wejdzie żeby czekał na czujnik pierwszego ale to własnie na razie się przyglądam bo nie wiem na ile może pozwolić skrypt klippera co będe wstanie dla nich napisać choć w skryptach na raie jestem dętka ale jak tu i tam obczaje jak ludzie mają to może mi ułatwi . Tam są dwa czujniki osobno dla danego extrudera