E3D toolchanger: Afstellen van de tool pickups met reprap global variables en macro’s

Nadat ik de homing schakelaars voor X en Y op de E3D toolchanger had geïnstalleerd, had ik eindelijk een fatsoenlijk startpunt om de pickup en parking van het gereedschap af te stellen.

Oorspronkelijk gebruikte ik sensorloze homing, maar dit veroorzaakte wisselende offset-waarden van de X- en Y-posities van de machine. Het gereedschap kon dus niet consequent worden opgepakt of thuisgebracht na een reset.

Nu werkt alles prima en veranderen de X-Y waarden niet meer na een reset.

Wat ik dis was om eerst wat macro’s te maken voor een eenmalige instelling van de X en Y positie van de 4 gereedschappen voor de positionering van de gereedschapskop.  Als je dit niet doet, moet je elke keer dat je de waarde van X wilt veranderen, alle X waarden handmatig veranderen in 8 macro’s.

Dit is gedaan met een aantal globale variabelen.  Nadat deze in een macro zijn gedefinieerd, moeten ze worden aangeroepen voordat ze worden gebruikt.  In Config.g heb ik een verwijzing gemaakt om de macro van de globals.g macro aan te roepen, zodat deze telkens wordt uitgevoerd als je de Duet opstart.

In config.g heb ik na de Tool definities de M98 code toegevoegd om de globale definitie van de gebruikte variabelen te starten:

M98 P”0:/sys/globals.g” ; Maak globale variabelen aan in deze globals.g macro

Dit macrobestand ziet er in mijn geval als volgt uit en wees u ervan bewust dat de werkelijke variabelen per machine zullen verschillen, maar dit kan u een uitgangspunt geven:

global T0_X_dock=-12.3 ; X-Parkeerpositie van gereedschap 0
global T0_Y_dock=225.2 ; Y-Parkeerpositie van gereedschap 0
global T1_X_dock=80 ; X-Parkeerpositie van gereedschap 1
global T1_Y_dock=225.9 ; Y-Parkeerpositie van gereedschap 1
global T2_X_dock=212 ; X-Parkeerpositie van gereedschap 2
global T2_Y_dock=226 ; Y-Parkeerpositie van gereedschap 2
global T3_X_dock=304.7 ; X-Parkeerpositie van gereedschap 3
global T3_Y_dock=225,4 ; Y-Parkeerpositie van gereedschap 3

De bestanden tfree 1-3 en tpre 1-3 zien er dan zo uit voor T0, en je kunt de anderen maken door gewoon T1 , T2 of T3 in te vullen waar nu T0 staat:

; tfree0.g
; aangeroepen wanneer gereedschap 0 is bevrijd
G91
G1 Z4 F1000
G90
;Purge nozzle
;M98 P”purge.g”
;Move In
G53 G1 X{global.T0_X_dock} Y150 F50000
G53 G1 X{global.T0_X_dock} Y200 F50000
G53 G1 X{global.T0_X_dock} Y220 F50000
G53 G1 X{global.T0_X_dock} Y{global.T0_Y_dock} F1000
G53 G1 Y{global.T0_Y_dock} F1000
;Koppeling openen
M98 P”Coupler – Unlock.g”
;ventilator uit
M106 S0
;Move Out
G53 G1 {global.T0_X_dock} Y175 F50000

;tpre0.g
;opgeroepen voordat gereedschap 0 is geselecteerd
;Koppeling ontgrendelen
M98 P”Coupler – Unlock.g”
;Verplaatsen naar locatie
G1 X{global.T0_X_dock} Y200 F50000 ; was X-10.5
;Naar binnen
G1 X{global.T0_X_dock} Y220 F50000
;Verzamelen
G1 X{global.T0_X_dock} Y229.2 F1000 ;was f2500
G1 Y{global.T0_Y_dock} F1000
;Koppeling sluiten
M98 P”Coupler – Lock.g”
WAARSCHUWING! WAARSCHUWING! WAARSCHUWING! WAARSCHUWING! WAARSCHUWING! WAARSCHUWING! WAARSCHUWING! WAARSCHUWING! WAARSCHUWING! WAARSCHUWING! WAARSCHUWING! WAARSCHUWING!
Als u niet-standaardlengte hotends gebruikt, moet u ervoor zorgen dat het bed voldoende is verlaagd VOORDAT u het gereedschap loskoppelt!
G91
G1 Z10 F1000
G90
;Verplaatsen
G1 X{global.T0_X_dock} Y150 F10000; was 4000

En ik heb wat macro’s gemaakt om te controleren waar de gereedschapskop staat, recht voor de gereedschappen T0-T3:

; fit_T0.g
;aangeroepen om het gereedschap vlak voor het dock te plaatsen
G91
G1 Z4 F1000
G1 Y-10 F2000
G90
G53 G1 X150 Y100 F20000
;Naar binnen
G53 G1 X{global.T0_X_dock} Y150 F10000
G53 G1 X{global.T0_X_dock} Y200 F10000
G53 G1 X{global.T0_X_dock} Y220 F10000

Als u wilt controleren of u de juiste wijzigingen in globals.g hebt aangebracht, moet u weten dat de nieuwe waarden in de variabelenmacro globals.g pas worden gelezen als u opnieuw opstart.  [Als u de waarden op een andere manier wilt herdefiniëren zonder opnieuw op te starten, hebt u een ander type aanroepfunctie nodig].

error: Content is protected !!